Boxify - General CIF to boxified CIF converter

Boxify is a filter taking any CIF-file as standard input and generates a CIF-file containing only boxes as basic geometric figure on standard output. Non-manhatten (Bostonian) geometry is estimated with boxes. The quality of the estimation is determined by the resolution in the input geometry. To improve box-estimation the layout may be scaled with the -s switch. Remember boxes are specified by length, width and center-point while polygons are specified by edge-points. Additional features are: 1) ordering of symbols making definitions appear before calls, 2) separating hierarchy (symbols contains only calls or boxes, never both). These requirements should make any CIF-file loadable for simple box-shufflers like WoL. Both overlapping geometry and zero-area boxes are removed.


This program should be used with care and understanding since quite serious changes are done to the CIF-code.


Boxify options are :

-s scalemultiplier scaledivider
is a scaling-factor applied to all points in the layout when writing the CIF-file. Does not affect scaling in DS.
-c scalemultiplier scaledivider
This is the scalefactor written in the DS-command. WOL likes -c 100 2.
-p scalemultiplier scaledivider
is a prescaling-factor applied to all points when reading. In this way box-approximation may be improved. For MOSIS design-rules at least -p 4 1 should be used.
Cells are named with user-command: 9. Some editors (like WoL) requires named cells. The name will be generated as "Cell < number > " where "number" is generated by the program.
-N cellname
Cells are named with user-command: 9. Some editors (like WoL) requires named cells. The name will be "cellname < number > ".
-b cellname
Multiplies all symbol-scaling to coordinates.
-d usercommand
Used to remove special usercommands causing problems for your favorite layout editor. This switch may be applied more than once.
Normally coordinate-systems for cells are transformed to (0,0) in lower left corner. This switch preserves the original coordinate-system.
With this switch zero-area boxes are dropped. Otherwise a warning is issued.
Turns off separation of hierarcy including geometry in cells with calls to other cells.


For MOSIS design-rules the following command may be used.

boxify -p 4 1 -b -n -c 100 2 < scrules12.cif > scr12.cif

For Bug Reports and Questions

This tool was contributed by Tor Sverre Lande, Dept. of Informatics, University of Oslo, Norway,

john [dot] lazzaro [at] gmail [dot] com