mirror of https://github.com/VLSIDA/OpenRAM.git
change spare cols routing from channel to normal routing to avoid short circuits
This commit is contained in:
parent
734be5403e
commit
ed369f1af4
|
|
@ -582,12 +582,18 @@ class port_data(design):
|
||||||
num_bits=self.word_size,
|
num_bits=self.word_size,
|
||||||
inst1_start_bit=start_bit)
|
inst1_start_bit=start_bit)
|
||||||
|
|
||||||
self.channel_route_bitlines(inst1=self.precharge_array_inst,
|
# The spare columns route directly from the precharge array
|
||||||
inst1_bls_template="{inst}_{bit}",
|
# (bypassing the column mux). A channel route would via the
|
||||||
inst2=inst2,
|
# bitline up to the vertical layer right at the precharge pin,
|
||||||
num_bits=self.num_spare_cols,
|
# landing on the precharge cell's full-width en_bar rail and
|
||||||
inst1_start_bit=self.num_cols + off,
|
# shorting the spare bitlines to p_en_bar. Stay on the bitline
|
||||||
inst2_start_bit=self.word_size)
|
# layer with connect_bitlines to avoid that via.
|
||||||
|
self.connect_bitlines(inst1=self.precharge_array_inst,
|
||||||
|
inst1_bls_template="{inst}_{bit}",
|
||||||
|
inst2=inst2,
|
||||||
|
num_bits=self.num_spare_cols,
|
||||||
|
inst1_start_bit=self.num_cols + off,
|
||||||
|
inst2_start_bit=self.word_size)
|
||||||
else:
|
else:
|
||||||
self.connect_bitlines(inst1=self.column_mux_array_inst,
|
self.connect_bitlines(inst1=self.column_mux_array_inst,
|
||||||
inst1_bls_template="{inst}_out_{bit}",
|
inst1_bls_template="{inst}_out_{bit}",
|
||||||
|
|
@ -653,12 +659,15 @@ class port_data(design):
|
||||||
num_bits=self.word_size,
|
num_bits=self.word_size,
|
||||||
inst1_start_bit=start_bit)
|
inst1_start_bit=start_bit)
|
||||||
|
|
||||||
self.channel_route_bitlines(inst1=self.precharge_array_inst,
|
# See note in route_sense_amp_to_column_mux_or_precharge_array:
|
||||||
inst1_bls_template="{inst}_{bit}",
|
# spare columns route from the precharge array, so stay on the
|
||||||
inst2=inst2,
|
# bitline layer to avoid shorting to the en_bar rail.
|
||||||
num_bits=self.num_spare_cols,
|
self.connect_bitlines(inst1=self.precharge_array_inst,
|
||||||
inst1_start_bit=self.num_cols + off,
|
inst1_bls_template="{inst}_{bit}",
|
||||||
inst2_start_bit=self.word_size)
|
inst2=inst2,
|
||||||
|
num_bits=self.num_spare_cols,
|
||||||
|
inst1_start_bit=self.num_cols + off,
|
||||||
|
inst2_start_bit=self.word_size)
|
||||||
|
|
||||||
# This could be a channel route, but in some techs the bitlines
|
# This could be a channel route, but in some techs the bitlines
|
||||||
# are too close together.
|
# are too close together.
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue