phidl库如何将单位从微米更改为纳米?

问题描述 投票:0回答:1

我是这个库的新手,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')

'''

python
1个回答
0
投票

在内部,

phidl
将所有尺寸表示为 64 位精度的浮点(十进制)值 - 根本不转换为微米/纳米。但是,当您保存到
.gds
时,您可以选择设置数据库单位,将数字四舍五入到所需的精度。例如,我可能希望
15.12345
的半径对应于“15.12345 微米,四舍五入到最接近的纳米 -> .gds 保存值
15.123
。请参阅 write_gds() 文档

就圆圈间距而言,看起来您走在正确的轨道上。根据我对您的代码的了解,您是否正在尝试在圆圈之间添加更多空间?需要注意的一件重要事情:您尝试指定的 50 nm 圆的 radius 应该为 0.025(给出的直径为 0.050 um = 50 nm)

© www.soinside.com 2019 - 2024. All rights reserved.