案例分享:ipkiss绘制周期结构:
在这里插入图片描述
代码如下:
from si_fab import all as pdk
import ipkiss3.all as i3total_length = 250
m = (total_length - 5) // 50
offset = (total_length - m * 50) / 2 + 25
reference1 = i3.LayoutCell().Layout(elements=[i3.Rectangle(layer=i3.TECH.PPLAYER.M1, box_size=(45, 8))])
windows = [i3.PathTraceWindow(layer=i3.TECH.PPLAYER.SI_CLADDING, start_offset=-2, end_offset=2),i3.PathTraceWindow(layer=i3.TECH.PPLAYER.SI, start_offset=-1, end_offset=1),i3.PeriodicArrayReferenceTraceWindow(reference=reference1, offset=-6, pitch=50, exclude_ends=(offset, offset)),i3.PeriodicArrayReferenceTraceWindow(reference=reference1, offset=6, pitch=50, exclude_ends=(offset, offset)),
]
wg_t = i3.WindowWaveguideTemplate()
wg_t.Layout(windows=windows)
mod = i3.RoundedWaveguide(trace_template=wg_t)mod.Layout(shape=[(0, 0), (total_length, 0)], bend_radius=500).visualize()