mirror of
https://github.com/TinyTapeout/tt-support-tools.git
synced 2026-11-03 04:36:09 +01:00
fix(precheck): incorrect minimum power rail width for ihp-sg13g2
This commit is contained in:
@@ -7,7 +7,7 @@ from numbers import Real
|
|||||||
|
|
||||||
import gdstk
|
import gdstk
|
||||||
from precheck_failure import PrecheckFailure
|
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(
|
def canonicalize_rectangles(
|
||||||
@@ -331,9 +331,10 @@ def pin_check(
|
|||||||
f"Port {current_pin} has wrong layer in {lef}: {layer} != {expected_layer}"
|
f"Port {current_pin} has wrong layer in {lef}: {layer} != {expected_layer}"
|
||||||
)
|
)
|
||||||
lef_errors += 1
|
lef_errors += 1
|
||||||
if width < 1200:
|
expected_width = power_pins_min_width[tech]
|
||||||
|
if width < expected_width:
|
||||||
logging.error(
|
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
|
lef_errors += 1
|
||||||
if by > 10000:
|
if by > 10000:
|
||||||
|
|||||||
@@ -153,6 +153,11 @@ power_pins_layer = {
|
|||||||
"ihp-sg13g2": "TopMetal1",
|
"ihp-sg13g2": "TopMetal1",
|
||||||
"gf180mcuD": "Metal4",
|
"gf180mcuD": "Metal4",
|
||||||
}
|
}
|
||||||
|
power_pins_min_width = {
|
||||||
|
"sky130A": 1200, # 1.2 um
|
||||||
|
"ihp-sg13g2": 2100, # 2.1 um
|
||||||
|
"gf180mcuD": 1200, # 1.2 um
|
||||||
|
}
|
||||||
boundary_layer = {
|
boundary_layer = {
|
||||||
"sky130A": "prBoundary.boundary",
|
"sky130A": "prBoundary.boundary",
|
||||||
"ihp-sg13g2": "prBoundary.boundary",
|
"ihp-sg13g2": "prBoundary.boundary",
|
||||||
|
|||||||
Reference in New Issue
Block a user