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 vector import vector
|
||||
from globals import OPTS
|
||||
from tech import layer
|
||||
|
||||
|
||||
class write_mask_and_array(design.design):
|
||||
"""
|
||||
|
|
@ -95,9 +95,9 @@ class write_mask_and_array(design.design):
|
|||
if not self.offsets:
|
||||
self.offsets = []
|
||||
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
|
||||
|
||||
write_bits = self.columns / self.num_wmasks
|
||||
|
|
@ -140,9 +140,11 @@ class write_mask_and_array(design.design):
|
|||
offset=en_pos)
|
||||
|
||||
for supply in ["gnd", "vdd"]:
|
||||
supply_pin_left = self.and2_insts[0].get_pin(supply)
|
||||
supply_pin_right = self.and2_insts[self.num_wmasks - 1].get_pin(supply)
|
||||
self.add_path(supply_pin_left.layer, [supply_pin_left.lc(), supply_pin_right.rc()])
|
||||
self.add_power_pin(supply, supply_pin_left.center(), start_layer=supply_pin_left.layer)
|
||||
self.add_power_pin(supply, supply_pin_right.center(), start_layer=supply_pin_right.layer)
|
||||
supply_pin = self.and2_insts[0].get_pin(supply)
|
||||
supply_pin_yoffset = supply_pin.cy()
|
||||
left_loc = vector(0, supply_pin_yoffset)
|
||||
right_loc = vector(self.width, supply_pin_yoffset)
|
||||
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