L2P(1)

NAME

l2p - Creates a PostScript file from a physical (ph, ap) or a real (cif, gds) file

ORIGIN
This software belongs to the ALLIANCE CAD system from the
CAO-VLSI team at MASI laboratory University P. et M. Curie
4, place Jussieu ; 75252 PARIS Cedex 05 ; FRANCE
Fax : (33-1) 44.27.62.86 ; E-mail : cao-vlsi@masi.ibp.fr

SYNOPSIS

l2p [-3] [-color] [-drawingsize=<w>x<h>] [-givebwdict] [-givecolordict] [-help] [-noheader] [-papersize=<x>x<y>x<w>x<h>] [-pages=<x>x<y>] [-real] [-resol=<x>] [-rflattencatal] [-rflattentrans] [-rotate] [-scale=<f.f>] [-usedict=<f>] cellname

DESCRIPTION
The need for a clean output on paper of designs is an important issue in every day designer's life, and also in a more long term sight, to archive and give information about old design, or to build a complete documentation, for a standard cell library for example.
In order to be as device independant and powerful as possible, the choosen output file format is PostScript, since many today's device, laser printers, plotters, graphical terminals, etc, support it.
Two main kind of cells can be used as inputs for l2p :
First, you can use l2p to print your symbolic layout cells whose file formats can be .ap and .cp. This is given by an environment variable MBK_IN_PH that gives the appropriate symbolic layout file format.
Second, you can use l2p to print your real layout cells whose file formats can be .cif (for Calma Interchange Format) or .gds (which is a binary file format, and thus tends to portability problems among different architectures). This is given by an environment variable RDS_IN that gives the appropriate real layout file format. In that case, you can consider l2p as a fabricant that would use paper instead of silicium.
See mbk(1) for details.
The path to the input file is set up by two environment variables MBK_WORK_LIB(3) and if not found in the directory then the directory pointed by MBK_CATA_LIB(3) is then searched through. The output of l2p is a PostScript file with the name cellname-ixj.ps in the current directory. The drawing and the paper area can be specified by the user. So, you can split your layout drawing as in many pages as wanted. The resulting file can be then used on any adequat device.
At invocation time, the last argument must be the cellname. l2p will generate in the current directory, either a single file called <cellname>.ps, either several files suffixed by -<x>x<y>.ps, depending on wether you've asked for a monopage plot or for a drawing that will be splitted on several pages. In order to facilitate reprints, l2p will generate as many files as many pages: If you do something like l2p -pages=2x1 cell, it will generate two files called cell-1x1.ps, and cell-2x1.ps.

OPTIONS
With no options, l2p generate a 'standard file', with all options off. This is ok for leaf cells output, but not for hierarchical circuit.

-3  uses a a3 tray on Canon CLC-300PS. This sets the drawing area to 1100x1565 and the paper area to 50x25x1100x1590 cenths of inch. see also -drawingsize and -papersize.

-color
    generates a color PostScript file for use with color interpretors.

-drawingsize=<width>x<height>
    specifies the drawing area in centh of inch. By default, wide = 725 and height = 1068 for french a4 paper. If the drawing size is bigger than the paper area, then the drawing will be splitted on as many pages.

-givebwdict
    give the Black & White internal PostScript dictionnary. See below.

-givecolordict
    This option must be unique on the command line. When used as in 'l2p -givebwdict', l2p then gives on the standard output its Black & White internal Postscript dictionnary. A PostScript dictionnary is a set of macros that will be used during interpretation of your PostScript file. The macros in the internal PostScript dictionnaries of l2p allows you to control which layer to output, how to plot rectangles, and specify the colors of the rectangles. You get the standard dictionnary by a line of the form 'l2p -givecolordict > dict.ps'. You can then edit it with vi, BeurkEmacs, or any other editor you like. In order to reuse it with l2p, see the '-usedict' option below.

-help
    gives you this man page that explains how to use l2p.

-noheader
    prevents the border and various info, as the cellname and the position of the page in the drawing, from being printed.

-papersize=<x_low_left>x<y_low_left>x<width>x<height>
    specifies the paper area in centh of inch. By default, 50x50x726x1069 for a4 paper.

-pages=<number_of_x_pages>x<number_of_y_pages>
    specifies the drawing area in pages. It can be useful, instead of having to calculate the size in cenths of inch of the drawing, to give it in numbers of pages. It takes care of the resizing of the paper and whether there is a header.

-real
    uses real file (cif, gds). By default, uses symbolic file (ap, cp).

-resol=<x>
    is the resolution of the file in dots per inch (dpi). This value has been introducted to limitate the size of the generated PostScript files. Each rectangle whose width and height are smaller than the resolution will not be printed. The default value is 72dpi. It should only be changed in one specifical case : When you call an external society to produce a plot on paper of several meter large. Usually, this kind of society requires that you furnishes them with a PostScript file sized for A4 paper. As it is them who expands the drawing, you'll need a much better resolution than 72dpi. You can then increase that value to up to 1000dpi, but be aware that the size of the file will probably be bigger than a 44Mb SyQuest cartridge that is used in PAO for exchanging data files.

-rflattencatal
    flattens the cell to the catalog before printing. see catal(5) for more details on the use of the catalog file. Be careful, this option wastes a lot of memory...

-rflattentrans
    flattens the cell to the transistor level before printing. Be careful, this option wastes a lot more memory...

-rotate
    rotate the cell from 90 degree. This is useful if you have a wide cell, and you want to have it printed in landscape mode.

-scale=<f.f>
    forces the cell to be printed with a certain scale (a floating-point number). This is very useful, when you are printing a whole library of standard cells, and you want each of them to be printed to the same scale.
    You can find at which scale a cell was printed by looking at the beginning of the file : 'head n1_y-1x1.ps' will show you a PostScript comment beginning by '%SCALE=3.78435' for example.

-usedict=<filename>
    This allows you to use a PostScript dictionnary different from the two internally encoded into l2p. By modifying one of the standard l2p dictionnary, you can choose which layer to output, how to fill the rectangles (empty, hashed, filled), which color to choose, ... and lots of other possibilities. The rest of the generated postscript file is mainly orders of drawing rectangles. PostScript is a reverse polish notation langage, that is easy to read for simple programs.
    If you use this functionnality, and think that your dictionnaries are worth it, please mail them to cao-vlsi@masi.ibp.fr, in order to submit them for inclusion in future version of l2p (Thanks).

EXAMPLES

You should first have a correct execution environment :

for symbolic file(s) :
    setenv MBK_IN_PH ap
    setenv MBK_WORK_LIB .
    setenv MBK_CATA_LIB /labo/cells/scr
    setenv MBK_CATAL_NAME CATAL
    setenv RDS_TECHNO_NAME cmos_1.rds

for real file(s) :
    setenv RDS_IN cif
    setenv MBK_CATAL_NAME CATAL_ROUT
    setenv RDS_TECHNO_NAME prol12_1.rds

l2p -color n1_y
    will create a colored n1_y-1x1.ps file in the current directory : the 'standard' way.

l2p -real cell
    will create a cell-1x1.ps file in the current directory from cell.cif or cell.gds, depending on the RDS_IN environment variable.

SEE ALSO
mbk(1),
    rds(1), MBK_IN_PH(3), MBK_CATA_LIB(3), MBK_WORK_LIB(3), MBK_CATAL_NAME(3), RDS_TECHNO_NAME(3), pageview(1), gs(1), ghostview(1), lpr(1).

BUGS
You will not be able to generate more than approximativly 30 pages at the same time (because of the FOPEN_MAX of your environment). In this case, see the option that is not implemented yet.
Lots of other bugs can occur as this is an intermediate release. This product was not finished in time for releasing version 2.0 of Alliance. As we were already late for delivering, we had to package it a bit early. A new version should be available soon, as it was only portability problems among different computers that has prevented us from releasing it in time. If problems arise please e-mail to : cao-vlsi@masi.ibp.fr

DIAGNOSTICS
The generated PostScript is Level 1 for black& white plots. When you use color, it generates Level 1 with color extensions. It may not run with strict Level 1 interpreters, although it runs here with our Apple Personnal LaserWriter, Sun Sparcprinters, and Canon CLC-300-PS. It follows the Adobe Document Structuring Conventions 1, and as there is a fake bitmap image inside each generated files, you can re-use them in your word-processors, or publishing software, because the PostScript is EPSF-1.2 compliant.