Vladimir Vesely
06/05/2023, 5:54 AMMitch Bailey
06/05/2023, 6:09 AMnsubstratendiff
and psubstratepdiff
in the layer menu. These may be abbreviated as in many ways in the command window
ppd or ppdiff or psd or psubdiff or psubstratepdiff or ptap
nnd or nndiff or nsd or nsubdiff or nsubstratendiff or ntap
Try placing nsd
to fix the N-tap contact overlap.Vladimir Vesely
06/05/2023, 7:20 AMpsd
also generates a layer overlap error. I think perhaps a layer here should be removed? However, I can't seem to figure out what layer is already there, even with select area <layer> (tried pdiff and a few others). Any tips for troubleshooting?
The N-well error is also rather strange...Tim Edwards
06/05/2023, 7:50 AMgds flatten true
will help. I think your GDS import is causing the contact and the surrounding diffusion to disagree on whether they both should be a tap layer or not.Tim Edwards
06/05/2023, 7:53 AMpsd
has contact type psc
(ptap
and ptapc
), and layer nsd
has corresponding contact type nsc
(ntap
and ntapc
). In your screenshot above, the contacts and the diffusion surrounding them should be either psc
and psd
, if it's supposed to be a tap layer, or pdc
and pdiff
if not.Vladimir Vesely
06/05/2023, 6:22 PMgds flatten true
(or gds flatten 10
, etc) prior to gds read <cellview>
.
However, exporting individual flattened cells from cadence does eliminate a lot of the small drc issues. psd
and nsd
must still be added manually to taps. (Pcell flattening seems like it must be done on a cell-by-cell basis)Mitch Bailey
06/05/2023, 8:39 PMgds read
statement, you can set multiple gds flatglob <string>
. This will flatten any cells that match the pattern if all the subcells of that cell are also flattened.
For example, gds flatglob *_CDNS_*
will flatten all cells that contain _CDNS_
.