optical pins name revised. Pin type added

This commit is contained in:
=
2026-06-07 22:56:33 +08:00
parent a4ac88f002
commit 8462c3397f
262 changed files with 3251 additions and 1134 deletions
+69 -23
View File
@@ -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)