(file) Return to synopsys.st CVS log (file) (dir) Up to [RizwankCVS] / testProject / source / states / hl

  1 rizwank 1.1 /**
  2              * Name: synopsys
  3              * Description: Synopsys dc shell scripting language
  4              *
  5              * Author: Brian Silveira  (brian@nortel.ca)
  6              *	   Hartley Horwitz (hars@nortel.ca)
  7              */
  8             
  9             state synopsys extends HighlightEntry
 10             {
 11               /*
 12                * Synopsys allows globing...so pick out constructs like
 13                * /foo/bar/* and just print them out.  i.e. don't treat the
 14                * ending like a comment!
 15                */
 16               /[A-z0-9_-]\/\*/{
 17                 language_print($0);
 18               }
 19             
 20             
 21               /* Comments.
 22 rizwank 1.1    * Synopsys DC-shell uses C-style comments
 23                */
 24               /\/\*/ {
 25                 comment_face (true);
 26                 language_print ($0);
 27                 call (c_comment);
 28                 comment_face (false);
 29               }
 30             
 31               /* String constants. */
 32               /\"/ {
 33                 string_face (true);
 34                 language_print ($0);
 35                 call (c_string);
 36                 string_face (false);
 37               }
 38             
 39               /* I use make-regexp in emacs which uses a list of strings to
 40                  generate a	 regular expression.
 41                  (setq synopsys-keywords-enscript
 42                   '("alias" "all_connected" "analyze" "balance_buffer"
 43 rizwank 1.1 	"balance_registers" "break" "cd" "change_link" "change_names"
 44             	"characterize" "check_design" "check_test" "check_timing"
 45             	"continue" "compile" "copy_design" "create_clock" "drive_of"
 46             	"echo" "elaborate" "else" "exit" "get_attribute" "get_license"
 47             	"get_unix_variable" "group" "group_path" "include"
 48             	"insert_scan" "insert_test" "link" "list_designs"
 49             	"list_instances" "list_libs" "load_of" "quit" "read"
 50             	"read_lib" "read_timing" "remove_attribute"
 51             	"remove_constraint" "remove_design" "remove_input_delay"
 52             	"remove_lib" "remove_clock" "remove_cell" "remove_license"
 53             	"remove_output_delay" "remove_unconnected_ports"
 54             	"rename_design" "reoptimize_design" "report_area"
 55             	"report_attribute" "report_cell" "report_constraint"
 56             	"report_design" "report_design_lib" "report_hierarchy"
 57             	"report_internal_loads" "report_lib" "report_multicycles"
 58             	"report_net" "report_port" "report_power" "report_reference"
 59             	"report_resources" "report_test" "report_timing"
 60             	"reset_design" "set_attribute" "set_boundary_optimization"
 61             	"set_clock_skew" "set_dont_touch" "set_dont_touch_network"
 62             	"set_dont_use" "set_drive" "set_driving_cell" "set_equal"
 63             	"set_disable_timing" "set_false_path" "set_flatten"
 64 rizwank 1.1 	"set_implementation" "set_fix_hold" "set_input_delay"
 65             	"set_load" "set_logic_one" "set_logic_zero" "set_max_area"
 66             	"set_max_capacitance" "set_max_fanout" "set_max_transition"
 67             	"set_multicycle_path" "set_operating_conditions"
 68             	"set_output_delay" "set_scan_style" "set_signal_type"
 69             	"set_structure" "set_test_methodology" "set_unconnected"
 70             	"set_wire_load" "unalias" "sh" "ungroup" "uniquify"
 71             	"update_lib" "which" "write" "write_constraints"
 72             	"write_script" "write_timing" "if" "foreach" "find" "while"
 73             	"-all" "-all_violators" "-allowed" "-attributes" "-base_name"
 74             	"-boundary_optimization" "-cell" "-cell_name" "-clock"
 75             	"-context" "-connections" "-constraints" "-delay" "-design"
 76             	"-design_name" "-depth" "-drive" "-except" "-f" "-fall_delay"
 77             	"-flat" "-format" "-from" "-hierarchy" "-hier" "-hold"
 78             	"-incremental_mapping" "-ideal" "-ignored" "-in_place"
 79             	"-logic" "-library" "-map_effort" "-mode" "-max_paths"
 80             	"-max_scan_chain_length" "-no_disable" "-methodology" "-name"
 81             	"-net" "-new_name" "-none" "-nosplit" "-nworst" "-output"
 82             	"-path" "-parameters" "-period" "-pin_load" "-propagated"
 83             	"-reference" "-rise_delay" "-rules" "-skew" "-setup"
 84             	"-through" "-to" "-type" "-uncertainty" "-plus_uncertainty"
 85 rizwank 1.1 	"-minus_uncertainty" "-update" "-verify" "-verbose"
 86             	"-waveform" "-wire_load" "-work" "-weight" "-worst"
 87             	"actel_qbar_opto" "actel_seq_opto" "auto_link_disable"
 88             	"auto_link_options" "auto_wire_load_selection"
 89             	"bc_enable_chaining" "bc_enable_multi_cycle"
 90             	"bc_enable_speculative_execution" "bc_fsm_coding_style"
 91             	"bc_time_all_sequential_op_bindings" "bus_extraction_style"
 92             	"bus_inference_style" "bus_naming_style"
 93             	"change_names_dont_change_bus_members"
 94             	"change_names_update_inst_tree" "command_log_file" "company"
 95             	"compatibility_version"
 96             	"compile_assume_fully_decoded_three_state_busses"
 97             	"compile_create_mux_op_hierarchy"
 98             	"compile_default_critical_range"
 99             	"compile_disable_area_opt_during_inplace_opt"
100             	"compile_disable_hierarchical_inverter_opt"
101             	"compile_dont_touch_annotated_cell_during_inplace_opt"
102             	"compile_fix_multiple_port_nets"
103             	"compile_ignore_area_during_inplace_opt"
104             	"compile_ignore_footprint_during_inplace_opt"
105             	"compile_implementation_selection"
106 rizwank 1.1 	"compile_inplace_changed_list_file_name"
107             	"compile_instance_name_prefix" "compile_instance_name_suffix"
108             	"compile_mux_no_boundary_optimization"
109             	"compile_negative_logic_methodology"
110             	"compile_no_new_cells_at_top_level"
111             	"compile_ok_to_buffer_during_inplace_opt"
112             	"compile_preserve_subdesign_interfaces"
113             	"compile_preserve_sync_resets"
114             	"compile_update_annotated_delays_during_inplace_opt"
115             	"compile_use_fast_delay_mode" "compile_use_low_timing_effort"
116             	"context_check_status" "current_design" "current_instance"
117             	"dc_shell_status" "default_name_rules" "design_library_file"
118             	"designer" "duplicate_ports" "echo_include_commands"
119             	"enable_page_mode" "exit_delete_filename_log_file"
120             	"filename_log_file" "find_converts_name_lists"
121             	"find_ignore_case" "hdl_keep_licenses" "hdl_naming_threshold"
122             	"hdl_preferred_license" "hdl_variables"
123             	"hdlin_advisor_directory" "hdlin_auto_save_templates"
124             	"hdlin_check_no_latch"
125             	"hdlin_dont_infer_mux_for_resource_sharing"
126             	"hdlin_enable_advisor" "hdlin_ff_always_async_set_reset"
127 rizwank 1.1 	"hdlin_ff_always_sync_set_reset" "hdlin_files"
128             	"hdlin_hide_resource_line_numbers" "hdlin_infer_mux"
129             	"hdlin_keep_feedback" "hdlin_keep_inv_feedback"
130             	"hdlin_mux_size_limit" "hdlin_reg_report_length"
131             	"hdlin_replace_synthetic" "hdlin_report_inferred_modules"
132             	"hdlin_resource_allocation" "hdlin_resource_implementation"
133             	"hdlin_source_to_gates_mode" "hdlin_sync_set_reset"
134             	"hdlin_synch_set_reset" "hdlin_translate_off_skip_text"
135             	"link_force_case" "link_library"
136             	"port_complement_naming_style"
137             	"reoptimize_design_changed_list_file_name"
138             	"sdfin_fall_cell_delay_type" "sdfin_fall_net_delay_type"
139             	"sdfin_min_fall_cell_delay" "sdfin_min_fall_net_delay"
140             	"sdfin_min_rise_cell_delay" "sdfin_min_rise_net_delay"
141             	"sdfin_rise_cell_delay_type" "sdfin_rise_net_delay_type"
142             	"sdfin_top_instance_name"
143             	"sdfout_allow_non_positive_constraints"
144             	"sdfout_min_fall_cell_delay" "sdfout_min_fall_net_delay"
145             	"sdfout_min_rise_cell_delay" "sdfout_min_rise_net_delay"
146             	"sdfout_time_scale" "sdfout_top_instance_name"
147             	"sdfout_write_to_output" "search_path" "shell_prompt"
148 rizwank 1.1 	"suppress_errors" "synlib_dont_get_license"
149             	"syntax_check_status" "synthetic_library" "target_library"
150             	"uniquify_naming_style" "verbose_messages"))
151             	*/
152             
153               /\ba(l(ias|l_connected)|nalyze|uto_(link_(disable|options)\
154             |wire_load_selection))|b(alance_(buffer|registers)\
155             |c_(enable_(chaining|multi_cycle|speculative_execution)\
156             |fsm_coding_style|time_all_sequential_op_bindings)|reak\
157             |us_(extraction_style|inference_style|naming_style))\
158             |c(d|h(a(nge_(link|names(|_(dont_change_bus_members|update_inst_tree)))\
159             |racterize)|eck_(design|t(est|iming)))|o(m(mand_log_file|p(a(ny\
160             |tibility_version)|ile(|_(assume_fully_decoded_three_state_busses\
161             |create_mux_op_hierarchy|d(efault_critical_range\
162             |isable_(area_opt_during_inplace_opt|hierarchical_inverter_opt)\
163             |ont_touch_annotated_cell_during_inplace_opt)|fix_multiple_port_nets\
164             |i(gnore_(area_during_inplace_opt|footprint_during_inplace_opt)\
165             |mplementation_selection|n(place_changed_list_file_name\
166             |stance_name_(prefix|suffix)))|mux_no_boundary_optimization\
167             |n(egative_logic_methodology|o_new_cells_at_top_level)\
168             |ok_to_buffer_during_inplace_opt|preserve_s(ubdesign_interfaces\
169 rizwank 1.1 |ync_resets)|u(pdate_annotated_delays_during_inplace_opt\
170             |se_(fast_delay_mode|low_timing_effort))))))|nt(ext_check_status|inue)\
171             |py_design)|reate_clock|urrent_(design|instance))|d(c_shell_status\
172             |e(fault_name_rules|sign(_library_file|er))|rive_of|uplicate_ports)|e(cho(\
173             |_include_commands)|l(aborate|se)|nable_page_mode|xit(\
174             |_delete_filename_log_file))|f(i(lename_log_file|nd(|_(converts_name_lists\
175             |ignore_case)))|oreach)|g(et_(attribute|license|unix_variable)|roup(\
176             |_path))|hdl(_(keep_licenses|naming_threshold|preferred_license|variables)\
177             |in_(a(dvisor_directory|uto_save_templates)|check_no_latch\
178             |dont_infer_mux_for_resource_sharing|enable_advisor\
179             |f(f_always_(async_set_reset|sync_set_reset)|iles)\
180             |hide_resource_line_numbers|infer_mux|keep_(feedback|inv_feedback)\
181             |mux_size_limit|re(g_report_length|p(lace_synthetic|ort_inferred_modules)\
182             |source_(allocation|implementation))|s(ource_to_gates_mode|ync(_set_reset\
183             |h_set_reset))|translate_off_skip_text))|i(f|n(clude|sert_(scan|test)))\
184             |l(i(nk(|_(force_case|library))|st_(designs|instances|libs))|oad_of)\
185             |port_complement_naming_style|quit|re(ad(|_(lib|timing))|move_(attribute\
186             |c(ell|lock|onstraint)|design|input_delay|li(b|cense)|output_delay\
187             |unconnected_ports)|name_design|optimize_design(|_changed_list_file_name)\
188             |port_(a(rea|ttribute)|c(ell|onstraint)|design(|_lib)|hierarchy\
189             |internal_loads|lib|multicycles|net|po(rt|wer)|re(ference|sources)|t(est\
190 rizwank 1.1 |iming))|set_design)|s(df(in_(fall_(cell_delay_type|net_delay_type)\
191             |min_(fall_(cell_delay|net_delay)|rise_(cell_delay|net_delay))\
192             |rise_(cell_delay_type|net_delay_type)|top_instance_name)\
193             |out_(allow_non_positive_constraints|min_(fall_(cell_delay|net_delay)\
194             |rise_(cell_delay|net_delay))|t(ime_scale|op_instance_name)\
195             |write_to_output))|e(arch_path|t_(attribute|boundary_optimization\
196             |clock_skew|d(isable_timing|ont_(touch(|_network)|use)|riv(e|ing_cell))\
197             |equal|f(alse_path|ix_hold|latten)|i(mplementation|nput_delay)|lo(ad\
198             |gic_(one|zero))|m(ax_(area|capacitance|fanout|transition)|ulticycle_path)\
199             |o(perating_conditions|utput_delay)|s(can_style|ignal_type|tructure)\
200             |test_methodology|unconnected|wire_load))|h(|ell_prompt)|uppress_errors\
201             |yn(lib_dont_get_license|t(ax_check_status|hetic_library)))|target_library\
202             |u(n(alias|group|iquify(|_naming_style))|pdate_lib)|verbose_messages\
203             |w(hi(ch|le)|rite(|_(constraints|script|timing)))\b/{
204                 keyword_face (true);
205                 language_print ($0);
206                 keyword_face (false);
207               }
208             }
209             
210             
211 rizwank 1.1 /*
212             Local variables:
213             mode: c
214             End:
215             */

Rizwan Kassim
Powered by
ViewCVS 0.9.2