Snapping to grid in Virtuoso

S

Stewart Smith

Guest
I've been give some designs originating from the CLEWin editor that have
a ridiculously fine grid (1nm) which the original designer doesn't seem
to be able to solve. Is there a simple way to force all vertices on
polygons and rectangles in the designs to a 0.5 micron grid either when
importing from GDSII or in the layout editor itself? There's an option
in the Stream In import function that says Snap XY to grid resolution
but maybe that means something else. The manuals can be a bit opaque on
this sort of thing IME. Thanks in advance to anyone who can help.

Regards
Stewart
 
We use a script, which really forces all vertexes to grid. But the result
is not always satisfying. No guarantee, please make a backup!

procedure(NL_RoundGridSub(point grid)
point=list(round(car(point)/grid)*grid round(cadr(point)/grid)*grid )
)

procedure(NL_RoundGridS(cv,grid)
foreach(shape cv~>shapes
if((shape~>objType == "rect")
then
shape~>bBox=list(NL_RoundGridSub(car(shape~>bBox),grid) NL_RoundGridSub(cadr(shape~>bBox),grid))
)
if((shape~>objType == "path")
then
newpoints=nil
foreach(point shape~>points
newpoints=cons(NL_RoundGridSub(point grid ) newpoints)
)
shape~>points=newpoints
shape~>width=round(shape~>width/2.0/grid)*2.0*grid
)
if((shape~>objType == "polygon")
then
newpoints=nil
foreach(point shape~>points
newpoints=cons(NL_RoundGridSub(point grid ) newpoints)
)
shape~>points=newpoints
)
)
foreach(inst cv~>instances
inst~>xy=NL_RoundGridSub(inst~>xy,grid)
)
)

procedure(NL_RoundGridCB(theform)
cv=geGetEditCellView()
grid=theform~>NL_GSfieldgrid~>value
NL_RoundGridS(cv,grid)
)

procedure( NL_RoundGrid()
let( (NL_GSfieldlib NL_GSform1 )
NL_GSfieldgrid =hiCreateFloatField( ?name 'NL_GSfieldgrid ?value 0.01 ?prompt "Final Grid:" ?edita
ble t);
NL_GSform1 =hiCreateAppForm( ?name 'NL_GSform1 ?fields list(NL_GSfieldgrid ) ?callback "NL_RoundGri
dCB(hiGetCurrentForm())");
hiDisplayForm(NL_GSform1);
)
)

NL_RoundGrid()


This rounds all vertices to grid on the current layout cellview
 
Guenther Sohler wrote:
We use a script, which really forces all vertexes to grid. But the result
is not always satisfying. No guarantee, please make a backup!
Thanks very much for that, it's sure to come in useful. Obviously
everything needs to be checked for problems afterwards but it's done the
trick on the design I'm working on at the moment.

Cheers
Stewart
 

Welcome to EDABoard.com

Sponsor

Back
Top