fix(precheck): incorrect minimum power rail width for ihp-sg13g2

This commit is contained in:
Uri Shaked
2025-12-11 19:41:59 +02:00
parent 9f7195a42d
commit ef96fa4e1b
2 changed files with 9 additions and 3 deletions
+4 -3
View File
@@ -7,7 +7,7 @@ from numbers import Real
import gdstk
from precheck_failure import PrecheckFailure
from tech_data import power_pins_layer, valid_lef_port_layers
from tech_data import power_pins_layer, power_pins_min_width, valid_lef_port_layers
def canonicalize_rectangles(
@@ -331,9 +331,10 @@ def pin_check(
f"Port {current_pin} has wrong layer in {lef}: {layer} != {expected_layer}"
)
lef_errors += 1
if width < 1200:
expected_width = power_pins_min_width[tech]
if width < expected_width:
logging.error(
f"Port {current_pin} has too small width in {lef}: {width/1000} < 1.2 um"
f"Port {current_pin} has too small width in {lef}: {width/1000} < {expected_width/1000} um"
)
lef_errors += 1
if by > 10000:
+5
View File
@@ -153,6 +153,11 @@ power_pins_layer = {
"ihp-sg13g2": "TopMetal1",
"gf180mcuD": "Metal4",
}
power_pins_min_width = {
"sky130A": 1200, # 1.2 um
"ihp-sg13g2": 2100, # 2.1 um
"gf180mcuD": 1200, # 1.2 um
}
boundary_layer = {
"sky130A": "prBoundary.boundary",
"ihp-sg13g2": "prBoundary.boundary",