Skip to content

Commit 712324b

Browse files
committed
Changed envar names.
Changed the separator from space to comma. Added documentation. Signed-off-by: Jaehyun Kim <[email protected]>
1 parent cd9276f commit 712324b

File tree

3 files changed

+19
-3
lines changed

3 files changed

+19
-3
lines changed

docs/user/FlowVariables.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ configuration file.
241241
| <a name="SYNTH_NETLIST_FILES"></a>SYNTH_NETLIST_FILES| Skips synthesis and uses the supplied netlist files. If the netlist files contains duplicate modules, which can happen when using hierarchical synthesis on indvidual netlist files and combining here, subsequent modules are silently ignored and only the first module is used.| |
242242
| <a name="SYNTH_OPT_HIER"></a>SYNTH_OPT_HIER| Optimize constants across hierarchical boundaries.| |
243243
| <a name="SYNTH_RETIME_MODULES"></a>SYNTH_RETIME_MODULES| *This is an experimental option and may cause adverse effects.* *No effort has been made to check if the retimed RTL is logically equivalent to the non-retimed RTL.* List of modules to apply automatic retiming to. These modules must not get dissolved and as such they should either be the top module or be included in SYNTH_KEEP_MODULES. The main use case is to quickly identify if performance can be improved by manually retiming the input RTL. Retiming will treat module ports like register endpoints/startpoints. The objective function of retiming isn't informed by SDC, even the clock period is ignored. As such, retiming will optimize for best delay at potentially high register number cost. Automatic retiming can produce suboptimal results as its timing model is crude and it doesn't find the optimal distribution of registers on long pipelines. See OR discussion #8080.| |
244+
| <a name="SYNTH_WRAPPED_ADDERS"></a>SYNTH_WRAPPED_ADDERS| Specify the adder modules that can be used for synthesis, separated by commas. The default adder module is determined by the first element of this variable.| |
245+
| <a name="SYNTH_WRAPPED_MULTIPLIERS"></a>SYNTH_WRAPPED_MULTIPLIERS| Specify the multiplier modules that can be used for synthesis, separated by commas. The default multiplier module is determined by the first element of this variable.| |
244246
| <a name="SYNTH_WRAPPED_OPERATORS"></a>SYNTH_WRAPPED_OPERATORS| Synthesize multiple architectural options for each arithmetic operator in the design. These options are available for switching among in later stages of the flow.| |
245247
| <a name="TAPCELL_TCL"></a>TAPCELL_TCL| Path to Endcap and Welltie cells file.| |
246248
| <a name="TAP_CELL_NAME"></a>TAP_CELL_NAME| Name of the cell to use in tap cell insertion.| |
@@ -450,6 +452,8 @@ configuration file.
450452

451453
- [OPENROAD_HIERARCHICAL](#OPENROAD_HIERARCHICAL)
452454
- [SWAP_ARITH_OPERATORS](#SWAP_ARITH_OPERATORS)
455+
- [SYNTH_WRAPPED_ADDERS](#SYNTH_WRAPPED_ADDERS)
456+
- [SYNTH_WRAPPED_MULTIPLIERS](#SYNTH_WRAPPED_MULTIPLIERS)
453457
- [SYNTH_WRAPPED_OPERATORS](#SYNTH_WRAPPED_OPERATORS)
454458

455459
## generate_abstract variables

flow/scripts/synth_wrap_operators.tcl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ proc reorder_deferred_cells { deferred_cells_var index env_var } {
3434

3535
# Build new choices
3636
set new_choices {}
37-
foreach name [split $::env($env_var)] {
37+
foreach name [split $::env($env_var) ","] {
3838
if { [dict exists $choice_map $name] } {
3939
lappend new_choices [dict get $choice_map $name]
4040
} else {
@@ -47,8 +47,8 @@ proc reorder_deferred_cells { deferred_cells_var index env_var } {
4747
}
4848

4949
# Apply custom orders
50-
reorder_deferred_cells deferred_cells 0 SYNTH_WRAPPED_REORDER_ADDER
51-
reorder_deferred_cells deferred_cells 1 SYNTH_WRAPPED_REORDER_MULTIPLIER
50+
reorder_deferred_cells deferred_cells 0 SYNTH_WRAPPED_ADDERS
51+
reorder_deferred_cells deferred_cells 1 SYNTH_WRAPPED_MULTIPLIERS
5252

5353
techmap {*}[join [lmap cell $deferred_cells { string cat "-dont_map [lindex $cell 0]" }] " "]
5454

flow/scripts/variables.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -298,6 +298,18 @@ SYNTH_WRAPPED_OPERATORS:
298298
the flow.
299299
stages:
300300
- All stages
301+
SYNTH_WRAPPED_ADDERS:
302+
description: >
303+
Specify the adder modules that can be used for synthesis, separated by commas.
304+
The default adder module is determined by the first element of this variable.
305+
stages:
306+
- All stages
307+
SYNTH_WRAPPED_MULTIPLIERS:
308+
description: >
309+
Specify the multiplier modules that can be used for synthesis, separated by commas.
310+
The default multiplier module is determined by the first element of this variable.
311+
stages:
312+
- All stages
301313
SWAP_ARITH_OPERATORS:
302314
description: >
303315
Improve timing QoR by swapping ALU and MULT arithmetic operators.

0 commit comments

Comments
 (0)