**案例分享:**统计线路中某一器件的个数 如,统计SplitterTree中mmi的个数: 所有代码如下: # Copyright (C) 2020 Luceda Photonicsfrom si_fab import all as pdkfrom ipkiss3 import all as i3class GeneralizedSplitterTree(i3.Circuit):spli
ipkiss 3.12版加入write_obj函数,可以直接输出器件的三维模型。 如,输出自定义的mmi的三维模型: 代码如下: from si_fab import all as pdkfrom ipkiss3 import all as i3class MMI1x2(i3.PCell):"""MMI with 1 input and 2 outputs."""_name_prefix
在用ipkiss设计器件或者线路时,经常需要输入: from ipkiss3 import all as i3 那么有什么办法可以快速输入这段代码呢?这里就可以利用Pycharm的 live template功能,只需要将文件:ipkiss.xml (luceda ipkiss教程 68:通过代码模板提高线路设计效率,在上面可以下载) 文件拷贝到: 文件中,重新打开PyCharm 就可以实现
案例分享:画同端口螺旋线 代码如下: from si_fab import all as pdkfrom ipkiss3 import all as i3import numpy as npclass Spiral(i3.PCell):_name_prefix = "Spiral_C"width = i3.PositiveNumberProperty(doc="Core width of
在ipkiss中,通过visualize_3d_povray可以输出包含器件的三维模型参数的.pov文件,再通过POV-Ray(免费软件,下载地址:https://www.povray.org/download/)就可以查看器件的三维模型。 如: 代码如下: from si_fab import all as pdkfrom ipkiss3 import all as i3import
案例分享:画微环调制器 全部代码如下: from si_fab import all as pdkfrom ipkiss3 import all as i3class DC(i3.PCell):straight_length = i3.PositiveNumberProperty(default=200)radius = i3.PositiveNumberProperty(default=5
当线路中有多条波导时,可以一次输出所有波导的总长度: 如: 代码如下: from si_fab import all as pdkfrom ipkiss3 import all as i3class MZI_Lattice(i3.Circuit):mmi = i3.ChildCellProperty()mmi_spacing = i3.PositiveNumberProperty(defa
通过ARef函数可以在版图上快速添加器件阵列: 代码如下: from si_fab import all as pdkfrom ipkiss3 import all as i3class PAD_array(i3.PCell):class Layout(i3.LayoutView):def _generate_instances(self, insts):insts += i3.ARef(n
案例分享: from si_fab import all as pdkimport ipkiss3.all as i3from ipcore.properties.restrictions import RestrictTuplefrom ipkiss.geometry.shapes.modifiers import __ShapePathBase__import numpy as n
案例分享: from si_fab import all as pdkimport ipkiss3.all as i3from ipcore.properties.restrictions import RestrictTuplefrom ipkiss.geometry.shapes.modifiers import __ShapePathBase__import numpy as n
通过判断版图端口的domain.name,可以知道端口是电端口还是光端口: 如: 可以通过如下代码获取两个电端口(anode和cathode)的信息: from si_fab import all as pdkdef get_electrical_ports(layout):ports = layout.portselectrical_ports = []for port in ports:i
利用picazzo库中的方向耦合器绘制跑道型微环: from si_fab import all as pdkfrom ipkiss3 import all as i3from picazzo3.wg.dircoup import StraightDirectionalCouplerclass RingResonator(i3.PCell):trace_template = i3.Tra
利用picazzo库中的方向耦合器绘制跑道型微环: from si_fab import all as pdkfrom ipkiss3 import all as i3from picazzo3.wg.dircoup import StraightDirectionalCouplerclass RingResonator(i3.PCell):trace_template = i3.Tra
通过修改font的line_width就可以修改版图中text字体的粗细: 代码如下: from si_fab import all as pdkimport ipkiss3.all as i3class demo(i3.PCell):class Layout(i3.LayoutView):def _generate_elements(self, elems):elems += i3.Pol