Skip to content

Commit

Permalink
Add PL_RESIZER_GATE_CLONING and GRT_RESIZER_GATE_CLONING
Browse files Browse the repository at this point in the history
  • Loading branch information
kareefardi committed Dec 4, 2023
1 parent 08da726 commit 4e31507
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 0 deletions.
3 changes: 3 additions & 0 deletions openlane/scripts/openroad/rsz_timing_postcts.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ lappend arg_list -max_buffer_percent $::env(PL_RESIZER_HOLD_MAX_BUFFER_PCT)
if { $::env(PL_RESIZER_ALLOW_SETUP_VIOS) == 1 } {
lappend arg_list -allow_setup_violations
}
if { $::env(PL_RESIZER_GATE_CLONING) != 1 } {
lappend arg_list -skip_gate_cloning
}
repair_timing {*}$arg_list

# Legalize
Expand Down
3 changes: 3 additions & 0 deletions openlane/scripts/openroad/rsz_timing_postgrt.tcl
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@ lappend arg_list -max_buffer_percent $::env(GRT_RESIZER_HOLD_MAX_BUFFER_PCT)
if { $::env(GRT_RESIZER_ALLOW_SETUP_VIOS) == 1 } {
lappend arg_list -allow_setup_violations
}
if { $::env(GRT_RESIZER_GATE_CLONING) != 1 } {
lappend arg_list -skip_gate_cloning
}
repair_timing {*}$arg_list

# Re-DPL and GRT
Expand Down
12 changes: 12 additions & 0 deletions openlane/steps/openroad.py
Original file line number Diff line number Diff line change
Expand Up @@ -1737,6 +1737,12 @@ class ResizerTimingPostCTS(ResizerStep):
"Allows the creation of setup violations when fixing hold violations. Setup violations are less dangerous as they simply mean a chip may not run at its rated speed, however, chips with hold violations are essentially dead-on-arrival.",
default=False,
),
Variable(
"PL_RESIZER_GATE_CLONING",
bool,
"Enables gate cloning when attempting to fix setup violations",
default=True,
),
]

def get_script_path(self):
Expand Down Expand Up @@ -1798,6 +1804,12 @@ class ResizerTimingPostGRT(ResizerStep):
default=False,
deprecated_names=["GLB_RESIZER_ALLOW_SETUP_VIOS"],
),
Variable(
"GRT_RESIZER_GATE_CLONING",
bool,
"Enables gate cloning when attempting to fix setup violations",
default=True,
),
]

def get_script_path(self):
Expand Down

0 comments on commit 4e31507

Please sign in to comment.