Manual Page Result
0
Command: cdl.10 | Section: 10 | Source: UNIX v10 | File: cdl.10.5
CDL(10.5) CDL(10.5)
NAME
cdl - circuit description language
DESCRIPTION
The circuit descriptions used by the various design aid programs are
expressed in dialects of the circuit design language described below.
A complete description consists of two parts; an electrical circuit
with chips, pins and connecting signals, and a physical layout with
pins and chip positions. The commands described below are recommended;
others exist and may work but are regarded as obsolete.
LOGICAL DESIGN
A circuit consists of chips connected by signals. The point of connec-
tion is denoted by a pin. Each chip has a type which describes its
logical and electrical characteristics. (For example, 74S181 is a chip
type.)
Types, signals and chips are identified by name. Pins are identified
by name and number. A name is a string of letters, digits or any of
the characters +-. $ /:<=>[]_. Sometimes, the first character may not
be a digit. A name may not be longer than 16 characters.
In the following description, literals appear as bold, whereas names
are in italic. [ ] enclose an optional item and a list of items is
written
{item}
Commands are separated by either newline or semi-colon. A comment
starts with a % and ends with a newline and may appear on any line.
All white space serves only to separate tokens.
General
.p number
Specifies the page number for subsequent input.
.f [ file ]
Subsequent input originated in file. If file is not present, the pre-
vious file name is restored.
.q
End of file.
Signal Description
signal [ pin-number ] [ [ , ] pin-name ]
name = signal
Lines that do not start with a period are signal definition lines.
Signal definitions refer to the most recent .c command, the pin name
and number refers to the chip.
Circuit Description
.c name [ [ , ] type ]
.o name [ [ , ] type ]
Instantiates a chip name, of type type. This is typically used for I/O
connectors. The command may occur more than once. The type of a chip
need only be specified once in a circuit description. Signal descrip-
tions that follow a .c or .o command refer to pins on the chip.
.c name = chip
chip must be previously defined and name is a synonym for chip.
.m name1 name2
Macro parameter definition. The signal name1 is to be associated with
macro parameter name2.
.h signal
Hand wired signal. The argument is the name of a signal that will be
ignored by an automatic wiring program.
Chip Type Description
.t name package [pin] ...
Define a chip type name. The name of the package in which it is in-
stalled, and pin numbers, pin, for the special signal connections are
specified. The special voltage pin numbers, if present, must be in the
same sequence with which the special signals are numbered. This usage
is discouraged; use the .t[tT] commands described below. (See .v com-
mand.) All commands of the form ".t?" are meant to follow a .t line.
.t name = type
name is a synonym for type.
.tt sequence_of_single_character_pin_descriptors
The number of characters must equal the numbers of pins on this type.
The meaning of the descriptors is given in wcheck.
.tT sequence_of_single_character_pin_descriptors
This means the same as the equivalent .tt command except that every
[gvwxyz] pin must have a corresponding .vb pin.
.ta pin1 ... pin2 ...
pin1 ... is the set of address pins, in order, such that the most sig-
nificant address bit appears first in the list. pin2 ... is the set
of output pins.
.td delay pin1 ... - pin2 ...
The propagation delay (conventionally in nanoseconds) from inputs pin1
... to outputs pin2 ... is given.
.ti hi lo pin ...
The input (or output) current range for the set of pins is given by hi
and lo. Current is conventionally expressed in milliamperes.
.tp name number ...
The given pin name is associated with the pin number. Name may contain
generators such as Q[0-7] which cause pin names Q0 ... Q7 to be as-
signed to the pin numbers given. Multiple bracket constructs may be
used. In any case, the resulting list is lexicographically sorted be-
fore assigning to pin numbers.
.ts setup pin ...
Specifies the setup time required by the device at the pins given.
.tw c1 c2
c1 is the average current drawn by the device in milliamperes and c2 is
the maximum. Both are specified as floating point numbers.
PHYSICAL DESIGN
The physical design consists of a board containing pin-holes. The de-
scription details the positions of the pin-holes and the position and
orientation of the chips. No special case is made of I/O connectors;
they are best considered as unmoveable packages. The description is
divided into two files; details can be found in board(7).
The coordinate system for the board is with x increasing to the right
and y increasing upwards. The origin is at the lower left corner;
thus, no coordinate should ever be negative. The circuit board and
components mounted on it are described as rectangles. They are posi-
tioned so that their sides are parallel to one or other of the axes
used to describe circuit board geometry. Measurements are expressed in
units of 1/100 of an inch. All are integers and have no explicit deci-
mal point. Coordinates are expressed as pairs of integers separated by
`/' with the x coordinate appearing first. All rectangular regions are
half open; the upper and right edges are outside the rectangle.
It is sometimes necessary to provide a list of coordinates. Invariably
each coordinate is associated with a numbered item (say, a pin number).
A one item list consists of the item number followed by its coordinates
as in
28 170/250
A series of equally spaced and consecutively numbered items can be de-
scribed by giving the first and last item descriptions and separating
the two with `-' as in
28 170/250 - 30 190/200
(item number 29 appears at position 180/225). If the item numbers are
equally spaced but not consecutive a step size can follow the `-' as in
12 200/700 -9 147 200/100
(which describes the positions of items numbered 12, 21, 30 etc.).
Board Description
.B string
The board name is set to string.
.A coord coord coord coord
The points used in board alignment are coord , coord , coord , coord .
.K name pmin pmax ox oy cx cy
Define a package name with a bounding rectangle with lower left corner
(ox,oy) and upper right corner (cx,cy) as values relative to pin pmin
of the package. The package has pins numbered from pmin to pmax inclu-
sive; expect trouble if pmin is not zero or one. Placement of a pack-
age involves both its pins and rectangle. The rectangle must not in-
tersect any other placed package, and there must be a pin-hole for each
of the pins.
.ka anything
After skipping white space the rest of the line is stored as an artwork
reference.
.kd letter
Specifies the drill type for following .kp commands. There can be mul-
tiple .kd commands per package. Currently recognized drill types are
found in /usr/jhc/pins/drills.
.kp {pin coord}
One or more .kp commands following a .k command gives the list of pins
and their coordinates relative to pin pmin.
.ku
Guarantees this package will not be moved by any automatic process.
.v number name
Define Voltage and Ground special signals. The special signals are
numbered consecutively from zero to five. The arguments are the spe-
cial signal number and the signal name to which it corresponds.
.vb {pin coord}
Special signal pin positions. One or more .vb commands following a .v
command gives the list of pins and their positions on the circuit
board. The pins should be numbered consecutively from one.
.vd number
Specifies the drill type for following .vb commands. There can be mul-
tiple .vd commands. The types are as descibed for .kd.
.C name coord orientation flags
Specifies the position and orientation for the chip name. The orienta-
tion is the number of right angles clockwise to rotate the package.
The meaning of flags can be found in /usr/include/cdl.h; it should be
initialised to zero.
.P coord lx ly spacing diam
Define a rectangular array of pin-holes with diameter of diam. The
lower left corner of the rectangle is coord, and the width and height
are lx,ly respectively. The pins are placed spacing apart. If spacing
is of the form sx/sy, the spacings in the xandy directions are set in-
dependently.
.R coord lx ly type
Define a special rectangular region. Type .A defines a region that
will not be used by the automatic placement algorithm.
.W chip1 pin1 chip2 pin2 net
Define a wire link between pin1 of chip1 and pin2 of chip2. The net
name is net.
A line with any undefined key causes most programs to halt.
SEE ALSO
cdm(10.1)
obsolete) UCDS(almost CDL(10.5)