Skip to content

Submitting your design for manufacturing

Lukas Chrostowski edited this page Jan 27, 2018 · 1 revision

Submitting your design for manufacturing

KLayout stores PCell parameters in a cell called $$$CONTEXT_INFO$$$. Some foundries do not like this. You can easily remove the PCell parameters from the layout by saving it with the option "Store PCell and library context information (format specific)" turned OFF. This file will then only contain the geometries, and the link to the libraries will be removed.

How does KLayout store PCell parameters in the GDS?

It uses a cell called $$$CONTEXT_INFO$$$. In there it adds elements with "property attributes" and "property values" (essentially a dictionary of the PCell's parameters). One SREF per PCell. The text below was saved by KLayout using the save-as text option. This can be saved and loaded, and can be useful for debugging design files (and perhaps doing things like search and replace).

BGNSTR 
STRNAME $$$CONTEXT_INFO$$$
SREF 
SNAME TEXT$1
XY 0: 0
PROPATTR 14 
PROPVALUE PCELL=TEXT
PROPATTR 13 
PROPVALUE P(eff_dr)=##0
PROPATTR 12 
PROPVALUE P(eff_lw)=##0
PROPATTR 11 
PROPVALUE P(eff_ch)=##0
PROPATTR 10 
PROPVALUE P(eff_cw)=##0
PROPATTR 9 
PROPVALUE P(lspacing)=##0
PROPATTR 8 
PROPVALUE P(cspacing)=##0
PROPATTR 7 
PROPVALUE P(bias)=##0
PROPATTR 6 
PROPVALUE P(inverse)=false
PROPATTR 5 
PROPVALUE P(mag)=#1
PROPATTR 4 
PROPVALUE P(layer)=[layer:66/0]
PROPATTR 3 
PROPVALUE P(font)=#0
PROPATTR 2 
PROPVALUE P(text)='10.000-0.2'
PROPATTR 1 
PROPVALUE LIB=Basic
PROPATTR 0 
PROPVALUE LIB=SiEPIC-IME
ENDEL 
SREF 
SNAME Ring$1
XY 0: 0
PROPATTR 5 
PROPVALUE PCELL=Ring
PROPATTR 4 
PROPVALUE P(layer)=[layer:1/0]
PROPATTR 3 
PROPVALUE P(radius)=##10
PROPATTR 2 
PROPVALUE P(width)=##0.5
PROPATTR 1 
PROPVALUE LIB=SiEPIC GSiP
PROPATTR 0 
PROPVALUE LIB=SiEPIC-IME
ENDEL 
SREF 
SNAME Waveguide$2
XY 0: 0
PROPATTR 9 
PROPVALUE PCELL=Waveguide
PROPATTR 8 
PROPVALUE P(offsets)=(#0,#0)
PROPATTR 7 
PROPVALUE P(widths)=(##0.5,##2.5)
PROPATTR 6 
PROPVALUE P(layers)=('Si','DevRec')
PROPATTR 5 
PROPVALUE P(bezier)=##0.45
PROPATTR 4 
PROPVALUE P(adiab)=false
PROPATTR 3 
PROPVALUE P(width)=##0.5
PROPATTR 2 
PROPVALUE P(radius)=##5
PROPATTR 1 
PROPVALUE P(path)=[dpath:(-36.78,63.7;-25.72,63.7;-25.72,21.9;-12.44,21.9) w=0.5 bx=0 ex=0 r=false]
PROPATTR 0 
PROPVALUE LIB=SiEPIC-IME
ENDEL 
SREF 
SNAME Waveguide$1
XY 0: 0
PROPATTR 9 
PROPVALUE PCELL=Waveguide
PROPATTR 8 
PROPVALUE P(offsets)=(#0,#0)
PROPATTR 7 
PROPVALUE P(widths)=(##0.5,##2.5)
PROPATTR 6 
PROPVALUE P(layers)=('Si','DevRec')
PROPATTR 5 
PROPVALUE P(bezier)=##0.45
PROPATTR 4 
PROPVALUE P(adiab)=false
PROPATTR 3 
PROPVALUE P(width)=##0.5
PROPATTR 2 
PROPVALUE P(radius)=##5
PROPATTR 1 
PROPVALUE P(path)=[dpath:(32.06,21.9;60.54,21.9;60.54,-63.3;-36.78,-63.3) w=0.5 bx=0 ex=0 r=false]
PROPATTR 0 
PROPVALUE LIB=SiEPIC-IME
ENDEL 
SREF 
SNAME Ring$Modulator,$Double-bus
XY 0: 0
PROPATTR 23 
PROPVALUE PCELL=Ring Modulator, Double-bus
PROPATTR 22 
PROPVALUE P(devrec)=[layer:68/0]
PROPATTR 21 
PROPVALUE P(pinrec)=[layer:1/10]
PROPATTR 20 
PROPVALUE P(textl)=[layer:66/0]
PROPATTR 19 
PROPVALUE P(textpolygon)=#l1
PROPATTR 18 
PROPVALUE P(mhlayer)=[layer:47/0]
PROPATTR 17 
PROPVALUE P(mllayer)=[layer:45/0]
PROPATTR 16 
PROPVALUE P(vllayer)=[layer:44/0]
PROPATTR 15 
PROPVALUE P(m1layer)=[layer:41/0]
PROPATTR 14 
PROPVALUE P(vclayer)=[layer:40/0]
PROPATTR 13 
PROPVALUE P(ppplayer)=[layer:25/0]
PROPATTR 12 
PROPVALUE P(npplayer)=[layer:24/0]
PROPATTR 11 
PROPVALUE P(pplayer)=[layer:23/0]
PROPATTR 10 
PROPVALUE P(nplayer)=[layer:22/0]
PROPATTR 9 
PROPVALUE P(player)=[layer:21/0]
PROPATTR 8 
PROPVALUE P(nlayer)=[layer:20/0]
PROPATTR 7 
PROPVALUE P(si3layer)=[layer:3/0]
PROPATTR 6 
PROPVALUE P(gmon)=##0.5
PROPATTR 5 
PROPVALUE P(g)=##0.2
PROPATTR 4 
PROPVALUE P(w)=##0.5
PROPATTR 3 
PROPVALUE P(r)=##10
PROPATTR 2 
PROPVALUE P(s)=[dpoint:0,0]
PROPATTR 1 
PROPVALUE P(silayer)=[layer:1/0]
PROPATTR 0 
PROPVALUE LIB=SiEPIC-IME
ENDEL 
ENDSTR