Annotation of 43BSDReno/old/man/cifplot.1, revision 1.1.1.1

1.1       root        1: .\" Copyright (c) 1980 Regents of the University of California.
                      2: .\" All rights reserved.  The Berkeley software License Agreement
                      3: .\" specifies the terms and conditions for redistribution.
                      4: .\"
                      5: .\"    @(#)cifplot.1   4.1 (Berkeley) 4/29/85
                      6: .\"
                      7: .TH CIFPLOT 1 10/21/80
                      8: .UC 4
                      9: .SH NAME
                     10: cifplot \- CIF interpreter and plotter
                     11: .SH SYNOPSIS
                     12: .B cifplot
                     13: [
                     14: .I options
                     15: ]
                     16: file1.cif
                     17: [
                     18: file2.cif ...
                     19: ]
                     20: .SH DESCRIPTION
                     21: .I Cifplot
                     22: takes a description in Cal-Tech Intermediate Form (CIF) and
                     23: produces a plot.
                     24: CIF is a low-level graphics language suitable for describing
                     25: integrated circuit layouts.
                     26: Although CIF can be used for other graphics applications,
                     27: for ease of discussion it will be assumed that CIF is used to
                     28: describe integrated circuit designs.
                     29: .I Cifplot
                     30: interprets any legal CIF 2.0  description including symbol renaming
                     31: and Delete Definition commands.
                     32: In addition,
                     33: a number of local extensions have been added to CIF,
                     34: including text on plots and include files.
                     35: These are discussed later.
                     36: Care has been taken to avoid any arbitrary restrictions on
                     37: the CIF programs that can be plotted.
                     38: .PP
                     39: To get a plot call
                     40: .I cifplot
                     41: with the name of the CIF file to be plotted.
                     42: If the CIF description is divided among several files call
                     43: .I cifplot
                     44: with the names of all files to be used.
                     45: .I Cifplot
                     46: reads the CIF description from the files in the order
                     47: that they appear on the command line.
                     48: Therefore the CIF
                     49: .I End
                     50: command should be only in the last file since
                     51: .I cifplot
                     52: ignores everything after the
                     53: .I End
                     54: command.
                     55: After reading the CIF description but before plotting,
                     56: .I cifplot
                     57: will print a estimate of the size of the plot
                     58: and then ask if it should continue to produce a plot.
                     59: Type
                     60: .B y
                     61: to proceed and
                     62: .B n
                     63: to abort.
                     64: A typical run might look as follows:
                     65: .PP
                     66: .in +0.5i
                     67: %
                     68: .B
                     69: cifplot lib.cif sorter.cif
                     70: .br
                     71: Window -5700 174000 -76500 168900
                     72: .br
                     73: Scale: 1 micron is 0.004075 inches
                     74: .br
                     75: The plot will be 0.610833 feet
                     76: .br
                     77: Do you want a plot?
                     78: .B y
                     79: .PP
                     80: After typing
                     81: .B y
                     82: .I cifplot
                     83: will produce a plot on the Benson-Varian plotter.
                     84: .PP
                     85: .I Cifplot
                     86: recognizes several command line options.
                     87: These can be used to change the size and scale of the plot,
                     88: change default plot options,
                     89: and to select the output device.
                     90: Several options may be selected.
                     91: A dash(-) must precede each option specifier.
                     92: The following is a list of options that may be included on
                     93: the command line:
                     94: .TP
                     95: \fB\-w\fI  xmin xmax ymin ymax
                     96: .RB ( window )
                     97: The -w options specifies the window;
                     98: by default the window is set to be large enough
                     99: to contain the entire plot.
                    100: The windowing commands lets you plot just a small
                    101: section of your chip, enabling you to see it in better
                    102: detail.
                    103: .I Xmin, xmax, ymin,
                    104: and
                    105: .I ymax
                    106: should be specified in CIF coordinates.
                    107: .TP
                    108: \fB\-s\fI  float
                    109: .RB ( scale )
                    110: The -s option sets the scale of the plot.
                    111: By default the scale is set so that the window will fill the
                    112: whole page.
                    113: .I Float
                    114: is a floating point number specifying the number of inches
                    115: which represents
                    116: 1 micron.
                    117: A recommended size is 0.02.
                    118: .TP
                    119: .BI \-l "  layer_list"
                    120: .RB ( layer )
                    121: Normally all layers are plotted.
                    122: The -l option specifies which layers NOT to plot.
                    123: The
                    124: .I layer_list
                    125: consists of the layer names separated by commas, no spaces.
                    126: There are two reserved names:
                    127: .B text
                    128: and
                    129: .BR bbox .
                    130: Including the layer name
                    131: .B text
                    132: in the list suppresses the plotting of text;
                    133: .B bbox
                    134: suppresses the bounding box around symbols.
                    135: .TP
                    136: .BI \-d "  n"
                    137: .RB ( depth )
                    138: This option lets you limit the amount of detail plotted
                    139: in a hierarchically designed chip.
                    140: It will only instanciate the plot down
                    141: .I n
                    142: levels of calls.
                    143: Sometimes too much detail can hide important features in a circuit.
                    144: .TP
                    145: .BI \-g "  n"
                    146: .RB ( grid )
                    147: Draw a grid over the plot with spacing every
                    148: .I n
                    149: CIF units.
                    150: .TP
                    151: .B \-f
                    152: .RB ( fuzzy )
                    153: Don't print the border outlines around the merged features on each layer.
                    154: .TP
                    155: .B \-h
                    156: .RB ( half )
                    157: Plot at half normal resolution.
                    158: .I
                    159: (Not yet implemented.)
                    160: .TP
                    161: .B \-e
                    162: .RB ( extensions )
                    163: Accept only standard CIF. User
                    164: extensions produce warnings.
                    165: .TP
                    166: .B \-I
                    167: .RB ( non-Interactive )
                    168: Do not ask for confirmation.
                    169: Always plot.
                    170: .TP
                    171: .B \-L
                    172: .RB ( List )
                    173: Produce a listing of the CIF file on standard output as it is parsed.
                    174: Not recommended unless debugging hand-coded CIF
                    175: since CIF code can be rather long.
                    176: .TP
                    177: .BI \-a "  n"
                    178: .RB ( approximate )
                    179: Approximate a roundflash with an
                    180: .IR n -sided
                    181: polygon.
                    182: By default
                    183: .I n
                    184: equals 8.
                    185: (I.e. roundflashes are approximated by octagons.)
                    186: If
                    187: .I n
                    188: equals 0 then output circles for roundflashes.
                    189: (It is best not to use full circles since they significantly
                    190: slow down plotting.)
                    191: .I
                    192: (Full circles not yet implemented.)
                    193: .TP
                    194: \fB\-b\fI  "text"
                    195: .RB ( banner )
                    196: Print the text at the top of the plot.
                    197: .TP
                    198: .B \-C
                    199: .RB ( Comments )
                    200: Treat comments as though they were spaces.
                    201: Sometimes CIF files created at other universities
                    202: will have several errors due to syntactically incorrect comments.
                    203: (I.e. the comments may appear in the middle of a CIF command or
                    204: the comment does not end with a semi-colon.)
                    205: Of course, CIF files should not have any errors
                    206: and these comment related errors must be fixed
                    207: before transmitting the file for fabrication.
                    208: But many times fixing these errors seems to be more trouble
                    209: than it is worth, especially if you just want to get a plot.
                    210: This option is useful in getting rid of many of these
                    211: comment related syntax errors.
                    212: .TP
                    213: .B \-r
                    214: .RB ( rotate )
                    215: Rotate the plot 90 degrees.
                    216: .TP
                    217: .B \-V
                    218: .RB ( Varian )
                    219: Send output to the varian.
                    220: (This is the default option.)
                    221: .TP
                    222: .B \-W
                    223: .RB ( Wide )
                    224: Send output directly to the versatec.
                    225: .TP
                    226: .B \-S
                    227: .RB ( Spool )
                    228: Store the output in a temporary file then
                    229: dump the output quickly onto the Versatec.
                    230: Makes nice crisp plots;
                    231: also takes up a lot of disk space.
                    232: .TP
                    233: .BI \-T "  n"
                    234: .RB ( Terminal )
                    235: Send output byte stream to standard output.
                    236: Useful for setting up pipes.
                    237: .I N
                    238: is the number of bytes per line that the plotting device expects.
                    239: .I
                    240: (Not yet implemented.)
                    241: .TP
                    242: .B \-H
                    243: .RB ( HP2648 )
                    244: Send output to HP2648A terminal.
                    245: This requires that
                    246: .I cifplot
                    247: is running in the foreground on an HP2648
                    248: and that there is a scratch tape in the left tape drive of the terminal.
                    249: .I
                    250: (Not yet fully implemented.)
                    251: .TP
                    252: .BI \-X "  basename"
                    253: .RB ( eXtractor )
                    254: From the CIF file create a circuit description
                    255: suitable for switch level simulation.
                    256: It creates two files:
                    257: .IB basename .sim
                    258: which contains the circuit description, and
                    259: .IB basename .node
                    260: which contains the node numbers and their location
                    261: used in the circuit description.
                    262: .IP
                    263: When this option is invoked no plot is made.
                    264: Therefore it is advisable not to use any of the other
                    265: options that deal only with plotting.
                    266: However, the
                    267: .IR window ,
                    268: .IR layer ,
                    269: and
                    270: .I approximate
                    271: options are still appropriate.
                    272: To get a plot of the circuit with the node numbers call
                    273: .I cifplot
                    274: again, without the
                    275: .B \-X
                    276: option, and include
                    277: .IB basename .nodes
                    278: in the list of CIF files to be plotted.
                    279: (This file must appear in the list of files
                    280: before the file with the CIF End command.)
                    281: .I
                    282: (Not yet fully implemented.)
                    283: .TP
                    284: .BI \-P "  pattern_file"
                    285: .RB ( Pattern )
                    286: The -P option lets you specify your own
                    287: layers and stipple patterns.
                    288: .I Pattern_file
                    289: may contain an arbitrary number of layer descriptors.
                    290: A layer descriptor is the layer name in double quotes,
                    291: followed by 8 integers.
                    292: Each integer specifies 32 bits
                    293: where ones are black and zeroes are white.
                    294: Thus the 8 integers specify a 32 by 8 bit stipple pattern.
                    295: The integers may be in decimal, octal, or hex.
                    296: Hex numbers start with '0x';
                    297: octal numbers start with '0'.
                    298: The CIF syntax requires that layer names be made up of
                    299: only uppercase letters and digits,
                    300: and not longer than four characters.
                    301: The following is example of a layer description
                    302: for poly-silicon:
                    303: .RS
                    304: .TP
                    305: "NP"
                    306: 0x08080808  0x04040404  0x02020202  0x01010101
                    307: .RS
                    308: 0x80808080  0x40404040  0x20202020  0x10101010
                    309: .RE
                    310: .RE
                    311: .TP
                    312: .BI \-F "  font_file"
                    313: .RB ( Font )
                    314: The -F option indicates which font you want for your text.
                    315: The file must be in the directory '/usr/lib/vfont'.
                    316: The default font is Roman 6 point.
                    317: Obviously, this option is only useful if you have text on your plot.
                    318: .TP
                    319: .BI \-O "  filename"
                    320: .RB ( Output )
                    321: After parsing the CIF files, store an equivalent but easy to parse
                    322: CIF description in the specified file.
                    323: This option removes the include and array commands (see next section)
                    324: and replaces them with equivalent standard CIF statements.
                    325: The resulting file is suitable for transmission to other facilities
                    326: for fabrication.
                    327: .PP
                    328: In the definition of CIF provisions were made for local extensions.
                    329: All extension commands begin with a number.
                    330: Part of the purpose of these extensions is to test what features
                    331: would be suitable to include as part of the standard language.
                    332: But it is important to realize that these extensions are not
                    333: standard CIF and that many programs interpreting CIF do not
                    334: recognize them.
                    335: If you use these extensions it is advisable to create another
                    336: CIF file using the
                    337: .B -O
                    338: options described above before submitting your circuit for fabrication.
                    339: The following is a list of extensions recognized by 
                    340: .IR cifplot .
                    341: .TP
                    342: .BI 0I "  filename" ;
                    343: .RB ( Include )
                    344: Read from the specified file
                    345: as though it appeared in place of this command.
                    346: Include files can be nested up to 6 deep.
                    347: .TP
                    348: \fB0A\fI  s m n dx dy \fB;
                    349: .RB ( Array )
                    350: Repeat symbol
                    351: .I s m
                    352: times with
                    353: .I dx
                    354: spacing in the x-direction
                    355: and
                    356: .I n
                    357: times with
                    358: .I dy
                    359: spacing in the y-direction.
                    360: .I s, m,
                    361: and
                    362: .I n
                    363: are unsigned integers.
                    364: .I dx
                    365: and
                    366: .I dy
                    367: are signed integers in CIF units.
                    368: .TP
                    369: .BI 1 "  message" ;
                    370: .RB ( Print )
                    371: Print out the message on standard output when it is read.
                    372: .TP
                    373: \fB2\fI  "text" transform \fB;
                    374: .TP
                    375: \fB2C\fI  "text" transform \fB;
                    376: .RB ( "Text on Plot" )
                    377: .I Text
                    378: is placed on the plot
                    379: at the position specified by the transformation.
                    380: The allowed transformations are the same as the
                    381: those allowed for the Call command.
                    382: The transformation affects only the point at which the beginning
                    383: of the text is to appear.
                    384: The text is always plotted horizontally,
                    385: thus the mirror and rotate transformations
                    386: are not really of much use.
                    387: Normally text is placed above and to the right of the reference point.
                    388: The
                    389: .B 2C
                    390: command centers the text about the reference point.
                    391: .TP
                    392: .BI 9 "  name" ;
                    393: .RB ( "Name symbol" )
                    394: .I name
                    395: is associated with the
                    396: current symbol.
                    397: .TP
                    398: .BI 94 "  name x y" ;
                    399: .TP
                    400: .BI 94 "  name x y layer" ;
                    401: .RB ( "Name point" )
                    402: .I name
                    403: is associated with the point
                    404: .RI ( x,
                    405: .IR y ).
                    406: Any mask geometry crossing this point is also associated with
                    407: .IR name .
                    408: If
                    409: .I layer
                    410: is present then just geometry crossing the point
                    411: on that layer is associated with
                    412: .IR name .
                    413: For plotting this command is similar to text on plot.
                    414: When doing circuit extraction this command is used to
                    415: give an explicit name to a node.
                    416: .I Name
                    417: must not have any spaces in it,
                    418: and it should not be a number.
                    419: .SH FILES
                    420: /usr/lib/vdump
                    421: .br
                    422: /usr/lib/vfont/*
                    423: .br
                    424: /usr/lib/vpd
                    425: .br
                    426: /usr/tmp/cif*
                    427: .SH ALSO SEE
                    428: .I
                    429: A Guide to LSI Implementation
                    430: by Hon and Se\*'quin,
                    431: Second Edition
                    432: (Xerox PARC, 1980)
                    433: for a description of CIF.
                    434: .br
                    435: .I
                    436: Introduction to VLSI Systems
                    437: by Mead and Conway
                    438: (Addison-Wesley,
                    439: 1980)
                    440: .SH AUTHOR
                    441: Dan Fitzpatrick
                    442: .SH BUGS
                    443: Output should be spooled.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.