Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions docs/user/FlowVariables.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,7 @@ configuration file.
| --- | --- | --- |
| <a name="ABC_AREA"></a>ABC_AREA| Strategies for Yosys ABC synthesis: Area/Speed. Default ABC_SPEED.| 0|
| <a name="ABC_DRIVER_CELL"></a>ABC_DRIVER_CELL| Default driver cell used during ABC synthesis.| |
| <a name="ABC_LIBERTY_ARGS"></a>ABC_LIBERTY_ARGS| Extra arguments for ABC's read_lib, passed with Yosys's abc -liberty_args. Without -S/-G, ABC's mapping library gives every cell a delay of 1, so mapping minimizes gate count, not delay. "-a -G 250" derives a delay for each cell from the liberty tables (all cells, gain 250). Ignored when SYNTH_WRAPPED_OPERATORS or SWAP_ARITH_OPERATORS is set: abc_new has no such option.| |
| <a name="ABC_LOAD_IN_FF"></a>ABC_LOAD_IN_FF| During synthesis set_load value used.| |
| <a name="ABC_SCRIPT"></a>ABC_SCRIPT| Replaces the ABC script synthesis runs, so that a design can vendor and change it. Ignored when SYNTH_WRAPPED_OPERATORS or SWAP_ARITH_OPERATORS is set: abc_new then maps each arithmetic operator with its own script.| |
| <a name="ABSTRACT_SOURCE"></a>ABSTRACT_SOURCE| Which .odb file to use to create abstract| |
Expand Down Expand Up @@ -343,6 +344,7 @@ configuration file.

- [ABC_AREA](#ABC_AREA)
- [ABC_DRIVER_CELL](#ABC_DRIVER_CELL)
- [ABC_LIBERTY_ARGS](#ABC_LIBERTY_ARGS)
- [ABC_LOAD_IN_FF](#ABC_LOAD_IN_FF)
- [ABC_SCRIPT](#ABC_SCRIPT)
- [ADDER_MAP_FILE](#ADDER_MAP_FILE)
Expand Down
3 changes: 3 additions & 0 deletions flow/scripts/synth.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -282,6 +282,9 @@ if {
![env_var_equals SYNTH_WRAPPED_OPERATORS 1] &&
![env_var_equals SWAP_ARITH_OPERATORS 1]
} {
if { [env_var_exists_and_non_empty ABC_LIBERTY_ARGS] } {
lappend abc_args -liberty_args $::env(ABC_LIBERTY_ARGS)
}
log_cmd abc {*}$abc_args
} else {
# Not dead code: abc_new mistakes the "-script" in /OpenROAD-flow-scripts/...
Expand Down
6 changes: 6 additions & 0 deletions flow/scripts/variables.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 10 additions & 0 deletions flow/scripts/variables.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -1070,6 +1070,16 @@ ABC_AREA:
stages:
- synth
default: 0
ABC_LIBERTY_ARGS:
description: |
Extra arguments for ABC's read_lib, passed with Yosys's
abc -liberty_args. Without -S/-G, ABC's mapping library gives every
cell a delay of 1, so mapping minimizes gate count, not delay.
"-a -G 250" derives a delay for each cell from the liberty tables
(all cells, gain 250). Ignored when SYNTH_WRAPPED_OPERATORS or
SWAP_ARITH_OPERATORS is set: abc_new has no such option.
stages:
- synth
ABC_SCRIPT:
description: |
Replaces the ABC script synthesis runs, so that a design can vendor and
Expand Down