diff --git a/src_en/api.set_blackbox.txt b/src_en/api.set_blackbox.txt new file mode 100644 index 0000000000000000000000000000000000000000..79a87140e58985a87e7c9ef4ee05f1954da8f335 --- /dev/null +++ b/src_en/api.set_blackbox.txt @@ -0,0 +1,22 @@ +<h3 id='___set_blackbox'>set_blackbox</h3> +<pre>Set Blackbox on Modules +<b>Usage:</b> set_blackbox(@modules, @options); +@module: Module names to be set as blackbox, accept wild card '*' +@options: + -hier: Set blackbox on the module and its sub-hierarchical modules + Only valid on module name without '*' + +<b>Note:</b> This command can be used multiple times + +<b>Examples:</b> + +#1. Set Blackbox on DW modules +set_blackbox("*DW_pipe*"); + +#2. Set Blackbox on 'ABC' and 'DEF' modules +set_blackbox("ABC", "DEF"); + +#3. Set Blackbox on memory_control and its sub-hierarchical modules. Set Blackbox on one DW as well +set_blackbox("memory_control", "-hier"); +set_blackbox("DW_adder_123"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_bound_opti.txt b/src_en/api.set_bound_opti.txt new file mode 100644 index 0000000000000000000000000000000000000000..7bf9ab691c2d496e03b03729b59f280a0082c6c4 --- /dev/null +++ b/src_en/api.set_bound_opti.txt @@ -0,0 +1,6 @@ +<h3 id='___set_bound_opti'>set_bound_opti</h3> +<pre>Set boundary optimization checking +<b>Usage:</b> set_bound_opti($val); +$val: 0, disable boundary optimization checking + 1, enable boundary optimization checking (default) +</pre> \ No newline at end of file diff --git a/src_en/api.set_buffer.txt b/src_en/api.set_buffer.txt new file mode 100644 index 0000000000000000000000000000000000000000..87cd0be28cb0e36f872433eaa9f0f6176024bba1 --- /dev/null +++ b/src_en/api.set_buffer.txt @@ -0,0 +1,9 @@ +<h3 id='___set_buffer'>set_buffer</h3> +<pre>Set buffer type. The tool automatically picks one if the command is not called (LLM: buffer name) +<b>Usage:</b> set_buffer($buffer); +$buffer: Lib cell name for buffer + +<b>Examples:</b> + +set_buffer("BUFX2"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_buffer_distance.txt b/src_en/api.set_buffer_distance.txt new file mode 100644 index 0000000000000000000000000000000000000000..fd8294630f590f689a071ae6f17242ee4633bc75 --- /dev/null +++ b/src_en/api.set_buffer_distance.txt @@ -0,0 +1,5 @@ +<h3 id='___set_buffer_distance'>set_buffer_distance</h3> +<pre>Set distance limit for inserting buffer +<b>Usage:</b> set_buffer_distance($distance_val); +$distance_val: distance to insert buffer, in um +</pre> \ No newline at end of file diff --git a/src_en/api.set_clock_uncertainty.txt b/src_en/api.set_clock_uncertainty.txt new file mode 100644 index 0000000000000000000000000000000000000000..57c5888da31eb36b934edd7c21dc42932a790521 --- /dev/null +++ b/src_en/api.set_clock_uncertainty.txt @@ -0,0 +1,5 @@ +<h3 id='___set_clock_uncertainty'>set_clock_uncertainty</h3> +<pre>Timing command. Set clock uncertainty +<b>Usage:</b> set_clock_uncertainty($value); +$value: Uncertainty value +</pre> \ No newline at end of file diff --git a/src_en/api.set_cluster_command.txt b/src_en/api.set_cluster_command.txt new file mode 100644 index 0000000000000000000000000000000000000000..5b0d26079c94766efe34dfff98b6efe1c965a47d --- /dev/null +++ b/src_en/api.set_cluster_command.txt @@ -0,0 +1,11 @@ +<h3 id='___set_cluster_command'>set_cluster_command</h3> +<pre>Set cluster command in parallel fault verification +<b>Usage:</b> set_cluster_command($cluster_command); +$cluster_command: Command to submit jobs to cluster computers + +<b>Examples:</b> + +#1. Set cluster command +set_cluster_command("bsub_lsf -queue"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_cluster_timeout.txt b/src_en/api.set_cluster_timeout.txt new file mode 100644 index 0000000000000000000000000000000000000000..d20f1bbc76ea2459615ea709607a86df6a352c70 --- /dev/null +++ b/src_en/api.set_cluster_timeout.txt @@ -0,0 +1,13 @@ +<h3 id='___set_cluster_timeout'>set_cluster_timeout</h3> +<pre>Set time out for cluster command +<b>Usage:</b> set_cluster_timeout($time_in_seconds); +$time_in_seconds: An integer number in seconds + +<b>Note:</b> cluster time out number should be large than solver time out + +<b>Examples:</b> + +#1. Set solver time out to ~12 hours +set_cluster_timeout(43200); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_constraints.txt b/src_en/api.set_constraints.txt new file mode 100644 index 0000000000000000000000000000000000000000..22f403700e507f5a3ef9b1ec6d39b7687bc7448d --- /dev/null +++ b/src_en/api.set_constraints.txt @@ -0,0 +1,37 @@ +<h3 id='___set_constraints'>set_constraints</h3> +<pre>Set constraints for map_spare_cells command +<b>Usage:</b> set_constraints(@options); +@options:; + -type type_constraint : Set spare cell type constraint, type_constraint is a string + listing spare cells separated by ',', get_spare_cells should not be used if -type is present + -num num_constraint : Set spare cell number constraint, num_constraint is a string + in the format of 'mux<16,nand<18' + -type_limit limit_string : Set cell type limit to be less than a number, for example A9TR type less than 10, 'A9TR<10' + All constraints is separated by ',' in the format of 'X8B<9,X0P5A<1' +<b>Note:</b> The number constraint only controls the number of spare types to be used. The spare gates list should have + 'nand/and', 'nor/or' and 'inv' types of leaf cells for synthesis mapping, and have spare flops for direct mapping, 'mux' is optional. + If used with get_spare_cells command, this command should be used after get_spare_cells, check example #3 + +<b>Examples:</b> + +#1. Use less than 16 'mux' and less than 18 'nand' spare gates in map_spare_cells +get_spare_cells("u_Spare*/*spr_gate*"); +set_constraints('-num', 'mux<16,nand<18'); +map_spare_cells; + + +#2. Use NAD2X1 NOR2X1 INVX1 and MUX2X1 as spare type gates +set_constraints('-type', 'NAND2X1,NOR2X1,INVX1,MUX2X1'); +map_spare_cells; + +#3. Set constraint after spare list created +get_spare_cells("u_Spare*/*spr_gate*"); +set_constraints('-num', 'and<1'); # So that no AND spare gate will be used +map_spare_cells; + +#4. Set type limit after spare list created +get_spare_cells("u_Spare*/*spr_gate*"); +set_constraints('-type_limit', 'ULVT<5,ELVT<6'); +map_spare_cells; + +</pre> \ No newline at end of file diff --git a/src_en/api.set_cutpoint_thresh.txt b/src_en/api.set_cutpoint_thresh.txt new file mode 100644 index 0000000000000000000000000000000000000000..2f1cbbb840037f3218e8518a6fed49135f1aa487 --- /dev/null +++ b/src_en/api.set_cutpoint_thresh.txt @@ -0,0 +1,5 @@ +<h3 id='___set_cutpoint_thresh'>set_cutpoint_thresh</h3> +<pre>Set Cutpoint Threshold +<b>Usage:</b> set_cutpoint_thresh($val); +$val: Threshold value, default 100 + </pre> \ No newline at end of file diff --git a/src_en/api.set_cutpoint_ultra.txt b/src_en/api.set_cutpoint_ultra.txt new file mode 100644 index 0000000000000000000000000000000000000000..234a890440637477e0fe047f27fa497df5d8113a --- /dev/null +++ b/src_en/api.set_cutpoint_ultra.txt @@ -0,0 +1,6 @@ +<h3 id='___set_cutpoint_ultra'>set_cutpoint_ultra</h3> +<pre>Set the level in doing CutPoint Ultra (LLM: cutpoint ultra) +<b>Usage:</b> set_cutpoint_ultra($val); +$val: 0, Disable cutpoint ultra + 1, Enable cutpoint ultra (default) +</pre> \ No newline at end of file diff --git a/src_en/api.set_define.txt b/src_en/api.set_define.txt new file mode 100644 index 0000000000000000000000000000000000000000..1640b3e15ec451e14733c7d30f445ebc9ea03118 --- /dev/null +++ b/src_en/api.set_define.txt @@ -0,0 +1,21 @@ +<h3 id='___set_define'>set_define</h3> +<pre>Set define (LLM: define variable) +<b>Usage:</b> set_define($define, $value, @options); +@options: + -imp: The define is for Implementation only + -ref: The define is for Reference only +$define: The define item +$value: The value, optional + +<b>Examples:</b> + +#1. Set define SYNTHESIS for both netlists +set_define("SYNTHESIS"); + +#2. Set define NO_DFT_LOGIC for Reference only +set_define("NO_DFT_LOGIC", "-ref"); + +#3. Set define SIMULATION to 0 +set_define("SIMULATION", 0); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_detect_points.txt b/src_en/api.set_detect_points.txt new file mode 100644 index 0000000000000000000000000000000000000000..afb2e30ff1cc204b661e584e7ca8ae2bdf3d0ccf --- /dev/null +++ b/src_en/api.set_detect_points.txt @@ -0,0 +1,19 @@ +<h3 id='___set_detect_points'>set_detect_points</h3> +<pre>set detect points +<b>Usage:</b> set_detect_points(@points, @options); +@points: Detect points +@options: + -help: Print this info + +<b>Note:</b> The command can be run multiple times + +<b>Examples:</b> + +#1. Set data_error_ml as detect points +set_detect_points("data_error_ml"); + +#2. Set data_error_ml and u_cpu/err_det_reg as detect points +set_detect_points("data_error_ml"); +set_detect_points("u_cpu/err_det_reg"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_disable_cross_hierarchy_merge.txt b/src_en/api.set_disable_cross_hierarchy_merge.txt new file mode 100644 index 0000000000000000000000000000000000000000..9f7461c702671a9e4221694953108fab15ffae00 --- /dev/null +++ b/src_en/api.set_disable_cross_hierarchy_merge.txt @@ -0,0 +1,6 @@ +<h3 id='___set_disable_cross_hierarchy_merge'>set_disable_cross_hierarchy_merge</h3> +<pre>Set this variable to disable cross hierarchy register merging +<b>Usage:</b> set_disable_cross_hierarchy_merge($value); +$value: 0, disable + 1, enable. Default +</pre> \ No newline at end of file diff --git a/src_en/api.set_disable_lib_cache.txt b/src_en/api.set_disable_lib_cache.txt new file mode 100644 index 0000000000000000000000000000000000000000..00670c67a87f18450e648400d09e48a6bbf0aa29 --- /dev/null +++ b/src_en/api.set_disable_lib_cache.txt @@ -0,0 +1,7 @@ +<h3 id='___set_disable_lib_cache'>set_disable_lib_cache</h3> +<pre>Disable liberty file cache +<b>Usage:</b> set_disable_lib_cache($value); +$value: 0, enable liberty file cache (default) + 1, disable liberty file cache + +</pre> \ No newline at end of file diff --git a/src_en/api.set_dont_fix_modules.txt b/src_en/api.set_dont_fix_modules.txt new file mode 100644 index 0000000000000000000000000000000000000000..dd40dff7f5c0f951b46a92df59be018f097304a0 --- /dev/null +++ b/src_en/api.set_dont_fix_modules.txt @@ -0,0 +1,10 @@ +<h3 id='___set_dont_fix_modules'>set_dont_fix_modules</h3> +<pre>Set dont fix property on modules +<b>Usage:</b> set_dont_fix_modules(@modules); +@module: Module names not to be fixed + +Example: + +#1. Set dont fix on pcie_ctrl and pcie_top module +set_dont_fix_modules("pcie_ctrl", "pcie_top"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_dont_use.txt b/src_en/api.set_dont_use.txt new file mode 100644 index 0000000000000000000000000000000000000000..78903216b528597c623462dd6e470700cf01129a --- /dev/null +++ b/src_en/api.set_dont_use.txt @@ -0,0 +1,20 @@ +<h3 id='___set_dont_use'>set_dont_use</h3> +<pre>Set dont use property on library cells +<b>Usage:</b> set_dont_use(@cell_list); +@cell_list: List of the dont use cells which is not used in automatic ECO. Wild card '*' is supported + +<b>Note:</b> If the command is used multiple times, the latest command overrides the previous ones + +<b>Examples:</b> + +#1. Don't use these two cells +set_dont_use("INVX30","AND2X24"); + +#2. Don't use power cell matching PWR_ +set_dont_use("PWR_*"); + +#2. If run two times, the second one has effect, set dont use on "CINV_*" +set_dont_use("SINV_*"); +set_dont_use("CINV_*"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_eco_effort.txt b/src_en/api.set_eco_effort.txt new file mode 100644 index 0000000000000000000000000000000000000000..76e6749bfb7bdbc6481c63675a327223aa93b271 --- /dev/null +++ b/src_en/api.set_eco_effort.txt @@ -0,0 +1,10 @@ +<h3 id='___set_eco_effort'>set_eco_effort</h3> +<pre>ECO setting. Set ECO effort +<b>Usage:</b> set_eco_effort($effort); +$effort: One of the three choices, high, medium and low. By default, high effort is used + +<b>Examples:</b> + +#1. Change ECO effort to medium +set_eco_effort("medium"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_eco_point_json.txt b/src_en/api.set_eco_point_json.txt new file mode 100644 index 0000000000000000000000000000000000000000..988c720763b3adaf07938bce296c790a0dc0300f --- /dev/null +++ b/src_en/api.set_eco_point_json.txt @@ -0,0 +1,8 @@ +<h3 id='___set_eco_point_json'>set_eco_point_json</h3> +<pre>Set a JSON file name for saving the ECO point data. +The JSON file can be applied to another netlist ECO, so that the full LEC has no need to be rerun +<b>Usage:</b> set_eco_point_json($json_name); +$json_name: The JSON file name + +<b>Note:</b> This command should be run before fix_design +</pre> \ No newline at end of file diff --git a/src_en/api.set_equal.txt b/src_en/api.set_equal.txt new file mode 100644 index 0000000000000000000000000000000000000000..ffd27c157851badb17f0307f5977840119b319d7 --- /dev/null +++ b/src_en/api.set_equal.txt @@ -0,0 +1,22 @@ +<h3 id='___set_equal'>set_equal</h3> +<pre>ECO setting. Set two points to be equivalent in the Reference and Implementation Netlists + The points can be input port, flop instance or output pin of black-box. + The point names should have 'i:' or 'r:' as prefix to indicate they are for the Reference or Implementation, or + the first point is assumed as Reference and the second Implementation. + Both of the points can be from Reference or Implementation +<b>Usage:</b> set_equal($ref_point, $imp_point); +$ref_point: The point in the Reference Netlist. It should be the first argument if it doesn't have 'i:' or 'r:' as prefix +$imp_point: The point in the Implementation Netlist. It should be the second argument if it doesn't have 'i:' or 'r:' as prefix + +<b>Examples:</b> + +#1. Input port 'in_a' in Reference Netlist is equivalent to input port 'in_b' in Implementation Netlist in top module +set_top('top_module'); +set_equal('r:in_a', 'i:in_b'); + +#2. Flop instance 'subinst/flopa_reg' is equivalent to input port 'IN0' in the Implementation Netlist +set_top('top_module'); +set_equal('i:subinst/flopa_reg', 'i:IN0'); +fix_design(); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_error_out.txt b/src_en/api.set_error_out.txt new file mode 100644 index 0000000000000000000000000000000000000000..a59b14bbf022c825f1a3c4a14a6230b174892541 --- /dev/null +++ b/src_en/api.set_error_out.txt @@ -0,0 +1,13 @@ +<h3 id='___set_error_out'>set_error_out</h3> +<pre>Set error out setting +<b>Usage:</b> set_error_out($value); +$value: 1, Abort the program when APIs have run error, default setting + 0, Ignore the error and continue the program + +<b>Examples:</b> + +# Program continues when there is error in change_pin +set_error_out(0); +change_pin("nonexisting_instance/A", "1'b0"); # It will continue, even though nonexisting_instance is not in the database + +</pre> \ No newline at end of file diff --git a/src_en/api.set_exit_on_error.txt b/src_en/api.set_exit_on_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..9312f4bd1865a9eb1ca3f9646887cb11438d212c --- /dev/null +++ b/src_en/api.set_exit_on_error.txt @@ -0,0 +1,7 @@ +<h3 id='___set_exit_on_error'>set_exit_on_error</h3> +<pre>Whether the tool should exit when the script runs into an error +<b>Usage:</b> set_exit_on_error($error, $bit); +$error: Error pattern, wild card support. 'E-001', 'E-*' +$bit: 1, Exit on the error, default + 0, Don't exit on the error +</pre> \ No newline at end of file diff --git a/src_en/api.set_exit_on_warning.txt b/src_en/api.set_exit_on_warning.txt new file mode 100644 index 0000000000000000000000000000000000000000..b0e66b6306e58b7deb9e3e61b0c27e860196a033 --- /dev/null +++ b/src_en/api.set_exit_on_warning.txt @@ -0,0 +1,7 @@ +<h3 id='___set_exit_on_warning'>set_exit_on_warning</h3> +<pre>Whether the tool should exit when the script runs into a warning +<b>Usage:</b> set_exit_on_warning($warning, $bit); +$warning: Warning pattern, wild card support. 'W-001', 'W-*' +$bit: 1, Exit on the warning + 0, Don't exit on the warning, default +</pre> \ No newline at end of file diff --git a/src_en/api.set_false_path.txt b/src_en/api.set_false_path.txt new file mode 100644 index 0000000000000000000000000000000000000000..4bc9c8da42958e212d0d8edd4ade81033e06bda6 --- /dev/null +++ b/src_en/api.set_false_path.txt @@ -0,0 +1,14 @@ +<h3 id='___set_false_path'>set_false_path</h3> +<pre>Timing command. Set false path +<b>Usage:</b> set_false_path(@options); +@options: + -help: Print this information + -from: $startpoint, set false path on the starting point + -to: $endpoint, set false path on the ending point + -through: $through_point, set false path on the through point + +<b>Examples:</b> + +#1. Set false path on u_control/u_subsm/state_reg_* as from points +set_false_path("-from", "u_control/u_subsm/state_reg_*"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_floating_as_zero.txt b/src_en/api.set_floating_as_zero.txt new file mode 100644 index 0000000000000000000000000000000000000000..41eb0e3656ffb61ca5a43ace0fae01710c32d87e --- /dev/null +++ b/src_en/api.set_floating_as_zero.txt @@ -0,0 +1,6 @@ +<h3 id='___set_floating_as_zero'>set_floating_as_zero</h3> +<pre>Set floating net as constant zero (LLM: floating zero) +<b>Usage:</b> set_floating_as_zero($value); +$value: 0, disable floating net as constant zero + 1, enable floating net as constant zero (default) +</pre> \ No newline at end of file diff --git a/src_en/api.set_flop_default_eco.txt b/src_en/api.set_flop_default_eco.txt new file mode 100644 index 0000000000000000000000000000000000000000..2798677451cc5aa22bade2b7b29266efb3168c0e --- /dev/null +++ b/src_en/api.set_flop_default_eco.txt @@ -0,0 +1,5 @@ +<h3 id='___set_flop_default_eco'>set_flop_default_eco</h3> +<pre>Set flop default eco by inverting input pin and output pin +<b>Usage:</b> set_flop_default_eco($value); +$value: 1 to enable flop default eco by inverting input pin and output pin +</pre> \ No newline at end of file diff --git a/src_en/api.set_flop_merge_enable.txt b/src_en/api.set_flop_merge_enable.txt new file mode 100644 index 0000000000000000000000000000000000000000..5824ad60fb39de5516eccc8e86234dd235bd0aa3 --- /dev/null +++ b/src_en/api.set_flop_merge_enable.txt @@ -0,0 +1,6 @@ +<h3 id='___set_flop_merge_enable'>set_flop_merge_enable</h3> +<pre>Inside module flop merge enable +<b>Usage:</b> set_flop_merge_enable($setting,@options); +$setting: 0, disable inside module flop merge + 1, enable inside module flop merge (default) +</pre> \ No newline at end of file diff --git a/src_en/api.set_high_effort.txt b/src_en/api.set_high_effort.txt new file mode 100644 index 0000000000000000000000000000000000000000..844bc224a28a9c68208a8cf49588ae0bd2110820 --- /dev/null +++ b/src_en/api.set_high_effort.txt @@ -0,0 +1,31 @@ +<h3 id='___set_high_effort'>set_high_effort</h3> +<pre>Set high ECO effort on modules (LLM: effort high) +<b>Usage:</b> set_high_effort(@options); +@options: + -help: Print this information + -include module_list: Only set high ECO effort on the modules listed, + module_list has format of module names separated by ',', wild card is acceptable + For example, 'mem_control,dma_*' + -exclude module_list: Exclude high ECO effort on the modules listed + module_list has format of module names separated by ',', wild card is acceptable + For example, 'mem_control,dma_*' + -timeout time_in_seconds: Set time out for each run, default to time out in 900 seconds + time_in_seconds is an integer indicating time out in seconds + +<b>Examples:</b> + +#1. Set ECO high effort on all modules under ECO +set_high_effort(); + +#2. Set ECO high effort on module 'mem_control_1' +set_high_effort('-include', 'mem_control_1'); + +#3. Set ECO high effort on modules matching 'mem_control_*' and modules matching 'dma_*' +set_high_effort('-include', 'mem_control_*,dma_*'); + +#4. Enable ECO high effort, but excluding module 'mem_control_1 ' +set_high_effort('-exclude', 'mem_control_1'); + +#5. Enable ECO high effort with time out in 600 seconds +set_high_effort('-timeout', 600); +</pre> \ No newline at end of file diff --git a/src_en/api.set_ignore_instance.txt b/src_en/api.set_ignore_instance.txt new file mode 100644 index 0000000000000000000000000000000000000000..4a85b8fa698595ae0297eaea603ad629d8a0c785 --- /dev/null +++ b/src_en/api.set_ignore_instance.txt @@ -0,0 +1,18 @@ +<h3 id='___set_ignore_instance'>set_ignore_instance</h3> +<pre>ECO setting. Set ignored sequential or blackbox instances in ECO +<b>Usage:</b> set_ignore_instnace(@ignored_instances) +@ignored_instances: Instances to be ignored in ECO, accept wild card '*' + +<b>Examples:</b> + +#1. Ignore instances matching RAND_CNT_reg* in ECO +set_top('VIDEO_TOP'); +set_ignore_instance('RAND_CNT_reg*'); +set_top('DESIGN_TOP'); +fix_design(); + +#2. Ignore instances matching current_state_reg* in instance u_video +set_top('DESIGN_TOP'); +set_ignore_instance('u_video/current_state_reg*'); +fix_design(); +</pre> \ No newline at end of file diff --git a/src_en/api.set_ignore_network.txt b/src_en/api.set_ignore_network.txt new file mode 100644 index 0000000000000000000000000000000000000000..589864023888743b37a08afa9f9243b9f666a89e --- /dev/null +++ b/src_en/api.set_ignore_network.txt @@ -0,0 +1,16 @@ +<h3 id='___set_ignore_network'>set_ignore_network</h3> +<pre>ECO setting. Set ignore network in ECO +<b>Usage:</b> set_ignore_network(@ignored_nets, @options) +@ignored_nets: Net and its network to be ignored in ECO, accept wild card '*' +@options: + -help: Print this information + -pin: @ignored_nets are in pin format, for example, 'DONT_mux_clk/PIN_Y' + +<b>Examples:</b> + +#1. Ignore scan_en and scan_in +set_ignore_network('scan_en*', 'scan_in*'); + +#2. Ignore PAD PAD_SCAN_EN's output pin 'core' and its network +set_ignore_network('PAD_SCAN_EN/core', '-pin'); +</pre> \ No newline at end of file diff --git a/src_en/api.set_ignore_output.txt b/src_en/api.set_ignore_output.txt new file mode 100644 index 0000000000000000000000000000000000000000..93d437a581ae18a4c9dc76ff8289bc50d4eafa9f --- /dev/null +++ b/src_en/api.set_ignore_output.txt @@ -0,0 +1,23 @@ +<h3 id='___set_ignore_output'>set_ignore_output</h3> +<pre>ECO setting. Set ignore output ports +<b>Usage:</b> set_ignore_output(@ignored_ports, @options) +@ignored_ports: Output ports to be ignored, accept wild card '*' +@options: + -help: Print this information + -both: Apply to both Reference and Implementation Netlist. Enabled by default + -ref: Apply to Reference Netlist + -imp: Apply to Implementation Netlist + +<b>Examples:</b> + +#1. Ignore output ports matching *scan_out* in ECO +set_top('design_top'); +set_ignore_output('*scan_out*'); +set_pin_constant('scan_en', 0); +fix_design(); + +#2. Ignore output ports matching *TSTCON* in Implementation Netlist +set_top('CHIP_TOP'); +set_ignore_output('*TSTCON*', '-imp'); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_ignore_pin.txt b/src_en/api.set_ignore_pin.txt new file mode 100644 index 0000000000000000000000000000000000000000..69d28991d3c0b5158c1c2dfc26ed3ecc8bcedc9b --- /dev/null +++ b/src_en/api.set_ignore_pin.txt @@ -0,0 +1,10 @@ +<h3 id='___set_ignore_pin'>set_ignore_pin</h3> +<pre>set ignore on the pin of black box like memory in logic equivalence checking (LLM: ignore black box pin) +<b>Usage:</b> set_ignore_pin("$cell_name/$pin_name"); +$cell_name: The black box cell name (Not instance name) +$pin_name: The cell pin name, wildcard is supported, for example "TM*" to match TM[0] TM[1] ... + +<b>Examples:</b> +set_ignore_pin("TSMC_MEM_256X29/TCEN"); +set_ignore_pin("TSMC_MEM_256X29/TA*"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_inc_dirs.txt b/src_en/api.set_inc_dirs.txt new file mode 100644 index 0000000000000000000000000000000000000000..ce2cc484119d61e1a27bfc07d64fe939520e55f2 --- /dev/null +++ b/src_en/api.set_inc_dirs.txt @@ -0,0 +1,20 @@ +<h3 id='___set_inc_dirs'>set_inc_dirs</h3> +<pre>Set include directories +<b>Usage:</b> set_inc_dirs(@include_directory_list, @options); +@options: + -imp: The include directories are for Implementation only + -ref: The include directories are for Reference only +@include_directory_list: List of all include directories + +<b>Examples:</b> + +#1. Set include directories for Reference only +set_inc_dirs("/project/nd900/vlib/include", "/project/nd900/IPS/include", "-ref"); + +#2. Set include directories for Implementation only +set_inc_dirs("/project/nd900/vlib/include", "/project/nd900/IPS/include", "-imp"); + +#3. Set include directories for both +set_inc_dirs("/project/nd900/vlib/include", "/project/nd900/IPS/include"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_initial_trans.txt b/src_en/api.set_initial_trans.txt new file mode 100644 index 0000000000000000000000000000000000000000..c7df57a306069bf3cca2d335128444ad6ef798f2 --- /dev/null +++ b/src_en/api.set_initial_trans.txt @@ -0,0 +1,6 @@ +<h3 id='___set_initial_trans'>set_initial_trans</h3> +<pre>Timing command. Set initial transition for clock +<b>Usage:</b> set_initial_trans($value); +$value: Transition value + +</pre> \ No newline at end of file diff --git a/src_en/api.set_input_delay.txt b/src_en/api.set_input_delay.txt new file mode 100644 index 0000000000000000000000000000000000000000..ccf3835bb904521b4c75dfa2e834401a44355c84 --- /dev/null +++ b/src_en/api.set_input_delay.txt @@ -0,0 +1,14 @@ +<h3 id='___set_input_delay'>set_input_delay</h3> +<pre>Timing command. Set input delay +<b>Usage:</b> set_input_delay($port_name, $delay_value, @options); +@options: + -clock clock_name: Specifies the clock that relates to the delay +$port_name: Input port name, accept wild card '*' +$delay_value: Delay value in ns + +<b>Examples:</b> + +#1. Set input port to all APB bus input +set_input_delay("port_apb_*"", 0.1); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_input_transition.txt b/src_en/api.set_input_transition.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5e17383fb3f8a8734c7143bee4704078f374b71 --- /dev/null +++ b/src_en/api.set_input_transition.txt @@ -0,0 +1,5 @@ +<h3 id='___set_input_transition'>set_input_transition</h3> +<pre>Timing command. Set input transition to all input ports +<b>Usage:</b> set_input_transition($value); +$value: Transition value +</pre> \ No newline at end of file diff --git a/src_en/api.set_inside_mod.txt b/src_en/api.set_inside_mod.txt new file mode 100644 index 0000000000000000000000000000000000000000..d87b743c1180f341d9fc9b5c0bfac7f9ca5a26e7 --- /dev/null +++ b/src_en/api.set_inside_mod.txt @@ -0,0 +1,7 @@ +<h3 id='___set_inside_mod'>set_inside_mod</h3> +<pre>Set fix scope inside the current module +If set to 1, the tool only use resource inside the current module to fix the non-eq points. +By default, it is disabled. +<b>Usage:</b> set_inside_mod($val); +$val: 0, disable 1, enable +</pre> \ No newline at end of file diff --git a/src_en/api.set_inst.txt b/src_en/api.set_inst.txt new file mode 100644 index 0000000000000000000000000000000000000000..c1ca021f6293d0522e32785c31f6cf19d75a11ff --- /dev/null +++ b/src_en/api.set_inst.txt @@ -0,0 +1,8 @@ +<h3 id='___set_inst'>set_inst</h3> +<pre>Set the current instance, alias of 'current_instance' +<b>Usage:</b> set_inst($instance); +$instance: Set $instance as the current instance. + If the argument is missing, return the current setting + ".." set to parent, "~" set to the most top level module +<b>Note:</b> It can be reset to the root top module by 'undo_eco'. It has same effect of 'set_top' and 'current_design' +</pre> \ No newline at end of file diff --git a/src_en/api.set_inv.txt b/src_en/api.set_inv.txt new file mode 100644 index 0000000000000000000000000000000000000000..5aa3eb72a7b6f71bebd6ccca3e46a0ec78e6ed0e --- /dev/null +++ b/src_en/api.set_inv.txt @@ -0,0 +1,16 @@ +<h3 id='___set_inv'>set_inv</h3> +<pre>ECO setting. Set two points to be inverted in the Reference and Implementation Netlists + The points can be input port, flop instance or black-box's output pin. + The point names should have 'i:' or 'r:' as prefix to indicate they are for Reference or Implementation, or + the first point is assumed as Reference and the second Implementation. + Both of the points can be from Reference or Implementation by using 'i:' or 'r:' on both point names. +<b>Usage:</b> set_inv($ref_point, $imp_point); +$ref_point: The point in the Reference Netlist. It should be the first argument if it doesn't have 'i:' or 'r:' as prefix +$imp_point: The point in the Implementation Netlist. It should be the second argument if it doesn't have 'i:' or 'r:' as prefix + +<b>Examples:</b> + +#1. Input port 'in_a' in the Reference Netlist is inverted to input port 'in_a_BAR' in the Implementation Netlist in top module +set_top('top_module'); +set_inv('r:in_a', 'i:in_a_BAR'); +</pre> \ No newline at end of file diff --git a/src_en/api.set_invert.txt b/src_en/api.set_invert.txt new file mode 100644 index 0000000000000000000000000000000000000000..9df6ff9d1ee5309171d01b20f088602be9f05bb9 --- /dev/null +++ b/src_en/api.set_invert.txt @@ -0,0 +1,9 @@ +<h3 id='___set_invert'>set_invert</h3> +<pre>Set invert type. The tool automatically picks one if the command is not called (LLM: invert name) +<b>Usage:</b> set_invert($invert); +$invert: Lib cell name for invert + +<b>Examples:</b> + +set_invert("INVX2"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_keep_format.txt b/src_en/api.set_keep_format.txt new file mode 100644 index 0000000000000000000000000000000000000000..a114a3e9877bf88f68e0e033a5a3e02df06fe595 --- /dev/null +++ b/src_en/api.set_keep_format.txt @@ -0,0 +1,6 @@ +<h3 id='___set_keep_format'>set_keep_format</h3> +<pre>Keep the format of the original verilog when ECO is done (Keep original netlist format) +<b>Usage:</b> set_keep_format($value); +$value: 0, disable format keeping (default) + 1, enable format keeping. +</pre> \ No newline at end of file diff --git a/src_en/api.set_keep_tree.txt b/src_en/api.set_keep_tree.txt new file mode 100644 index 0000000000000000000000000000000000000000..0fb6e041bd9814a3a8a1921ca58acdecb7ee8103 --- /dev/null +++ b/src_en/api.set_keep_tree.txt @@ -0,0 +1,6 @@ +<h3 id='___set_keep_tree'>set_keep_tree</h3> +<pre>Set keeping buffer tree, so that buffer tree won't be removed in ECO +By default , it is disabled. +<b>Usage:</b> set_keep_tree($val); +$val: 0, disable 1, enable +</pre> \ No newline at end of file diff --git a/src_en/api.set_keypoints_rep_in_ref.txt b/src_en/api.set_keypoints_rep_in_ref.txt new file mode 100644 index 0000000000000000000000000000000000000000..c8ee07dcd6d96c6a4d1c7a372460d1b8ce60c85c --- /dev/null +++ b/src_en/api.set_keypoints_rep_in_ref.txt @@ -0,0 +1,18 @@ +<h3 id='___set_keypoints_rep_in_ref'>set_keypoints_rep_in_ref</h3> +<pre>ECO setting. Replace keypoints naming in Reference Netlist. +Keypoints naming matching the first argument, and replace the matched string by the second argument +<b>Usage:</b> set_keypoints_rep_in_ref($match_string, $rep_string); +$match_string: Keypoints naming matching this string +$rep_string: To replace the matched string by this string + +<b>Note:</b> The command only apply to Reference Netlist + +<b>Examples:</b> + +#1. Replace the last '_' in Keypoints naming in Reference Netlist +set_keypoints_rep_in_ref('_$', ''); + +#2. Replace the last '0' in Keypoints naming in Reference Netlist +set_keypoints_rep_in_ref('0$', ''); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_leaf.txt b/src_en/api.set_leaf.txt new file mode 100644 index 0000000000000000000000000000000000000000..2bb20f226f85fdf94b7f1cc0ca0e910351f03660 --- /dev/null +++ b/src_en/api.set_leaf.txt @@ -0,0 +1,14 @@ +<h3 id='___set_leaf'>set_leaf</h3> +<pre>Set a hierarchical module to be leaf. Useful to stub hierarchical instances +<b>Usage:</b> set_leaf($module_name, $value); +$module_name: The module to be set leaf or not set to leaf +$value: 1 or larger than 1, set the module as leaf. 0 not set to leaf. + If $value is not present, the default value is 1. + +<b>Examples:</b> + +set_leaf($module_a); # set $module_a as a leaf +set_leaf($module_a, 1); # same as the above +set_leaf($module_a, 0); # remove the leaf setting + +</pre> \ No newline at end of file diff --git a/src_en/api.set_log_file.txt b/src_en/api.set_log_file.txt new file mode 100644 index 0000000000000000000000000000000000000000..fd44ce1b3403813887718b2ccddcef3b43d21858 --- /dev/null +++ b/src_en/api.set_log_file.txt @@ -0,0 +1,5 @@ +<h3 id='___set_log_file'>set_log_file</h3> +<pre>Set log file name +<b>Usage:</b> set_log_file($filename); +$filename: Log file name +</pre> \ No newline at end of file diff --git a/src_en/api.set_low_effort.txt b/src_en/api.set_low_effort.txt new file mode 100644 index 0000000000000000000000000000000000000000..48113cd78be5df64e55a311e55f19d6c150363c1 --- /dev/null +++ b/src_en/api.set_low_effort.txt @@ -0,0 +1,11 @@ +<h3 id='___set_low_effort'>set_low_effort</h3> +<pre>Set low ECO effort to speed up ECO process (LLM: speed up) +<b>Usage:</b> set_low_effort(@options); +@options: + -help: Print this information + +<b>Examples:</b> + +#1. Set ECO low effort on all modules under ECO +set_low_effort(); +</pre> \ No newline at end of file diff --git a/src_en/api.set_mapped_point.txt b/src_en/api.set_mapped_point.txt new file mode 100644 index 0000000000000000000000000000000000000000..727e71ba8ebc1ff21a0f5173dc1f92486bf6c84f --- /dev/null +++ b/src_en/api.set_mapped_point.txt @@ -0,0 +1,14 @@ +<h3 id='___set_mapped_point'>set_mapped_point</h3> +<pre>ECO setting. Set two points mapped in Reference and Implementation Netlists +<b>Usage:</b> set_mapped_point($ref_point, $imp_point, @options); +$ref_point: Register instance or output port in Reference Netlist +$imp_point: Register instance or output port in Implementation Netlist +@options: + -invert: The two points are expected to be inverted + +<b>Examples:</b> + +#1. Two outputs are mapped key points +set_mapped_point("ref_sync", "imp_sync"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_mapping_method.txt b/src_en/api.set_mapping_method.txt new file mode 100644 index 0000000000000000000000000000000000000000..3976f463ea32e3c8062d485600bf9bfc9003bda5 --- /dev/null +++ b/src_en/api.set_mapping_method.txt @@ -0,0 +1,4 @@ +<h3 id='___set_mapping_method'>set_mapping_method</h3> +<pre>LEC setting. Detecting flop phase inversion. +<b>Usage:</b> set_mapping_method("-phase"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_max_lines.txt b/src_en/api.set_max_lines.txt new file mode 100644 index 0000000000000000000000000000000000000000..1b81735ae61e0ac756197ffa8261bf8917a32b3f --- /dev/null +++ b/src_en/api.set_max_lines.txt @@ -0,0 +1,5 @@ +<h3 id='___set_max_lines'>set_max_lines</h3> +<pre>Set max output lines +<b>Usage:</b> set_max_lines($num); +$num: New max lines number. Default to be 500 +</pre> \ No newline at end of file diff --git a/src_en/api.set_max_loop.txt b/src_en/api.set_max_loop.txt new file mode 100644 index 0000000000000000000000000000000000000000..ab4749cfcb445d93a9b357ee9239ca796e490e92 --- /dev/null +++ b/src_en/api.set_max_loop.txt @@ -0,0 +1,6 @@ +<h3 id='___set_max_loop'>set_max_loop</h3> +<pre>Setup max loop, the tool stops logic optimization when max loop number is reached +<b>Usage:</b> set_max_loop($value); + +$value: Setup BDD threshold, default 40000 +</pre> \ No newline at end of file diff --git a/src_en/api.set_mod2mod.txt b/src_en/api.set_mod2mod.txt new file mode 100644 index 0000000000000000000000000000000000000000..c00cb2bd3a7dcd74d56421d6eb21a386597983ed --- /dev/null +++ b/src_en/api.set_mod2mod.txt @@ -0,0 +1,9 @@ +<h3 id='___set_mod2mod'>set_mod2mod</h3> +<pre>Set reference module mapping to implementation module +<b>Usage:</b> set_mod2mod($refmod, $impmod); +$refmod: The reference module name +$impmod: The implementation module name +<b>Note:</b> + The command is used when reference netlist is partial + +</pre> \ No newline at end of file diff --git a/src_en/api.set_mu.txt b/src_en/api.set_mu.txt new file mode 100644 index 0000000000000000000000000000000000000000..32b8549a8830507587f86930fefef4ed32584d9f --- /dev/null +++ b/src_en/api.set_mu.txt @@ -0,0 +1,5 @@ +<h3 id='___set_mu'>set_mu</h3> +<pre>MU configuration, setup MU value for BDD threshold +<b>Usage:</b> set_mu($value); +$value: Setup BDD threshold, default 12000 +</pre> \ No newline at end of file diff --git a/src_en/api.set_multibit_blasting.txt b/src_en/api.set_multibit_blasting.txt new file mode 100644 index 0000000000000000000000000000000000000000..e6a97b492da539f660bf96edb3e88552e54db93e --- /dev/null +++ b/src_en/api.set_multibit_blasting.txt @@ -0,0 +1,13 @@ +<h3 id='___set_multibit_blasting'>set_multibit_blasting</h3> +<pre>Set blasting on multibit flops +set_multibit_blasting($enable); +$enable: 0, disable multibit flop blasting + 1, enable multibit flop blasting (default) +<b>Note:</b> This command should run before read_design + +<b>Examples:</b> + +set_multibit_blasting(1); +read_design("-ref", "ref.v"); +read_design("-imp", "imp.v"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_multibit_output.txt b/src_en/api.set_multibit_output.txt new file mode 100644 index 0000000000000000000000000000000000000000..dc8036180bc555481e79f7b699b0eaacbf5278ce --- /dev/null +++ b/src_en/api.set_multibit_output.txt @@ -0,0 +1,11 @@ +<h3 id='___set_multibit_output'>set_multibit_output</h3> +<pre>Set multibit flops output in ECO results +set_multibit_output($enable); +$enable: 0, disable multibit flops output (default) + 1, enable multibit flops output + +<b>Examples:</b> + +set_multibit_output(1); +write_verilog("eco_result.v"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_net_constant.txt b/src_en/api.set_net_constant.txt new file mode 100644 index 0000000000000000000000000000000000000000..3398dedbb8f9210705d93824f058869ea8e4183b --- /dev/null +++ b/src_en/api.set_net_constant.txt @@ -0,0 +1,20 @@ +<h3 id='___set_net_constant'>set_net_constant</h3> +<pre>Set net to a constant value in DFT constraint (LLM: constant) +<b>Usage:</b> set_net_constant($net, $value, @options); +$net: Net name. It can be a bus. +$value: Decimal value that the pin should be set +@options: + -help: Print this information + -both: Set the net to the constant value on both Implementation and Reference. Enabled by default. + -imp: Set the net to the constant only on Implementation + -ref: Set the net to the constant only on Reference + +<b>Examples:</b> + +#1. Set all_test net to zero in Implementation Netlist +set_top('DESIGN_TOP_DFT_WRAPPER'); +set_net_constant('all_test', 0, '-imp'); +set_ignore_output('PIN_EDT_CHANNEL_OUT*', '-imp'); +fix_design(); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_no_patch_opt.txt b/src_en/api.set_no_patch_opt.txt new file mode 100644 index 0000000000000000000000000000000000000000..ca0914e87b2861f58f72d8e3769bcfa52e184d85 --- /dev/null +++ b/src_en/api.set_no_patch_opt.txt @@ -0,0 +1,6 @@ +<h3 id='___set_no_patch_opt'>set_no_patch_opt</h3> +<pre>Disable patch optimization +<b>Usage:</b> set_no_patch_opt($value); +$value: 0, Enable patch optimization in fix_design (default). + 1, Disable patch optimization in fix_design +</pre> \ No newline at end of file diff --git a/src_en/api.set_noexact_pin_match.txt b/src_en/api.set_noexact_pin_match.txt new file mode 100644 index 0000000000000000000000000000000000000000..86e9884c2fe978e8e554fde5e15c680738544ce2 --- /dev/null +++ b/src_en/api.set_noexact_pin_match.txt @@ -0,0 +1,14 @@ +<h3 id='___set_noexact_pin_match'>set_noexact_pin_match</h3> +<pre>ECO setting. Don't match some special pins +These pins normally don't exist in RTL but added by Synthesis, DFT or other tools. +<b>Usage:</b> set_noexact_pin_match($pattern); +$pattern: Pin pattern in regular expression, '\bIN\d+\b' + +<b>Note:</b> The command only apply to Reference Netlist. It should be run before reading reference netlist + +<b>Examples:</b> + +#1. Don't match pins like IN0, IN1, IN2 +set_noexact_pin_match('\bIN\d+\b'); +read_design('-ref', 'ref_netlist.v'); +</pre> \ No newline at end of file diff --git a/src_en/api.set_observe_points.txt b/src_en/api.set_observe_points.txt new file mode 100644 index 0000000000000000000000000000000000000000..c09d6e41ce003668f2c98d24dc284d5a40ec2621 --- /dev/null +++ b/src_en/api.set_observe_points.txt @@ -0,0 +1,20 @@ +<h3 id='___set_observe_points'>set_observe_points</h3> +<pre>set observe points +<b>Usage:</b> set_observe_points(@points, @options); +@points: Observation points +@options: + -help: Print this info + -comb: The points are input pins of combinational gates + +<b>Note:</b> The command can be run multiple times + +<b>Examples:</b> + +#1. Set data_out_ml bus as observe points +set_observe_points("data_out_ml*"); + +#2. Set data_out_ml bus and u_cpu/valid_status_regas observe points +set_observe_points("data_out_ml*"); +set_observe_points("u_cpu/valid_status_reg"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_one_fault.txt b/src_en/api.set_one_fault.txt new file mode 100644 index 0000000000000000000000000000000000000000..6db258a9127a5d54dfcc0829496f7605102a1dc9 --- /dev/null +++ b/src_en/api.set_one_fault.txt @@ -0,0 +1,11 @@ +<h3 id='___set_one_fault'>set_one_fault</h3> +<pre>Set one fault for verify_state command +<b>Usage:</b> set_one_fault($fault_name); +$fault_name: Fault name + +<b>Examples:</b> + +#1. Set stuck-at 0 fault to a NAND gate input +set_one_fault("u_top/u_ctrl/U123/A:SA0"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_only_use.txt b/src_en/api.set_only_use.txt new file mode 100644 index 0000000000000000000000000000000000000000..315dc37b38207528dc2f9b5b8e990714cf10d33e --- /dev/null +++ b/src_en/api.set_only_use.txt @@ -0,0 +1,14 @@ +<h3 id='___set_only_use'>set_only_use</h3> +<pre>In optimize_patch, Only use these cells listed +<b>Usage:</b> set_only_use(@cell_list); +@cell_list: List of the cells that are used in optimize_patch. Wild card '*' is supported + +<b>Examples:</b> + +#1. Use these two cells +set_only_use("INVX30","AND2X24"); + +#2. Use any type of invert and nand gate +set_only_use("INV*", "NAND*"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_output_delay.txt b/src_en/api.set_output_delay.txt new file mode 100644 index 0000000000000000000000000000000000000000..166c7ab6c891d1300725bea1a690736f304acb70 --- /dev/null +++ b/src_en/api.set_output_delay.txt @@ -0,0 +1,14 @@ +<h3 id='___set_output_delay'>set_output_delay</h3> +<pre>Timing command. Set output delay +<b>Usage:</b> set_output_delay($port_name, $delay_value, @options); +@options: + -clock clock_name: Specifies the clock that relates to the delay +$port_name: Output port name, accept wild card '*' +$delay_value: Delay value in ns + +<b>Examples:</b> + +#1. Set output delay to all memory output +set_output_delay("mem_out_*"", 2.1); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_output_load.txt b/src_en/api.set_output_load.txt new file mode 100644 index 0000000000000000000000000000000000000000..a35f3ac0fbab74bec4e19fbe355c59dab3dab7be --- /dev/null +++ b/src_en/api.set_output_load.txt @@ -0,0 +1,5 @@ +<h3 id='___set_output_load'>set_output_load</h3> +<pre>Timing command. Set output load to all output ports +<b>Usage:</b> set_output_load($value); +$value: Output load value +</pre> \ No newline at end of file diff --git a/src_en/api.set_phase_adjust_en.txt b/src_en/api.set_phase_adjust_en.txt new file mode 100644 index 0000000000000000000000000000000000000000..9cbd4a2a7ab29c94c0de94abe8ad9c3e502e0e3c --- /dev/null +++ b/src_en/api.set_phase_adjust_en.txt @@ -0,0 +1,6 @@ +<h3 id='___set_phase_adjust_en'>set_phase_adjust_en</h3> +<pre>Enable phase adjusting (LLM: phase adjusting) +<b>Usage:</b> set_phase_adjust_en($val); +$val: 0, disable phase adjusting + 1, enable phase adjusting (default) +</pre> \ No newline at end of file diff --git a/src_en/api.set_phase_inv.txt b/src_en/api.set_phase_inv.txt new file mode 100644 index 0000000000000000000000000000000000000000..2778c891c9744879f04e7e43826e652dfe612da0 --- /dev/null +++ b/src_en/api.set_phase_inv.txt @@ -0,0 +1,15 @@ +<h3 id='___set_phase_inv'>set_phase_inv</h3> +<pre>ECO setting. Set flops invert phase in the Reference and Implementation Netlists +<b>Usage:</b> set_phase_inv($flop1, $flop2 ...); +$flop1, $flop2: Flop instance list in full path + +<b>Examples:</b> + +#1. Set flop instance u_ip/u_control/a_reg to have invert phase +set_top('top_module'); +set_phase_inv('u_ip/u_control/a_reg'); + +#2. Set flop instances u_ip/u_control/a_reg and u_ip/u_control_b/b_reg to have invert phase +set_top('top_module'); +set_phase_inv('u_ip/u_control/a_reg', 'u_ip/u_control_b/b_reg'); +</pre> \ No newline at end of file diff --git a/src_en/api.set_physical_aware.txt b/src_en/api.set_physical_aware.txt new file mode 100644 index 0000000000000000000000000000000000000000..3e8ab011189445fb2e987d1ed2c494bbb9b3bd3b --- /dev/null +++ b/src_en/api.set_physical_aware.txt @@ -0,0 +1,7 @@ +<h3 id='___set_physical_aware'>set_physical_aware</h3> +<pre>Enable physical aware ECO +<b>Usage:</b> set_physical_aware($value); +$value: 0, disable physical aware ECO + 1, enable physical aware ECO (default) + +</pre> \ No newline at end of file diff --git a/src_en/api.set_pin_constant.txt b/src_en/api.set_pin_constant.txt new file mode 100644 index 0000000000000000000000000000000000000000..7cfa9df10d11e4f38a42b4d01fd8c6abc00ee6c3 --- /dev/null +++ b/src_en/api.set_pin_constant.txt @@ -0,0 +1,25 @@ +<h3 id='___set_pin_constant'>set_pin_constant</h3> +<pre>Set pin to a constant value in DFT constraint (LLM: constant) +<b>Usage:</b> set_pin_constant($pin, $value, @options); +$pin: Input pin name. It can be a bus, or an instance pin. +$value: Decimal value that the pin should be set +@options: + -help: Print this information + -both: Set the pin to the constant value on both Implementation and Reference. Enabled by default. + -imp: Set the pin to the constant only on Implementation + -ref: Set the pin to the constant only on Reference + +<b>Examples:</b> + +#1. Set test scan test pin to zero +set_top('DESING_TOP'); +set_pin_constant('PIN_SCAN_TEST', 0); +set_ignore_output('PIN_SCAN_SO*'); +fix_design(); + +#2. Set one bus port to all ones on Implementation +set_top('DESING_TOP'); +set_pin_constant('PIN_CONTROL[3:0]', 15, '-imp'); +fix_design(); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_power.txt b/src_en/api.set_power.txt new file mode 100644 index 0000000000000000000000000000000000000000..1a99a1f3e0a47c2b178f36463124e74eeb66859c --- /dev/null +++ b/src_en/api.set_power.txt @@ -0,0 +1,6 @@ +<h3 id='___set_power'>set_power</h3> +<pre>Set power pins connections for leaf cell +<b>Usage:</b> set_power($leaf_cell, $connections); +$leaf_cell: Leaf cell name. Like NAND2X4 +$connections: Power pins connections, like ".GND(GND),.VDD(VDD)" +</pre> \ No newline at end of file diff --git a/src_en/api.set_preserve.txt b/src_en/api.set_preserve.txt new file mode 100644 index 0000000000000000000000000000000000000000..8ec8c82f7e209a8c048eddbe3d9f4213aa0c2d30 --- /dev/null +++ b/src_en/api.set_preserve.txt @@ -0,0 +1,23 @@ +<h3 id='___set_preserve'>set_preserve</h3> +<pre>Set preserve property on instances. The tool does not remove them in ECO (LLM: preserve) +<b>Usage:</b> set_preserve(@instances, @options); +@options: + -hier: Set preserve globally, the specified instances will be preserved in all modules +@instances: Instances to be preserved in the current module + Accept wild card '*' + +<b>Examples:</b> + +#1. Preserver two instances in mcu_top +push_top("mcu_top"); +set_preserve("u_donttouch0", "u_1000"); +pop_top; + +#2. Preserve all DONT* instances in abc_mod +push_top("abc_mod"); +set_preserve("DONT*"); +pop_top; + +#3. Preserve clock_tree_* instance in all modules, push_top/set_top are ignored +set_preserve("clock_tree_*", "-hier"); +</pre> \ No newline at end of file diff --git a/src_en/api.set_quiet.txt b/src_en/api.set_quiet.txt new file mode 100644 index 0000000000000000000000000000000000000000..c0aa06942bff2809871b0ffff9485e12d4074748 --- /dev/null +++ b/src_en/api.set_quiet.txt @@ -0,0 +1,4 @@ +<h3 id='___set_quiet'>set_quiet</h3> +<pre>Run script in quiet mode +<b>Usage:</b> set_quiet; +</pre> \ No newline at end of file diff --git a/src_en/api.set_recovery_distance.txt b/src_en/api.set_recovery_distance.txt new file mode 100644 index 0000000000000000000000000000000000000000..afcc0c7f1bd7b3e5ee2d89dc0a24b1c30c26512b --- /dev/null +++ b/src_en/api.set_recovery_distance.txt @@ -0,0 +1,5 @@ +<h3 id='___set_recovery_distance'>set_recovery_distance</h3> +<pre>Set distance limit for gates recovery in ECO +<b>Usage:</b> set_recovery_distance($distance); +$distance: Distance to recover deleted gate, in unit of 'um' +</pre> \ No newline at end of file diff --git a/src_en/api.set_remove_undsc_in_ref.txt b/src_en/api.set_remove_undsc_in_ref.txt new file mode 100644 index 0000000000000000000000000000000000000000..7c2608209fe99d99fc04b41e8c69b2d6646dd1df --- /dev/null +++ b/src_en/api.set_remove_undsc_in_ref.txt @@ -0,0 +1,9 @@ +<h3 id='___set_remove_undsc_in_ref'>set_remove_undsc_in_ref</h3> +<pre>ECO setting. Remove last '_' in flop instance in Reference Netlist +It's a special command to remove the last '_' in flop instance in Reference Netlist + to match Implementation Netlist. +<b>Usage:</b> set_remove_undsc_in_ref($value); +$value: 1, enable. 0, disable + +<b>Note:</b> The command only apply to Reference Netlist +</pre> \ No newline at end of file diff --git a/src_en/api.set_rtl_eco_full_hier_fan.txt b/src_en/api.set_rtl_eco_full_hier_fan.txt new file mode 100644 index 0000000000000000000000000000000000000000..7b0adf795cfc0cfd2d022fbbe6ca92ca961aa4a9 --- /dev/null +++ b/src_en/api.set_rtl_eco_full_hier_fan.txt @@ -0,0 +1,6 @@ +<h3 id='___set_rtl_eco_full_hier_fan'>set_rtl_eco_full_hier_fan</h3> +<pre>RTL ECO has full hierarchical fanout +<b>Usage:</b> set_rtl_eco_full_hier_fan($val); +$value: 0, disable full hierarchical fanout (default) + 1, enable full hierarchical fanout +</pre> \ No newline at end of file diff --git a/src_en/api.set_save_mapped_instance.txt b/src_en/api.set_save_mapped_instance.txt new file mode 100644 index 0000000000000000000000000000000000000000..91a67e8e995c3c632532ef6589f8fc8e9b411616 --- /dev/null +++ b/src_en/api.set_save_mapped_instance.txt @@ -0,0 +1,12 @@ +<h3 id='___set_save_mapped_instance'>set_save_mapped_instance</h3> +<pre>Dump key points mapping information for LEC +<b>Usage:</b> set_save_mapped_instance(1); + +<b>Note:</b> The command should be run before fix_design + +Example: + +set_save_mapped_instance(1); +fix_design(); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_scan_pairs.txt b/src_en/api.set_scan_pairs.txt new file mode 100644 index 0000000000000000000000000000000000000000..0a49350d0bc8e3963a29a4237de2ea0660e0eafa --- /dev/null +++ b/src_en/api.set_scan_pairs.txt @@ -0,0 +1,21 @@ +<h3 id='___set_scan_pairs'>set_scan_pairs</h3> +<pre>Set scan output ports, the command is used with dft_drc +<b>Usage:</b> set_scan_pairs(@scan_in_out_pairs); +@scan_in_out_pairs: List of pairs of scan in and scan out pins + +<b>Note:</b> The command can run multiple times + +<b>Examples:</b> + +#1. Set all scan_si[100:0] scan_so[100:0] as scan in/out ports +set_top("THE_DESIGN"); +for(my $i=0;$i<=100;$i++){ + set_scan_pairs("scan_si[$i]", "scan_so[$i]"); +} +set_top("THE_DFT_TOP"); # THE_DFT_TOP has THE_DESIGN as an instance +dft_drc; + +#2. Check DFT DRC on a_scan_si[6]/a_scan_so[6] and b_scan_in[7]/b_scan_out[7] +set_scan_pairs("a_scan_si[6]", "a_scan_so[6]", "b_scan_in[7]", "b_scan_out[7]"); +dft_drc; +</pre> \ No newline at end of file diff --git a/src_en/api.set_sn_vs_rn.txt b/src_en/api.set_sn_vs_rn.txt new file mode 100644 index 0000000000000000000000000000000000000000..84b792f7aa8dfe1892cb11691b8324841a41c055 --- /dev/null +++ b/src_en/api.set_sn_vs_rn.txt @@ -0,0 +1,6 @@ +<h3 id='___set_sn_vs_rn'>set_sn_vs_rn</h3> +<pre>Check set pin and reset pin priority +<b>Usage:</b> set_sn_vs_rn($val); +$val: 1, Check set/reset pins priority, default + 0, Don't check set/reset pins priority +</pre> \ No newline at end of file diff --git a/src_en/api.set_solver_timeout.txt b/src_en/api.set_solver_timeout.txt new file mode 100644 index 0000000000000000000000000000000000000000..17990d77a3b6b175d13bb1583c1d34fa5a4c9bf0 --- /dev/null +++ b/src_en/api.set_solver_timeout.txt @@ -0,0 +1,11 @@ +<h3 id='___set_solver_timeout'>set_solver_timeout</h3> +<pre>Set time out for solver +<b>Usage:</b> set_solver_timeout($time_in_seconds); +$time_in_seconds: An integer number in seconds + +<b>Examples:</b> + +#1. Set solver time out to ~10 hours +set_solver_timeout(36000); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_tiehi_net.txt b/src_en/api.set_tiehi_net.txt new file mode 100644 index 0000000000000000000000000000000000000000..a0dd3f1b9d6e0ad8cd3918647d56c9c6444b732c --- /dev/null +++ b/src_en/api.set_tiehi_net.txt @@ -0,0 +1,8 @@ +<h3 id='___set_tiehi_net'>set_tiehi_net</h3> +<pre>Set tiehi net name, it is used if tiehi net is needed in ECO (LLM: tiehi) +<b>Usage:</b> set_tiehi_net($netname); +$netname: Tiehi net name, default to be 1'b1 + +<b>Note:</b> If Tie High Cell is preferred, the value should be set to empty + set_tiehi_net(""); +</pre> \ No newline at end of file diff --git a/src_en/api.set_tielo_net.txt b/src_en/api.set_tielo_net.txt new file mode 100644 index 0000000000000000000000000000000000000000..349bed3ad4c107bb113243a83a02a38e95b76d88 --- /dev/null +++ b/src_en/api.set_tielo_net.txt @@ -0,0 +1,15 @@ +<h3 id='___set_tielo_net'>set_tielo_net</h3> +<pre>Set tielo net name, it is used if tielo net is needed in ECO (LLM: tielo) +<b>Usage:</b> set_tielo_net($netname); +$netname: Tielo net name, default to be 1'b0 + +<b>Note:</b> If Tie Low Cell is preferred, the value should be set to empty + set_tielo_net(""); + +<b>Examples:</b> + +set_tielo_net("___logic0___"); +set_tielo_net("TIE_HILO_TIELO_NET"); +set_tielo_net(""); # Use Tie Cell + +</pre> \ No newline at end of file diff --git a/src_en/api.set_time_frame_limit.txt b/src_en/api.set_time_frame_limit.txt new file mode 100644 index 0000000000000000000000000000000000000000..cbd99aa5c9f27d33208ca9c85e5b254e18b86930 --- /dev/null +++ b/src_en/api.set_time_frame_limit.txt @@ -0,0 +1,11 @@ +<h3 id='___set_time_frame_limit'>set_time_frame_limit</h3> +<pre>GOF Formal only. Set limitation for time frame in fault verification, default 35 +<b>Usage:</b> set_time_frame_limit($frame_number); +$frame_number: An integer number + +<b>Examples:</b> + +#1. Set time frame limit to 256 +set_time_frame_limit(256); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_top.txt b/src_en/api.set_top.txt new file mode 100644 index 0000000000000000000000000000000000000000..539870fcd0be49bd4d81c98641b9fc48b46ab475 --- /dev/null +++ b/src_en/api.set_top.txt @@ -0,0 +1,8 @@ +<h3 id='___set_top'>set_top</h3> +<pre>Set the current top level module (LLM: current top design) +<b>Usage:</b> set_top($module); +$module: Set $module as the current top level module. + If the argument is missing, return the current setting + ".." set to the parent module, "~" set to the most top level module +<b>Note:</b> It can be reset to the root top module by 'undo_eco' +</pre> \ No newline at end of file diff --git a/src_en/api.set_top_ref.txt b/src_en/api.set_top_ref.txt new file mode 100644 index 0000000000000000000000000000000000000000..f4d5165740412db5d8c2b95d93ec80a8c3fe33aa --- /dev/null +++ b/src_en/api.set_top_ref.txt @@ -0,0 +1,6 @@ +<h3 id='___set_top_ref'>set_top_ref</h3> +<pre>Set the top level module for the Reference design (LLM: unmatched hierarchy reference) +Usage set_top_ref($module); +Notes: +Set top module for the Reference Netlist due to unmatched hierarchy. +</pre> \ No newline at end of file diff --git a/src_en/api.set_tree.txt b/src_en/api.set_tree.txt new file mode 100644 index 0000000000000000000000000000000000000000..1fdf43568fc538ad49cdfb07826458d5f4ef4dbe --- /dev/null +++ b/src_en/api.set_tree.txt @@ -0,0 +1,19 @@ +<h3 id='___set_tree'>set_tree</h3> +<pre>Set the current tree, if there are more than one sets of databases (LLM: tree) +<b>Usage:</b> set_tree($tree); +$tree: It can be Top, Top_ref, Top_1 or Top_2 + Top: The Implementation Netlist + Top_ref: The Reference Netlist + Top_1: The netlist loaded by -Top_1 option + Top_2: The netlist loaded by -Top_2 option + If $tree is not defined, the current database name is returned + +<b>Note:</b> Implementation tree 'Top' has aliases of 'imp', 'IMP' + Reference tree 'Top_ref' has aliases of 'ref', 'REF' + +<b>Examples:</b> + +set_tree("Top"); # Set to the Implementation Netlist tree +set_tree("Top_ref"); # Set to the Reference Netlist tree +set_tree(); # Return the current database name. E.G. 'Top_ref' +</pre> \ No newline at end of file diff --git a/src_en/api.set_user_match.txt b/src_en/api.set_user_match.txt new file mode 100644 index 0000000000000000000000000000000000000000..477b2d0898109d2fd98bf9542848e6473371e6fd --- /dev/null +++ b/src_en/api.set_user_match.txt @@ -0,0 +1,16 @@ +<h3 id='___set_user_match'>set_user_match</h3> +<pre>Set match between multi-bit flops to multi-bit flops, and between multi-bit flops to single bit flop +<b>Usage:</b> set_user_match($inst1, $inst2); +$inst1: The first flop instance, in the format of 'r:reg_1_0A/\*dff.00.0\*' if it is multibit + or 'r:reg_1A' if it is single bit +$inst2: The second flop instance, in the format of 'i:reg_1_0A/\*dff.00.0\*' if it is multibit + or 'i:reg_1A' if it is single bit + +<b>Examples:</b> + +set_user_match('r:reg_1_0A/\*dff.00.0\*', 'i:reg_0A'); +set_user_match('r:reg_1_0A/\*dff.00.1\*', 'i:reg_1A'); +set_user_match('r:reg_2_1A/\*dff.00.1\*', 'i:reg_1_0A/\*dff.00.0\*'); + +<b>Note:</b> It is recommended to use SVF file, guide_multibit in SVF file has the same effect of this command +</pre> \ No newline at end of file diff --git a/src_en/api.set_verbose.txt b/src_en/api.set_verbose.txt new file mode 100644 index 0000000000000000000000000000000000000000..611aab1dbf724452d1140400af4c781ae19c4a89 --- /dev/null +++ b/src_en/api.set_verbose.txt @@ -0,0 +1,5 @@ +<h3 id='___set_verbose'>set_verbose</h3> +<pre>Run script in verbose mode +<b>Usage:</b> set_verbose($num); +$num: Verbose level, higher to be more verbose +</pre> \ No newline at end of file diff --git a/src_en/api.set_wireload.txt b/src_en/api.set_wireload.txt new file mode 100644 index 0000000000000000000000000000000000000000..1777beb91eac1a4947725b1a87ac2acd9499e347 --- /dev/null +++ b/src_en/api.set_wireload.txt @@ -0,0 +1,12 @@ +<h3 id='___set_wireload'>set_wireload</h3> +<pre>Command for Timing Report. Set wireload for one liberty library +<b>Usage:</b> set_wireload($library, $wireload); +$library: Library name +$wireload: Wireload name + +<b>Examples:</b> + +#1. Set wireload for one library +set_wireload("TMC18VGB15ELV16S_1P8V_25C", "zero-wire-load-model"); + +</pre> \ No newline at end of file diff --git a/src_en/api.set_write_verilog_remove_backslash.txt b/src_en/api.set_write_verilog_remove_backslash.txt new file mode 100644 index 0000000000000000000000000000000000000000..acd7b41a0506ba036b96dc339b41f379b730a954 --- /dev/null +++ b/src_en/api.set_write_verilog_remove_backslash.txt @@ -0,0 +1,7 @@ +<h3 id='___set_write_verilog_remove_backslash'>set_write_verilog_remove_backslash</h3> +<pre>Enable write out verilog with backslash removal +<b>Usage:</b> set_write_verilog_remove_backslash($value); +$value: 0, Disable by default + 1, Enable backslash removal in write_verilog + +</pre> \ No newline at end of file diff --git a/src_en/api.set_write_verilog_uniquify.txt b/src_en/api.set_write_verilog_uniquify.txt new file mode 100644 index 0000000000000000000000000000000000000000..29995d28634429c986624532d3e894db6b121489 --- /dev/null +++ b/src_en/api.set_write_verilog_uniquify.txt @@ -0,0 +1,7 @@ +<h3 id='___set_write_verilog_uniquify'>set_write_verilog_uniquify</h3> +<pre>Enable write out verilog in uniquified mode +<b>Usage:</b> set_write_verilog_uniquify($value); +$value: 0, Disable by default + 1, Enable uniquify mode + +</pre> \ No newline at end of file diff --git a/src_en/api.set_xm_flop_merge_enable.txt b/src_en/api.set_xm_flop_merge_enable.txt new file mode 100644 index 0000000000000000000000000000000000000000..a1c84f749bf7b5bd2c123f713014bddc645ef951 --- /dev/null +++ b/src_en/api.set_xm_flop_merge_enable.txt @@ -0,0 +1,9 @@ +<h3 id='___set_xm_flop_merge_enable'>set_xm_flop_merge_enable</h3> +<pre>Cross module flop mapping and merging enable. +<b>Usage:</b> set_xm_flop_merge_enable($setting,@options); +$setting: 0, disable cross module flop merge (default) + 1, enable cross module flop merge +@options: + -parallel: Run merge process in parallel +<b>Note:</b> Flop merge inside module command set_flop_merge_enable is enabled by default +</pre> \ No newline at end of file