optical pins name revised. Pin type added
This commit is contained in:
@@ -222,13 +222,25 @@ class AED_ring :
|
||||
elif(hasattr(self.cell_xs_transition,'cell')):
|
||||
cell_trans = self.cell_xs_transition.cell
|
||||
|
||||
temp = cell_trans.put(bus.pin['a1'])
|
||||
nd.Pin(name='a1',pin=temp.pin['b0']).put()
|
||||
temp = cell_trans.put(bus.pin['b1'])
|
||||
nd.Pin(name='b1',pin=temp.pin['b0']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: temp = cell_trans.put(bus.pin['a1'])
|
||||
temp = cell_trans.put(bus.pin['opt_a1'])
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: nd.Pin(name='a1',pin=temp.pin['b0']).put()
|
||||
nd.Pin(name='opt_a1',pin=temp.pin['b0'],type="optical:").put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: temp = cell_trans.put(bus.pin['b1'])
|
||||
temp = cell_trans.put(bus.pin['opt_b1'])
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: nd.Pin(name='b1',pin=temp.pin['b0']).put()
|
||||
nd.Pin(name='opt_b1',pin=temp.pin['b0'],type="optical:").put()
|
||||
else:
|
||||
nd.Pin(name='a1',pin=bus.pin['a1']).put()
|
||||
nd.Pin(name='b1',pin=bus.pin['b1']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: nd.Pin(name='a1',pin=bus.pin['a1']).put()
|
||||
nd.Pin(name='opt_a1',pin=bus.pin['opt_a1'],type="optical:").put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: nd.Pin(name='b1',pin=bus.pin['b1']).put()
|
||||
nd.Pin(name='opt_b1',pin=bus.pin['opt_b1'],type="optical:").put()
|
||||
|
||||
if show_pins:
|
||||
nd.put_stub()
|
||||
@@ -259,13 +271,25 @@ class AED_ring :
|
||||
elif(hasattr(self.cell_xs_transition,'cell')):
|
||||
cell_trans = self.cell_xs_transition.cell
|
||||
|
||||
temp = cell_trans.put(bus.pin['a1'])
|
||||
nd.Pin(name='a2',pin=temp.pin['b0']).put()
|
||||
temp = cell_trans.put(bus.pin['b1'])
|
||||
nd.Pin(name='b2',pin=temp.pin['b0']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: temp = cell_trans.put(bus.pin['a1'])
|
||||
temp = cell_trans.put(bus.pin['opt_a1'])
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: nd.Pin(name='a2',pin=temp.pin['b0']).put()
|
||||
nd.Pin(name='opt_a2',pin=temp.pin['b0'],type="optical:").put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: temp = cell_trans.put(bus.pin['b1'])
|
||||
temp = cell_trans.put(bus.pin['opt_b1'])
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: nd.Pin(name='b2',pin=temp.pin['b0']).put()
|
||||
nd.Pin(name='opt_b2',pin=temp.pin['b0'],type="optical:").put()
|
||||
else:
|
||||
nd.Pin(name='a2',pin=bus.pin['a1']).put()
|
||||
nd.Pin(name='b2',pin=bus.pin['b1']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: nd.Pin(name='a2',pin=bus.pin['a1']).put()
|
||||
nd.Pin(name='opt_a2',pin=bus.pin['opt_a1'],type="optical:").put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: nd.Pin(name='b2',pin=bus.pin['b1']).put()
|
||||
nd.Pin(name='opt_b2',pin=bus.pin['opt_b1'],type="optical:").put()
|
||||
|
||||
if show_pins:
|
||||
nd.put_stub()
|
||||
@@ -293,23 +317,45 @@ class AED_ring :
|
||||
pic_strip = Route(width=w_wg,radius=R_bend,xs=xs,MM_route=False)
|
||||
|
||||
if (self.w2_bus>0):
|
||||
dX_c = abs(test_cell.pin['a1'].y - test_cell.pin['a2'].y)
|
||||
dY_c = abs(test_cell.pin['a1'].x - test_cell.pin['a2'].x)
|
||||
INSTR = test_cell.put('a1',GC1.pin['g1'].x + dX_gc2gc/2-dX_c/2-R_bend-offset,GC1.pin['g1'].y-R_bend-1,-90,flip=0)
|
||||
pic_strip.bend_p2p(pin1=INSTR.pin['a1'],pin2=GC1.pin['g1']).put()
|
||||
pic_strip.bend_p2p(pin1=INSTR.pin['a2'],pin2=GC2.pin['g1']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: dX_c = abs(test_cell.pin['a1'].y - test_cell.pin['a2'].y)
|
||||
dX_c = abs(test_cell.pin['opt_a1'].y - test_cell.pin['opt_a2'].y)
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: dY_c = abs(test_cell.pin['a1'].x - test_cell.pin['a2'].x)
|
||||
dY_c = abs(test_cell.pin['opt_a1'].x - test_cell.pin['opt_a2'].x)
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: INSTR = test_cell.put('a1',GC1.pin['g1'].x + dX_gc2gc/2-dX_c/2-R_bend-offset,GC1.pin['g1'].y-R_bend-1,-90,flip=0)
|
||||
INSTR = test_cell.put('opt_a1',GC1.pin['g1'].x + dX_gc2gc/2-dX_c/2-R_bend-offset,GC1.pin['g1'].y-R_bend-1,-90,flip=0)
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: pic_strip.bend_p2p(pin1=INSTR.pin['a1'],pin2=GC1.pin['g1']).put()
|
||||
pic_strip.bend_p2p(pin1=INSTR.pin['opt_a1'],pin2=GC1.pin['g1']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: pic_strip.bend_p2p(pin1=INSTR.pin['a2'],pin2=GC2.pin['g1']).put()
|
||||
pic_strip.bend_p2p(pin1=INSTR.pin['opt_a2'],pin2=GC2.pin['g1']).put()
|
||||
|
||||
GC3 = GC.put('g1',GC2.pin['g1'].x,GC2.pin['g1'].y-dY_gc2gc,0)
|
||||
pic_strip.bend_p2p(pin1=INSTR.pin['b1'],pin2=GC3.pin['g1']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: pic_strip.bend_p2p(pin1=INSTR.pin['b1'],pin2=GC3.pin['g1']).put()
|
||||
pic_strip.bend_p2p(pin1=INSTR.pin['opt_b1'],pin2=GC3.pin['g1']).put()
|
||||
|
||||
pic_strip.bend_route(pin=INSTR.pin['b2'],length1=0.5,length2=0.5).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: pic_strip.bend_route(pin=INSTR.pin['b2'],length1=0.5,length2=0.5).put()
|
||||
pic_strip.bend_route(pin=INSTR.pin['opt_b2'],length1=0.5,length2=0.5).put()
|
||||
pic_strip.taper(width2=w_term,length=15).put()
|
||||
|
||||
else:
|
||||
dX_c = abs(test_cell.pin['a1'].x - test_cell.pin['b1'].x)
|
||||
INSTR = test_cell.put('a1',GC1.pin['g1'].x + dX_gc2gc/2-dX_c/2-R_bend-offset,GC1.pin['g1'].y,0,flip=0)
|
||||
pic_strip.strt_p2p(pin1=INSTR.pin['a1'],pin2=GC1.pin['g1']).put()
|
||||
pic_strip.strt_p2p(pin1=INSTR.pin['b1'],pin2=GC2.pin['g1']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: dX_c = abs(test_cell.pin['a1'].x - test_cell.pin['b1'].x)
|
||||
dX_c = abs(test_cell.pin['opt_a1'].x - test_cell.pin['opt_b1'].x)
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: INSTR = test_cell.put('a1',GC1.pin['g1'].x + dX_gc2gc/2-dX_c/2-R_bend-offset,GC1.pin['g1'].y,0,flip=0)
|
||||
INSTR = test_cell.put('opt_a1',GC1.pin['g1'].x + dX_gc2gc/2-dX_c/2-R_bend-offset,GC1.pin['g1'].y,0,flip=0)
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: pic_strip.strt_p2p(pin1=INSTR.pin['a1'],pin2=GC1.pin['g1']).put()
|
||||
pic_strip.strt_p2p(pin1=INSTR.pin['opt_a1'],pin2=GC1.pin['g1']).put()
|
||||
## revised in 2026.06.07 by Qin Yue
|
||||
# legacy: pic_strip.strt_p2p(pin1=INSTR.pin['b1'],pin2=GC2.pin['g1']).put()
|
||||
pic_strip.strt_p2p(pin1=INSTR.pin['opt_b1'],pin2=GC2.pin['g1']).put()
|
||||
|
||||
INSTR.raise_pins()
|
||||
nd.Pin(name='a0').put(0,0,180)
|
||||
|
||||
Reference in New Issue
Block a user