0
点赞
收藏
分享

微信扫一扫

python-klayout

小典典Rikako 2022-04-16 阅读 89
python

python-klayout

create layout

ly = db.Layout()
ly.dbu = 0.001

define layer

AA = ly.layer(1, 1,“AA”)

Create a cell

BitCell_Unit= ly.create_cell(“BitCell_Unit”)

setup CT060 instance and insert CT as instance

CT060 = ly.create_cell(“CT060”)

width = CD_CT060
height = CD_CT060
pt = db.DPoint(0, 0)
box_CT060 = db.DBox(pt, pt + db.DVector(width, height))
CT060.shapes(CT).insert(box_CT060)

xPosition= (Len_AA_BL - CD_CT040)/2
yPosition= CD_CT040/2*-1

xPitch=0
yPitch=Width_AA_BL

CTBL = db.DCellInstArray(
CT040.cell_index(),
db.DTrans(db.DTrans.R0, xPosition, yPosition),
db.DVector(0, yPitch),
db.DVector(xPitch, 0),
2,
2
)
BitCell_Unit.insert(CTBL)

Insert a layer

width = 0.1
length = 10
xPosition=0
yPosition=0
pt = db.DPoint(xPosition,yPosition)

box_M1_BL = db.DBox(pt, pt + db.DVector(length, width))
BitCell_Unit.shapes(M1).insert(box_M1_BL)

copy an instance

BitCell1_Unit= ly.create_cell(“BitCell1_Unit”)
BitCell1_Unit.copy_tree(BitCell_Unit)

flatten an instance and delete a layer

BitCell1_Unit.flatten(-1)
BitCell1_Unit.clear(CT)

write to a GDS

ly.write(“TEST.gds”)

举报

相关推荐

0 条评论