Upload 89 files
Browse filesThis view is limited to 50 files because it contains too many changes.
See raw diff
- src_en/api.set_blackbox.txt +22 -0
- src_en/api.set_bound_opti.txt +6 -0
- src_en/api.set_buffer.txt +9 -0
- src_en/api.set_buffer_distance.txt +5 -0
- src_en/api.set_clock_uncertainty.txt +5 -0
- src_en/api.set_cluster_command.txt +11 -0
- src_en/api.set_cluster_timeout.txt +13 -0
- src_en/api.set_constraints.txt +37 -0
- src_en/api.set_cutpoint_thresh.txt +5 -0
- src_en/api.set_cutpoint_ultra.txt +6 -0
- src_en/api.set_define.txt +21 -0
- src_en/api.set_detect_points.txt +19 -0
- src_en/api.set_disable_cross_hierarchy_merge.txt +6 -0
- src_en/api.set_disable_lib_cache.txt +7 -0
- src_en/api.set_dont_fix_modules.txt +10 -0
- src_en/api.set_dont_use.txt +20 -0
- src_en/api.set_eco_effort.txt +10 -0
- src_en/api.set_eco_point_json.txt +8 -0
- src_en/api.set_equal.txt +22 -0
- src_en/api.set_error_out.txt +13 -0
- src_en/api.set_exit_on_error.txt +7 -0
- src_en/api.set_exit_on_warning.txt +7 -0
- src_en/api.set_false_path.txt +14 -0
- src_en/api.set_floating_as_zero.txt +6 -0
- src_en/api.set_flop_default_eco.txt +5 -0
- src_en/api.set_flop_merge_enable.txt +6 -0
- src_en/api.set_high_effort.txt +31 -0
- src_en/api.set_ignore_instance.txt +18 -0
- src_en/api.set_ignore_network.txt +16 -0
- src_en/api.set_ignore_output.txt +23 -0
- src_en/api.set_ignore_pin.txt +10 -0
- src_en/api.set_inc_dirs.txt +20 -0
- src_en/api.set_initial_trans.txt +6 -0
- src_en/api.set_input_delay.txt +14 -0
- src_en/api.set_input_transition.txt +5 -0
- src_en/api.set_inside_mod.txt +7 -0
- src_en/api.set_inst.txt +8 -0
- src_en/api.set_inv.txt +16 -0
- src_en/api.set_invert.txt +9 -0
- src_en/api.set_keep_format.txt +6 -0
- src_en/api.set_keep_tree.txt +6 -0
- src_en/api.set_keypoints_rep_in_ref.txt +18 -0
- src_en/api.set_leaf.txt +14 -0
- src_en/api.set_log_file.txt +5 -0
- src_en/api.set_low_effort.txt +11 -0
- src_en/api.set_mapped_point.txt +14 -0
- src_en/api.set_mapping_method.txt +4 -0
- src_en/api.set_max_lines.txt +5 -0
- src_en/api.set_max_loop.txt +6 -0
- src_en/api.set_mod2mod.txt +9 -0
src_en/api.set_blackbox.txt
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_blackbox'>set_blackbox</h3>
|
2 |
+
<pre>Set Blackbox on Modules
|
3 |
+
<b>Usage:</b> set_blackbox(@modules, @options);
|
4 |
+
@module: Module names to be set as blackbox, accept wild card '*'
|
5 |
+
@options:
|
6 |
+
-hier: Set blackbox on the module and its sub-hierarchical modules
|
7 |
+
Only valid on module name without '*'
|
8 |
+
|
9 |
+
<b>Note:</b> This command can be used multiple times
|
10 |
+
|
11 |
+
<b>Examples:</b>
|
12 |
+
|
13 |
+
#1. Set Blackbox on DW modules
|
14 |
+
set_blackbox("*DW_pipe*");
|
15 |
+
|
16 |
+
#2. Set Blackbox on 'ABC' and 'DEF' modules
|
17 |
+
set_blackbox("ABC", "DEF");
|
18 |
+
|
19 |
+
#3. Set Blackbox on memory_control and its sub-hierarchical modules. Set Blackbox on one DW as well
|
20 |
+
set_blackbox("memory_control", "-hier");
|
21 |
+
set_blackbox("DW_adder_123");
|
22 |
+
</pre>
|
src_en/api.set_bound_opti.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_bound_opti'>set_bound_opti</h3>
|
2 |
+
<pre>Set boundary optimization checking
|
3 |
+
<b>Usage:</b> set_bound_opti($val);
|
4 |
+
$val: 0, disable boundary optimization checking
|
5 |
+
1, enable boundary optimization checking (default)
|
6 |
+
</pre>
|
src_en/api.set_buffer.txt
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_buffer'>set_buffer</h3>
|
2 |
+
<pre>Set buffer type. The tool automatically picks one if the command is not called (LLM: buffer name)
|
3 |
+
<b>Usage:</b> set_buffer($buffer);
|
4 |
+
$buffer: Lib cell name for buffer
|
5 |
+
|
6 |
+
<b>Examples:</b>
|
7 |
+
|
8 |
+
set_buffer("BUFX2");
|
9 |
+
</pre>
|
src_en/api.set_buffer_distance.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_buffer_distance'>set_buffer_distance</h3>
|
2 |
+
<pre>Set distance limit for inserting buffer
|
3 |
+
<b>Usage:</b> set_buffer_distance($distance_val);
|
4 |
+
$distance_val: distance to insert buffer, in um
|
5 |
+
</pre>
|
src_en/api.set_clock_uncertainty.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_clock_uncertainty'>set_clock_uncertainty</h3>
|
2 |
+
<pre>Timing command. Set clock uncertainty
|
3 |
+
<b>Usage:</b> set_clock_uncertainty($value);
|
4 |
+
$value: Uncertainty value
|
5 |
+
</pre>
|
src_en/api.set_cluster_command.txt
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_cluster_command'>set_cluster_command</h3>
|
2 |
+
<pre>Set cluster command in parallel fault verification
|
3 |
+
<b>Usage:</b> set_cluster_command($cluster_command);
|
4 |
+
$cluster_command: Command to submit jobs to cluster computers
|
5 |
+
|
6 |
+
<b>Examples:</b>
|
7 |
+
|
8 |
+
#1. Set cluster command
|
9 |
+
set_cluster_command("bsub_lsf -queue");
|
10 |
+
|
11 |
+
</pre>
|
src_en/api.set_cluster_timeout.txt
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_cluster_timeout'>set_cluster_timeout</h3>
|
2 |
+
<pre>Set time out for cluster command
|
3 |
+
<b>Usage:</b> set_cluster_timeout($time_in_seconds);
|
4 |
+
$time_in_seconds: An integer number in seconds
|
5 |
+
|
6 |
+
<b>Note:</b> cluster time out number should be large than solver time out
|
7 |
+
|
8 |
+
<b>Examples:</b>
|
9 |
+
|
10 |
+
#1. Set solver time out to ~12 hours
|
11 |
+
set_cluster_timeout(43200);
|
12 |
+
|
13 |
+
</pre>
|
src_en/api.set_constraints.txt
ADDED
@@ -0,0 +1,37 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_constraints'>set_constraints</h3>
|
2 |
+
<pre>Set constraints for map_spare_cells command
|
3 |
+
<b>Usage:</b> set_constraints(@options);
|
4 |
+
@options:;
|
5 |
+
-type type_constraint : Set spare cell type constraint, type_constraint is a string
|
6 |
+
listing spare cells separated by ',', get_spare_cells should not be used if -type is present
|
7 |
+
-num num_constraint : Set spare cell number constraint, num_constraint is a string
|
8 |
+
in the format of 'mux<16,nand<18'
|
9 |
+
-type_limit limit_string : Set cell type limit to be less than a number, for example A9TR type less than 10, 'A9TR<10'
|
10 |
+
All constraints is separated by ',' in the format of 'X8B<9,X0P5A<1'
|
11 |
+
<b>Note:</b> The number constraint only controls the number of spare types to be used. The spare gates list should have
|
12 |
+
'nand/and', 'nor/or' and 'inv' types of leaf cells for synthesis mapping, and have spare flops for direct mapping, 'mux' is optional.
|
13 |
+
If used with get_spare_cells command, this command should be used after get_spare_cells, check example #3
|
14 |
+
|
15 |
+
<b>Examples:</b>
|
16 |
+
|
17 |
+
#1. Use less than 16 'mux' and less than 18 'nand' spare gates in map_spare_cells
|
18 |
+
get_spare_cells("u_Spare*/*spr_gate*");
|
19 |
+
set_constraints('-num', 'mux<16,nand<18');
|
20 |
+
map_spare_cells;
|
21 |
+
|
22 |
+
|
23 |
+
#2. Use NAD2X1 NOR2X1 INVX1 and MUX2X1 as spare type gates
|
24 |
+
set_constraints('-type', 'NAND2X1,NOR2X1,INVX1,MUX2X1');
|
25 |
+
map_spare_cells;
|
26 |
+
|
27 |
+
#3. Set constraint after spare list created
|
28 |
+
get_spare_cells("u_Spare*/*spr_gate*");
|
29 |
+
set_constraints('-num', 'and<1'); # So that no AND spare gate will be used
|
30 |
+
map_spare_cells;
|
31 |
+
|
32 |
+
#4. Set type limit after spare list created
|
33 |
+
get_spare_cells("u_Spare*/*spr_gate*");
|
34 |
+
set_constraints('-type_limit', 'ULVT<5,ELVT<6');
|
35 |
+
map_spare_cells;
|
36 |
+
|
37 |
+
</pre>
|
src_en/api.set_cutpoint_thresh.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_cutpoint_thresh'>set_cutpoint_thresh</h3>
|
2 |
+
<pre>Set Cutpoint Threshold
|
3 |
+
<b>Usage:</b> set_cutpoint_thresh($val);
|
4 |
+
$val: Threshold value, default 100
|
5 |
+
</pre>
|
src_en/api.set_cutpoint_ultra.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_cutpoint_ultra'>set_cutpoint_ultra</h3>
|
2 |
+
<pre>Set the level in doing CutPoint Ultra (LLM: cutpoint ultra)
|
3 |
+
<b>Usage:</b> set_cutpoint_ultra($val);
|
4 |
+
$val: 0, Disable cutpoint ultra
|
5 |
+
1, Enable cutpoint ultra (default)
|
6 |
+
</pre>
|
src_en/api.set_define.txt
ADDED
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_define'>set_define</h3>
|
2 |
+
<pre>Set define (LLM: define variable)
|
3 |
+
<b>Usage:</b> set_define($define, $value, @options);
|
4 |
+
@options:
|
5 |
+
-imp: The define is for Implementation only
|
6 |
+
-ref: The define is for Reference only
|
7 |
+
$define: The define item
|
8 |
+
$value: The value, optional
|
9 |
+
|
10 |
+
<b>Examples:</b>
|
11 |
+
|
12 |
+
#1. Set define SYNTHESIS for both netlists
|
13 |
+
set_define("SYNTHESIS");
|
14 |
+
|
15 |
+
#2. Set define NO_DFT_LOGIC for Reference only
|
16 |
+
set_define("NO_DFT_LOGIC", "-ref");
|
17 |
+
|
18 |
+
#3. Set define SIMULATION to 0
|
19 |
+
set_define("SIMULATION", 0);
|
20 |
+
|
21 |
+
</pre>
|
src_en/api.set_detect_points.txt
ADDED
@@ -0,0 +1,19 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_detect_points'>set_detect_points</h3>
|
2 |
+
<pre>set detect points
|
3 |
+
<b>Usage:</b> set_detect_points(@points, @options);
|
4 |
+
@points: Detect points
|
5 |
+
@options:
|
6 |
+
-help: Print this info
|
7 |
+
|
8 |
+
<b>Note:</b> The command can be run multiple times
|
9 |
+
|
10 |
+
<b>Examples:</b>
|
11 |
+
|
12 |
+
#1. Set data_error_ml as detect points
|
13 |
+
set_detect_points("data_error_ml");
|
14 |
+
|
15 |
+
#2. Set data_error_ml and u_cpu/err_det_reg as detect points
|
16 |
+
set_detect_points("data_error_ml");
|
17 |
+
set_detect_points("u_cpu/err_det_reg");
|
18 |
+
|
19 |
+
</pre>
|
src_en/api.set_disable_cross_hierarchy_merge.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_disable_cross_hierarchy_merge'>set_disable_cross_hierarchy_merge</h3>
|
2 |
+
<pre>Set this variable to disable cross hierarchy register merging
|
3 |
+
<b>Usage:</b> set_disable_cross_hierarchy_merge($value);
|
4 |
+
$value: 0, disable
|
5 |
+
1, enable. Default
|
6 |
+
</pre>
|
src_en/api.set_disable_lib_cache.txt
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_disable_lib_cache'>set_disable_lib_cache</h3>
|
2 |
+
<pre>Disable liberty file cache
|
3 |
+
<b>Usage:</b> set_disable_lib_cache($value);
|
4 |
+
$value: 0, enable liberty file cache (default)
|
5 |
+
1, disable liberty file cache
|
6 |
+
|
7 |
+
</pre>
|
src_en/api.set_dont_fix_modules.txt
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_dont_fix_modules'>set_dont_fix_modules</h3>
|
2 |
+
<pre>Set dont fix property on modules
|
3 |
+
<b>Usage:</b> set_dont_fix_modules(@modules);
|
4 |
+
@module: Module names not to be fixed
|
5 |
+
|
6 |
+
Example:
|
7 |
+
|
8 |
+
#1. Set dont fix on pcie_ctrl and pcie_top module
|
9 |
+
set_dont_fix_modules("pcie_ctrl", "pcie_top");
|
10 |
+
</pre>
|
src_en/api.set_dont_use.txt
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_dont_use'>set_dont_use</h3>
|
2 |
+
<pre>Set dont use property on library cells
|
3 |
+
<b>Usage:</b> set_dont_use(@cell_list);
|
4 |
+
@cell_list: List of the dont use cells which is not used in automatic ECO. Wild card '*' is supported
|
5 |
+
|
6 |
+
<b>Note:</b> If the command is used multiple times, the latest command overrides the previous ones
|
7 |
+
|
8 |
+
<b>Examples:</b>
|
9 |
+
|
10 |
+
#1. Don't use these two cells
|
11 |
+
set_dont_use("INVX30","AND2X24");
|
12 |
+
|
13 |
+
#2. Don't use power cell matching PWR_
|
14 |
+
set_dont_use("PWR_*");
|
15 |
+
|
16 |
+
#2. If run two times, the second one has effect, set dont use on "CINV_*"
|
17 |
+
set_dont_use("SINV_*");
|
18 |
+
set_dont_use("CINV_*");
|
19 |
+
|
20 |
+
</pre>
|
src_en/api.set_eco_effort.txt
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_eco_effort'>set_eco_effort</h3>
|
2 |
+
<pre>ECO setting. Set ECO effort
|
3 |
+
<b>Usage:</b> set_eco_effort($effort);
|
4 |
+
$effort: One of the three choices, high, medium and low. By default, high effort is used
|
5 |
+
|
6 |
+
<b>Examples:</b>
|
7 |
+
|
8 |
+
#1. Change ECO effort to medium
|
9 |
+
set_eco_effort("medium");
|
10 |
+
</pre>
|
src_en/api.set_eco_point_json.txt
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_eco_point_json'>set_eco_point_json</h3>
|
2 |
+
<pre>Set a JSON file name for saving the ECO point data.
|
3 |
+
The JSON file can be applied to another netlist ECO, so that the full LEC has no need to be rerun
|
4 |
+
<b>Usage:</b> set_eco_point_json($json_name);
|
5 |
+
$json_name: The JSON file name
|
6 |
+
|
7 |
+
<b>Note:</b> This command should be run before fix_design
|
8 |
+
</pre>
|
src_en/api.set_equal.txt
ADDED
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_equal'>set_equal</h3>
|
2 |
+
<pre>ECO setting. Set two points to be equivalent in the Reference and Implementation Netlists
|
3 |
+
The points can be input port, flop instance or output pin of black-box.
|
4 |
+
The point names should have 'i:' or 'r:' as prefix to indicate they are for the Reference or Implementation, or
|
5 |
+
the first point is assumed as Reference and the second Implementation.
|
6 |
+
Both of the points can be from Reference or Implementation
|
7 |
+
<b>Usage:</b> set_equal($ref_point, $imp_point);
|
8 |
+
$ref_point: The point in the Reference Netlist. It should be the first argument if it doesn't have 'i:' or 'r:' as prefix
|
9 |
+
$imp_point: The point in the Implementation Netlist. It should be the second argument if it doesn't have 'i:' or 'r:' as prefix
|
10 |
+
|
11 |
+
<b>Examples:</b>
|
12 |
+
|
13 |
+
#1. Input port 'in_a' in Reference Netlist is equivalent to input port 'in_b' in Implementation Netlist in top module
|
14 |
+
set_top('top_module');
|
15 |
+
set_equal('r:in_a', 'i:in_b');
|
16 |
+
|
17 |
+
#2. Flop instance 'subinst/flopa_reg' is equivalent to input port 'IN0' in the Implementation Netlist
|
18 |
+
set_top('top_module');
|
19 |
+
set_equal('i:subinst/flopa_reg', 'i:IN0');
|
20 |
+
fix_design();
|
21 |
+
|
22 |
+
</pre>
|
src_en/api.set_error_out.txt
ADDED
@@ -0,0 +1,13 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_error_out'>set_error_out</h3>
|
2 |
+
<pre>Set error out setting
|
3 |
+
<b>Usage:</b> set_error_out($value);
|
4 |
+
$value: 1, Abort the program when APIs have run error, default setting
|
5 |
+
0, Ignore the error and continue the program
|
6 |
+
|
7 |
+
<b>Examples:</b>
|
8 |
+
|
9 |
+
# Program continues when there is error in change_pin
|
10 |
+
set_error_out(0);
|
11 |
+
change_pin("nonexisting_instance/A", "1'b0"); # It will continue, even though nonexisting_instance is not in the database
|
12 |
+
|
13 |
+
</pre>
|
src_en/api.set_exit_on_error.txt
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_exit_on_error'>set_exit_on_error</h3>
|
2 |
+
<pre>Whether the tool should exit when the script runs into an error
|
3 |
+
<b>Usage:</b> set_exit_on_error($error, $bit);
|
4 |
+
$error: Error pattern, wild card support. 'E-001', 'E-*'
|
5 |
+
$bit: 1, Exit on the error, default
|
6 |
+
0, Don't exit on the error
|
7 |
+
</pre>
|
src_en/api.set_exit_on_warning.txt
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_exit_on_warning'>set_exit_on_warning</h3>
|
2 |
+
<pre>Whether the tool should exit when the script runs into a warning
|
3 |
+
<b>Usage:</b> set_exit_on_warning($warning, $bit);
|
4 |
+
$warning: Warning pattern, wild card support. 'W-001', 'W-*'
|
5 |
+
$bit: 1, Exit on the warning
|
6 |
+
0, Don't exit on the warning, default
|
7 |
+
</pre>
|
src_en/api.set_false_path.txt
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_false_path'>set_false_path</h3>
|
2 |
+
<pre>Timing command. Set false path
|
3 |
+
<b>Usage:</b> set_false_path(@options);
|
4 |
+
@options:
|
5 |
+
-help: Print this information
|
6 |
+
-from: $startpoint, set false path on the starting point
|
7 |
+
-to: $endpoint, set false path on the ending point
|
8 |
+
-through: $through_point, set false path on the through point
|
9 |
+
|
10 |
+
<b>Examples:</b>
|
11 |
+
|
12 |
+
#1. Set false path on u_control/u_subsm/state_reg_* as from points
|
13 |
+
set_false_path("-from", "u_control/u_subsm/state_reg_*");
|
14 |
+
</pre>
|
src_en/api.set_floating_as_zero.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_floating_as_zero'>set_floating_as_zero</h3>
|
2 |
+
<pre>Set floating net as constant zero (LLM: floating zero)
|
3 |
+
<b>Usage:</b> set_floating_as_zero($value);
|
4 |
+
$value: 0, disable floating net as constant zero
|
5 |
+
1, enable floating net as constant zero (default)
|
6 |
+
</pre>
|
src_en/api.set_flop_default_eco.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_flop_default_eco'>set_flop_default_eco</h3>
|
2 |
+
<pre>Set flop default eco by inverting input pin and output pin
|
3 |
+
<b>Usage:</b> set_flop_default_eco($value);
|
4 |
+
$value: 1 to enable flop default eco by inverting input pin and output pin
|
5 |
+
</pre>
|
src_en/api.set_flop_merge_enable.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_flop_merge_enable'>set_flop_merge_enable</h3>
|
2 |
+
<pre>Inside module flop merge enable
|
3 |
+
<b>Usage:</b> set_flop_merge_enable($setting,@options);
|
4 |
+
$setting: 0, disable inside module flop merge
|
5 |
+
1, enable inside module flop merge (default)
|
6 |
+
</pre>
|
src_en/api.set_high_effort.txt
ADDED
@@ -0,0 +1,31 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_high_effort'>set_high_effort</h3>
|
2 |
+
<pre>Set high ECO effort on modules (LLM: effort high)
|
3 |
+
<b>Usage:</b> set_high_effort(@options);
|
4 |
+
@options:
|
5 |
+
-help: Print this information
|
6 |
+
-include module_list: Only set high ECO effort on the modules listed,
|
7 |
+
module_list has format of module names separated by ',', wild card is acceptable
|
8 |
+
For example, 'mem_control,dma_*'
|
9 |
+
-exclude module_list: Exclude high ECO effort on the modules listed
|
10 |
+
module_list has format of module names separated by ',', wild card is acceptable
|
11 |
+
For example, 'mem_control,dma_*'
|
12 |
+
-timeout time_in_seconds: Set time out for each run, default to time out in 900 seconds
|
13 |
+
time_in_seconds is an integer indicating time out in seconds
|
14 |
+
|
15 |
+
<b>Examples:</b>
|
16 |
+
|
17 |
+
#1. Set ECO high effort on all modules under ECO
|
18 |
+
set_high_effort();
|
19 |
+
|
20 |
+
#2. Set ECO high effort on module 'mem_control_1'
|
21 |
+
set_high_effort('-include', 'mem_control_1');
|
22 |
+
|
23 |
+
#3. Set ECO high effort on modules matching 'mem_control_*' and modules matching 'dma_*'
|
24 |
+
set_high_effort('-include', 'mem_control_*,dma_*');
|
25 |
+
|
26 |
+
#4. Enable ECO high effort, but excluding module 'mem_control_1 '
|
27 |
+
set_high_effort('-exclude', 'mem_control_1');
|
28 |
+
|
29 |
+
#5. Enable ECO high effort with time out in 600 seconds
|
30 |
+
set_high_effort('-timeout', 600);
|
31 |
+
</pre>
|
src_en/api.set_ignore_instance.txt
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_ignore_instance'>set_ignore_instance</h3>
|
2 |
+
<pre>ECO setting. Set ignored sequential or blackbox instances in ECO
|
3 |
+
<b>Usage:</b> set_ignore_instnace(@ignored_instances)
|
4 |
+
@ignored_instances: Instances to be ignored in ECO, accept wild card '*'
|
5 |
+
|
6 |
+
<b>Examples:</b>
|
7 |
+
|
8 |
+
#1. Ignore instances matching RAND_CNT_reg* in ECO
|
9 |
+
set_top('VIDEO_TOP');
|
10 |
+
set_ignore_instance('RAND_CNT_reg*');
|
11 |
+
set_top('DESIGN_TOP');
|
12 |
+
fix_design();
|
13 |
+
|
14 |
+
#2. Ignore instances matching current_state_reg* in instance u_video
|
15 |
+
set_top('DESIGN_TOP');
|
16 |
+
set_ignore_instance('u_video/current_state_reg*');
|
17 |
+
fix_design();
|
18 |
+
</pre>
|
src_en/api.set_ignore_network.txt
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_ignore_network'>set_ignore_network</h3>
|
2 |
+
<pre>ECO setting. Set ignore network in ECO
|
3 |
+
<b>Usage:</b> set_ignore_network(@ignored_nets, @options)
|
4 |
+
@ignored_nets: Net and its network to be ignored in ECO, accept wild card '*'
|
5 |
+
@options:
|
6 |
+
-help: Print this information
|
7 |
+
-pin: @ignored_nets are in pin format, for example, 'DONT_mux_clk/PIN_Y'
|
8 |
+
|
9 |
+
<b>Examples:</b>
|
10 |
+
|
11 |
+
#1. Ignore scan_en and scan_in
|
12 |
+
set_ignore_network('scan_en*', 'scan_in*');
|
13 |
+
|
14 |
+
#2. Ignore PAD PAD_SCAN_EN's output pin 'core' and its network
|
15 |
+
set_ignore_network('PAD_SCAN_EN/core', '-pin');
|
16 |
+
</pre>
|
src_en/api.set_ignore_output.txt
ADDED
@@ -0,0 +1,23 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_ignore_output'>set_ignore_output</h3>
|
2 |
+
<pre>ECO setting. Set ignore output ports
|
3 |
+
<b>Usage:</b> set_ignore_output(@ignored_ports, @options)
|
4 |
+
@ignored_ports: Output ports to be ignored, accept wild card '*'
|
5 |
+
@options:
|
6 |
+
-help: Print this information
|
7 |
+
-both: Apply to both Reference and Implementation Netlist. Enabled by default
|
8 |
+
-ref: Apply to Reference Netlist
|
9 |
+
-imp: Apply to Implementation Netlist
|
10 |
+
|
11 |
+
<b>Examples:</b>
|
12 |
+
|
13 |
+
#1. Ignore output ports matching *scan_out* in ECO
|
14 |
+
set_top('design_top');
|
15 |
+
set_ignore_output('*scan_out*');
|
16 |
+
set_pin_constant('scan_en', 0);
|
17 |
+
fix_design();
|
18 |
+
|
19 |
+
#2. Ignore output ports matching *TSTCON* in Implementation Netlist
|
20 |
+
set_top('CHIP_TOP');
|
21 |
+
set_ignore_output('*TSTCON*', '-imp');
|
22 |
+
|
23 |
+
</pre>
|
src_en/api.set_ignore_pin.txt
ADDED
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_ignore_pin'>set_ignore_pin</h3>
|
2 |
+
<pre>set ignore on the pin of black box like memory in logic equivalence checking (LLM: ignore black box pin)
|
3 |
+
<b>Usage:</b> set_ignore_pin("$cell_name/$pin_name");
|
4 |
+
$cell_name: The black box cell name (Not instance name)
|
5 |
+
$pin_name: The cell pin name, wildcard is supported, for example "TM*" to match TM[0] TM[1] ...
|
6 |
+
|
7 |
+
<b>Examples:</b>
|
8 |
+
set_ignore_pin("TSMC_MEM_256X29/TCEN");
|
9 |
+
set_ignore_pin("TSMC_MEM_256X29/TA*");
|
10 |
+
</pre>
|
src_en/api.set_inc_dirs.txt
ADDED
@@ -0,0 +1,20 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_inc_dirs'>set_inc_dirs</h3>
|
2 |
+
<pre>Set include directories
|
3 |
+
<b>Usage:</b> set_inc_dirs(@include_directory_list, @options);
|
4 |
+
@options:
|
5 |
+
-imp: The include directories are for Implementation only
|
6 |
+
-ref: The include directories are for Reference only
|
7 |
+
@include_directory_list: List of all include directories
|
8 |
+
|
9 |
+
<b>Examples:</b>
|
10 |
+
|
11 |
+
#1. Set include directories for Reference only
|
12 |
+
set_inc_dirs("/project/nd900/vlib/include", "/project/nd900/IPS/include", "-ref");
|
13 |
+
|
14 |
+
#2. Set include directories for Implementation only
|
15 |
+
set_inc_dirs("/project/nd900/vlib/include", "/project/nd900/IPS/include", "-imp");
|
16 |
+
|
17 |
+
#3. Set include directories for both
|
18 |
+
set_inc_dirs("/project/nd900/vlib/include", "/project/nd900/IPS/include");
|
19 |
+
|
20 |
+
</pre>
|
src_en/api.set_initial_trans.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_initial_trans'>set_initial_trans</h3>
|
2 |
+
<pre>Timing command. Set initial transition for clock
|
3 |
+
<b>Usage:</b> set_initial_trans($value);
|
4 |
+
$value: Transition value
|
5 |
+
|
6 |
+
</pre>
|
src_en/api.set_input_delay.txt
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_input_delay'>set_input_delay</h3>
|
2 |
+
<pre>Timing command. Set input delay
|
3 |
+
<b>Usage:</b> set_input_delay($port_name, $delay_value, @options);
|
4 |
+
@options:
|
5 |
+
-clock clock_name: Specifies the clock that relates to the delay
|
6 |
+
$port_name: Input port name, accept wild card '*'
|
7 |
+
$delay_value: Delay value in ns
|
8 |
+
|
9 |
+
<b>Examples:</b>
|
10 |
+
|
11 |
+
#1. Set input port to all APB bus input
|
12 |
+
set_input_delay("port_apb_*"", 0.1);
|
13 |
+
|
14 |
+
</pre>
|
src_en/api.set_input_transition.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_input_transition'>set_input_transition</h3>
|
2 |
+
<pre>Timing command. Set input transition to all input ports
|
3 |
+
<b>Usage:</b> set_input_transition($value);
|
4 |
+
$value: Transition value
|
5 |
+
</pre>
|
src_en/api.set_inside_mod.txt
ADDED
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_inside_mod'>set_inside_mod</h3>
|
2 |
+
<pre>Set fix scope inside the current module
|
3 |
+
If set to 1, the tool only use resource inside the current module to fix the non-eq points.
|
4 |
+
By default, it is disabled.
|
5 |
+
<b>Usage:</b> set_inside_mod($val);
|
6 |
+
$val: 0, disable 1, enable
|
7 |
+
</pre>
|
src_en/api.set_inst.txt
ADDED
@@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_inst'>set_inst</h3>
|
2 |
+
<pre>Set the current instance, alias of 'current_instance'
|
3 |
+
<b>Usage:</b> set_inst($instance);
|
4 |
+
$instance: Set $instance as the current instance.
|
5 |
+
If the argument is missing, return the current setting
|
6 |
+
".." set to parent, "~" set to the most top level module
|
7 |
+
<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'
|
8 |
+
</pre>
|
src_en/api.set_inv.txt
ADDED
@@ -0,0 +1,16 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_inv'>set_inv</h3>
|
2 |
+
<pre>ECO setting. Set two points to be inverted in the Reference and Implementation Netlists
|
3 |
+
The points can be input port, flop instance or black-box's output pin.
|
4 |
+
The point names should have 'i:' or 'r:' as prefix to indicate they are for Reference or Implementation, or
|
5 |
+
the first point is assumed as Reference and the second Implementation.
|
6 |
+
Both of the points can be from Reference or Implementation by using 'i:' or 'r:' on both point names.
|
7 |
+
<b>Usage:</b> set_inv($ref_point, $imp_point);
|
8 |
+
$ref_point: The point in the Reference Netlist. It should be the first argument if it doesn't have 'i:' or 'r:' as prefix
|
9 |
+
$imp_point: The point in the Implementation Netlist. It should be the second argument if it doesn't have 'i:' or 'r:' as prefix
|
10 |
+
|
11 |
+
<b>Examples:</b>
|
12 |
+
|
13 |
+
#1. Input port 'in_a' in the Reference Netlist is inverted to input port 'in_a_BAR' in the Implementation Netlist in top module
|
14 |
+
set_top('top_module');
|
15 |
+
set_inv('r:in_a', 'i:in_a_BAR');
|
16 |
+
</pre>
|
src_en/api.set_invert.txt
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_invert'>set_invert</h3>
|
2 |
+
<pre>Set invert type. The tool automatically picks one if the command is not called (LLM: invert name)
|
3 |
+
<b>Usage:</b> set_invert($invert);
|
4 |
+
$invert: Lib cell name for invert
|
5 |
+
|
6 |
+
<b>Examples:</b>
|
7 |
+
|
8 |
+
set_invert("INVX2");
|
9 |
+
</pre>
|
src_en/api.set_keep_format.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_keep_format'>set_keep_format</h3>
|
2 |
+
<pre>Keep the format of the original verilog when ECO is done (Keep original netlist format)
|
3 |
+
<b>Usage:</b> set_keep_format($value);
|
4 |
+
$value: 0, disable format keeping (default)
|
5 |
+
1, enable format keeping.
|
6 |
+
</pre>
|
src_en/api.set_keep_tree.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_keep_tree'>set_keep_tree</h3>
|
2 |
+
<pre>Set keeping buffer tree, so that buffer tree won't be removed in ECO
|
3 |
+
By default , it is disabled.
|
4 |
+
<b>Usage:</b> set_keep_tree($val);
|
5 |
+
$val: 0, disable 1, enable
|
6 |
+
</pre>
|
src_en/api.set_keypoints_rep_in_ref.txt
ADDED
@@ -0,0 +1,18 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_keypoints_rep_in_ref'>set_keypoints_rep_in_ref</h3>
|
2 |
+
<pre>ECO setting. Replace keypoints naming in Reference Netlist.
|
3 |
+
Keypoints naming matching the first argument, and replace the matched string by the second argument
|
4 |
+
<b>Usage:</b> set_keypoints_rep_in_ref($match_string, $rep_string);
|
5 |
+
$match_string: Keypoints naming matching this string
|
6 |
+
$rep_string: To replace the matched string by this string
|
7 |
+
|
8 |
+
<b>Note:</b> The command only apply to Reference Netlist
|
9 |
+
|
10 |
+
<b>Examples:</b>
|
11 |
+
|
12 |
+
#1. Replace the last '_' in Keypoints naming in Reference Netlist
|
13 |
+
set_keypoints_rep_in_ref('_$', '');
|
14 |
+
|
15 |
+
#2. Replace the last '0' in Keypoints naming in Reference Netlist
|
16 |
+
set_keypoints_rep_in_ref('0$', '');
|
17 |
+
|
18 |
+
</pre>
|
src_en/api.set_leaf.txt
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_leaf'>set_leaf</h3>
|
2 |
+
<pre>Set a hierarchical module to be leaf. Useful to stub hierarchical instances
|
3 |
+
<b>Usage:</b> set_leaf($module_name, $value);
|
4 |
+
$module_name: The module to be set leaf or not set to leaf
|
5 |
+
$value: 1 or larger than 1, set the module as leaf. 0 not set to leaf.
|
6 |
+
If $value is not present, the default value is 1.
|
7 |
+
|
8 |
+
<b>Examples:</b>
|
9 |
+
|
10 |
+
set_leaf($module_a); # set $module_a as a leaf
|
11 |
+
set_leaf($module_a, 1); # same as the above
|
12 |
+
set_leaf($module_a, 0); # remove the leaf setting
|
13 |
+
|
14 |
+
</pre>
|
src_en/api.set_log_file.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_log_file'>set_log_file</h3>
|
2 |
+
<pre>Set log file name
|
3 |
+
<b>Usage:</b> set_log_file($filename);
|
4 |
+
$filename: Log file name
|
5 |
+
</pre>
|
src_en/api.set_low_effort.txt
ADDED
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_low_effort'>set_low_effort</h3>
|
2 |
+
<pre>Set low ECO effort to speed up ECO process (LLM: speed up)
|
3 |
+
<b>Usage:</b> set_low_effort(@options);
|
4 |
+
@options:
|
5 |
+
-help: Print this information
|
6 |
+
|
7 |
+
<b>Examples:</b>
|
8 |
+
|
9 |
+
#1. Set ECO low effort on all modules under ECO
|
10 |
+
set_low_effort();
|
11 |
+
</pre>
|
src_en/api.set_mapped_point.txt
ADDED
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_mapped_point'>set_mapped_point</h3>
|
2 |
+
<pre>ECO setting. Set two points mapped in Reference and Implementation Netlists
|
3 |
+
<b>Usage:</b> set_mapped_point($ref_point, $imp_point, @options);
|
4 |
+
$ref_point: Register instance or output port in Reference Netlist
|
5 |
+
$imp_point: Register instance or output port in Implementation Netlist
|
6 |
+
@options:
|
7 |
+
-invert: The two points are expected to be inverted
|
8 |
+
|
9 |
+
<b>Examples:</b>
|
10 |
+
|
11 |
+
#1. Two outputs are mapped key points
|
12 |
+
set_mapped_point("ref_sync", "imp_sync");
|
13 |
+
|
14 |
+
</pre>
|
src_en/api.set_mapping_method.txt
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_mapping_method'>set_mapping_method</h3>
|
2 |
+
<pre>LEC setting. Detecting flop phase inversion.
|
3 |
+
<b>Usage:</b> set_mapping_method("-phase");
|
4 |
+
</pre>
|
src_en/api.set_max_lines.txt
ADDED
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_max_lines'>set_max_lines</h3>
|
2 |
+
<pre>Set max output lines
|
3 |
+
<b>Usage:</b> set_max_lines($num);
|
4 |
+
$num: New max lines number. Default to be 500
|
5 |
+
</pre>
|
src_en/api.set_max_loop.txt
ADDED
@@ -0,0 +1,6 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_max_loop'>set_max_loop</h3>
|
2 |
+
<pre>Setup max loop, the tool stops logic optimization when max loop number is reached
|
3 |
+
<b>Usage:</b> set_max_loop($value);
|
4 |
+
|
5 |
+
$value: Setup BDD threshold, default 40000
|
6 |
+
</pre>
|
src_en/api.set_mod2mod.txt
ADDED
@@ -0,0 +1,9 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<h3 id='___set_mod2mod'>set_mod2mod</h3>
|
2 |
+
<pre>Set reference module mapping to implementation module
|
3 |
+
<b>Usage:</b> set_mod2mod($refmod, $impmod);
|
4 |
+
$refmod: The reference module name
|
5 |
+
$impmod: The implementation module name
|
6 |
+
<b>Note:</b>
|
7 |
+
The command is used when reference netlist is partial
|
8 |
+
|
9 |
+
</pre>
|