Skip to content

Commit

Permalink
gpl: add PL_ROUTABILITY_OVERFLOW_THRESHOLD
Browse files Browse the repository at this point in the history
  • Loading branch information
donn committed Dec 4, 2024
1 parent 1b23955 commit 1310eb7
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 5 deletions.
25 changes: 20 additions & 5 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,17 +18,32 @@

## Steps

* `OpenROAD.GlobalPlacement`

* Exposed `-routability_check_overflow` argument as new variable
`PL_ROUTABILITY_OVERFLOW_THRESHOLD`.

* `Yosys.*Synthesis`
* Created new variable `SYNTH_HIERARCHY_MODE`, replacing `SYNTH_NO_FLAT`. There are three options, `flatten`, `deferred_flatten` and `keep`. The first two correspond to `SYNTH_NO_FLAT` being false and true respectively. The third keeps the hierarchy in the final netlist.
* Created new variable `SYNTH_TIE_UNDEFINED` to customize whether undefined and undriven values are tied low, high, or left as-is.
* Created new variable `SYNTH_WRITE_NOATTR` to allow attributes to be propagated to the final netlist.

* Created new variable `SYNTH_HIERARCHY_MODE`, replacing `SYNTH_NO_FLAT`.
There are three options, `flatten`, `deferred_flatten` and `keep`. The first
two correspond to `SYNTH_NO_FLAT` being false and true respectively. The
third keeps the hierarchy in the final netlist.
* Created new variable `SYNTH_TIE_UNDEFINED` to customize whether undefined
and undriven values are tied low, high, or left as-is.
* Created new variable `SYNTH_WRITE_NOATTR` to allow attributes to be
propagated to the final netlist.

* Created `Yosys.Resynthesis`
* Like `Yosys.Synthesis`, but uses the current input state netlist as an input instead of RTL files

* Like `Yosys.Synthesis`, but uses the current input state netlist as an input
instead of RTL files

## CLI

* Added new option: `-e`/`--initial-state-element-override`: allows an element in the initial state to be overridden straight from the commandline.
* Added new option: `-e`/`--initial-state-element-override`: allows an element
in the initial state to be overridden straight from the commandline.

# 2.2.9

## Steps
Expand Down
4 changes: 4 additions & 0 deletions openlane/scripts/openroad/gpl.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,9 @@ if { [info exists ::env(PL_ROUTABILITY_DRIVEN)] && $::env(PL_ROUTABILITY_DRIVEN)
set_macro_extension $::env(GRT_MACRO_EXTENSION)
source $::env(SCRIPTS_DIR)/openroad/common/set_layer_adjustments.tcl
lappend arg_list -routability_driven
if { [info exists ::env(PL_ROUTABILITY_OVERFLOW_THRESHOLD)] } {
lappend arg_list -routability_check_overflow $::env(PL_ROUTABILITY_OVERFLOW_THRESHOLD)
}
}

if { $::env(PL_SKIP_INITIAL_PLACEMENT) } {
Expand All @@ -72,6 +75,7 @@ lappend arg_list -pad_right $cell_pad_side
lappend arg_list -pad_left $cell_pad_side
lappend arg_list -init_wirelength_coef $::env(PL_WIRE_LENGTH_COEF)

puts "+ global_placement $arg_list"
global_placement {*}$arg_list


Expand Down
5 changes: 5 additions & 0 deletions openlane/steps/openroad.py
Original file line number Diff line number Diff line change
Expand Up @@ -1287,6 +1287,11 @@ class GlobalPlacement(_GlobalPlacement):
"Specifies whether the placer should use routability driven placement.",
default=True,
),
Variable(
"PL_ROUTABILITY_OVERFLOW_THRESHOLD",
Optional[Decimal],
"Sets overflow threshold for routability mode.",
),
]


Expand Down

0 comments on commit 1310eb7

Please sign in to comment.