mirror of https://github.com/VLSIDA/OpenRAM.git
Write mask and array supply pins on the ends
This commit is contained in:
parent
bad735fd89
commit
29880a0b5a
|
|
@ -11,7 +11,7 @@ import math
|
||||||
from sram_factory import factory
|
from sram_factory import factory
|
||||||
from vector import vector
|
from vector import vector
|
||||||
from globals import OPTS
|
from globals import OPTS
|
||||||
from tech import layer
|
|
||||||
|
|
||||||
class write_mask_and_array(design.design):
|
class write_mask_and_array(design.design):
|
||||||
"""
|
"""
|
||||||
|
|
@ -95,9 +95,9 @@ class write_mask_and_array(design.design):
|
||||||
if not self.offsets:
|
if not self.offsets:
|
||||||
self.offsets = []
|
self.offsets = []
|
||||||
for i in range(self.columns):
|
for i in range(self.columns):
|
||||||
self.offsets.append(i * self.driver_spacing)
|
self.offsets.append((i + self.write_size - 1) * self.driver_spacing)
|
||||||
|
|
||||||
self.width = self.offsets[-1] + self.driver_spacing
|
self.width = self.columns * self.bitcell.width
|
||||||
self.height = self.and2.height
|
self.height = self.and2.height
|
||||||
|
|
||||||
write_bits = self.columns / self.num_wmasks
|
write_bits = self.columns / self.num_wmasks
|
||||||
|
|
@ -140,9 +140,11 @@ class write_mask_and_array(design.design):
|
||||||
offset=en_pos)
|
offset=en_pos)
|
||||||
|
|
||||||
for supply in ["gnd", "vdd"]:
|
for supply in ["gnd", "vdd"]:
|
||||||
supply_pin_left = self.and2_insts[0].get_pin(supply)
|
supply_pin = self.and2_insts[0].get_pin(supply)
|
||||||
supply_pin_right = self.and2_insts[self.num_wmasks - 1].get_pin(supply)
|
supply_pin_yoffset = supply_pin.cy()
|
||||||
self.add_path(supply_pin_left.layer, [supply_pin_left.lc(), supply_pin_right.rc()])
|
left_loc = vector(0, supply_pin_yoffset)
|
||||||
self.add_power_pin(supply, supply_pin_left.center(), start_layer=supply_pin_left.layer)
|
right_loc = vector(self.width, supply_pin_yoffset)
|
||||||
self.add_power_pin(supply, supply_pin_right.center(), start_layer=supply_pin_right.layer)
|
self.add_path(supply_pin.layer, [left_loc, right_loc])
|
||||||
|
self.add_power_pin(supply, left_loc, start_layer=supply_pin.layer)
|
||||||
|
self.add_power_pin(supply, right_loc, start_layer=supply_pin.layer)
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue