optical pins name revised. Pin type added
This commit is contained in:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user