Annotation of researchv10dc/man/man10/cdl.10.5, revision 1.1

1.1     ! root        1: .PD .2i
        !             2: .ds or \fP\ |\ \fB
        !             3: .de cg
        !             4: .sp
        !             5: .PP
        !             6: .ne 5
        !             7: .B \\$1
        !             8: .PP
        !             9: ..
        !            10: .TH CDL 10.5 UCDS(almost obsolete)
        !            11: .SH NAME
        !            12: cdl \- circuit description language
        !            13: .SH DESCRIPTION
        !            14: The circuit descriptions used by the various design aid programs
        !            15: are expressed in dialects of the circuit design language described below.
        !            16: A complete description consists of two parts;
        !            17: an electrical circuit with chips, pins and connecting signals,
        !            18: and a physical layout with pins and chip positions.
        !            19: The commands described below are recommended;
        !            20: others exist and may work but are regarded as obsolete.
        !            21: .sp
        !            22: .PP
        !            23: .SS LOGICAL DESIGN
        !            24: .PP
        !            25: A circuit consists of
        !            26: .I chips
        !            27: connected by
        !            28: .I signals.
        !            29: The point of connection is denoted by a
        !            30: .I pin.
        !            31: Each chip has a
        !            32: .I type
        !            33: which describes its logical and electrical
        !            34: characteristics.
        !            35: (For example, \fB74S181\fP is a chip type.)
        !            36: .PP
        !            37: Types, signals and chips are identified by name.
        !            38: Pins  are identified by name and number.
        !            39: A
        !            40: .I name
        !            41: is a string of letters,
        !            42: digits or any of the characters
        !            43: .BR +\-.\ $\ /:<=>[]\(ul .
        !            44: Sometimes, the first character
        !            45: may not be a digit.
        !            46: A name may not be longer than 16 characters.
        !            47: .PP
        !            48: In the following description,
        !            49: literals appear as
        !            50: .B bold,
        !            51: whereas names are in
        !            52: .I italic.
        !            53: [ ] enclose an optional item and
        !            54: a list of items is written
        !            55: .PP
        !            56: .RS
        !            57: {\fIitem\fR}
        !            58: .RE
        !            59: .PP
        !            60: Commands are separated by either newline or
        !            61: semi-colon.
        !            62: A comment
        !            63: starts with a
        !            64: .B %
        !            65: and ends with a newline
        !            66: and may appear on any line.
        !            67: All white space serves only to separate tokens.
        !            68: .cg General
        !            69: .B .p
        !            70: .I number
        !            71: .br
        !            72: Specifies the page number for subsequent input.
        !            73: .PP
        !            74: .B .f
        !            75: [
        !            76: .I file
        !            77: ]
        !            78: .br
        !            79: Subsequent input originated in
        !            80: .IR file .
        !            81: If
        !            82: .I file
        !            83: is not present, the previous file name is restored.
        !            84: .PP
        !            85: .B .q
        !            86: .br
        !            87: End of file.
        !            88: .cg Signal\ Description
        !            89: .I signal
        !            90: [
        !            91: .I pin-number
        !            92: ] [ [
        !            93: .I ,
        !            94: ]
        !            95: .I pin-name
        !            96: ]
        !            97: .br
        !            98: .I name
        !            99: =
        !           100: .I signal
        !           101: .br
        !           102: Lines that do not start with a period are signal
        !           103: definition lines.
        !           104: Signal definitions refer to the most recent
        !           105: .B .c
        !           106: command, the pin name and number refers to the chip.
        !           107: .cg Circuit\ Description
        !           108: .B .c
        !           109: .I name
        !           110: [ [
        !           111: .B ,
        !           112: ]
        !           113: .I type
        !           114: ]
        !           115: .br
        !           116: .B .o
        !           117: .I name
        !           118: [ [
        !           119: .B ,
        !           120: ]
        !           121: .I type
        !           122: ]
        !           123: .br
        !           124: Instantiates a chip
        !           125: .I name,
        !           126: of type
        !           127: .IR type .
        !           128: This is typically used for I/O connectors.
        !           129: The command may occur more than once.
        !           130: The type of a chip need only be specified
        !           131: once in a circuit description.
        !           132: Signal descriptions that follow
        !           133: a
        !           134: .B .c
        !           135: or
        !           136: .B .o
        !           137: command refer to pins on the chip.
        !           138: .PP
        !           139: .ne 10
        !           140: .B .c
        !           141: .I name
        !           142: .B =
        !           143: .I chip
        !           144: .br
        !           145: .I chip
        !           146: must be previously defined and
        !           147: .I name
        !           148: is a synonym for
        !           149: .I chip.
        !           150: .PP
        !           151: .B .m
        !           152: .I name1 name2
        !           153: .br
        !           154: Macro parameter definition.
        !           155: The signal
        !           156: .I name1
        !           157: is to be associated with macro parameter
        !           158: .I name2\|.
        !           159: .PP
        !           160: .B .h
        !           161: .I signal
        !           162: .br
        !           163: Hand wired signal.
        !           164: The argument is the
        !           165: .I name
        !           166: of a signal that will be ignored by an
        !           167: automatic wiring program.
        !           168: .cg Chip\ Type\ Description
        !           169: .B .t
        !           170: .I name package
        !           171: .RI [ pin ]\ ...
        !           172: .br
        !           173: Define a chip type
        !           174: .I name.
        !           175: The name of the
        !           176: .I package
        !           177: in which it is installed,
        !           178: and pin numbers,
        !           179: .I pin,
        !           180: for the special signal connections
        !           181: are specified.
        !           182: The special voltage
        !           183: pin numbers, if present, must be in the same
        !           184: sequence with which the special signals are numbered.
        !           185: This usage is discouraged;
        !           186: use the \f3.t[tT]\fP commands described below.
        !           187: (See
        !           188: .B .v
        !           189: command.)
        !           190: All commands of the form ".t?" are meant to follow a .t line.
        !           191: .PP
        !           192: .B .t
        !           193: .I name
        !           194: .B =
        !           195: .I type
        !           196: .br
        !           197: .I name
        !           198: is a synonym for
        !           199: .IR type .
        !           200: .PP
        !           201: .BI .tt \ sequence_of_single_character_pin_descriptors
        !           202: .br
        !           203: The number of characters must equal the numbers of pins on this \fItype\fP\|.
        !           204: The meaning of the descriptors is given in \fIwcheck\fP\|.
        !           205: .PP
        !           206: .BI .tT \ sequence_of_single_character_pin_descriptors
        !           207: .br
        !           208: This means the same as the equivalent
        !           209: .B .tt
        !           210: command except that every
        !           211: .B [gvwxyz]
        !           212: pin must have a corresponding
        !           213: .B .vb
        !           214: pin.
        !           215: .PP
        !           216: .B .ta
        !           217: .I pin1
        !           218: \&...
        !           219: .I pin2
        !           220: \&...
        !           221: .br
        !           222: .I pin1
        !           223: \&...
        !           224: is the set of address pins, in order,
        !           225: such that the most significant address bit
        !           226: appears first in the list.
        !           227: .I pin2
        !           228: \&...
        !           229: is the set of output pins.
        !           230: .PP
        !           231: .B .td
        !           232: .I delay
        !           233: .I pin1
        !           234: \&...
        !           235: .B \-
        !           236: .I pin2
        !           237: \&...
        !           238: .br
        !           239: The propagation delay (conventionally in nanoseconds) from inputs
        !           240: .I pin1 ...
        !           241: to outputs
        !           242: .I pin2 ...
        !           243: is given.
        !           244: .PP
        !           245: .B .ti
        !           246: .I hi
        !           247: .I lo
        !           248: .I pin
        !           249: \&...
        !           250: .br
        !           251: The input (or output) current range for the set of pins
        !           252: is given by
        !           253: .I hi
        !           254: and
        !           255: .I lo.
        !           256: Current is conventionally expressed in milliamperes.
        !           257: .PP
        !           258: .B .tp
        !           259: .I name
        !           260: .I number
        !           261: \&...
        !           262: .br
        !           263: The given
        !           264: pin
        !           265: .I name
        !           266: is associated with the pin
        !           267: .I number.
        !           268: .I Name
        !           269: may contain generators such as
        !           270: .B Q[0-7]
        !           271: which cause pin names
        !           272: .B Q0
        !           273: .B \&...
        !           274: .B Q7
        !           275: to be assigned to the pin numbers given.
        !           276: Multiple bracket constructs may be used.
        !           277: In any case, the resulting list is lexicographically sorted before
        !           278: assigning to pin numbers.
        !           279: .PP
        !           280: .B .ts
        !           281: .I setup
        !           282: .I pin
        !           283: \&...
        !           284: .br
        !           285: Specifies the setup time required by the device
        !           286: at the pins given.
        !           287: .PP
        !           288: .B .tw
        !           289: .I c1
        !           290: .I c2
        !           291: .br
        !           292: .I c1
        !           293: is the average current drawn by the device
        !           294: in milliamperes and
        !           295: .I c2
        !           296: is the maximum.
        !           297: Both are specified as floating point numbers.
        !           298: .SH
        !           299: .ne 9
        !           300: .sp
        !           301: .PP
        !           302: .B PHYSICAL DESIGN
        !           303: .PP
        !           304: The physical design
        !           305: consists of a
        !           306: .I board
        !           307: containing
        !           308: .IR pin-holes .
        !           309: The description details the positions of the pin-holes and the
        !           310: position and orientation of the chips.
        !           311: No special case is made of I/O connectors;
        !           312: they are best considered as unmoveable packages.
        !           313: The description is divided into two files;
        !           314: details can be found in
        !           315: .IR board (7).
        !           316: .PP
        !           317: The coordinate system for the board is with
        !           318: .I x
        !           319: increasing to the right and
        !           320: .I y
        !           321: increasing upwards.
        !           322: The origin is at the lower left corner;
        !           323: thus, no coordinate should ever be negative.
        !           324: The circuit board and components mounted on it are described
        !           325: as rectangles.
        !           326: They are positioned so that their sides are parallel to one or other
        !           327: of the axes used to describe circuit board geometry.
        !           328: Measurements are expressed in
        !           329: units of
        !           330: .B 1/100
        !           331: of an inch.
        !           332: All are integers and have no explicit decimal point.
        !           333: Coordinates are expressed as pairs of integers separated by `\fB/\fR'
        !           334: with
        !           335: the
        !           336: .I x
        !           337: coordinate appearing first.
        !           338: All rectangular regions are half open;
        !           339: the upper and right edges are outside the rectangle.
        !           340: .PP
        !           341: It is sometimes necessary to provide a list of
        !           342: coordinates.
        !           343: Invariably each coordinate is associated with a numbered item
        !           344: (say, a pin number).
        !           345: A one item list consists of the item
        !           346: number followed by its coordinates as in
        !           347: .RS
        !           348: .PP
        !           349: 28 170/250
        !           350: .RE
        !           351: A series of equally spaced
        !           352: and consecutively numbered items can be described by
        !           353: giving the first and last item descriptions and separating the
        !           354: two with `\fB\-\fR' as in
        !           355: .RS
        !           356: .PP
        !           357: 28 170/250 \- 30 190/200
        !           358: .RE
        !           359: (item number 29 appears at position 180/225).
        !           360: If the item numbers are equally spaced but not consecutive
        !           361: a step size can follow the `\fB\-\fR' as in
        !           362: .RS
        !           363: .PP
        !           364: 12 200/700 \-9 147 200/100
        !           365: .RE
        !           366: (which describes the positions of items numbered 12, 21, 30 etc.).
        !           367: .cg Board\ Description
        !           368: .B .B
        !           369: .I string
        !           370: .br
        !           371: The board name is set to
        !           372: .IR string .
        !           373: .PP
        !           374: .B .A
        !           375: .I coord coord coord coord
        !           376: .br
        !           377: The points used in board alignment are
        !           378: .IR "coord , coord , coord , coord ."
        !           379: .PP
        !           380: .B .K
        !           381: .I "name pmin pmax ox oy cx cy"
        !           382: .br
        !           383: Define a package
        !           384: .I name
        !           385: with a bounding rectangle with lower left corner
        !           386: .I (ox,oy)
        !           387: and upper right corner
        !           388: .I (cx,cy)
        !           389: as values relative to pin
        !           390: .I pmin
        !           391: of the package.
        !           392: The package has pins numbered from
        !           393: .I pmin
        !           394: to
        !           395: .I pmax
        !           396: inclusive;
        !           397: expect trouble if
        !           398: .I pmin
        !           399: is not zero or one.
        !           400: Placement of a package involves both its pins and rectangle.
        !           401: The rectangle must not intersect any other placed package,
        !           402: and there must be a pin-hole for each of the pins.
        !           403: .PP
        !           404: .B .ka
        !           405: .I anything
        !           406: .br
        !           407: After skipping white space
        !           408: the rest of the line is stored as an artwork reference.
        !           409: .PP
        !           410: .B .kd
        !           411: .I letter
        !           412: .br
        !           413: Specifies the drill type for following
        !           414: .B .kp
        !           415: commands.
        !           416: There can be multiple
        !           417: .B .kd
        !           418: commands per package.
        !           419: Currently recognized drill types are found in
        !           420: \f(CW/usr/jhc/pins/drills\fP.
        !           421: .PP
        !           422: .B .kp
        !           423: .RI {\| pin
        !           424: .IR coord }
        !           425: .br
        !           426: One or more
        !           427: .B .kp
        !           428: commands following a
        !           429: .B .k
        !           430: command
        !           431: gives the list of pins
        !           432: and their coordinates relative to pin
        !           433: .IR pmin .
        !           434: .PP
        !           435: .B .ku
        !           436: .br
        !           437: Guarantees this package will not be moved by any automatic process.
        !           438: .PP
        !           439: .B .v
        !           440: .I number name
        !           441: .br
        !           442: Define Voltage and Ground special signals.
        !           443: The special signals are numbered consecutively from zero to five.
        !           444: The arguments are
        !           445: the special signal
        !           446: .I number
        !           447: and the signal
        !           448: .I name
        !           449: to which it corresponds.
        !           450: .PP
        !           451: .B .vb
        !           452: .RI { pin
        !           453: .IR coord }
        !           454: .br
        !           455: Special signal pin positions.
        !           456: One or more
        !           457: .B .vb
        !           458: commands following a
        !           459: .B .v
        !           460: command gives the list of pins
        !           461: and their positions on the circuit board.
        !           462: The pins should be numbered consecutively from one.
        !           463: .PP
        !           464: .B .vd
        !           465: .I number
        !           466: .br
        !           467: Specifies the drill type for following
        !           468: .B .vb
        !           469: commands.
        !           470: There can be multiple
        !           471: .B .vd
        !           472: commands.
        !           473: The types are as descibed for \f3.kd\fP.
        !           474: .PP
        !           475: .B .C
        !           476: .I name coord orientation flags
        !           477: .br
        !           478: Specifies the position and orientation for the chip
        !           479: .IR name .
        !           480: The orientation is the number of right angles clockwise to
        !           481: rotate the package.
        !           482: The meaning of
        !           483: .I flags
        !           484: can be found in
        !           485: .IR /usr/include/cdl.h ;
        !           486: it should be initialised to zero.
        !           487: .PP
        !           488: .B .P
        !           489: .I coord lx ly spacing diam
        !           490: .br
        !           491: Define a rectangular array of pin-holes with diameter of
        !           492: .IR diam .
        !           493: The lower left corner of the rectangle is
        !           494: .IR coord ,
        !           495: and the width and height are
        !           496: .I lx,ly
        !           497: respectively.
        !           498: The pins are placed
        !           499: .I spacing
        !           500: apart.
        !           501: If
        !           502: .I spacing
        !           503: is of the form
        !           504: .IR sx / sy ,
        !           505: the spacings in the
        !           506: .IR x and y
        !           507: directions are set independently.
        !           508: .PP
        !           509: .B .R
        !           510: .I coord lx ly type
        !           511: .br
        !           512: Define a special rectangular region.
        !           513: Type 
        !           514: .B .A
        !           515: defines a region that will not be used by the
        !           516: automatic placement algorithm.
        !           517: .PP
        !           518: .B .W
        !           519: .I chip1 pin1 chip2 pin2 net
        !           520: .br
        !           521: Define a wire link between
        !           522: .I pin1
        !           523: of
        !           524: .I chip1
        !           525: and
        !           526: .I pin2
        !           527: of
        !           528: .IR chip2 .
        !           529: The net name is
        !           530: .IR net .
        !           531: .sp 2
        !           532: A line with any undefined key causes most programs to halt.
        !           533: .SH SEE ALSO
        !           534: .IR cdm (10.1)

unix.superglobalmegacorp.com

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