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
+24 -8
View File
@@ -69,10 +69,18 @@ class Cross:
_my_polygon(layer_wg=layers,vtx=vtx).put(0,L_arm,-90)
_my_polygon(layer_wg=layers,vtx=vtx).put(L_arm,0,180)
nd.Pin(name='a1',width=self.w[0]).put(-L_arm,0,180)
nd.Pin(name='a2',width=self.w[0]).put( 0,-L_arm,-90)
nd.Pin(name='b2',width=self.w[0]).put( 0, L_arm, 90)
nd.Pin(name='b1',width=self.w[0]).put( L_arm,0,0)
## revised in 2026.06.07 by Qin Yue
# legacy: nd.Pin(name='a1',width=self.w[0]).put(-L_arm,0,180)
nd.Pin(name='opt_a1',width=self.w[0],type="optical:").put(-L_arm,0,180)
## revised in 2026.06.07 by Qin Yue
# legacy: nd.Pin(name='a2',width=self.w[0]).put( 0,-L_arm,-90)
nd.Pin(name='opt_a2',width=self.w[0],type="optical:").put( 0,-L_arm,-90)
## revised in 2026.06.07 by Qin Yue
# legacy: nd.Pin(name='b2',width=self.w[0]).put( 0, L_arm, 90)
nd.Pin(name='opt_b2',width=self.w[0],type="optical:").put( 0, L_arm, 90)
## revised in 2026.06.07 by Qin Yue
# legacy: nd.Pin(name='b1',width=self.w[0]).put( L_arm,0,0)
nd.Pin(name='opt_b1',width=self.w[0],type="optical:").put( L_arm,0,0)
if (show_pins):
nd.put_stub()
@@ -99,12 +107,20 @@ class Cross:
pin_pre = gc_In.pin['g1']
for _idx_ in range(0,num):
inst = self.cell.put('a0',_idx_*dX - (num/2 - 1/2)*dX)
pic_strip.strt_p2p(pin1=pin_pre,pin2=inst.pin['a1'],arrow=False).put()
pin_pre = inst.pin['b1']
## revised in 2026.06.07 by Qin Yue
# legacy: pic_strip.strt_p2p(pin1=pin_pre,pin2=inst.pin['a1'],arrow=False).put()
pic_strip.strt_p2p(pin1=pin_pre,pin2=inst.pin['opt_a1'],arrow=False).put()
## revised in 2026.06.07 by Qin Yue
# legacy: pin_pre = inst.pin['b1']
pin_pre = inst.pin['opt_b1']
nd.taper(length=L_end/2,width1=self.w[0],width2=w_end,xs=self.xs).put(inst.pin['b2'])
## revised in 2026.06.07 by Qin Yue
# legacy: nd.taper(length=L_end/2,width1=self.w[0],width2=w_end,xs=self.xs).put(inst.pin['b2'])
nd.taper(length=L_end/2,width1=self.w[0],width2=w_end,xs=self.xs).put(inst.pin['opt_b2'])
nd.strt(length=L_end/2,width=w_end,xs=self.xs).put()
nd.taper(length=L_end/2,width1=self.w[0],width2=w_end,xs=self.xs).put(inst.pin['a2'])
## revised in 2026.06.07 by Qin Yue
# legacy: nd.taper(length=L_end/2,width1=self.w[0],width2=w_end,xs=self.xs).put(inst.pin['a2'])
nd.taper(length=L_end/2,width1=self.w[0],width2=w_end,xs=self.xs).put(inst.pin['opt_a2'])
nd.strt(length=L_end/2,width=w_end,xs=self.xs).put()
gc_Out = gc_cell.put('g1', dX_gc2gc/2,0,0)