Move sense amp to tri gate routing to M3... not ideal.

This commit is contained in:
Matt Guthaus 2018-04-23 09:14:18 -07:00
parent cd502895c4
commit 269d553857
6 changed files with 13 additions and 44 deletions

View File

@ -106,8 +106,6 @@ class bank(design.design):
self.route_bank_select()
self.route_vdd_gnd()
#self.route_vdd_supply()
#self.route_gnd_supply()
def add_modules(self):
""" Add modules. The order should not matter! """
@ -619,34 +617,14 @@ class bank(design.design):
# Connection of data_out of sense amp to data_in
tri_gate_in = self.tri_gate_array_inst.get_pin("in[{}]".format(i)).lc()
sa_data_out = self.sense_amp_array_inst.get_pin("data[{}]".format(i)).bc()
self.add_path("metal2",[sa_data_out,tri_gate_in])
# # if we need a bend or not
# if tri_gate_in.x-sa_data_out.x>self.m2_pitch:
# # We'll connect to the bottom of the SA pin
# bendX = sa_data_out.x
# else:
# # We'll connect to the left of the SA pin
# sa_data_out = self.sense_amp_array_inst.get_pin("data[{}]".format(i)).lc()
# bendX = tri_gate_in.x - 3*self.m3_width
# bendY = tri_gate_in.y - 2*self.m2_width
# # Connection point of M2 and M3 paths, below the tri gate and
# # to the left of the tri gate input
# bend = vector(bendX, bendY)
# # Connect an M2 path to the gate
# mid3 = [tri_gate_in.x, bendY] # guarantee down then left
# self.add_path("metal2", [bend, mid3, tri_gate_in])
# # connect up then right to sense amp
# mid1 = vector(bendX,sa_data_out.y)
# self.add_path("metal3", [bend, mid1, sa_data_out])
# offset = bend - vector([0.5*drc["minwidth_metal3"]] * 2)
# self.add_via(("metal2", "via2", "metal3"),offset)
self.add_via_center(layers=("metal2", "via2", "metal3"),
offset=tri_gate_in,
rotate=90)
self.add_via_center(layers=("metal2", "via2", "metal3"),
offset=sa_data_out,
rotate=90)
self.add_path("metal3",[sa_data_out,tri_gate_in])
def route_tri_gate_out(self):
""" Metal 3 routing of tri_gate output data """

View File

@ -1,6 +1,6 @@
magic
tech scmos
timestamp 1524065602
timestamp 1524499924
<< nwell >>
rect -2 45 38 73
<< pwell >>
@ -84,18 +84,8 @@ rect 15 46 19 50
rect 25 34 29 38
rect 24 19 28 23
<< metal2 >>
rect 13 46 15 50
rect 15 34 25 38
rect 15 9 19 34
rect 19 5 20 9
rect 15 0 19 5
<< m3contact >>
rect 15 5 19 9
<< metal3 >>
rect 14 9 20 10
rect 14 5 15 9
rect 19 5 20 9
rect 14 4 20 5
rect 15 0 19 34
<< m3p >>
rect 0 0 34 73
<< labels >>

View File

@ -1,6 +1,6 @@
magic
tech scmos
timestamp 1523920689
timestamp 1524499497
<< nwell >>
rect -3 101 37 138
rect -3 0 37 51
@ -167,6 +167,7 @@ rect 32 181 33 185
rect 13 169 16 177
rect 13 165 15 169
rect 4 148 8 163
rect 12 157 15 161
rect 12 156 16 157
rect 12 148 16 152
rect 4 132 8 144
@ -197,7 +198,7 @@ rect 11 24 36 28
<< m2contact >>
rect 10 192 14 196
rect 20 189 24 193
rect 11 157 15 161
rect 23 153 27 157
rect 16 118 20 122
rect 26 86 30 90
rect 19 64 23 68
@ -217,7 +218,7 @@ rlabel metal2 12 200 12 200 5 bl
rlabel metal2 22 200 22 200 5 br
rlabel m2contact 21 66 21 66 1 gnd
rlabel m2contact 28 88 28 88 1 gnd
rlabel m2contact 13 159 13 159 1 gnd
rlabel m2contact 21 33 21 33 1 vdd
rlabel m2contact 18 120 18 120 1 vdd
rlabel m2contact 25 155 25 155 1 gnd
<< end >>