Skip to content

Commit c1179b5

Browse files
committed
Merge branch 'master' of https://github.com/The-OpenROAD-Project-private/OpenROAD-flow-scripts into add_variables_repair_antennas_iter
2 parents af9595d + bb23980 commit c1179b5

File tree

5 files changed

+28
-0
lines changed

5 files changed

+28
-0
lines changed

docs/user/FlowVariables.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -233,6 +233,7 @@ configuration file.
233233
| <a name="SYNTH_MEMORY_MAX_BITS"></a>SYNTH_MEMORY_MAX_BITS| Maximum number of bits for memory synthesis.| 4096|
234234
| <a name="SYNTH_MINIMUM_KEEP_SIZE"></a>SYNTH_MINIMUM_KEEP_SIZE| For hierarchical synthesis, we keep modules of larger area than given by this variable and flatten smaller modules. The area unit used is the size of a basic nand2 gate from the platform's standard cell library. The default value is platform specific.| 0|
235235
| <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.| |
236+
| <a name="SYNTH_RETIME_MODULES"></a>SYNTH_RETIME_MODULES| List of modules to apply 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. This is an experimental option and may cause adverse effects.| |
236237
| <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.| |
237238
| <a name="TAPCELL_TCL"></a>TAPCELL_TCL| Path to Endcap and Welltie cells file.| |
238239
| <a name="TAP_CELL_NAME"></a>TAP_CELL_NAME| Name of the cell to use in tap cell insertion.| |
@@ -269,6 +270,7 @@ configuration file.
269270
- [SYNTH_MEMORY_MAX_BITS](#SYNTH_MEMORY_MAX_BITS)
270271
- [SYNTH_MINIMUM_KEEP_SIZE](#SYNTH_MINIMUM_KEEP_SIZE)
271272
- [SYNTH_NETLIST_FILES](#SYNTH_NETLIST_FILES)
273+
- [SYNTH_RETIME_MODULES](#SYNTH_RETIME_MODULES)
272274
- [SYNTH_WRAPPED_OPERATORS](#SYNTH_WRAPPED_OPERATORS)
273275
- [TIEHI_CELL_AND_PORT](#TIEHI_CELL_AND_PORT)
274276
- [TIELO_CELL_AND_PORT](#TIELO_CELL_AND_PORT)

flow/scripts/abc_retime.script

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
st
2+
retime -v -o
3+
map

flow/scripts/report_metrics.tcl

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,11 @@ proc report_metrics { stage when { include_erc true } { include_clock_skew true
3232
report_worst_slack >> $filename
3333
report_worst_slack_metric
3434
report_worst_slack_metric -hold
35+
36+
report_puts "\n=========================================================================="
37+
report_puts "$when report_clock_min_period"
38+
report_puts "--------------------------------------------------------------------------"
39+
report_clock_min_period -include_port_paths >> $filename
3540
report_fmax_metric
3641

3742
if { $include_clock_skew && $::env(REPORT_CLOCK_SKEW) } {

flow/scripts/synth.tcl

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,16 @@ json -o $::env(RESULTS_DIR)/mem.json
5656
exec -- $::env(PYTHON_EXE) $::env(SCRIPTS_DIR)/mem_dump.py \
5757
--max-bits $::env(SYNTH_MEMORY_MAX_BITS) $::env(RESULTS_DIR)/mem.json
5858

59+
if { [env_var_exists_and_non_empty SYNTH_RETIME_MODULES] } {
60+
select $::env(SYNTH_RETIME_MODULES)
61+
opt -fast -full
62+
memory_map
63+
opt -full
64+
techmap
65+
abc -dff -script scripts/abc_retime.script
66+
select -clear
67+
}
68+
5969
if {
6070
[env_var_exists_and_non_empty SYNTH_WRAPPED_OPERATORS] ||
6171
[env_var_exists_and_non_empty SWAP_ARITH_OPERATORS]

flow/scripts/variables.yaml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -200,6 +200,14 @@ SYNTH_CANONICALIZE_TCL:
200200
canonicalize step.
201201
stages:
202202
- synth
203+
SYNTH_RETIME_MODULES:
204+
description: >
205+
List of modules to apply retiming to. These modules must not get
206+
dissolved and as such they should either be the top module or be included
207+
in SYNTH_KEEP_MODULES. This is an experimental option and may cause adverse
208+
effects.
209+
stages:
210+
- synth
203211
LATCH_MAP_FILE:
204212
description: |
205213
List of latches treated as a black box by Yosys.

0 commit comments

Comments
 (0)