You are on page 1of 4

Efficient standard cell abutment checker

Juang-Ying Chueh Chuck Tung


Design Methodology Standard Cell
Advanced Micro Devices, INC Advanced Micro Devices, INC
Sunnyvale, CA Boxborough, MA
jchueh@umich.edu Chuck.tung@amd.com
Abstract— An efficient and exhaustive standard-cell abutment step in Fig. 1. However, this exhaustive method requires huge
verification tool is developed to ensure 100% layout verification amount of time, computation and disk space. Some research [1]
coverage of design rule check (DRC) on boundaries created by eliminates the abutment effect by reordering filler cells and
standard-cell abutment during placement, Vt swap and ECO inserting fillers between standard cells. However, if there is
(engineering change orders). Several case-reduction techniques not enough space for filler cell insertion, additional fillers
are presented to remove the redundancy of duplicate abutment. would grow chip area. The other practice is half spacing rule
This methodology can achieve one order-of-magnitude [2] which enforces wire connections stay at least half
reductions in the test area to exercise all boundaries created by
minimum spacing requirement from the standard cell
all placement permutations in standard cell libraries.
boundary. When two standard cells are placed next to each
other, at least one minimum spacing will be created to prevent
I. INTRODUCTION
DRC violation. However, the DRC rules are getting even
In application-specific integrated chip (ASIC) design flow, more complicated in deep sub-micro processes. Half spacing
standard cells are extensively used from synthesis, placement rule won’t be able to prevent complicated cases, such as
and route, Vt swap and ECO. There are several different views different spacing rules for different wire widths. This article
delivered in standard cell libraries, ex: .lib, .lef, .gds, .v, for doesn’t rely on filler or half spacing rule but develops an
different tools in the ASIC design flow. This paper focuses on efficient placement tool used in standard cell abutment
physical view of standard cell and presents a standard cell checker which eliminates redundant cases and maintains
abutment checker tool to generate a test case to exercise all 100% coverage of all standard cell abutment topologies. In
potential boundaries created by standard cell placement addition, over the course of chip design, new standard cells
permutation during quality assessment (QA). The DRC then with new functionality/layout are developed. It is important to
can be performed upon the test case to ensure that the standard have new cells gone through abutment checker efficiently to
cells can be placed against each other in the library without ensure no DRC violation would be incurred from new cell
causing DRC violations. Fig. 1 illustrates the steps when the introduction.
physical views of standard cell are used and DRC is
performed. If a DRC violation is flagged due to routing, it can DRC pass
easily be resolved by re-routing. On the other hand, if a DRC
Standard pass pass pass
error is flagged because of cell abutment, the fix might be Standard
Cell Tape-
involved with inserting space between offending cells or Cell Vt
redesigning the offending cells. Sometimes, the modification
Abutment P&R ECO out
Library
Checker swap
might be low effort by shifting/shrinking metal wires.
Sometimes, the modification might results in area growth and Fail due to abutment Fail due to routing Fail due to routing
timing change which imposes more impact in overall design.
What makes it worse is when the abutment violation is Figure 1. Physical design steps in ASIC design flow
discovered in much later design stages, such as Vt swap and II. STANDARD CELL PLACEMENT
ECO, it will cause delay on tapeout schedule and/or area
penalty. One thing to note in Fig. 1 is Vt swap step is usually Fig.2 illustrates the different abutting edges and corners
not involved with any routing change because different Vt condition of two single-height standard-cell placement. The
cells always have the same footprint except Vt implant. gray block is the cell under test--“target cell” with white block
However, the DRC violation during Vt swap would be mainly “test cells” placed around target cell in different orientation.
resulted from spacing violation between different Vt layers. The R0 orientation is the neutral orientation in which single-
height standard cells are conventionally designed with ground
The DRC violation occurs at the cell boundaries mainly (GND) at the bottom and supply (VDD) on the top. MX is a
because of insufficient distance of the layers such as metal, cell mirrored along the X-axis, i.e. flip upside down. In the
poly or diffusion from the boundary. One existing method to middle row of Fig. 2, two vertical abutting edges are created
check for standard cell safe abutment consists of abutting each by two standard cells: the left (L) edges of target cell abutting
cell in the library with all cells in every possible orientation the right (R’) edge of test cell and R edges of target cell
exhaustively as shown in the standard cell abutment checker abutting the R’ edge of test cell. With top row and bottom row

978-1-4799-2452-3/13/$31.00 ©2013 IEEE 847


of MX oriented test cells, additional horizontal abutting edges ensure any pair of cells in a standard cell library placed against
are created, top (T) edge of target cell abutting T’ edge of test each other, a systematical method is developed. Take a
cell and bottom(B) edge of target cell abutting B’ edges of test standard cell library of N cells for example:
cell. Because DRC is also performed on the diagonal direction,
First cell is paired with N other cell combination(including itself)
the dotted test cell is placed on the top left corner of target cell Second cell is paired with N-1 other cell combination
to exercise corner abutting condition. In addition to R0 and
MX orientation, standard cell can be placed in MY and R180 …
orientations, where MY is a cell mirrored along Y-axis, i.e. Second-to-last cell is paired only with the last cell, and itself
flip horizontally, and R180 is a cell rotated by 180 degree. Last cell needs only to be checked against itself
Standard cells are placed along predefined, interleaved,
horizontal VDD and GND rails during floorplanning as shown A A A A A A
in Fig. 2. Conventionally, the row VDD on the top and GND
at the bottom is defined as “even” row. The row GND on the CPP
B B B B B B
top and VDD at the bottom is defined as “odd” row. Therefore,
Figure 4. Six permutations of 4 CPP target cells on top of 3 CPP test cells.
single-height cell can be legally placed on even row in R0 and
MY orientations and on odd row in MX and R180 orientations. In addition to single-height cells, there are multiple-height
Because of VDD and GND rails laid horizontally across the cells in standard-cell library (ex: level shifters) to meet some
chip, R90 and R270 (rotated by 90 and 270 degree) cell timing or routing requirement. The methodologies for single-
orientations with vertical VDD/GND rails are not allowed. height cells can be extended to multiple-height cells. Without
GND T' loss of generality, this article focuses on single-to single-
R height cells.
Odd Row MX MX
180 T' T The total number of cell placement combinations grows
VDD
Even Row R0 R0 MY L' R0 R' L R0 R 'R exponentially with the total number of standard cells. More
GND
R
combinations yield more physical area and polygons which
B' B' B
Odd Row MX impacts the DRC verification run time.
180
VDD
III. CASE-REDUCTION TECHNIQUES
Figure 2 Single-height test cells placed around single-height target cell and
placement restriction of supply (VDD) and ground (GND) To manage the DRC verification run time efficiently,
various case-reduction techniques have been developed in this
Without loss of generality, two single-height cells are used article to eliminate the redundant combinations and reduce the
as example in Fig. 3 to explore all possible legal abutting verification run time. The reduction efficiency of each
edges and corner abutments by (1) place grey target cells in reduction technique is formulated.
both even row (2nd row from bottom) and odd row (5th row) target cells on even rows
in respective legal orientations: RO/MY in even row and MX R180 MX R180
MX/R180 in odd row and (2) place white test cells adjacent to R0 R0 MY R0 R0 MY MY MY
target cells in all legal orientations from 1st to 6th rows to target cells on odd rows
exercise left-right boundaries, top-bottom boundaries and R0 MY R0 MY
corner abutment. MX MX R180 MX MX R180 R180 R180

R0 R0 MY MY R0 R0
R180 MY MY
R180
Figure 5. Left-right boundary and corner abutment of single-to single-height
MX MX MX R180 MX R180 MX R180 MX R180 R180 R180 cell permutations.
target cells on even rows
R0 MY R0 MY
MX R180 MX R180
MX MX R180 R180 MX MX R180 R180
R0 R0 MY MY
R0 R0 R0 MY R0 MY R0 MY R0 MY MY MY 1 CPP target cells on odd rows
R0 MY R0 MY
MX R180 MX R180
MX MX R180 R180

Figure 3. Permutations to cover left-right boundaries, top-bottom boundaries


and corner abutments of target and test cell pair. Figure 6. Top-bottom boundary and horizontal alignment of single-to single-
height cells permutations.
For cells that are abutted on top of the others, every
possible horizontal alignment needs to be taken into account. In Fig. 3, the bottom row of instances can be removed
For example, cell A is 4 CPP (compact poly pitch, the because this situation is being tested in the top row of
minimum unit of horizontal shift of a standard cell) and cell B placement: abutment created by R0 target cell on top of MX
is 3 CPP. There are six different ways in which cell A are test cell is equal to the abutment created by R0 test cell on top
aligned on top of cell B as shown in Fig. 4. There is no of MX target cell. The permutations can be further broken
vertical alignment since standard cells are placed along the down into two sets: the left-right boundary and corner
predefined VSS and GND rails during floorplanning. abutment set in Fig. 5, and the top-bottom boundary and
horizontal alignment set in Fig. 6. Without loss of generality,
All possible placement permutations between two single- only the pattern of test and target cells with one overlapping
height standard cells are covered in above few paragraphs. To CPP is illustrated in Fig. 6. The pattern continues by shifting

848
one CPP in each set, until the test cell is no longer overlapped represents 1CPP width. The tool combines the cell pair with a
with the target cell (like the permutation example in Fig. 4). total 30-CPP width to exercise all horizontal alignments:
1) Left-right boundary and corner abutment AAAA AAAA AAAAAAAA AAAA AAAA
In Fig. 7, the boundary created by R0 target cell placed on BBB BBB BBBBBB BBB BBB
the left of MY test cell is the mirrored Y-axis version of
c-1 c-2 c-3c-4 c-5 c-6 ,where the first case (c-
boundary created by R0 test cell on the left of MY target cell.
Therefore, one of two boundaries is redundant and can be 1) starts from the right most portion of top target cell overlap
eliminated. left most portion of bottom test cell with 1 CPP. For the
following cases 2 to 6, bottom cell gradually shift left until
Through merging “the target cells in odd rows” and “target there is no overlap on the border between top and bottom cells.
cells on even rows” in Fig. 5 by removing the second row The above cases can be replaced by the single combination
from bottom, Fig. 5 can be reduced to the left configuration in with a total width of 12 CPP to cover all 6 cases:
Fig. 8 where the same left-right boundaries and corner
AAAAAAAAAAAA covers 111122223333 and 444455556666
abutment conditions are still maintained. The configurations
can be further simplified to the right configuration in Fig. 8 by BBBBBBBBBBBB 111222333 444555666 .
eliminating the redundant boundaries A’ and B’ which are the The same permutation also applies to 3-CPP target cell, 4-
mirror versions of A and B, respectively. The final CPP test cell when m < n. The number of cases to cover all
permutation shown in Fig. 8 can achieve area reduction of horizontal alignment is equal to m+n-1. (1)
4× 4(m+n)/3× (2m+3n) with a m CPP-wide target cell and a
n CPP-wide test cell. The top-row test cells are placed to test The original test case width required is m(m+n-1)+2(n-
the corner-to-corner combinations of target and test cell pairs. 1+1)(n-1)/2, where the first term covers ‘m-CPP width’ ×
‘number of cases in (1)’ and second term covers the
remaining CPPs of test cell not overlapping with target cell,
T 'T T' T like 2 CPP in c-1/c-6 and 1 CPP in c-2/c-5. The
equation eventually turns to m^2+mn+n^2-m-n. (2)
L R0 R 'R MY 'L L' R0 R' R MY L
B 'B B' B Example I.b: 8-CPP target cell, 6-CPP test cell
Figure 7. Common boundary created by 2 different permutations. AAAAAAAAAAAAAAAAAAAAAAAA
MX
A
R180
B
MX
A’
R180
B’
MX R180 MX
BBBBBBBBBBBBBBBBBBBBBBBB can cover even number cases.
R0 R0 MY R0 R0 MY MY MY R0 R0 MY R0 R0 AAAAAAAAAAAAAAAAAAAAAAAA AAAAAAAAAAAAAAAAAAAAAAAA
MX MX R180 MX MX R180 R180 R180 MX MX R180 MX MX 888888222222444444666666 & BBBBBBBBBBBB 10&12
Requires one more set to cover odd number cases:
Figure 8. Case reduction of Fig. 5, where A’ boundary is the mirrored-Y axis
AAAAAAAAAAAAAAAAAAAAAAAA
of A boundary.
BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB can cover
MX R180 MX R180 MX R180
AAAAAAAAAAAAAAAAAAAAAAAA & AAAAAAAAAAAAAAAAAAAAAAAA
R0 R0 MY MY R0 R0 999999333333555555777777111111 BBBBBBBBBBBB C-11&13
MX R180 MX R180 MX R180
Case A Case B Case B’ Case A’ The second set is shifting B row in the first set by 1 CPP
Figure 9. Case reduction of Fig. 6. (case 9,3,5,7) and n-1 additional CPP in the end (case
1). For the case of m=12 and n=9, the first set total width is
2) Top-bottom boundary and horizontal alignment lcm(m,n). The second set is shifting B row in the first set by 1
In the left lower case in Fig. 6 where R0 test cell on top of CPP and n-1 additional CPP in the end. The third set is
MX target cell, the boundary under test is equivalent to the shifting B row by 2 CPP and n-2 additional CPP in the end.
one at R0 target cell on top of MX test cell. Therefore, by Therefore, the total test case width required is reduced to
placing a MX test cell under the left upper case in Fig. 6 to lcm(m,n) + (lcm(m,n)+1) + n-1 + (lcm(m,n) + 2) + n-2 = lcm(m,n) +
create the case A in Fig. 9, the left lower case in Fig. 6 can be lcm(m,n) + lcm(m,n) + 2n. To generalize it, the equation turns to
eliminated. Applying the same method to rest of cases and lcm(m,n) ×gcd(m,n) + (gcd(m,n)-1) ×n. Taking the case of m < n
eliminating the common boundaries case A’ and B’ in the left into account, the equation can be generalized to
configurations in Fig. 9, the final permutation shown in the lcm(m,n)×gcd(m,n)+(gcd(m,n)-1)×min(m,n), (3)
right configuration of Fig. 9 can achieve an area reduction of where lcm(m,n) is the least common multiple of m and n,
8/3 from Fig. 6. gcd(m,n) is the greatest common divisor of m and n and
min(m,n) is the smaller number between m and n.
3) Horizontal alignment case-reduction techniques
(i) m CPP-wide target cell, n CPP-wide test cell (ii) m-CPP target cell, m-CPP test cell
where m is not equal to n, m and n are integers, and m Example II: 3-CPP target cell, 3-CPP test cell.
is not an integer multiple of n or vice versa. The tools combine the cell pair in lateral with a 21-CPP width:
Example I.a: 4-CPP target cell, 3-CPP test cell when m> n. AAA AAA AAA AAA AAA
This is the same example of Fig. 4 where the rectangular BBB BBBBBBBBB BBB
blocks are symbolized by alphabets and each alphabet
,which can be replaced by combination with 12-CPP width:

849
AAA AAA AAA covers 111 222 333 & 444 555 cases. normalized area to exercise all abutment of 455 cells (which
BBBBBBBBBBBB 111222333 444555 can be derived by summation of all area in the individual run)
are 1072590288 (before case reduction) and 134720319 (after
By replacing n by m in (2), the original test case width before case reduction) with 7.96x area reduction.
applying case reduction techniques is 3m^2-2m=(3m-2)m (4)
which can be reduced to m^2+m. (5).
The area saving is (3m-2)/(m+1). From (1), the total number of
case is equal to 2m-1 when m=n. In (5), the first term m^2 can
cover case 1 to case m-1 and case m+1 to case 2m-
1. The second term m in (5) is to cover the case m where
top cell fully overlaps with bottom cell (like case 3 in above
example).
(iii) m-CPP target cell, n-CPP test cell Figure. 10. Histogram of cell width distribution.
, where m is not equal to n, m and n are integers, and m is
an integer multiple of n or vice versa.
Example III: 6-CPP target cell, 3-CPP test cell
The tool combines the cell pair in lateral with 54-CPP width:
AAAAAA AAAAAA AAAAAAAAAAAAAAAAAAAAAAAA AAAAAA AAAAAA
BBB BBB BBB BBB BBB BBB BBB BBB

,which can be replaced by case below with 24-CPP width.


AAAAAA and AAAAAA and AAAAAA
888555222 777444111 666333.

In above 3 sets, the CPP width required for each set is


equal to (m+n), (m+n), and m, respectively. The total width
required is equal to 2(m+n)+m. To generalize it, the equation
Figure 11. Normalized area before case reduction and after case reduction and
turns to (n-1)(m+n)+m = mn + n(n-1). Taking the case of m<n area saving.
into account, the total test case width required is reduced to
mn+min(m,n)× (min(m,n)-1). (6) The case reduction techniques are more efficient for wide
cells and large number of cells. For example, the first run
4) Largest target cell first shows 9.2x area reduction when the first widest cell (33 CPP)
In this exhaustive methodology, test cells are instantiated is paired with 455 cells. In ASIC design, number of standard
more often than target cells, therefore, starting with larger cells in one library is in the range of couple hundreds. The
target cell will reduce the overall areas to exercise all possible case-reduction techniques discussed in this article can help to
abutments. reduce test area and DRC run time of standard cell abutment
IV. EXPERIMENTAL RESULTS verification in about one order-of-magnitude.
Without loss of generality, a sample standard cell library V. CONCLUSION
of single-height 455 standard cells with cell width range from A standard cell abutment checker tool is necessary in
2 CPP to 33 CPP is used to examine the test area saving of standard-cell development to place all standard-cell physical
case-reduction techniques. The cell count histogram with views against each other in all permutations to ensure 100%
respect to each cell width is shown in Fig. 10. In order to coverage of standard-cell placement topologies. This article
exercise all placement permutations of all 455 standard cells in presented several case-reduction techniques by
this sample library, according to the methodology mentioned merging/eliminating the redundant cases. Efficient case
in section II, 455 runs are exercised in following order: reduction in different cell-heights combinations can be
1st run: The first widest cell (33 CPP) is paired with 455 cells. extended based on the reduction techniques discussed in this
2nd run: Second cell (32 CPP) is paired with 454 cells article. The area of all placement topologies in a sample
.… standard library of 455 cells can achieve 7.96x reductions.
454th run: One of two 2-CPP cell is paired with last two 2-CPP cells. ACKNOWLEDGMENTS
455th run: The last 2-CPP cell is checked against itself.
Special thanks to Frank Skowronski’s help on implementing this
The total normalized area of before case reduction and methodology.
after case reduction along with area saving are shown in
Fig.11. The left-most data point is the experimental result of REFERENCE
the first run with 455 cells. In the next run, 454 cells are [1] P. Azzoni, et al., “Yield-aware Placement Optimization,”
exercised where the target cell in the previous run is removed. Design, Automation & Test in Europe Conference & Exhibition,
The same cell removal sequence is applied in following runs 2007, DATE '07, 2007, pp. 1-6.
until the last cell is exercised in the last run. The total [2] C. Saint and J. Saint, IC Mask Design: Essential Layout Techniques,
New York:McGraw-Hill Professional, May 2002.

850

You might also like