I just want to construct one PCell with "donut" shapes,but encountered some problems.All that i want to do is to get one donut owned its' conic sides ,and the value of conic sides is set from Layer Editing(Option -> Layout Editor... -> Conic Sides) I try to get the donut with conic sides is '20'(default:20) using SKILL function called "dbLayerAndNot", but finally i got a donut with conic sides is '24'.I have post my SKILL code to you as below.
Is any one can give me some suggestion, or knows any founction or method can let me control the conic sides of donut in PCell?
inside = Radius/2outside = Radius/2+Width(pcLayer = 9)(pcPurpose = "drawing") (pcInst = dbCreateDonut(pcCellView list(pcLayer pcPurpose) (0.0:0.0) outside inside))
(pcLayer = 11)(pcPurpose = "drawing")(shape = dbCreatePolygon(pcCellView list(pcLayer pcPurpose) list(-outside:0.0 outside:0.0 outside:-outside -outside:-outside)))
dbLayerAndNot(pcCellView "met1" list(pcInst) list(shape)) dbDeleteObject(pcInst) dbDeleteObject(shape)
ps: Virtuoso Layout Editor, version is 5.10.41
Use dbConvertDonutToPolygon prior to using the dbLayerAndNot. Then you have complete control over the number of sides used in the conversion.
In reply to Andrew Beckett:
It really works, thanks your reply!