Annotation of researchv10dc/man/man10/cdl.10.5, revision 1.1.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.