vks
04/09/2024, 10:29 AM#0
gets added to cell names in the layout .mag file. If i remove this extra term #0
manually in .mag file then cell layout can be expanded. Any suggestions why it occurs and how to handle it ?Mitch Bailey
04/09/2024, 11:10 AM#0
might be caused by reading a cell that is already in memory when the location of the cell is different from the location of the cell in memory. The location is generally stored on the first use
statement of an instance. Standard cells from the pdk most likely have gds pointers (gds readonly
) so be careful when mixing with analog circuits.vks
04/09/2024, 11:51 AMMitch Bailey
04/09/2024, 12:21 PMvks
04/10/2024, 10:43 AMMitch Bailey
04/10/2024, 1:31 PM.mag
-> .gds
but don’t save/edit anything in magic that you get from .gds
-> .mag
. Those are not reversible operations. If you have drc errors in the original .mag
file, it’s probably best to fix them there. If you’re never going to edit in magic ever again, you should be ok with editing the gds in klayout.vks
04/10/2024, 3:28 PMnsd
psd
related FEOL
errors or OFFGRID
error in original .mag
layout inside magic ? Currently I do these error rectification directly on gds
by opening in klayout and overlapping errors on it from XML file generated during precheck.Mitch Bailey
04/11/2024, 1:46 AMnsd
and psd
errors that may be due to standard cell placement, you can forcibly add gds layers by using property MASKHINT_<layer> "llx lly urx ury" …
where <layer>
is a cif layer. Valid cif layers can be seen in magic with cif see unknown
which is an error, but lists the valid values. See here for details.
To see the resultant layers, use cif see <layer>
. This will show the actual pattern that will be output for that gds layer. Use feedback clear
to unsee.vks
04/11/2024, 6:39 AMMitch Bailey
04/11/2024, 2:38 PMcif see <layer>
% cif see *
CIF name "*" doesn't exist in style "gdsii".
The valid CIF layer names are: CELLBOUND, BOUND, DNWELL, PWRES, SUBCUT, ndrainarea, pdrainarea, extnwell, extpwell, NWELL, WELLTXT, WELLPIN, SUBTXT, SUBPIN, ldbreak, DIFF, DIFFTXT, DIFFPIN, TAP, TAPTXT, FOMFILL, basePSDM, baseNSDM, extendPSDM, PSDM, extendNSDM, NSDM, EDID, LVID, LVTN, HVTR, HVTP, SONOS, COREID, STDCELL, ESDID, NPNID, pnparea, PNPID, PHOTO, RPM, URPM, LDNTM, hvntm_block, HVNTM, POLY, POLYTXT, POLYPIN, POLYFILL, thkox_area, large_ptap_mv, small_ptap_mv, HVI, CONT, xpc_horiz, CONT, CONT, diffcutarea, NPC, NPC, DIFFRES, POLYRES, POLYSHORT, POLYRES, DIODE, LI, LITXT, LIPIN, LIRES, LIFILL, MCON, MET1, MET1TXT, MET1PIN, MET1RES, MET1FILL, VIA1, MET2, MET2TXT, MET2PIN, MET2RES, MET2FILL, VIA2, MET3, MET3TXT, MET3PIN, MET3RES, MET3FILL, VIA3, MET4, MET4TXT, MET4PIN, MET4RES, MET4FILL, VIA4, MET5, MET5TXT, MET5PIN, MET5RES, MET5FILL, RDL, RDLTXT, RDLPIN, PI1, UBM, PI2, GLASS, CAPM, CAPM2, LOWTAPDENSITY, FILLOBSFOM, FILLOBSM1, FILLOBSM2, FILLOBSM3, FILLOBSM4, FILLOBSM5.
for example, cif see NSDM
will show the actual implant data that will be output to gds.
If you are getting errors in klayout between implant layers, you can use cif see NSDM
to see the actual pattern in magic. To add layers to gds output that are not generated, you’ll need to use properties.
property MASKHIINT_NSDM 10um 10um 12um 12um
property MASKHINT_NSDM "20000 20000 24000 24000"
would add a region of nsdm
at (10,10)-(12,12).
In magic, you can set the box to the region you want to add, and use the box values
command to get the coordinates.Tim Edwards
04/11/2024, 4:13 PMvks
04/12/2024, 8:36 AMcif see NSDM
command to be run on .mag
or .gds
database of particular layout to rectify implant layer errors ?
2. How can I get to know the location of implant errors (NSDM , PSDM) in magic layout since they are available in feol.xml file generated from klayout during precheck ?Mitch Bailey
04/12/2024, 10:33 AM