add support for col offset to rbc; fix rba mirroring

This commit is contained in:
Jesse Cirimelli-Low 2023-09-12 12:12:21 -07:00
parent 0034798787
commit 2faa067ea6
2 changed files with 10 additions and 1 deletions

View File

@ -87,7 +87,7 @@ class replica_bitcell_array(bitcell_base_array):
if port in self.left_rbl:
# These go top down starting from the bottom of the bitcell array.
replica_bit = self.rbl[0] - port - 1
column_offset = len(self.left_rbl)
column_offset = 0
elif port in self.right_rbl:
# These go bottom up starting from the top of the bitcell array.
replica_bit = self.rbl[0] + self.row_size + port - 1

View File

@ -104,7 +104,16 @@ class replica_column(bitcell_base_array):
core_block[row][0] = geometry.instance("rbc_{}".format(row), mod=self.dummy_cell, is_bitcell=True)
else:
core_block[row][0] = geometry.instance("rbc_{}".format(row), mod=self.dummy_cell, is_bitcell=True, mirror='MX')
current_row += 1
if self.cell.mirror.y:
print(self.column_offset)
for row in range(self.total_size):
if self.column_offset % 2 == 0:
if core_block[row][0].mirror=='MX':
core_block[row][0].mirror='XY'
else:
core_block[row][0].mirror='MY'
self.pattern = pattern(self, "bitcell_array", core_block, num_rows=self.total_size, num_cols=self.column_size, name_template="rbc_r{0}_c{1}")
self.pattern.connect_array()