Computer Aids for VLSI Design
Steven M. Rubin
Copyright © 1994

Chapter 4: Synthesis Tools

Prev
Section 4 of 7
Next

4.4 Cells and Their Environment

The next class of synthesis tools deals with the general environment of cells. These tools do not concern themselves with explicit layout, but rather ensure that the layout is properly used. Included in this category are alignment and pitch matching tools.



4.4.1 Alignment and Pitch Matching

When completed cells are placed together to form a circuit, there are two ways that they can connect: implicitly by abutting with composition rules or explicitly by connection rules. Abutment presupposes that the contents of the cells are precisely designed so that their mere presence near each other forms connecting wires. This has the advantage that less space is wasted between the cells because no complex routing of wires is needed. The disadvantage is that some space may be lost inside the cells in order to get the wires to the right place. This process of properly aligning wires for external connection is part of pitch matching.

Pitch matching is actually the stretching and shrinking of cells so that their bounding boxes line up. For example, if a multibit parallel subtraction unit is to be built from negation and addition cells, the aspect ratio of the two cells should be pitch matched so that both have the same height (or width, depending on how they are stacked). Since addition is more complex than negation, the negation unit will probably have to be stretched in order to pitch match. It is also necessary to know all of the connections into and out of each cell in order to do this properly.

Pitch matching can be done in a number of ways. The manual method requires that the most complex cell be designed first so that the largest dimensions are established. Subsequent cell layout will start with a fixed width or height according to the way in which the cells adjoin. The order of cell design will depend heavily on the floor-plan of the chip, with each newly designed cell obeying the dimension rules along one axis and forming new dimensions along the other axis for subsequent cells. The pitfall is obvious: Any single change can destroy all this careful planning and require redesign of major portions of the chip. The advantage of all this manual effort is that each newly designed cell that must meet one dimension can be optimized in the other.

Automatic pitch matching requires not only that the design system know the location of all connection points, but also that it understand how to stretch the layout between these points. One way this can be done is by designing on a stretchable or virtual grid [Weste]. Layout done in this style must acknowledge wires as special stretchable entities that can be adjusted within their particular design rules. Typically, only Manhattan wires can be used, since cells have rectangular shape and must stretch along these axes.

When stretchable wires are explicitly known to the design system, pitch matching of two cells is simple, since the connection points and cell edges can be adjusted to the greatest common spacings. In order to achieve space savings, the layout that results from these two matched cells can be compacted together (see Fig. 4.17). This will reduce each individual cell to its smallest layout within the limitations of its connection constraints. If the compaction is good, there will not be much wasted space in either cell.
Fig 4.17
FIGURE 4.17 Pitch matching and alignment: (a) Initial layout (b) Pitch matched and aligned (2-to-3 on A stretched; 3-to-4 on B stretched) (c) Overall layout compacted.

The advantage of automatic alignment and pitch matching is that changes to the design can be handled easily. The disadvantage is that fine-tuning of area consumption cannot be done. However, given better tools for compaction and floor-planning, more efficient fabrication processes, and ever more complex designs, automatic techniques become very attractive.


Prev Previous     Contents Table of Contents     Next Next    
Steven M. Rubin
    Static Free Software