Design Automation Algorithms for the NP-Separate VLSI Design Methodology
Abstract
1 Introduction

2 The NP-Separate VLSI Design Methodology
\(k_\mu\) | Electron to hole mobility ratio |
\(w_\mathrm{min}\) | Minimum transistor width |
\(R_\mathrm{n}\) | Resistance of an NFET whose width is \(w_\mathrm{min}\) |
N cell | A cell composed of NFETs only |
P cell | A cell composed of PFETs only |
NP cell | A fully-functional cell composed of an N and a P cells |
N-P pair | An N cell merged to a P cell |
2.1 Standard-Cell-Based Layout Design


2.2 NP-Cell-Based Layout Design
2.2.1 Transistor Sizing.
2.2.2 NP Cells.

2.3 Motivation

3 Design Automation Algorithms FOR NP-Separate
3.1 Overview
3.2 Physical Libraries for N and P Cells

3.3 Input and Output Ports Routing


3.3.1 Input Port Routing.

3.3.2 Output Port Routing and Input Pin Creation.
3.3.3 Complexity Analysis.
4 Detailed Placement
4.1 Overview
4.2 Placement Algorithm
5 Simulation Results
Instance type | RCA08 | CLA08 | BKA08 | KSA08 | BCD08 | WT04 | BKA32 | CLA32 | KSA32 | MUL_B64 | DES_PERF |
---|---|---|---|---|---|---|---|---|---|---|---|
DFF | - | - | - | - | - | - | - | - | - | 15623 | 9920 |
INV | 10 | 15 | 22 | 30 | 25 | 16 | 42 | 31 | 58 | 12796 | 15705 |
NAND2 | 21 | 27 | 33 | 47 | 41 | 33 | 120 | 92 | 127 | 21868 | 37515 |
NAND3 | - | 7 | 3 | 5 | 9 | - | 7 | 16 | 19 | 532 | 6000 |
NAND4 | - | - | - | 1 | - | - | 1 | 2 | 4 | 112 | 2800 |
NOR2 | 15 | 8 | 10 | 17 | 25 | 32 | 21 | 35 | 36 | 8176 | 24800 |
NOR3 | 1 | - | - | 1 | 4 | 1 | 3 | 7 | 4 | 112 | 6640 |
NOR4 | 1 | - | - | - | - | - | 3 | 1 | - | - | 1520 |
XOR2 | 1 | 6 | 3 | 1 | 3 | 3 | 31 | 34 | 30 | 2072 | 2970 |
XNOR2 | 15 | 16 | 8 | 10 | 17 | 15 | 32 | 53 | 27 | 12012 | 4205 |

5.1 Design Time
Instance type | Routing time |
---|---|
AND(OR): 2/3/4 | 0.34s/2.10s/15.40s |
AOI(OAI): 21/22/211/221/222/33 | 0.74s/7.23s/7.78s/10.73s/1m10s/1m13s |
BUF/INV | 0.04s/0.01s |
HA | 1m6s |
MUX2 | 19.72s |
NAND(NOR): 2/3/4 | 0.12s/1.73s/7.30s |
XOR(XNOR): 2 | 0.4s |
Benchmark | Insts | Design type | Routing | Routing per instance | Detailed placement | P & R |
---|---|---|---|---|---|---|
RCA08 | 64 | Std | - | - | - | 4s |
Auto-NP | 26s | 0.4s | - | |||
Auto-NP-P | - | - | - | |||
CLA08 | 79 | Std | - | - | - | |
Auto-NP | 30s | 0.4s | - | |||
Auto-NP-P | 34s | 0.4s | 45s | |||
BKA08 | 79 | Std | - | - | - | |
Auto-NP | 14s | 0.2s | - | |||
Auto-NP-P | 19s | 0.2s | 47s | |||
KSA08 | 112 | Std | - | - | - | |
Auto-NP | 40s | 0.4s | - | |||
Auto-NP-P | 1m4s | 0.6s | 47s | |||
BCD08 | 124 | Std | - | - | - | |
Auto-NP | 56s | 0.5s | - | |||
Auto-NP-P | 1m11s | 0.6s | 55s | |||
WT04 | 100 | Std | - | - | - | |
Auto-NP | 14s | 0.1s | - | |||
Auto-NP-P | - | - | - | |||
BKA32 | 260 | Std | - | - | - | |
Auto-NP | 1m55s | 0.4s | - | |||
Auto-NP-P | 2m22s | 0.5s | 1m5s | |||
CLA32 | 271 | Std | - | - | - | |
Auto-NP | 2m29s | 0.5s | - | |||
Auto-NP-P | 3m10s | 0.7s | 1m17s | |||
KSA32 | 305 | Std | - | - | - | |
Auto-NP | 2m46s | 0.5s | - | |||
Auto-NP-P | 3m35s | 0.7s | 1m17s | |||
MUL_B64 | 73303 | Std | - | - | - | 20s |
Auto-NP | 2h24m | 0.1s | - | |||
Auto-NP-P | - | - | - | |||
DES_PERF | 112075 | Std | - | - | - | |
Auto-NP | 66h40m | 2.3s | - | |||
Auto-NP-P | 72h30m | 2.6s | 11h20m |
5.2 Layout Area and Wirelength
Benchmark | Design type | # Nets | Area ( \(\mu\)m \(^2\)) | WL ( \(\mu\)m) | R (k \(\Omega\)) | C (fF) | Cc (fF) | CPD (ps) | Power (uW) |
---|---|---|---|---|---|---|---|---|---|
RCA08 | Std | 81 | 21.60 (1.09) | 224 (1.01) | 273 (1.03) | 21 (1.05) | 118 (1.27) | 470 (1.24) | 56 (1.27) |
Manual-NP | 19.80 (1.00) | 221 (1.00) | 265 (1.00) | 20 (1.00) | 93 (1.00) | 380 (1.00) | 44 (1.00) | ||
Auto-NP | 19.80 (1.00) | 224 (1.01) | 271 (1.02) | 20 (1.00) | 74 (0.80) | 350 (0.92) | 39 (0.89) | ||
Auto-NP-P | 19.80 (1.00) | 224 (1.01) | 271 (1.02) | 20 (1.00) | 74 (0.80) | 350 (0.92) | 39 (0.89) | ||
CLA08 | Std | 96 | 28.35 (1.09) | 281 (1.09) | 351 (1.02) | 24 (1.04) | 135 (1.09) | 310 (1.15) | 68 (1.03) |
Manual-NP | 26.10 (1.00) | 257 (1.00) | 344 (1.00) | 23 (1.00) | 124 (1.00) | 270 (1.00) | 66 (1.00) | ||
Auto-NP | 26.10 (1.00) | 257 (1.00) | 351 (1.02) | 23 (1.00) | 111 (0.90) | 275 (1.02) | 60 (0.91) | ||
Auto-NP-P | 25.65 (0.98) | 262 (1.02) | 346 (1.01) | 23 (1.00) | 113 (0.91) | 275 (1.02) | 60 (0.91) | ||
BKA08 | Std | 95 | 25.20 (1.12) | 247 (1.07) | 304 (1.01) | 23 (1.10) | 128 (1.17) | 270 (1.02) | 66 (1.14) |
Manual-NP | 22.50 (1.00) | 230 (1.00) | 300 (1.00) | 21 (1.00) | 109 (1.00) | 265 (1.00) | 58 (1.00) | ||
Auto-NP | 22.50 (1.00) | 230 (1.00) | 287 (0.96) | 21 (1.00) | 88 (0.81) | 255 (0.96) | 52 (0.90) | ||
Auto-NP-P | 22.05 (0.98) | 235 (1.02) | 290 (0.97) | 21 (1.00) | 100 (0.92) | 265 (1.00) | 54 (0.93) | ||
KSA08 | Std | 129 | 35.64 (1.15) | 328 (1.04) | 434 (0.99) | 28 (1.08) | 191 (1.22) | 360 (1.24) | 91 (1.14) |
Manual-NP | 31.05 (1.00) | 314 (1.00) | 440 (1.00) | 26 (1.00) | 157 (1.00) | 290 (1.00) | 80 (1.00) | ||
Auto-NP | 31.05 (1.00) | 316 (1.01) | 430 (0.98) | 26 (1.00) | 139 (0.89) | 295 (1.02) | 73 (0.91) | ||
Auto-NP-P | 30.15 (0.97) | 324 (1.03) | 427 (0.97) | 26 (1.00) | 141 (0.90) | 290 (1.00) | 74 (0.93) | ||
BCD08 | Std | 141 | 42.84 (1.13) | 355 (1.05) | 520 (1.03) | 31 (1.07) | 224 (1.11) | 455 (1.06) | 127 (1.02) |
Manual-NP | 37.80 (1.00) | 338 (1.00) | 504 (1.00) | 29 (1.00) | 202 (1.00) | 430 (1.00) | 125 (1.00) | ||
Auto-NP | 37.80 (1.00) | 340 (1.01) | 520 (1.03) | 29 (1.00) | 165 (0.82) | 375 (0.87) | 101 (0.81) | ||
Auto-NP-P | 36.54 (0.97) | 349 (1.03) | 511 (1.01) | 29 (1.00) | 175 (0.87) | 385 (0.90) | 104 (0.83) | ||
WT04 | Std | 108 | 32.85 (1.13) | 279 (1.08) | 434 (1.02) | 26 (1.08) | 156 (1.06) | 325 (1.03) | 78 (1.05) |
Manual-NP | 29.00 (1.00) | 258 (1.00) | 426 (1.00) | 24 (1.00) | 147 (1.00) | 315 (1.00) | 74 (1.00) | ||
Auto-NP | 29.00 (1.00) | 257 (1.00) | 412 (0.97) | 24 (1.00) | 123 (0.84) | 295 (0.94) | 63 (0.85) | ||
Auto-NP-P | 29.00 (1.00) | 257 (1.00) | 412 (0.97) | 24 (1.00) | 123 (0.84) | 295 (0.94) | 63 (0.85) | ||
BKA32 | Std | 324 | 88.20 (1.09) | 1082 (1.07) | 1138 (1.01) | 55 (1.06) | 475 (0.94) | 635 (1.18) | 141 (1.07) |
Manual-NP | 81.00 (1.00) | 1012 (1.00) | 1126 (1.00) | 52 (1.00) | 505 (1.00) | 540 (1.00) | 132 (1.00) | ||
Auto-NP | 81.00 (1.00) | 1031 (1.02) | 1124 (1.00) | 52 (1.00) | 433 (0.86) | 545 (1.01) | 119 (0.90) | ||
Auto-NP-P | 80.10 (0.99) | 1040 (1.03) | 1143 (1.02) | 52 (1.00) | 452 (0.90) | 540 (1.00) | 124 (0.94) | ||
CLA32 | Std | 336 | 102.96 (1.13) | 1447 (1.36) | 1334 (1.07) | 62 (1.09) | 630 (1.29) | 710 (1.11) | 140 (1.21) |
Manual-NP | 90.90 (1.00) | 1061 (1.00) | 1245 (1.00) | 57 (1.00) | 487 (1.00) | 640 (1.00) | 116 (1.00) | ||
Auto-NP | 90.90 (1.00) | 1061 (1.00) | 1250 (1.00) | 57 (1.00) | 449 (0.92) | 585 (0.91) | 110 (0.95) | ||
Auto-NP-P | 90.00 (0.99) | 1092 (1.03) | 1276 (1.02) | 57 (1.00) | 453 (0.93) | 630 (0.98) | 107 (0.92) | ||
KSA32 | Std | 370 | 99.99 (1.09) | 1309 (1.14) | 1304 (1.01) | 61 (1.05) | 585 (1.07) | 695 (1.01) | 153 (1.08) |
Manual-NP | 91.80 (1.00) | 1151 (1.00) | 1292 (1.00) | 58 (1.00) | 549 (1.00) | 690 (1.00) | 142 (1.00) | ||
Auto-NP | 91.80 (1.00) | 1170 (1.02) | 1298 (1.00) | 58 (1.00) | 488 (0.89) | 580 (0.84) | 134 (0.94) | ||
Auto-NP-P | 90.90 (0.99) | 1184 (1.03) | 1289 (1.00) | 58 (1.00) | 521 (0.95) | 655 (0.95) | 131 (0.92) | ||
MUL_B64 | Std | 90076 | 44428 (1.06) | 202384 (1.02) | 406084 (0.99) | 17444 (1.03) | 185808 (1.09) | 973 (1.01) | 75404 (1.07) |
Manual-NP | 41807 (1.00) | 197484 (1.00) | 411768 (1.00) | 16884 (1.00) | 170380 (1.00) | 966 (1.00) | 70392 (1.00) | ||
Auto-NP | 41807 (1.00) | 200452 (1.02) | 412300 (1.00) | 16912 (1.00) | 161784 (0.95) | 812 (0.84) | 61068 (0.87) | ||
Auto-NP-P | 41807 (1.00) | 200452 (1.02) | 412300 (1.00) | 16912 (1.00) | 161784 (0.95) | 812 (0.84) | 61068 (0.87) | ||
DES_PERF | Std | 122605 | 47580 (1.05) | 990325 (1.36) | 584245 (1.00) | 18725 (1.06) | 364015 (1.31) | 350 (1.04) | 57075 (1.17) |
Manual-NP | 45455 (1.00) | 728510 (1.00) | 584045 (1.00) | 17588 (1.00) | 278515 (1.00) | 335 (1.00) | 48905 (1.00) | ||
Auto-NP | 45455 (1.00) | 739115 (1.01) | 586540 (1.00) | 17675 (1.00) | 250995 (0.90) | 340 (1.01) | 45440 (0.93) | ||
Auto-NP-P | 45360 (1.00) | 757215 (1.04) | 598271 (1.02) | 17604 (1.00) | 264047 (0.95) | 325 (0.97) | 47120 (0.96) | ||
Geo. mean (Std/Manual-NP) | 1.10 | 1.11 | 1.02 | 1.06 | 1.14 | 1.10 | 1.11 | ||
Geo. mean (Auto-NP/Manual-NP) | 1.00 | 1.01 | 1.00 | 1.00 | 0.87 | 0.94 | 0.90 | ||
Geo. mean (Auto-NP-P/Manual-NP) | 0.99 | 1.02 | 1.00 | 1.00 | 0.90 | 0.95 | 0.90 |
5.3 Parasitic RC, Critical Path Delay, and Power Consumption
6 Discussion
6.1 Library Design and Reuse for NP-Separate
6.2 Manual-NP vs. Auto-NP
6.3 Auto-NP-Separate to Advanced Technology Nodes
6.4 NP-Separate to Other Transistor Architectures
7 Conclusion
Footnote
References
Index Terms
- Design Automation Algorithms for the NP-Separate VLSI Design Methodology
Recommendations
Legalization algorithm for multiple-row height standard cell design
DAC '16: Proceedings of the 53rd Annual Design Automation ConferenceTypical standard cell placement algorithms assume that all cells are of the same height such that cells can be aligned along the placement rows. However, modern standard cell designs are getting more complicated and multiple-row height cell becomes more ...
Cell density-driven detailed placement with displacement constraint
ISPD '14: Proceedings of the 2014 on International symposium on physical designModern placement process involves global placement, legalization, and detailed placement. Global placement produce a placement solution with minimized target objective, which is usually wire-length, routability, timing, etc. Legalization removes cell ...
Comments
Information & Contributors
Information
Published In

Publisher
Association for Computing Machinery
New York, NY, United States
Journal Family
Publication History
Check for updates
Author Tags
Qualifiers
- Research-article
- Refereed
Contributors
Other Metrics
Bibliometrics & Citations
Bibliometrics
Article Metrics
- 0Total Citations
- 2,372Total Downloads
- Downloads (Last 12 months)692
- Downloads (Last 6 weeks)63
Other Metrics
Citations
View Options
View options
View or Download as a PDF file.
PDFeReader
View online with eReader.
eReaderHTML Format
View this article in HTML Format.
HTML FormatLogin options
Check if you have access through your login credentials or your institution to get full access on this article.
Sign in