我是这个库的新手,Phidl,我需要了解这个库如何将单位从微米更改为纳米。我的问题是我需要创建 9 个网格,每个网格都是 40x40 的圆圈。圆的直径应为 50 nm、100 nm、200 nm、250 nm、300 nm、500 nm、1000nm、2000nm 等。现在我需要改变节距(两个圆中心之间的距离),以便两个 100 nm 的圆就是 200 nm,即直径的两倍
'''
D_f = dl.Device()
D_1 = dl.Device()
# Define initial pitch size
pitch_size = 10
for i in range(0, 40):
for j in range(0, 40):
# Create circle
D_1 = pg.circle(radius=0.5, angle_resolution=2.5, layer=0)
# Adjust circle position based on pitch size
D_1.x = i
D_1.y = 4+j
# Add circle to container (assuming D_f is the container)
D_f << D_1
D_f.x=0
D_f.y=0
qp(D_f)
D = pg.basic_die(
size = (500, 500), # Size of die
street_width = 10, # Width of corner marks for die-sawing
street_length = 50, # Length of corner marks for die-sawing
die_name = '1 µm', # Label text
text_size = 20, # Label text size
text_location = 'S', # Label text compass location e.g. 'S', 'SE', 'SW'
layer = 0,
draw_bbox = False,
bbox_layer = 9,
)
qp(D) # quickplot the geometry
D_f << D
qp(D_f)
D_f.x=0
D_f.y=0
D_f1 << D_f
qp(D_f1)
D_f.write_gds('test.gds')
'''
在内部,
phidl
将所有尺寸表示为 64 位精度的浮点(十进制)值 - 根本不转换为微米/纳米。但是,当您保存到 .gds
时,您可以选择设置数据库单位,将数字四舍五入到所需的精度。例如,我可能希望 15.12345
的半径对应于“15.12345 微米,四舍五入到最接近的纳米 -> .gds 保存值 15.123
。请参阅 write_gds() 文档
就圆圈间距而言,看起来您走在正确的轨道上。根据我对您的代码的了解,您是否正在尝试在圆圈之间添加更多空间?需要注意的一件重要事情:您尝试指定的 50 nm 圆的 radius 应该为 0.025(给出的直径为 0.050 um = 50 nm)