Professional Documents
Culture Documents
The advantages of low cost, fast turnaround devices Detailed routing is normally done with a channel
referred to as master slices, uncommitted logic router (HASH71, DEU76) employing a constraint breaking
arrays or gate arrays are well known and documented procedure either prior to or during the routing
(TANSl, RAMSO, HIGHSO). process. Again a variety of methods for handling
vertical constraints have been suggested (WAD81,
Several gate arrays ranging from in size 360 to 1400 YOUSl).
array cells and in cell complexity from 3 to 13 tran-
sistors were being designed at different chip design Our problem was to put together a system which util-
centers within Sperry Univac when the CGAL development ized these basic Components to handle a wide variety
was begun. It was apparent that an automated layout of applications. Examination of these applications
system was required which: indicated that pin accessability, routing constraints
and electrical rule constraints would become major
I) Interfaced with the existing CAD systems obstacles. In addition to the basic Components of
placement and routing, an effective language for
2) Could accomodate different chip technologies and describing the design was essential to a general
cell topologies (initial designs using CMOS, purpose system. Two areas for design description
Schottky TTL and IOK ECL were in progress) existed: I) the physical characteristics of the chip;
2) the logic design of the function(s) to be imple-
3) Permitted both high and low volume applications mented on the chip. Typically the first of these is
done by a chip designer and defines the character-
4) Offered possible extensions to larger applications istics and design rules common to all utilizations of
the chip. The second consists of the circuits and
5) Provided flexibility in the logic design interface their interrelationships along with some application
area to accomodate the varying design practices in specific design constraints (e.g.~ clocking rules,
use at Sperry. critical paths, preplaced circuits). We found it
useful to define two types of interrelationships to
The CGAL system was developed to interface cleanly exist between circuits, one of connectivity~ the
with the Sperry Univac Computer Aided Design (UCAD) second of hierarchy. Both of these can be constrained
System, thus assuring access to logic simulation, and valued by the logic designer.
test list generation, timing analysis, higher level
logical and physical design tools, hierarchical data DEFINITION AND MODEL
base and documentation aids. Calma and Applicon
systems were already in use for gate array cell design A circuit is an electrical device which performs a
and custom IC design on a limited basis. These logical function. A cell represents the design
systems offered a straightforward pattern mask gener- primitive used in CGAL. It consists of a defined set
ation capability and an interactive graphic tool for of electrical components which may be interconnected
manual completion of routes or engineering changes to form a circuit. The options available in inter-
should they be necessary. CGAL was therefore provided connections are termed metal options. Cell complexity
with an output in CALMA GDSII stream format which
CACELL i ]
,', ,-, ,-, i t C
R
e
i o 1
i w
TTL CA CELL CMOS CELL
Figure 1
C
R
In a gate array structure, or CGAL chip, the cells are e
prelocated on the chip surface in a regular array. 1 °2
There are three major types of cells: internal, i w
external, and I/O pad. The internal cells comprise
the internal area of the chip and are used for the
majority of the logic design. External cells are I/0
buffers which are primarily used for interfacing with
I/O pads. I/O pads are used for connections that
leave the chip. A model of the chip is shown in
Figure 2.
SgODDDDDDD/° PADS
C Y E ~
Column 1
,, ,~, R
EXTERNAL CELLS O
~PC
D I I I ll"[Ei'c
LLS- O SIA ,,. R
o
D L coL° - O
8-input nand
I-I-S l l l l l l l I L
• ,\
lO Logic Representation (T2L GA)
Figure 3 Figure 4
0., iii iii lilRT _O A book is the specific definition of cell utilization
Columns are non-overlapping vertical regions of cells. Pins are the contact points for interconnections. A
There are four types of columns: (I) columns of cells pin can be ultimately mapped to an input or output of
which define placement cell sites when used with rows, the book and has appropriate electrical characteris-
Paper 44.3
793
NUMBER OF
NUMBER NUMBER OF TRACKS
TOTAL NUMBE R OF OF TRANS IS- NIJMI',ER AVAILABLE NUMBER
GATE CIlIP NUMBER OF GA'I'ES TOTAL EQU[- BASIC TORS OF FOR ROUTING OF TOTAL
ARRAY SIZE TRACKS IN'rER- VALENT CATE PER BASIC CIIANNELS PER CEL|~ SIGNAL
TYPIC MILS I[ORZ VERT NAL [/C GATES GATES TYPE CELL VERT: IIORZ IIORZ' VERT 'PINS PINS
TTL 235X 578 414 816 204 1020 1020 4 5 28 37 85 115 116 137
(Schottky 235 INPUT
GA) NAND
ECL 236X 656 465 360 60 420 1260 SERIE! 13 20 13 9 15 116 132
240 GATED
I. Does not include book metal which extends into the horizontal channel or which blocks vertical
tracks running over the cell.
2. Represents average number of feedthroughs available per cell.
3. The number of equivalent gates on the ECL and TTL chips can be increased through
emitter/collector dotting of outputs.
Tab le I
tics associated with it. (e.g,, capacitance, drive pads themselves can be accessed only on second layer
capability, gate delay). A net is a set of pins to be when used to drive off chip and in a completely
physically interconnected. different routing channel when used to drive gates on
the chip. All of this activity on the chip periphery
A macro is a high level design representation of a when coupled with constrained pin access due to power
group of logic circuits. It allows the logic designer bussing combines to creat~ significant routing
to take a hierarchical approach to his design. A problems. Both of the b i-polar devices have single
macro is physically realized as a set of books placed layer routing areas on the chip periphery as a result
and interconnected by the software. A common example of the fixed power bus routing.
is a latch made up of 4 input hand gates. The user
can constrain a macro by specifying the half perimeter
of a rectangle enclosing its placed books.
Paper 44.3
794
Once in the CALMA system, graphical editing can be
exercised and a pattern mask type can be written.
However, prior to the creation of a pattern tape a
checking program, LSICHECKS, is run. This program
verifies that the original design input as represented
in the logic equation file is accurately reflected in
the CALMA Data Base. Also checked are design rules to
insure no errors have been introduced during the
layout/routing/editing process. A final output of the
checking program is updates to the logic equation file
containing chip pins and net metal by layer. This
data is used by P.C. layout, timing analysis, and test
list generation programs.
OPERATIONAL MODULES
Control Module
Paper 44.3
795
and maintain checking services, as well as providing gates as well as external signals. The linear
an off line compiler. The data base refers to a reassignment of I/O buffers was found to be parti-
collection of all project information pertaining to cularly useful for logic designs using a low percentage
the definition of the project hardware design. Thus of the I/O pads provided on the gate array.
while each design has its own independent data base,
portions of it are shared with other designs. Cluster placement begins by initially locating the
Throughout the CGAL system the common data base is clusters on the gate array by a process similar to
maintained via mass storage devices. The co~muon data the pair linking approach (HAN72). Analysis of
base structure has been an essential link to provi- wiring density at evenly spaced vertical and hori-
ding a flexible environment for the development of zontal cut lines is done and using an iterative
both algorithmic and user interface modules within procedure (BREU77) an attempt is made to reduce the
the CGAL system. congestion at the most dense areas.
The data base itself consists of tables (defined Decomposition first performs an initial mapping of
global to the system) which are maintained and books to cells. Then the min-cut procedure is used
controlled via load and store service routines. on the clusters to distribute the wiring within
These routines will upon request from a specific cluster boundaries.
module, load and/or restore selected tables in a
designated area. The placement improvement phase is based on a Force
Directed Interchange procedure. Each swap is eval-
The data base allows the user to retain numerous uated on the basis of a composite function which
Design and Route Segment files within the system as considers the effect on wiring length, the electri-
separate elements of the same logic name but different cal rules, and critical net identifications. To
version names. This allows the user to attempt several reduce run time, this procedure uses several netting
experimental layouts then select the preferred layout. methods with more precise schemes being used in the
Because the Design and Route Segment files exist with- later passes. Periodic reassignment of I/O signals
in the UNIVAC ~ II00 as symbolic elements they can to pads is done to reflect the changes in the place-
be easily modified using the standard Ii00 System Edit ment of the I/O buffers. The process terminates with
processors. The user has the flexibility to shape the a pass in which all the pins on the internal gates
output of his design by weighting nets, manually are reassigned to reduce wire crossovers in routing.
placing circuits, pre-assigning pins, applying differ- User parameters to bias nets on the basis of number
ent wiring rules to nets, pre-grouping circuits for of iterations and the size of target neighborhoods
clustering and adding discretes. Similarly the Route are available to handle different designs and tech-
Segment File tan be modified to complete or change a nologies.
connection path. The CGAL system creates updated
versions of these files upon user request. Routin~ Module
The source languages used in CGAL for the Design, The Router consists of submodules which perform
Route Segment and Library files use a common format. global routing, vertical track assignment, horizontal
Each file consists of sections which consist of a set track routing, clean up and maze routing. A router
of statements. These statements describe the data by environment provides a data base for all information
means of fields, sub-fields and segments of sub-fields. used by the various routing tasks. This router
The language allows for repeatable, as well as multi- environment, consisting of netting descriptions
ple expressions of the statement elements. The co,~mon required for each task and physical blockage lists
language has proven to be very effective for user accessible by rectangular area provides a common set
training. of routines for determining where routing is permitted
and recording routes once made.
Placement Module
Global Routin~. Global routing is initiated by
As in (PAT71) the placement module consists of four dividing the chip into a matrix of global cells which
major activities: (i) Partitioning (2) Cluster correspond to the grid formed by the rows and columms.
Placement (3) Decomposition (4) Placement Improve- The cell area defines the location of a set of global
ment. points while the cell edges represent a set of routing
paths. There fore each cell edge is assigned a value
To satisfy the twin criteria of wireability and net representing the routing supply. This model closely
length, each of these activities is divided into two resembles the model described in (CHEN77). The edge
phases. In the first phase, an initial constructive supply can be discounted by user parameter to allow
solution is obtained based on the objective of minimum for more accurate modelling of cell routing density.
length. In the second phase an iterative loop is The supply across horizontal edges is generally set to
entered during which an effort is made to achieve a 100% of the actual supply, however it is set at B0%-
more uniform wiring distribution. During parti- 90% of the actual supply across vertical edges. This
tioning, an initial constructive solution is obtained is to compensate for intra cell connections and
using the cluster development method (HAN72). The horizontal jogs introduced in vertical track assign-
technique is augmented by the use of macros as pre- ment. The global routing will determine the inter-
partitioned cluster seeds. This portion of parti- connection path for all global cell to cell routes,
tioning is skipped when the input data contains ignoring all internal cell connections. Each signal
complete partitions provided by the logic designer. set is netted in the form of a Steiner tree (HAN66),
In the iterative loop, wireability is attacked indi- ignoring cell e~ge supplies. The cell edge crossings
rectly by attempting to achieve balanced cluster are now examined for overflows where demand exceeds
sizes; removing circuits from oversized clusters and supply. For each edge containing an overflow~ the
reassigning them with a linear assignment technique transfer of net segments to other edges will occur.
until all the clusters are roughly equal in size. This is done one net at a time, by scoring and order-
Circuits which are members of constrained macros are ing the nets according to the number of overflows per
not candidates for reassignment. Separate linear net, length and a measure of net criticalness. The
assignments of internal gates to clusters and to I/O net is reconstructed to reduce overflows by moving net
buffers insures a uniform distribution of internal segments. This process continues until no overflows
Paper 44.3
796
exist or no improvements can be made. The new global Report Module
points created during netting are translated into
channel points with channel locations, and the net In addition to the output generated by the various
segments are assigned to channels according to the modules of CGAL, the user is provided with hard copy
global routing. This creates a set of channels with a reports of the layout results at various stages of
set of points to connect permitting subsequent routing the design implementation. Two types of printer
to be done a channel at a time. reports are generated; summary reports which convey
chip profile information and violation reports which
Results after global routing can be used to evaluate identify design rule violations and provide data for
and predict the routability of the design without dealing with them.
further processing. In cases where multiple place-
ments have been created the global router is an The report module runs off the consnon data base and
effective tool for selecting which one should be has the f o l l ~ i n g attributes.
routed to completion.
I) can be individually requested by user.
Vertical Track Assignment. This phase of routing
defines the X coordinate entry points into the hori- 2) can be easily modified or added to according to
zontal channels for wire segments within a vertical the users needs.
channel. This includes both pin nodes and vertical
segments passing through a horizontal channel. The 3) provides the pertinent information in a self-
basic approach follows the process used in (CHEN77). sufficient form eliminating the need to refer to
A cost matrix is created with each vertical segment other documents.
and node assigned a cost for assignment to each
vertical track in the channel. Munkres (HAN72) linear When dealing with multiple projects and technologies
assignment method is then applied. the support problems can be quite extensive especially
in the area of project specific rules and constraints.
Costs are based on assuring pin access to the hori- Our ability to generate effective reports on short
zontal channel, minimizing the introduction of new notice has enabled the user to maintain production
horizontal segments and the length of existing ones. schedules through the manual intervention opportu-
Special problems were encountered in dealing with nities in the CGAL system. It has also kept ill
stacked pin situations where two or more pins share advised project specific algorithmic modifications
an X coordinate. The use of alternate pins is modeled to a minimum.
into the cost function, however, in some cell pin
configurations it is necessary that two signals be Summary reports include routing sunn~ary~ cell utili-
assigned the same X coordinate with access on differ- zation, pin usage, net length analysis, placement
ent layers. In addition there are occasions where maps, and circuit types used. Examples of error
vertical connections can be made totally within the reports include an analysis of voltage drop involving
cell area. The accessability of a pin is considered determination of current flow in all net branches.
in the cost function to permit pins on the cell edge Also available are reports on net delay violations
to be left for assignment by an overflow processor and for the ~ technology, latch macro delay viola-
in stacked pin conflicts. Assignment proceeds on a tions. Values which define a violation are contained
row by row basis through a vertical channel beginning in the CGAL library file as part of the design rules
at either the bottom or top of the channel. or electrical characteristics of the book.
Horizontal Track Router. The horizontal track router CGAL also provides output reports in the form of
determines the detailed assignment of nets to tracks precision color graphics plots. A Xyneties Large
in the horizontal and external vertical channels. Area Flatbed plotter is used to verify the CGAL
The line-packing scheme used is the Dogleg Routing library input data. For manual route completion, a
technique (DEU76). An e f f o r t i s made t o r e d u c e route master is generated along with a plot of all
constraints so that the routing can be completed near routing and connections still to be made. This can
channel density. A short vertical segment is intro- be marked up, then used to enter the data into the
d u c e d at non-critical density positions to break Route Segment file.
cyclic and chain constraints. Segments requiring
first layer access are given priority for "the tracks A final output reporting form is to a color graphics
nearest the channel edges. terminal. A Chromatics terminal is presently being
used and the output available is essentially the same
Maze Router. The maze router is used to complete as is available on the Xynetics. An interactive
wires left following the track routers. The primary relationship is planned for future extensions.
set of wires left are those on the chip periphery in
areas where only one layer of metal is available for Output Module
routing. However, wires are also routed by the maze
router in areas of poor pin access and unresolved This module is responsible for transferring the
constraints in the internal array. The maze routing results of layout and routing to the Calma system for
technique is an implementation of a directed wave merges with common data and pattern mask generation.
front router (SOU78) with multiple start and destin- The Calma Graphic System contains the bulk of the
ations allowed. Two passes are made with a larger information required to describe the mask generation
routing window and relaxed orthogonality constraints data for a specific chip. The graphical data base
on the second pass. output (CGAL's contribution to the pattern generation)
is a description of the layout and routing results in
Cleanup Routin~. The cleanup routine removes unnec- a format (GDSII Stream format) which can be read by
essary vias by moving a portion of a route to another the CALMA Graphics System.
layer. This is done following track routing.
Following maze routing the cleanup routine is again CGAL System output to CALMA consists of four major
invoked to remove extra vias and metal made unnec- sections. The first section establishes the CALMA
essary by the maze router. environment (providing a CALMA library name, CALMA
reference library names, CALMA "FONT" reference
Paper 44.3
797
library names, and the CALMA units descriptions). connections of book metal. These factors dis-
The second section establishes the selection, place- courage speculation about the CMOS performance
ment, and orientation of all the CALMA cell reference until more parts are run.
names (the cells have previously been established
within the CALMA data base and contain all pertinent c. Manuel route completion is typically done through
information regarding the cell such as metal the CGAL system files and requires ½ day to
descriptors, layers, pin numbers, etc.). The third manually route and ½ day to enter and check the
section contains the placement and data for textual results with the program.
information (each unique circuit name described
within the particular design/layout). The fourth d. The TTL #2 part differs from the TTL #I part in
section contains the actual routing descriptors and that the upper ~ of the chip area is devoted to
"VIA's" as established within the Routed Segment file a special bus interface circuit. This is modelled
(contains layer, datatype, pathtype, metal width, and as a set of preplaced 'super' hooks in the CGAL
coordinates for each segment as well as "via" CALMA files and no special software is required to
library references and locations). handle it.
The CGAL system is presently in production use. A CGAL has several areas where performance improve-
staff of design automation technicians run the pro- ments have been identified. From the user view-
grams and interact with the logic designers in a point, an expansion of the Chromatie~ interface to
production environment. A two week turnaround is the include interactive processing would make the
present average time from logic design input to system more independent of the CALMAwithout a loss
pattern tape. An initial capability of three chips in graphical capability. The algorithm being used
per week was experienced, subsequently it improved in the placement of the I/0 buffers is being
to better than one per day as project interfaces and reevaluated in light of the TTL routing results.
system familiarity improved. Training on the system The more severe stacked pin situations on the ECL
progressed smoothly and once a technology is estab- chip still result in some internal array routing
lished, new users of the system, whether technicians failures. The maze router has proven to be a good
or logic designers, have been able to obtain good final routing tool for both internal array failures
layouts in just a few weeks. The manual effort and periphery problems, but a better ordering is
involves dealing with unrouted connections, timing needed in conjunction with an I/0 PAD swapping to
constraints and physical constraints. Depending on produce optimal results.
the severity of the problem the user reaction can
Although 100% routing has not been regularly achieved,
range from weighting error nets and rerunning all or
the application of a collection of fairly standard
portions of placement to manually inserting extra
techniques in CGAL to different gate array technol~
metal on a net to balance clock skew or lower IR drop.
ogies has been a success. The CGAL system tools have
enabled users to handle problems in a cost effective,
TECHNOLOGY TTL #I TTL #2 CMOS ECL semi-automated mode. CGAL was designed using a
modular, structured approach to software development.
TOTAL NETS 761 588 480 483 This design with its common data base and independent
INTERNAL CELLS 816 600 1296 360 modules has allowed modifications and enhancements
USED CELLS 800 534 1239 347 to occur in a stable environment. The problem areas
I/O PADS i16 112 80 116 previously noted and those which will arise in future
I/O PADS USED 112 106 80 i01 gate array technologies can be handled by this system
TOTAL SEGMENTS 1872 1379 1119 1353 using the manual tools to permit production to con-
ROUTED SEGMENTS 1864 1368 1098 1347 tinue ~ i l e automated techniques are developed.
PERCENT ROUTED 99.57 99.2 98.12 99.55
CONCLUSION
Tab le II
A system for gate array layout has been presented
Results on four chips, each a different type, are which is in use on several different technologies.
displayed in TABLE II. These represent fairly dense The technologies offer diverse approaches to cell
chips ranging from 89% to 98% cell occupancy. topology, cell complexity, pin accessability, I/O
Segments are used to measure route completion connec- buffer procedures and routing constraints. The
tion and are defined system languages-pe~nit descriptions of constraints
unique to the different design uses and technologies.
n The system performance is adequate with routing
S = Z (Pi-l) failures occurring primarily in the chip periphery
i=l and tools for manual completion sufficient for meeting
production needs.
where S is the number of segments, n is the number of
nets and P. is the number of pins in net i. ACKNOWLEDGEMENTS
l
Several points should be noted about the results. The design and the development of the CGAL system
owes thanks to many individuals and organizations.
a. I/O buffer pin access and planar routing failures Terry Arntzen, Shubhada Nerurkar and John Dellwo all
on the two TTL and t h e ECL chips account for 50 contributed to software development and installation.
to 100% of the unroutes. The Research and Technical Planning, General Systems
Division CAD and Defense Systems Division CAD groups
b. Only one design is using the CMOS technology at
all contributed to the ultimate product. Jean Moen
this time. The logic design was unusual in that
typed and assembled the paper.
over 75% of the chip area was occupied by j-k
flip flop books similar to that in Figure 5.
These large books combined a low pin/cell density
with a large number of pre-routed in-channel
Paper 44.3
798
The authors would like to extend a special acknow- HASH71 A Haslmoto and J. Stevens, "Wire Routing by
ledgment of Mike Pluimer and Dr. Ash Patel for their Optimizing Channel Assignment within Large
efforts in the original design and subsequent consul- Apertures," Proc Sth Design Automation
tation on the detail design of the system. Workshop, pp. 155-169, 1971
Paper 44.3
799
ECL GA
Figure 7
Paper 44.3
800
TTL GA
Figure 8
Paper 44.3
801