L2P(1)
π l2p(1) β CAO-VLSI Reference Manual π
okay so bestie, welcome to l2p. this little icon lives in the CAO-VLSI Reference Manual and it's about to turn your layout into a PostScript file. slay.
β¨ l2p β¨ β Creates a PostScript file from a symbolic layout file, or from a physical layout file. yes bestie, both. versatile queen π
πΈ ORIGIN πΈ
okay so this software belongs to the ALLIANCE CAD SYSTEM, developed by the ASIM team at LIP6 laboratory of UniversitΓ© Pierre et Marie CURIE, in Paris, France. π«π· iconic.
- Web :
http://asim.lip6.fr/recherche/alliance/ - E-mail :
alliance-users@asim.lip6.fr
β¨ SYNOPSIS β¨
l2p [-color] [-drawingsize=<w>x<h>] [-fA3] [-fLETTER] [-fLEGAL]
[-givebwdict] [-givecolordict] [-help] [-noheader]
[-papersize=<x>x<y>x<w>x<h>] [-pages=<x>x<y>] [-tsize=<s>]
[-nrname] [-ncname] [-nrfname] [-niname] [-nsname] [-mfeed]
[-real] [-resol=<x>] [-rflattencatal] [-rflattentrans] [-rotate]
[-scale=<f.f>] [-usedict=<f>] cellname
π DESCRIPTION π
so there's two main kinds of cells you can feed to l2p, and honestly? both ate.
first up: you can use l2p to print symbolic layout cells. the file formats can be .ap or .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 real layout cells whose file formats can be .cif or .gds. this is given by an environment variable RDS_IN that gives the appropriate real layout file format.
the path to the input file is set up by two environment variables: MBK_WORK_LIB(3) and, if not found, MBK_CATA_LIB(3). π«Ά
the output of l2p is a PostScript file in the current directory. the drawing size and the paper size can be specified by the user. so yes, you can split your drawing in as many pages as wanted. the resulting file can then be used on any adequat Postcript printer. printer girlbossery fr fr π¨οΈπ
here's the part where it gets kind of main-character: 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 whether you've asked for a monopage plot or for a drawing that will be split on several pages. π so organized.
if you do something like l2p -pages=2x1 cell, it will generate two files called cell-1x1.ps, and cell-2x1.ps. no cap, that's literally it.
π₯ OPTIONS π₯
with no options, l2p generate a 'standard file', with all options off. this is ok for leaf cells, but not for large circuits. (not me being a leaf-cell-only icon π)
-colorβ generates a color PostScript file for use with color interpreters. the default value gives a black and white PostCript file. monochrome era is the default, sorry bestie.-drawingsize=<width>x<height>β specifies the drawing area in centh of inch. by default, wide =725and height =1068for french A4 paper. if the drawing size is bigger than the paper area, then the drawing will be split on several pages. π-fA3β the drawing is done on A3 format paper.-fLETTERβ the drawing is done on LETTER format paper.-fLEGALβ the drawing is done on LEGAL format paper.-givebwdictβ give the Black & White internal PostScript dictionary. see below. π-givecolordictβ this option must be unique on the command line. when used as in'l2p -givebwdict',l2pthen gives on the standard output its Black & White internal Postscript dictionary. a PostScript dictionary is a set of mac-ros that will be used during interpretation of your PostScript file. the macros in the internal PostScript dictionnaries ofl2pallows you to control which layer to output, how to plot rectangles, and specify the colors of the rectangles. you get the standard diction-nary by a line of the form'l2p -givecolordict > dict.ps'. you can then edit it, in order to reuse it withl2p, see the'-usedict'option below. π§ customization era!-helpβ gives you this man page that explains how to usel2p. hi bestie, you're already here π-noheaderβ prevents the border and various info, as the cellname and the position of the page in the drawing, from being printed. minimalism!-papersize=<x_low_left>x<y_low_left>x<width>x<height>β specifies the paper area in centh of inch. by default,50x50x726x1069for 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. π-tsize=<s>β available sizes:6,8,10,12,14. the default value is8.-nrnameβ no name at all will be displayed. π (not a single name. nothing. silence.)-ncnameβ the external connector's names won't be displayed.-nrfnameβ the references's names won't be displayed.-ninameβ the instances's names won't be displayed.-nsnameβ the segments's names won't be displayed.-mfeedβ Manualfeed: if set, informs the printer that it will be fed by the user himself, for each printing. you're the main character of the printer now π«Ά-realβ uses real file (cif,gds). by default, uses symbolic layout 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 is72dpi. it should only be changed in one specifical case: when you want to produce a plot of several meter large. usually, you must provide a PostScript file sized for A4 paper with a much better resolution than72dpi. you can then increase that value to up to1000dpi, but be aware that the size of the file will probably be bigger than a44MbSyQuest cartridge that is used in PAO for exchanging data files. π huge file warning, bestie!-rflattencatalβ flattens the cell to the catalog level. seecatal(5)for more details on the use of the catalog file. be careful, this option requires a lot of memory... π-rflattentransβ flattens the cell to the transistor level before printing. be careful, this option requires a lot more memory... ππ-rotateβ rotate the cell from90degree. this is useful if you have a wide cell, and you want to have it printed in landscape mode. β¨ landscape slay-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 cells, and you want all cells 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>β the output Postcript file contains a Postcript dictionary of macros. there are two standard dictionnaries used byl2pfor black and white or color prints. this allows you to use a PostScript dictionary different from the two internally encoded intol2p. by modifying one of the standardl2pdictionary, 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 language, that is easy to read for simple programs. π§ if you use this functionality, and think that your dictionnaries are worth it, please mail them toalliance-users@asim.lip6.fr, in order to submit them for inclusion in future version ofl2p(Thanks). π«Ά community icon!
π ENVIRONMENT VARIABLES π
π¦ 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
π EXAMPLES π
l2p -color n1_yβ will create a coloredn1_y.psfile in the current directory: the 'standard' way. β¨l2p -real cellβ will create acell.psfile in the current directory fromcell.ciforcell.gds, depending on theRDS_INenvironment variable.l2p -pages=3x2 na2_yβ size of the created drawing:3horizontal pages,2vertical ones. π
π 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).
go read them bestie, iykyk π
π DIAGNOSTICS π
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. π (it's giving "we'll get to it")
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 Personal 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. π fancy!
π§ BUG REPORT π§
this tool is under development at the ASIM department of the LIP6 laboratory. we need your feedback to improve documentation and tools. π«Ά please tell them, they're literally asking
and that's the whole page bestie, go print something iconic β¨π π
β ASIM/LIP6, October 1, 1997. yeah it's vintage, it's still that girl. π¦
π¦ where this page comes from
- nixos 26.05: alliance 5.1.1-unstable-2025-02-24
- nixpkgs unstable: alliance 5.1.1-unstable-2025-02-24
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms