ISBN: 3-540-61664-0
TITLE: ASIC-Design
AUTHOR: Hoppe, Bernhard
TOC:

1 Einleitung 1 
2 Konzepte, Technologien und Realisierungstechniken 4 
2.1 Systementwicklung 5 
2.2 Schaltungsoptionen 6 
2.2.1 Mikroprozessoren 6 
2.2.2 Standardbausteine und ASICs 7 
2.2.2.1 ASICs 8 
2.2.2.2 ASIC-Entwurfsziele 9 
2.2.2.3 Elektrisch konfigurierbare Logikschaltungen 10 
2.3 Technologien und Realisierungsmethoden fr ASICs 12 
2.3.1 Halbleitertechnologien fr ASICs 12 
2.3.2 Realisierungstechniken fr ASICs 18 
2.3.2.1 Vollkundenspezifischer Entwurf 19 
2.3.2.2 Halbkundenspezifischer oder 
Semi-Custom-Entwurf 19 
2.3.2.3 Gate-Arrays 22 
2.3.3 Das integrationsgerechte Schaltungskonzept 24 
2.3.4 Optimale Realisierungstechniken 25 
2.4 IC-Gehuse und Aufbautechnik 26 
2.5 bungsaufgaben 30 
3 Der ASIC-Entwurfsproze 32 
3.1 Hierarchien und Sichtweisen 32 
3.2 ASIC-Spezifikation: Datenbltter und Blockschaltbilder 35 
3.3 Rechnergesttzte ASIC-Entwicklung 38 
3.3.1 Strukturelle Beschreibung der Schaltung durch Schaltplne 38 
3.3.2 Simulationsprogramme 40 
3.3.3 Rechnergesttzte Layouterstellung 41 
3.3.4 Layoutverifikation 44 
3.4 Die bergabe der Entwurfsdaten an den Halbleiterhersteller 48 
3.5 Das Testprogramm 49 
3.6 Die Prototypenuntersuchung 51 
3.7 Die Freigabeuntersuchung 52 
3.8 bungsaufgaben 54 
4 Transistortheorie und Schaltungstechnik 56 
4.1 Stromgleichungen fr MOS-Transistoren 57 
4.2 CMOS-Grundschaltungen 65 
4.2.1 Logikelemente und Signalpegel 65 
4.2.2 Logikgatter aus komplementren MOS-Transistoren 66 
4.2.3 Gleich- und Wechselstromverhalten von CMOS-Logikgattern 68 
4.2.4 Analoge Grundschaltungen 71 
4.2.4.1 Spannungsteiler und aktive Lasten 72 
4.2.4.2 Stromspiegelschaltungen 73 
4.2.4.3 Differenzstufen und Komparatoren 75 
4.2.5 Dynamische Schaltungen78 
4.2.6 Speicherschaltungen 80 
4.2.7 Signalbertragung in Pass-Transistoren und Transfergattern 81 
4.3 Takte 83 
4.3.1 Sequentielle und asynchrone Schaltungen 84 
4.3.2 Taktsignale und Taktungsverfahren fr 
sequentielle Schaltungen 85 
4.3.3 Takterzeugung 88 
4.3.4 Taktverteilung 92 
4.4 Verlustleistung und Power- Delay- Produkt 94 
4.5 Zusammenfassung 96 
4.6 bungsaufgaben 96 
5 Schaltungssimulation 98 
5.1 Der Analogsimulator SPICE 100 
5.1.1 Rechenverfahren und Modelle 100 
5.1.2 Modellebenen und Modellparameter bei SPICE 101 
5.1.3 MOS- Transistoren mit parasitren Komponenten 101 
5.1.4 Kurzkanaltransistoren 104 
5.1.5 Parametervarianten und Simulationsgenauigkeit bei SPICE 106 
5.1.6 SPICE- Netzlisten und -Programme 106 
5.1.6.1 Allgemeine Syntax-Regeln 106 
5.1.6.2 Bauelement- und Modellanweisungen 107 
5.1.6.3 Strom- und Spannungsquellen110 
5.1.7 Analysemglichkeiten und Steueranweisungen 110 
5.1.7.1 Gleichstromanalyse 113 
5.1.7.2 Zeitanalyse 114 
5.1.7.3 Frequenzanalyse 115 
5.1.7.4 Anweisungen zur Ausgabe der Simulationsergebnisse 117 
5.1.8 Definition von Teilschaltungen mit der .SUBCKT-Anweisung 121 
5.2 Digitalsimulation 123 
5.2.1 Rechenverfahren und Modellbildung bei 
der Digitalsimulation 123 
5.2.1.1 Ereignisgesteuerte Simulation 124 
5.2.1.2 Laufzeitmodelle auf Gatterebene 125 
5.2.2 Der Logiksimulator QUICKSIMII 130 
5.2.2.1 Schaltplne, Zeitverhalten und Signalzustnde 131 
5.2.2.2 Ereignissteuerung 132 
5.2.2.3 Methoden zur Laufzeitverarbeitung (Delay modes) 134 
5.2.2.4 Die Behandlung von Spikes 136 
5.2.2.5 Initialisierung 139 
5.3 Zusammenfassung 140 
5.4 bungsaufgaben 141 
6 Schnittstellen zwischen IC-Entwickler und Halbleiterhersteller 145 
6.1 Definition von Halbleiterschaltungen mit Layout und Masken 146 
6.1.2 Layouteditoren 148 
6.1.3 Layoutdarstellungen von Bauelementen 149 
6.1.4 Kritische Dimensionen, Entwurfsregeln und 
Layoutverifikation 150 
6.1.5 Layoutverkleinerung ("Shrink") 153 
6.2 Simulationsparameter: SPICE-Dateien und Technologietoleranzen 154 
6.3 Standardzellen 155 
6.3.1 Makrozellen 159 
6.3.2 Datenbltter der Bibliothekszellen 159 
6.3.2.1 Statische Kenn- und Grenzwerte 160 
6.3.3.2 Datenbltter fr Standardzellen 161 
6.3.3 Peripheriezellen und Schutzschaltungen 169 
6.4 IC-Entwurf auf Standardzell-Basis 170 
6.5 Zusammenfassung und Schlubemerkungen 171 
6.6 bungsaufgabe 174 
7 Entwurfssysteme 175 
7.1 Parallele Entwurfsmethodik und Datenorganisation 175 
7.1.1 Design und Komponente 178 
7.1.2 Funktionale und nichtfunktionale Modelle 179 
7.1.2.1 Funktionale Modelle 179 
7.1.2.2 Laufzeitmodelle 181 
7.1.3 Nichtgraphische Modellinformationen: Properties 181 
7.1.4 Die Komponentendirectory185 
7.1.5 Design Viewpoints 186 
7.1.6 Entwurfswerkzeuge im Mentor-Graphics-V8-System 188 
7.1.6.1 IDEA-Station 189 
7.1.6.2 IC-Station 190 
7.2 Workstations und UNIX 191 
7.3 Die Falcon-Framework-Benutzeroberflche 192 
7.3.1 Eingabemglichkeiten: Maus, Tastatur, Keys und Strokes 193 
7.3.2 Fenster 195 
7.3.3 Mens 197 
7.3.3.1 Menvarianten 197 
7.3.3.2 Prompt Bars 200 
7.3.3.3 Dialog Felder 200 
7.3.3.4 Mnemonics 201 
7.3.4 Online-Dokumentation 201 
7.4 Verwaltung von Designobjekten und Werkzeugen mit 
DESIGN MANAGER 206 
7.4.1 Designmanagement und Datenstruktur 206 
7.4.2 Das Session-Fenster des Programms DESIGN MANAGER 207 
7.4.3 Kopieren, Lschen und Verschieben von Dateien 209 
7.4.4 Der Notepad-Editor und das Transcript-Fenster 210 
7.4.5 Multitasking 210 
7.5 Zusammenfassung und Schlubemerkungen 211 
7.6 bungsaufgaben 212 
8 Halbleiterspeicherbausteine als bungsprojekt 213 
8.1 Dynamische und statische Halbleiterspeicher 214 
8.1.1 SRAM- Speicherzellen 216 
8.1.2 Architektur eines SRAMs 218 
8.2 Entwurfsziele fr die Beispielschaltung 219 
8.3 Architektur, Funktion und Komponenten des 1024x1/64x16-SRAMs 220 
8.3.1 Speicherzellenfelder 221 
8.3.2 Adredekoder 223 
8.3.2.1 Zeilendekodierung 224 
8.3.2.2 Spaltendekodierung 226 
8.3.3 Die peripheren Schreib- und Leseschaltung des SRAMs 226 
8.3.4 Schreib- und Bewerteschaltungen im Zellenfeld 227 
8.3.5 Die Schreiberholschaltung im Zellenfeld 229 
8.4 Spezifikation der dynamischen Kennwerte des 1024x1/64x16-RAMs 230 
8.4.1 Adrebernahme 231 
8.4.2 Beschreiben des RAMs 232 
8.4.3 Lesen des RAMs 233 
8.5 Anschlubelegung und IC- Gehuse 233 
8.6 Statische Kennwerte 233 
8.7 Betriebsbereiche des Bausteins 236 
8.8 Zusammenfassung 238 
8.9 bungsaufgaben. 238 
9 Layout-Erstellung mit ICgraph 240 
9.1 Das Programmpaket ICStation 240 
9.2 Full Custom Design mit dem Programm ICgraph 242 
9.2.1 Full Custom Editing 242 
9.2.1.2 Starten von ICstation 242 
9.2.1.3 Neue Zellen 243 
9.2.2 Zellen und Hierarchie 244 
9.2.2.1 Zelltypen 247 
9.2.2.2 Layoutaspekte 248 
9.2.3 Logische und grafische Objekte im Layout 248 
9.2.3.1 Grafische Objekte 249 
9.2.3.2 Logische Objekte: Properties, Pins, Ports und Netze 250 
9.2.3.3 Die Prozedaten 252 
9.2.3.4 Die Layoutebenen 253 
9.2.3.5 Die ICgraph-Konfigurationen 253 
9.2.4 Bearbeitung und Erzeugung von Layoutstrukturen 256 
9.2.4.1 Selection Sets 256 
9.2.4.2 ICStation-Windows 257 
9.2.4.3 Das Selektieren von Objekten 257 
9.2.4.4 Die wichtigsten Editieroperationen 259 
9.2.4.5 Die wichtigsten Eingabefunktionen 263 
9.3 Design-Verifikation mit den ICverify Tools 265 
9.3.1 Design-Rule-Prfung und Netzlistenextraktion 265 
9.3.1.1 Die DRC-Prfung 265 
9.3.1.2 Grafisch untersttztes Bearbeiten von DRC-Fehlern 269 
9.3.2 Layoutextraktion 273 
9.4 Abspeichern geprfter Zellen 278 
9.5 Zusammenfassung 279 
9.6 bungsaufgaben 280 
10 Schaltplan- und Symbolerstellung mit Design Architect 282 
10.1 Electronic Design Data Model (EDDM) 282 
10.2 Die Elemente eines Schaltplans 283 
10.3 Schaltplaneditierung mit dem Programm DESIGN ARCHITECT 286 
10.3.1 Anlegen und Aufrufen von Schaltplnen 288 
10.3.2 Schaltplaneingabe 290 
10.3.2.1 Bibliotheken290 
10.3.2.2 Instanziierung von Bibliothekszellen 291 
10.3.2.3 Selektion und Objektmanipulationen 292 
10.3.2.4 Netze 294 
10.3.2.5 Netzverbindungen 296 
10.3.2.6 Ports 297 
10.3.2.7 Strukturelle Entwurfseigenschaften 297 
10.3.2.8 Netzeditierung und Verbindungsstrukturen 297 
10.3.2.9 Busabzweigstellen: Ripper 300 
10.3.3 Prfen und Speichern eines Schaltplans 301 
10.4 Symbole 304 
10.5 Der Symboleditor des Programms Design Architect 305 
10.6 Properties 309 
10.6.1 Property Owner 309 
10.6.2 Property Values 309 
10.6.3 Property Types310 
10.6.4 Properties fr die Schaltungssimulation 310 
10.6.5 Properties fr die analoge Simulation und die Layoutsynthese 311 
10.6.6 Die Eingabe von Properties 312 
10.6.7 Die Editierung von Properties 313 
10.6.8 Reports ber Properties 314 
10.7 Designdatenaufbereitung mit dem Design Viewpoint Editor 314 
10.7.1 Erzeugen eines Design Viewpoints 315 
10.7.2 Regelprfungen mit dem Design Viewpoint Editor 318 
10.7.3 Speichern eines Design Viewpoints 321 
10.8 Zusammenfassung 321 
10.9 bungsaufgaben 321 
11 Digital- und Analogsimulation mit Quicksimii und Accusimii 322 
11.1 Der Digitalsimulator QuicksimII im berlick 323 
11.1.1 Signalzustnde 323 
11.1.2 Simulationsgenauigkeit 325 
11.1.3 Stimulation von Schaltungseingngen und internen Netzen 327 
11.1.4 Fenstertechniken: Ergebnis- und Schaltplanfenster 328 
11.1.5 Zwischenfensterselektion 330 
11.2 Bedienung des Simulators 332 
11.2.1 Aufruf, Voreinstellungen und Pallettenmens 332 
11.2.2 Die Ergebnisfenster 338 
11.2.2.1 Tracefenster: ffnen und Signaleingabe 338 
11.2.2.2 Signalmanipulation im Tracefenster 340 
11.2.2.3 Analysehilfsmittel im Tracefenster 343 
11.2.2.4 Voreinstellung und Ergebnisbearbeitung im 
List- und Monitorfenster 348 
11.2.2.5 Analysehilfsmittel im Schaltplanfenster 350 
11.2.3 Initialisierung 353 
11.2.4 Signaleingabe 354 
11.2.4.1 Feste Signalzustnde (Single Forces) 354 
11.2.4.2 Aperiodische Signale (Multiple Forces) 355 
11.2.4.3 Taktsignale (Clock Forces) 355 
11.2.4.4 Bussignale 356 
11.2.4.5 Lschen von Force- Signalen 358 
11.2.4.6 Anzeigen von Forces vor dem Simultionsstart 359 
11.2.5 Waveform-Datenbasen 359 
11.2.5.1 Laden und Speichern 361 
11.2.5.2 Editierung 362 
11.2.5.3 Wiederverwenden von Stimuli-Pattern 367 
11.2.6 Starten eines Simulationslaufes 368 
11.2.6.1 Simulation mit vorgegebener Laufzeit 368 
11.2.6.2 Simulationslufe mit Abbruchbedingungen 369 
11.2.6.3 Beispiele fr Breakpoint Expressions 370 
11.2.6.4 Speichern und Reaktivieren 
von Simulationszustnden 371 
11.2.7 Beenden einer Quicksimii Session 372 
11.3 Der Analogsimulator Accusimii im berlick 373 
11.3.1 Grundkonzepte 373 
11.3.2 Die wichtigsten Accusimii-Fenster 375 
11.3.2.1 Das Sessionfenster 375 
11.3.2.2 Ergebnis- und Schaltplanfenster 375 
11.3.2.3 Das Statusfenster 378 
11.4 Bedienung des Simulators Accusimii 380 
11.4.1 Aufruf und Einstellung 380 
11.4.2 Gleichstromanalysen 382 
11.4.2.1 Arbeitspunktanalyse, bertragungsfunktionen 384 
11.4.2.2 Kennlinien 387 
11.4.3 Wechselstromanalysen 388 
11.4.4 Beenden einer Simulationssession 394 
11.5 Zusammenfassung 395 
11.6 bungsaufgaben 397 
12 Automatische Layouterstellung mit ICStation 399 
12.1 Der Layoutsyntheseproze im berlick 399 
12.2 Erzeugen einer Zelle fr die Layoutsynthese 401 
12.3 Floorplanning und Zellplazierung 406 
12.4 Layoutsynthese mit ICblocks 410 
12.4.1 Plazierung von Standardzellen und Blcken 410 
12.4.1.1 Plazierung von Standardzellen 410 
12.4.1.2 Die Plazierung von Blcken 414 
12.4.1.3 Die Plazierung von Ports 416 
12.4.1.4 Die Plazierung von Pins 417 
12.4.1.5 Manuelle Plazierung und Editiermglichkeiten 417 
12.4.1.6 Beispiele fr Zell- und Blockplazierung 420 
12.4.2 Verdrahtungsverfahren 420 
12.4.2.1 Der Labyrinth-Verdrahtungs-Algorithmus 422 
12.4.2.2 Liniensuchalgorithmen 424 
12.4.2.3 Kanalverdrahtung 425 
12.4.2.4 Limitierungen 426 
12.4.3 Globale und lokale Verdrahtung mit ICblocks 427 
12.4.3.1 Die Soutoroute-Funktion von ICblocks 429 
12.5 Das Process File 437 
12.5.1 Der Default Process 439 
12.5.2 Das Editieren von Process Files 440 
12.5.2.1 Das Layer-Appearance-Dialogfenster 442 
12.5.2.2 Das Editieren der Process Values 444 
12.6 Layout-Kompaktierung 452 
12.6.1 Die $compact-Funktion 452 
12.7 Layout-Verifikation: DRC-, LVS-Check und Backannotation 458 
12.7.1 DRC-Prfung mit ICrules 459 
12.7.2 Der LVS Check 459 
12.7.3 Layoutbedingte parasitre Effekte: Backannotation 468 
12.8 Editierung von Zellenbibliotheken 469 
12.9 Standardzellayouts mit Hierarchie 470 
12.10 Datenaufbereitung fr den Halbleiterhersteller 474 
12.11 Zusammenfassung 475 
12.12 bungsaufgaben 476 
Anhang: Layoutzellen und Schaltplne des 1024x1/64x16-RAMs 478 
Stichwortverzeichnis 510 
END
