Skip to content

Commit 8c7b33e

Browse files
committed
added max_fanout=10 to asap7/cva6 and added SKIP_CRIT_VT_SWAP option
Signed-off-by: Cho Moon <[email protected]>
1 parent d61daa8 commit 8c7b33e

File tree

5 files changed

+16
-1
lines changed

5 files changed

+16
-1
lines changed

docs/user/FlowVariables.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,7 @@ configuration file.
225225
| <a name="SKIP_REPAIR_TIE_FANOUT"></a>SKIP_REPAIR_TIE_FANOUT| Skip repair_tie_fanout at floorplan step.| |
226226
| <a name="SKIP_REPORT_METRICS"></a>SKIP_REPORT_METRICS| If set to 1, then metrics, report_metrics does nothing. Useful to speed up builds.| |
227227
| <a name="SKIP_VT_SWAP"></a>SKIP_VT_SWAP| Do not perform VT swap to improve QoR (default: do VT swap).| |
228+
| <a name="SKIP_CRIT_VT_SWAP"></a>SKIP_CRIT_VT_SWAP| Do not perform VT swap on critical cells to improve QoR (default: do critical VT swap).| |
228229
| <a name="SLEW_MARGIN"></a>SLEW_MARGIN| Specifies a slew margin when fixing max slew violations. This option allows you to overfix.| |
229230
| <a name="SWAP_ARITH_OPERATORS"></a>SWAP_ARITH_OPERATORS| Improve timing QoR by swapping ALU and MULT arithmetic operators.| |
230231
| <a name="SYNTH_ARGS"></a>SYNTH_ARGS| Optional synthesis variables for yosys.| |
@@ -341,6 +342,7 @@ configuration file.
341342
- [SKIP_REPAIR_TIE_FANOUT](#SKIP_REPAIR_TIE_FANOUT)
342343
- [SKIP_REPORT_METRICS](#SKIP_REPORT_METRICS)
343344
- [SKIP_VT_SWAP](#SKIP_VT_SWAP)
345+
- [SKIP_CRIT_VT_SWAP](#SKIP_CRIT_VT_SWAP)
344346
- [TAPCELL_TCL](#TAPCELL_TCL)
345347
- [TIEHI_CELL_AND_PORT](#TIEHI_CELL_AND_PORT)
346348
- [TIELO_CELL_AND_PORT](#TIELO_CELL_AND_PORT)
@@ -391,6 +393,7 @@ configuration file.
391393
- [SKIP_PIN_SWAP](#SKIP_PIN_SWAP)
392394
- [SKIP_REPORT_METRICS](#SKIP_REPORT_METRICS)
393395
- [SKIP_VT_SWAP](#SKIP_VT_SWAP)
396+
- [SKIP_CRIT_VT_SWAP](#SKIP_CRIT_VT_SWAP)
394397
- [TNS_END_PERCENT](#TNS_END_PERCENT)
395398

396399
## grt variables
@@ -413,6 +416,7 @@ configuration file.
413416
- [SKIP_PIN_SWAP](#SKIP_PIN_SWAP)
414417
- [SKIP_REPORT_METRICS](#SKIP_REPORT_METRICS)
415418
- [SKIP_VT_SWAP](#SKIP_VT_SWAP)
419+
- [SKIP_CRIT_VT_SWAP](#SKIP_CRIT_VT_SWAP)
416420
- [TNS_END_PERCENT](#TNS_END_PERCENT)
417421

418422
## route variables

flow/designs/asap7/cva6/config.mk

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ export PLACE_DENSITY = 0.69
9595

9696
# a smoketest for this option, there are a
9797
# few last gasp iterations
98-
export SKIP_LAST_GASP ?= 1
98+
#export SKIP_LAST_GASP ?= 1
9999

100100
# For use with SYNTH_HIERARCHICAL
101101
export SYNTH_MINIMUM_KEEP_SIZE ?= 40000

flow/designs/asap7/cva6/constraint.sdc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,3 +34,4 @@ create_clock [get_ports $clk_port] -name $clk_name -period $clk_period
3434

3535

3636
set_false_path -to [get_ports {rvfi_probes_o}]
37+
set_max_fanout 10 [current_design]

flow/scripts/util.tcl

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ proc repair_timing_helper { args } {
2626
append_env_var additional_args SKIP_BUFFER_REMOVAL -skip_buffer_removal 0
2727
append_env_var additional_args SKIP_LAST_GASP -skip_last_gasp 0
2828
append_env_var additional_args SKIP_VT_SWAP -skip_vt_swap 0
29+
append_env_var additional_args SKIP_CRIT_VT_SWAP -skip_crit_vt_swap 0
2930
append_env_var additional_args MATCH_CELL_FOOTPRINT -match_cell_footprint 0
3031
log_cmd repair_timing {*}$additional_args
3132
}

flow/scripts/variables.yaml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -577,6 +577,15 @@ SKIP_VT_SWAP:
577577
- cts
578578
- floorplan
579579
- grt
580+
SKIP_CRIT_VT_SWAP:
581+
description: >
582+
Do not perform VT swap on critical cells to improve QoR (default: do critical VT swap).
583+
This is an additional VT swap on critical cells that remain near the end of setup fixing.
584+
If SKIP_VT_SWAP is set to 1, this also disables critical cell VT swap.
585+
stages:
586+
- cts
587+
- floorplan
588+
- grt
580589
REMOVE_CELLS_FOR_EQY:
581590
description: >
582591
String patterns directly passed to write_verilog -remove_cells <> for

0 commit comments

Comments
 (0)