mirror of https://github.com/VLSIDA/OpenRAM.git
Add more spacing to inflated pins to prevent unroutables
This commit is contained in:
parent
1c274afa46
commit
7a7ddebcca
|
|
@ -8,6 +8,7 @@ from openram.base.vector import vector
|
||||||
from openram.base.vector3d import vector3d
|
from openram.base.vector3d import vector3d
|
||||||
from openram.gdsMill import gdsMill
|
from openram.gdsMill import gdsMill
|
||||||
from openram.tech import GDS
|
from openram.tech import GDS
|
||||||
|
from openram.tech import drc
|
||||||
from openram.tech import layer as tech_layer
|
from openram.tech import layer as tech_layer
|
||||||
from openram import OPTS
|
from openram import OPTS
|
||||||
from .router_tech import router_tech
|
from .router_tech import router_tech
|
||||||
|
|
@ -90,7 +91,13 @@ class graph_router(router_tech):
|
||||||
# Add vdd and gnd pins as blockages as well
|
# Add vdd and gnd pins as blockages as well
|
||||||
# NOTE: This is done to make vdd and gnd pins DRC-safe
|
# NOTE: This is done to make vdd and gnd pins DRC-safe
|
||||||
for pin in self.all_pins:
|
for pin in self.all_pins:
|
||||||
self.blockages.append(pin.inflated_pin(spacing=self.track_space,
|
xdiff = self.layer_widths[0] - pin.width()
|
||||||
|
ydiff = self.layer_widths[0] - pin.height()
|
||||||
|
diff = max(xdiff, ydiff)
|
||||||
|
spacing = self.track_space + drc["grid"]
|
||||||
|
if diff > 0:
|
||||||
|
spacing += diff
|
||||||
|
self.blockages.append(pin.inflated_pin(spacing=spacing,
|
||||||
extra_spacing=self.offset,
|
extra_spacing=self.offset,
|
||||||
keep_link=True))
|
keep_link=True))
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue