Annotation of 43BSDReno/old/man/cifplot.1, revision 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.