Skip to content

Commit aa851c0

Browse files
authored
Merge pull request #1122 from The-OpenROAD-Project-staging/max-cap-slew-margin
Add CAP_MARGIN & SLEW_MARGIN for overfixing in repair_design
2 parents fe4c427 + 339e92b commit aa851c0

File tree

2 files changed

+13
-1
lines changed

2 files changed

+13
-1
lines changed

docs/user/FlowVariables.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,8 @@ Note:
154154
| `DPO_MAX_DISPLACEMENT` | Specifies how far an instance can be moved when optimizing. |
155155
| `GPL_TIMING_DRIVEN` | Specifies whether the placer should use timing driven placement. |
156156
| `GPL_ROUTABILITY_DRIVEN` | Specifies whether the placer should use routability driven placement. |
157+
| `CAP_MARGIN` | Specifies a capacitance margin when fixing max capacitance violations. This option allow you to overfix. |
158+
| `SLEW_MARGIN` | Specifies a slew margin when fixing max slew violations. This option allow you to overfix. |
157159

158160

159161
### Clock Tree Synthesis(CTS)

flow/scripts/resize.tcl

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,17 @@ if {![info exists ::env(FOOTPRINT)]} {
3333
}
3434

3535
puts "Perform buffer insertion..."
36-
repair_design
36+
set additional_args ""
37+
if { [info exists ::env(CAP_MARGIN)] && $::env(CAP_MARGIN) > 0.0} {
38+
puts "Cap margin $::env(CAP_MARGIN)"
39+
append additional_args " -cap_margin $::env(CAP_MARGIN)"
40+
}
41+
if { [info exists ::env(SLEW_MARGIN)] && $::env(SLEW_MARGIN) > 0.0} {
42+
puts "Slew margin $::env(SLEW_MARGIN)"
43+
append additional_args " -slew_margin $::env(SLEW_MARGIN)"
44+
}
45+
46+
repair_design {*}$additional_args
3747

3848
if { [info exists env(TIE_SEPARATION)] } {
3949
set tie_separation $env(TIE_SEPARATION)

0 commit comments

Comments
 (0)