© a. steininger / tu wien 1 der design-flow eines asic von der idee zum funktionierenden produkt
TRANSCRIPT
![Page 1: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/1.jpg)
© A. Steininger / TU Wien
1
Der Design-Flow eines ASIC
Von der Idee zum funktionierenden Produkt
![Page 2: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/2.jpg)
© A. Steininger / TU Wien2
Das Y-Diagramm
Design-Schritte
Synthese und PPR als Optimierungen
Spezifische Probleme des Routing
Verifikations-Schritte
Simulation
Statische Timing-Analyse
Überblick
![Page 3: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/3.jpg)
© A. Steininger / TU Wien3
Verschiedene Sichtweisen
Verhalten:Was tut der Chip?
Struktur:Welche Blöcke umfasst er?
Geometrie:Wie ist er aufgebaut?
![Page 4: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/4.jpg)
© A. Steininger / TU Wien4
Das Y-Diagramm von Gajski
Verhalten Struktur
Geometrie
Abstraktionsebene
n
A
Prinzip der Abstraktion: Anpassung von Überblick vs. Detaillierungsgrad an den jeweiligen Bedarf
![Page 5: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/5.jpg)
© A. Steininger / TU Wien5
Y-Diagramm: Systemebene
Verhalten Struktur
Geometrie
(funktionale)System-Spezifikation Funktions-
schaltbild, Partitioning
Package
A
Funktionen, Randbedingungen
Pins, Gehäusetyp
Custom-HW, Pro-zessor,Speicher, …
System
Speicher CPU IO
Control
Inputs : KeyboardOutput: Display Funktion: Umrechnung,…
VD
D D0
D1
RW
A7
A6
A5
GND
Q1 PLCC84
![Page 6: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/6.jpg)
© A. Steininger / TU Wien6
Subsysteme & Busse
Funktionsblöcke & Routing-Kanäle
Y-Diagramm: Algorithm. Ebene
Verhalten Struktur
Geometrie
Algorithmen
Algorithmen Task-Allokation,
Kommunikations-strukturen, Blockschaltbild
Chip-Layout (Placement)
A
sys
Operationen & Abfolgen
while input Read „Schilling“ Calulate Euro Display „Euro“
µP IO-Ctrl8 PS/2 Interface
Speicher16
RS232Interface
IO-Ctrl
PS/2µP
RS232
![Page 7: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/7.jpg)
© A. Steininger / TU Wien7
Makrozellen & globales Routing
Y-Diagramm: RTL Ebene
Verhalten Struktur
Geometrie
Register- transfer
Register-Transfers
State Machines Grob-
Schaltplan
Layout Funktionsblöcke(Floorplanning)A
sysalg
ALU, Register & Signale
case Awhen `1` then nextB <= C; nextstate <= idle;
RAM Register
ALU
Counter
REG
ALU
Counte
r
![Page 8: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/8.jpg)
© A. Steininger / TU Wien8
Standardzellen, lokales Routing
Y-Diagramm: Logikebene
Verhalten Struktur
Geometrie
Gate
Boolesche Gleichungen
Netzliste[EDIF],Detail-Schaltplan
Chip-Layout (Detail)A
sysalg
Basisgatter, FF, Verbindungen mit Std.-Delay
RTL
Variable, log. Operatoren
D = NOT E
C = (D OR B) AND A
>1 &E
BC
AINV1
OR2
AND2x3
![Page 9: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/9.jpg)
© A. Steininger / TU Wien9
Prozesse, Polygone
Y-Diagramm: Schaltkreisebene
Verhalten Struktur
Geometrie
Circuit
Differential-gleichungen
Netzliste(analog)
Masken
A
sysalg
Transistoren, Leitungsstücke mit R, L, C
RTL
U, I, e-Funktionen,…
gatedUdt
I C
dIdt
d2Idt2
R + L+=
![Page 10: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/10.jpg)
© A. Steininger / TU Wien10
„Y-Tabelle“
Speicher CPU IO
ControlSystem
Algorithmisch
case Awhen `1` then nextB <= C; nextstate <= idle;
Registertransfer (RTL)
RAM Register
ALU
Counter
Logik
SchaltkreisdUdt
I C
dIdt
d2Idt2
R + L+=
Verhalten Struktur Geometrie
D = NOT E
C = (D OR B) AND A>1 &
E
BC
A
while input Read „Schilling“ Calulate Euro Display „Euro“
Inputs : KeyboardOutput: Display Funktion: Umrechnung,…
INV1
OR2
AND2x3
µP IO-Ctrl8 PS/2 Interface
Speicher16
RS232Interface
IO-Ctrl
PS/2µP
RS232
REG
ALU
Counte
r
Ebene
VD
D D0
D1
RW
A7
A6
A5
GND
Q1 PLCC84
![Page 11: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/11.jpg)
© A. Steininger / TU Wien11
Y-Diagramm: Konvergenz
Verhalten Struktur
Geometrie
alg
sys
RTL
gatecir
A
alle drei Sichtweisen beschreiben letztlich das selbe System…
… und konvergieren daher auf der untersten Abstraktionsebene
Design-Flow
![Page 12: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/12.jpg)
© A. Steininger / TU Wien12
Das Y-Diagramm
Design-Schritte
Synthese und PPR als Optimierungen
Spezifische Probleme des Routing
Verifikations-Schritte
Simulation
Statische Timing-Analyse
Überblick
![Page 13: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/13.jpg)
© A. Steininger / TU Wien13
Design-Flow im Überblick
Design-Entry
Compilation
Technology-Mapping
Partitioning & Placement
RoutingManufact.
Specification
Download
Chip complete
Post
-layout
Pre
-layout b
ehavio
ral
stru
ctura
lphysi
cal
verbale Funktionsbeschreibungformale Funktionsbeschreibung
Umsetzung in Logik-ElementeUmsetzung in verfügbare ZellenAufteilung der Zellen
Verbindung der Zellen
physikalische Realisierung
![Page 14: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/14.jpg)
© A. Steininger / TU Wien14
Verifikationsschritte
Design-Entry
Compilation
Technology-Mapping
Manufact.
Specification
Download
Validation
Behavioral Simulation
Postlayout-Gate-Level-Simulation
Prelayout-Gate-Level-Simulation
TestChip complete
Post
-layout
Pre
-layout b
ehavio
ral
stru
ctura
lphysi
cal
Partitioning & Placement
Routing
Functional Simulation
![Page 15: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/15.jpg)
© A. Steininger / TU Wien15
Spezifikation
Zweck:Exakte Formulierung der vom Produkt gewünschten Funktion und der entsprechenden Betriebsbedingungen.
Meist nicht in formaler Darstellung sondern verbal bzw. mit Skizzen.
Specification
Idee
Design-Entry
Compilation
Technology-Mapping
Partitioning & Placement
Routing
Manufact. Download
Chip complete
![Page 16: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/16.jpg)
© A. Steininger / TU Wien16
Die Realität ….
[ZID TU Wien]
![Page 17: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/17.jpg)
© A. Steininger / TU Wien17
Beispieldesign: Spezifikation
Synchronisierschaltung für BCD-Eingang Eingangsvektor data_d[3:0] (4 Bit BCD-Wert)
Ausgangsvektor digit_L_d[3:0]
Synchronisation auf positive Flanke von clk
reset_board setzt den Ausgang synchron auf „0000“
Hier fehlen noch Angaben:Temperaturbereich, Versorgungsspannung, zulässige Größe, Preis, Zuverlässigkeit, Geschwindigkeit, ….
![Page 18: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/18.jpg)
© A. Steininger / TU Wien18
Design-Entry
Zweck:Umsetzung der Spezi-fikation in eine Form, die vom
Computer erfasst werden kann
die als Basis für Simulation und Änderungen dient
die als Dokumenta-tion geeignet ist
Design-Entry
Specification
Compilation
Technology-Mapping
Manufact. Download
Chip complete
Partitioning & Placement
Routing
![Page 19: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/19.jpg)
© A. Steininger / TU Wien19
sys
cir
Abstraktion v. Design Entry
Verhalten Struktur
Geometrie
RTLalg
gate
A
Wollen wir, können wir
aber (noch) nicht:System-C
Können wir, wollen wir aber nicht (mehr): (Gatter-)Schaltplan
State of the Art:
VHDL
![Page 20: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/20.jpg)
© A. Steininger / TU Wien20
Design-Entry: Möglichkeiten
Kriterien: Unterstützung der menschlichen Intuition Effizienz der Darstellung Weiterverarbeitbarkeit durch Computer
State-Chart(Zustandsgraph)
VHDL, Verilog, System C
Schematic Entry(Schaltplan)
ABEL, CUPLPALASM
grafisch textuell
low-level
high-level
![Page 21: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/21.jpg)
© A. Steininger / TU Wien21
Design-Hierarchie
A
B
C
D
&
1
>=1
&
A
BC
D
Halbaddierer
A
B
C
D A
B
C
D
>=1A
B
SCI
CO
HA
HA1
HA2
VolladdiererInstanzierungenHA1 und HA2 von HA
![Page 22: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/22.jpg)
© A. Steininger / TU Wien22
„Vectored Instance“
D Q
EN
D Q
EN
D Q
EN
D Q
EN
Q4
Q3
Q2
Q1D1
D2
D3
D4
EN
D Q
EN
Q[1:4]D[1:4]
EN
4D Q
EN
4
L1
L2
L3
L4
L1:4
![Page 23: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/23.jpg)
© A. Steininger / TU Wien23
Bsp.-design: Schematic Entry
D
CLK
data_d[3:0] digit_L_d[3:0]
clk
DFF[3:0]
<sync. reset>
board_reset
![Page 24: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/24.jpg)
© A. Steininger / TU Wien24
Beispieldesign: Log/iC <*Identification ... >
*DeclarationsX-Var = 5;Y-Var = 4;
*X-Namesreset_board;data_d[0..3];
*Y-Namedigit_L_d[0..3];
*Boolean Equationsdigit_L_d[0..3]:=data_d[0..3] & reset_board;
<*PAL ... *Pins ... >*Special Functions
digit_L_d[0..3].REG = YES;*END
A
![Page 25: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/25.jpg)
© A. Steininger / TU Wien25
Beispieldesign: State-Chart
reset capture
reset_board
reset_board
Zustand
Ausgabe digit_L_d[3…0]
reset 0000
capture data_d[3…0]
data_d[3…0]0000
![Page 26: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/26.jpg)
© A. Steininger / TU Wien26
Beispieldesign: VHDL-Code
architecture behaviour of digit is begin SYNC_DIGIT_P : process (clk) begin if clk'event and clk = '1' then if reset_board = '0' then digit_L_d <= "0000"; else digit_L_d <= data_d; end if; end if; end process SYNC_DIGIT_P;end behaviour;
![Page 27: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/27.jpg)
© A. Steininger / TU Wien27
Design-Entry im Vergleich (1)
Verhalten Struktur
Geometrie
Gate
A
sysalg
Basisgatter, FF, Verbindungen mit Std.-Delay
RTL
Variable, log. Operatoren
LogIC u.ä.
Schaltplan
![Page 28: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/28.jpg)
© A. Steininger / TU Wien28
Design-Entry im Vergleich (2)
Verhalten Struktur
Geometrie
Register-Transfers
A
sysalg
State-Charts
cirgate
RTL
![Page 29: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/29.jpg)
© A. Steininger / TU Wien29
VHDL-Entry im Y-Diagramm
Verhalten Struktur
Geometrie
Register-Transfers
A
sysalg
ALU, Register & Signale
Beschreibung der internen Funktion von Blöcken („design units“)
Beschreibung der Verbindungen zwischen Blöcken
cirgate
RTL
![Page 30: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/30.jpg)
© A. Steininger / TU Wien30
Compilation (Logic Optimization)
Zweck:Umsetzung der
verhaltensbasierten Beschreibung(z.B. HDL Code)
in eine
strukturelle Darstellung
(z.B. EDIF-Netzliste)
Compilation
Specification
Design-Entry
Technology-Mapping
Manufact. Download
Chip complete
Partitioning & Placement
Routing
![Page 31: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/31.jpg)
© A. Steininger / TU Wien31
Y-Diagr.: FPGA Design Flow
Verhalten Struktur
GeometrieA
sysalg
cirgate
RTL
VHDL-SourceFFT-Filter
Aufbau aus
gene-rischen
Blöcken
Adder, MUX, M
ult.Compilation
Design Entry
![Page 32: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/32.jpg)
© A. Steininger / TU Wien32
Compilation: Schritte
Analyse des Designs/HDL-Codes (vgl. Parsing),
syntaktische Prüfung
Elaboration: Umwandlung in eine Datenstruktur
Transformation in ein Netzwerk aus gene-rischen logischen Zellen (AND,
INV, ...)
Minimierung der Logik (vgl. KV-Diagramm)
Timing-Analyse basierend auf „unit-delay“
![Page 33: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/33.jpg)
© A. Steininger / TU Wien33
Ergebnis der Compilation
Flip-Flop
Mux
data_d
digit_L_d
reset _ board clk
A
Beispiel: Synopsys
![Page 34: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/34.jpg)
© A. Steininger / TU Wien34
Vergleich mit VHDL-Code
architecture behaviour of digit is begin SYNC_DIGIT_P : process (clk) begin if clk'event and clk = '1' then if reset_board = '0' then digit_L_d <= "0000"; else digit_L_d <= data_d; end if; end if; end process SYNC_DIGIT_P;end behaviour;
Flip-Flops
Mux
A
![Page 35: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/35.jpg)
© A. Steininger / TU Wien35
Compiler: SW vs. HW
SoftwareCompilertechnik ist extrem ausgereiftHochsprache ist für Programmierung konzipiert wordenalle Hochsprachen-konstrukte sind in Assemblercode darstellbar
HardwareCompiler sind wenig ausgereiftVHDL ist konzipiert für DokumentationVerilog für SimulationNur wenige HDL-Konstrukte sind auch implementierbar
![Page 36: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/36.jpg)
© A. Steininger / TU Wien36
Technology Mapping
Zweck:Abbildung der gene-rischen Gatter auf die Logikelemente der Zieltechnologie
Besonderheit:In diesem Schritt wird Zieltechnologie festgelegt
Target-Library
Technology-Mapping
Specification
Design-Entry
Synthesis
Manufact. Download
Chip complete
Partitioning & Placement
Routing
![Page 37: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/37.jpg)
© A. Steininger / TU Wien37
Y-Diagr.: FPGA Design Flow
Verhalten Struktur
GeometrieA
sysalg
cirgate
RTL
VHDL-SourceFFT-Filter
Aufbau aus
gene-rischen
Blöcken
Adder, MUX, M
ult.
Implementierung aus targetspezif. GatternLUTs, Macrocells
Compilation
Technology
Mapping
Design Entry
![Page 38: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/38.jpg)
© A. Steininger / TU Wien38
Technology Mapping: ASIC
D-FF
„Mux“
Beispiel: Synopsys für Zieltechnologie Standard-Lib.
data_d
digit_L_d
reset _ boardclk
A
![Page 39: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/39.jpg)
© A. Steininger / TU Wien39
Technology Mapping: FPGA
data_d
digit_L_d
reset _ boardclk
Beispiel: Synplify für Zieltechnologie Altera Stratix
Logic Element
A
![Page 40: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/40.jpg)
© A. Steininger / TU Wien40
Synthese
Compilation+ Optimierung
Technology Mapping+ Optimierung
Synthese ist also der Prozeß der Abbildung der beim Design-Entry angegebenen Beschreibung auf Elemente der Target-Library.
Synthesis
![Page 41: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/41.jpg)
© A. Steininger / TU Wien41
Das Y-Diagramm
Design-Schritte
Synthese und PPR als Optimierungen
Spezifische Probleme des Routing
Verifikations-Schritte
Simulation
Statische Timing-Analyse
Überblick
![Page 42: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/42.jpg)
© A. Steininger / TU Wien42
Prinzip einer Optimierung
Mittels eines Algorithmus solleine Kostenfunktion minimiert odereine Nutzenfunktion maximiert werdenund zwar unter
Einhaltung von Randbedingungen
Als Voraussetzung müssen daher Kosten / Nutzen meßbar und alle Randbedingungen bekannt sein
![Page 43: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/43.jpg)
© A. Steininger / TU Wien43
Synthese als Optimierung
mögliche Kosten- bzw. Nutzenfunktionen (Optimierungskriterium OK) maximum speed minimum area minimum effort
typische Randbedingungen (RB) Timing-Vorgaben für diverse Pfade Power-Consumption Sperren von Optimierungen
![Page 44: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/44.jpg)
© A. Steininger / TU Wien44
Partitioning
Zweck:optimale Aufteilung des Designs auf mehrere ASICs (falls nötig)
OK: minimale Anzahl von Verbindungen
RB: Größe, Speed, Verlustleistung, am Chip verfügbare Technologie,...
Specification
Design-Entry
Synthesis
Technology Mapping
Manufact. Download
Chip complete
Partitioning & Placement
Routing
![Page 45: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/45.jpg)
© A. Steininger / TU Wien45
Partitioning ― Strategien
KonstruktivStartzelle ― jede weitere dazuprobieren, beste belassen ― weitere dazuprobieren, ... bis ASIC voll ist
Iterativ"Seed"-Konfiguration ― Zellen einzeln zwischen ASICs vertauschen, nur im Fall einer Verbesserung belassen
Simulated Annealingwie „iterativ“, aber manchmal auch ohne Verbesserungbelassen, => Überwinden lokaler Minima
...
T
EPbelassen exp Verschlechterung
Temperatur
![Page 46: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/46.jpg)
© A. Steininger / TU Wien46
Placement
Zweck:optimale Verteilung der Logikelemente und Routing-Kanäle auf dem ASIC
OK: Minimaler Inter-connect-Delay
RB: Größe, Pinbelegung, „Constraints“ des Designers, ...
Specification
Design-Entry
Synthesis
Technology Mapping
Manufact. Download
Chip complete
Partitioning & Placement
Routing
![Page 47: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/47.jpg)
© A. Steininger / TU Wien47
Placement: Schritte
FloorplanningAnordnen von Funktionsblöcken des Designs im ASIC(vgl. Räume im Gebäude)
Placement(im engeren Sinn)Anordnen der Logik-Elemente innerhalb eines Funktionsblockes(vgl. Einrichtung der Räume)
![Page 48: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/48.jpg)
© A. Steininger / TU Wien48
Placement: Das Grundproblem
Optimierung erfordert Abschätzen des Interconnect-Delay noch VOR dem Routing
Vergleich: Wie lange dauert eine Reise von China nach Russland? Von wo in China? Nach wohin in Rußland? Welche Straßen gibt es?
Lösung: Heuristik (Erfahrungen & Statistiken aus bestehenden Designs)
![Page 49: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/49.jpg)
© A. Steininger / TU Wien49
Komponenten des Delay
Gate Delay Durchlaufzeit durch ein Logikelement kaum abhängig vom Routing relativ gut vorhersagbar
Interconnect Delay Signallaufzeit auf den Leitungen stark abhängig vom Routing schlecht vorhersagbar
![Page 50: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/50.jpg)
© A. Steininger / TU Wien50
Trends beim Delay
Mit Verkleinerung der Feature-Size sinkt der Gate Delay rascher als der Interconnect Delay
Bei den heute üblichen Technologien überwiegt der Interconnect Delay klar. Eine realistische Vorher-sage des Timings ist daher erst nach dem Routing möglich, Optimierungen vor dem Routing werden immer schwieriger.
[l mm]1.0 0.5 0.25
1.0
delay [ns]
interconnect
gate
0.1
![Page 51: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/51.jpg)
© A. Steininger / TU Wien51
Das Y-Diagramm
Design-Schritte
Synthese und PPR als Optimierungen
Spezifische Probleme des Routing
Verifikations-Schritte
Simulation
Statische Timing-Analyse
Überblick
![Page 52: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/52.jpg)
© A. Steininger / TU Wien52
Routing
Zweck:Herstellen aller nötigen Verbindungen auf dem ASIC
OK: Minimale Inter-connect-Länge, minimaler krit. Pfad, Minimum an Vias
RB: Verfügbarkeit von Leitungen/Kanälen, Constraints, ...
Specification
Design-Entry
Synthesis
Technology Mapping
Manufact. Download
Chip complete
Partitioning & Placement
Routing
![Page 53: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/53.jpg)
© A. Steininger / TU Wien53
Y-Diagr.: FPGA Design Flow
Verhalten Struktur
GeometrieA
sysalg
cirgate
RTL
VHDL-SourceFFT-Filter
Aufbau aus
gene-rischen
Blöcken
Adder, MUX, M
ult.
Implementierung aus targetspezif. GatternLUTs, Macrocells
Layout des Filters am
FPGAFPGA-Konfiguration
Compilation
Technology
Mapping
Placement & RoutingDesign Entry
![Page 54: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/54.jpg)
© A. Steininger / TU Wien54
Umfang des Interconnect
Stand 2007 [ITRS‘06] Der Interconnect in einem Chip umfasst
typisch etwa 1,5km Leitungen pro cm2. Prognose: Anstieg von 15% pro Jahr Es gibt 11 Metallisierungsebenen „half pitch“
= Abstand der Leiterbahnen = Breite der Leiterbahnen = 65nm
![Page 55: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/55.jpg)
© A. Steininger / TU Wien55
Routing des Clock
Mimimaler Delay Starke Treiber (größere Fläche) Treiber parallel (geringere Last) Kurze Verbindungen
Minimaler Skew Symmetrische Netze („Tree“, „Spine“) „gematchte“ gleich belastete Treiber
Vorgegebene Clock-Netze im FPGA
![Page 56: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/56.jpg)
© A. Steininger / TU Wien56
Was ist Skew ?
1
1
Dt = tskew
Skew ist der Unterschied im Signal-Delay ▪ entlang unterschiedl. Äste einer verzweigten Leitung ▪ entlang eines Busses ▪ durch gleichartige Gatter
tdly1
tdly2
tskew = |tdly1 – tdly2|
![Page 57: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/57.jpg)
© A. Steininger / TU Wien57
Routing der Versorgung
Stromdichte
Zu hohe Stromdichte führt zu inakzeptabler Defektrate im Betrieb durch Abwandern des Materials („Elektromigration“)Typ. Wert: J ≈ 1mA/(mm)2
„Fat metal Rules“zu dicke Metallflächen (Leitungen) neigen zum Ablösen während des Packaging
Stromdichte J = Strom/Querschnitt [A/cm2]
![Page 58: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/58.jpg)
© A. Steininger / TU Wien58
Stromdichte – ein Vergleich
Gegeben: Standard-Installationsdraht mitQuerschnitt 2,5mm2.
Gesucht: Welcher Strom muss durch diesen Draht
fließen damit sich die gleiche Stromdichte
ergibt wie in der Versorgungsleitung eines
ASIC ? (1mA /(mm)2 )Lösung: Querschnitt = 2,5mm2 = 2,5*106 (mm)2
Strom = Querschnitt * StromdichteEs fließt ein Strom von 2,5*106 mA = 2,5kA
Das entspricht mehr als 0,5MW bei 230V
![Page 59: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/59.jpg)
© A. Steininger / TU Wien59
Ergebnisse nach dem Routing
Position aller benötigten Logikelemente steht fest (Placement)
Layout aller Logikelemente ist bekannt (Library)
Alle Verbindungen sind gelegt (Routing)
Alle Masken können erstellt werden („Tape-out“).
Alle realen Delays können genau (≈5%) ermittelt und dem Simulator mitgeteilt werden („Back-Annotation“)
![Page 60: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/60.jpg)
© A. Steininger / TU Wien60
Y-Diagr.: FPGA Design Flow
Verhalten Struktur
GeometrieA
sysalg
cirgate
RTL
VHDL-SourceFFT-Filter
Aufbau aus
gene-rischen
Blöcken
Adder, MUX, M
ult.
Implementierung aus targetspezif. GatternLUTs, Macrocells
Layout des Filters am
FPGAFPGA-Konfiguration
Compilation
Technology
Mapping
Placement & RoutingDownloa
dDesign Entry
Implementierung im FPGAFFT-Filter in HW
![Page 61: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/61.jpg)
© A. Steininger / TU Wien61
Das Y-Diagramm
Design-Schritte
Synthese und PPR als Optimierungen
Spezifische Probleme des Routing
Verifikations-Schritte
Simulation
Statische Timing-Analyse
Überblick
![Page 62: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/62.jpg)
© A. Steininger / TU Wien62
Validation
Zweck:überprüfen der Spezifikation Beschreibt sie die angestrebte Funk-
tionalität adäquat ? Ist sie umsetzbar ? Enthält sie Widersprüche ? Design-Entry
Specification
Validation
passfail
![Page 63: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/63.jpg)
© A. Steininger / TU Wien63
Simulation ― Wozu?
Debugging eines physikal. Prototypen wäre zu kompliziert/unmöglich (Zugänglichkeit im Chip?)
zu teuer (Fertigungskosten für Prototyp)
zu spät (time-to-market!)
Das ist bei Software (leider) oft anders…
(siehe Clip „If SW-Programmers had to build planes“)
![Page 64: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/64.jpg)
© A. Steininger / TU Wien64
Wert eines Prototypen
Erfolgserlebnis gute Basis für ausführliche Tests in Echtzeit ( = schneller als Simulation) Indiz für das Funktionieren des Designs ausreichend für den „Eigenbedarf“ NICHT AUSREICHEND für ein industrielles Produkt (worst case bezügl. Temperaturbereich, Prozessvariationen?)
![Page 65: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/65.jpg)
© A. Steininger / TU Wien65
Ablauf einer Simulation
Anlegen von Stimuli an das Design Meist wird dazu ein eigenes
(virtuelles) Design - eine „Testbench“ – erstellt.
Eine Testbench für alle Simulationsebenen.
Überprüfen der Reaktion Entspricht das Verhalten der Spezifikation ? Trace-File von voriger Simulation als
Referenz
War die Simulation vollständig ? Ein positives Ergebnis bezieht sich nur auf
die simulierten Funktionen !
![Page 66: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/66.jpg)
© A. Steininger / TU Wien66
Simulation & Testbench
Design
Stimuli
Trace File
Testbench
Design wird als Modul in größeres Design (Testbench) eingebettet und erhält so Stimuli für die Eingänge bei der Simulation
![Page 67: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/67.jpg)
© A. Steininger / TU Wien67
Behavioral Simulation
Zweck: Wurde
Spezifikation richtig umgesetzt ?
Funktioniert die Testbench ?
Besonderheit: berücksichtigt
keinerlei Timing berücksichtigt
nicht HW-Realisierbarkeit
Design-Entry
Synthesis
Specification
Behavioral Simulation
passfail
![Page 68: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/68.jpg)
© A. Steininger / TU Wien68
Functional Simulation
Zweck: Wurde der Code
richtig interpretiert?
Besonderheit: Design besteht
aus generischen Gattern mit „unit-Delay“
Synthesis
Technology-Mapping
Design-Entry
passfail
FunctionalSimulation
Partitioning & Placement
![Page 69: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/69.jpg)
© A. Steininger / TU Wien69
Prelayout-Gate-Level Simul.
Zweck: Gab es Fehler
beim Technology-Mapping?
Besonderheit: Design besteht
aus Gattern der Zieltechnologie
Gatterdelay real, Routing-Delay grob geschätzt
Synthesis
Technology-Mapping
Design-Entry
passfail
Prelayout-Gate-Level-Simulation
Partitioning & Placement
![Page 70: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/70.jpg)
© A. Steininger / TU Wien70
Postlayout-Gate-Level Simul.
Zweck: Stimmt das
Timing?
Besonderheit: Die genauen
Timing-Werte von der Back-Annotation stehen zur Verfügung
Routing
Manufacturing/Download
Design-Entry
passfail
Postlayout-Gate-Level-Simulation
…
![Page 71: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/71.jpg)
© A. Steininger / TU Wien71
Simulation auf allen Ebenen?
Je feinstufiger die Simulationsebenen, desto klarer sind Fehler zuordenbar weniger Zeit (für Synthese, P&R etc.) wird
bis zur Erkennung des Fehlers aufgewendet geringer ist die Gefahr einer gegenseitigen
Maskierung zweier Fehler
![Page 72: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/72.jpg)
© A. Steininger / TU Wien72
Y-Diagr.: Verification Flow
Verhalten Struktur
GeometrieA
sysalg
cirgate
RTL
VHDL-SourceFFT-Filter
Aufbau aus
gene-rischen
Blöcken
Adder, MUX, M
ult.
Implementierung aus targetspezif. GatternLUTs, Macrocells
Layout des Filters am
FPGAFPGA-Konfiguration
Compilation
Technology
Mapping
Placement & RoutingDownloa
d
BehavioralSimulation
Functiona
lSimulatio
n
Prelayoutgate-levelSimulation
Postlayoutgate-levelSimulation
Design Entry
Implementierung im FPGAFFT-Filter in HW
Test
![Page 73: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/73.jpg)
© A. Steininger / TU Wien73
Das Y-Diagramm
Design-Schritte
Synthese und PPR als Optimierungen
Spezifische Probleme des Routing
Verifikations-Schritte
Simulation
Statische Timing-Analyse
Überblick
![Page 74: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/74.jpg)
© A. Steininger / TU Wien74
Terminologie zur Simulation
Mixed-level SimulationFunktionsblöcke werden auf
unterschiedlichenAbstraktionsebenen simuliert
Mixed mode SimulatorSimulation erfolgt gemischt analog/digital
Sign-off Simulationtypisch postlayout Gate-Level-Simulation bei
Übergabe zur Fertigung, als Vorlage für Funktionstest des Chips nach der Fertigung
![Page 75: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/75.jpg)
© A. Steininger / TU Wien75
Logikpegel bei der Simulation
Was passiert, wenn auf einer Leitung gleichzeitig zwei widersprüchliche Pegel auftreten:
zwei Treiber gleichzeitig aktiv (Fehler) ein Treiber zieht Leitung trotz Pull-up auf ´0´ Treiber "overruled" den Bus-Keeper ...die beiden logischen Pegel ´1´und´0´ allein bieten dem Simulator zu wenig Möglichkeiten, solche Situationen aufzulösen
![Page 76: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/76.jpg)
© A. Steininger / TU Wien76
9-wertige Logik (IEEE Std 1164-1993)
0 strong low Treiberausgang, definiert
1 strong high "
L weak low Pull-down
H weak high Pull-up
X strong unknown Treiberausgang, undef´d.
W weak unknown bus-keeper, uninitialisiert
Z high impedance Treiberausgang, tri-state
- don't care Pegel bedeutungslos
U uninitialized FF-Ausgang, uninitialisiert
![Page 77: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/77.jpg)
© A. Steininger / TU Wien77
Signal Resolution Table
U X 0 1 Z W L H -
U U U 0 U U U 0 U U
X U X 0 X X X 0 X X
0 0 0 0 0 0 0 0 0 0
1 U X 0 1 X X 0 1 X
Z U X 0 X X X 0 X X
W U X 0 X X X 0 X X
L 0 0 0 0 0 0 0 0 0
H U X 0 1 X X 0 1 X
- U X 0 X X X 0 X X
AND
![Page 78: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/78.jpg)
© A. Steininger / TU Wien78
Ereignisgesteuerte Simulation
Ereignis (event): Pegeländerung an einem KnotenEreignisliste enthält alle (aktuell bekannten) zukünftigen Ereignisse mit Zeitpunkt, Knoten und neuem Pegelaktuelle Zeit schreitet fort, bis sie mit Zeit-punkt des nächsten Ereignisses übereinstimmtes folgt Auswertung der Konsequenzen des Events: Aktualisierung der Eingänge, Eintragen weiterer Events (z.B. Aktualisieren der Ausgänge nach einem Delay)Iterationen für die Auswertung in "delta-time" danach Fortschreiten der aktuellen Zeit
![Page 79: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/79.jpg)
© A. Steininger / TU Wien79
t event
A B N Y
01
Beispiel für eine Simulation
&1A
BY
2ns 3ns
t [ns]
t [ns]
0 42
60 42
A
B
Y
N
0-
0
0+D2
2+D3
4
5
6
init
A B
A
N
B
N Y
Y
0 0 01
0 0 00
1 0 00
1 0 01
1 1 01
0 1 01
0 0
0 0 11
0 0 01
A
3+D
Y 0
![Page 80: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/80.jpg)
© A. Steininger / TU Wien80
Das Y-Diagramm
Design-Schritte
Synthese und PPR als Optimierungen
Spezifische Probleme des Routing
Verifikations-Schritte
Simulation
Statische Timing-Analyse
Überblick
![Page 81: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/81.jpg)
© A. Steininger / TU Wien81
Statische Timinganalyse
combin. logic
tPD,CLK
1/fCLK,max = max (tdly,DATA,ij) + tSU – min (tdlyD,CLK,i)
Delays im Daten- und Clock-Pfad werden für jedes Flip-Flop syste-matisch analysiert
Überprüfung vorgegebener Constraints Ermittlung der maximal zulässigen Taktfrequenz
CLK
D
CLK
D
CLK
D
CLK
D
…
tdly,DATA,1m
tdly,DATA,2m
tdly,DATA,km
FF1
FF2
FFk FFm
A
![Page 82: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/82.jpg)
© A. Steininger / TU Wien82
Stat. Analyse vs. Simulation
Statische Analyse
…findet sicher den kritischen Pfad
…liefert keine Information über die zugehörigen Eingangsvektoren
…findet möglicherweise einen ungültigen Pfad
Simulation…findet den kritischen
Pfad nicht sicher (Eingangsvektoren?)
…liefert automatisch Information über die zugehörigen Eingangsvektoren
…findet sicher einen gültigen Pfad
![Page 83: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/83.jpg)
© A. Steininger / TU Wien83
Library-Databook /1
… charakterisiert die verfügbaren Basiszellen; z.B.:
Eingangskapazität [pF] (Beispiel: Inverter)
Beiträge zur Kapazität: - Gate des p-Kanal-FET - Gate des n-Kanal-FET - internes Routing
Typ (Treiberstärke) inv1 inv2 inv4 inv8 inv12
flächenoptimiert 0.034
0.067
0.133
0.265
0.397
Performance-optimiert
0.145
0.292
0.584
1.169
1.753
![Page 84: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/84.jpg)
© A. Steininger / TU Wien84
Library-Databook /2
Beispiel: 2-to-1 MUX
from input
to output
intrinsic [ns]
extrinsic [ns/pF]
D0 Z 1.42 2.10
D0 Z 1.23 3.66
D1 Z 1.42 2.10
D1 Z 1.23 3.66
SD/ Z 1.42 2.10
SD / Z 1.09 3.66
extloaddelay tCtt int
vorige Folie
![Page 85: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/85.jpg)
© A. Steininger / TU Wien85
Derating Factors
4.50 V 4.75 V 5.00 V 5.25 V 5.50 V
-40° 0.77 0.73 0.68 0.64 0.61
0° 1.00 0.93 0.87 0.82 0.78
25° 1.14 1.07 1.00 0.94 0.90
85° 1.50 1.40 1.33 1.26 1.20
100° 1.60 1.49 1.41 1.34 1.28
125° 1.76 1.65 1.56 1.47 1.41
Die Angaben im Datenblatt sind der worst case innerhalb eines spezifizierten Bereiches. Grundsätzlich gilt: Hohe Temperatur und niedrige Versorgung verlangsamen den Chip.
![Page 86: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/86.jpg)
© A. Steininger / TU Wien86
Formale Verifikation: Prinzip
bei komplexen Designs wird Coverage von Test bzw. Simulation zum ProblemLösung: formale, vollständige Überprüfungüberprüft werden meist Model Checking: Überprüfen von bekannten
Bedingungen/Eigenschaften (Deadlocks etc.)
Equivalence checking: Überprüfen der Über-einstimmung zweier Modelle (z.B. des Designs auf verschiedenen Abstraktionsebenen)
erfordert Darstellung des Designs als Modell
![Page 87: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/87.jpg)
© A. Steininger / TU Wien87
Formale Verifikation: Tools
Model checking vollautomatisch kommerzielle Tools benötigt spezif. Parametrierung liefert pass/fail Entscheidung (evtl.
„Gegenbeispiel“) gut für nach-trägliche Prüfung
formale Beweise manuell mathemat.
Methoden Parameter als
Variable zulässig liefert
Bedingungen in Form v. Ungleichungen
gut als Grundlage für Design-Entscheidungen
![Page 88: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/88.jpg)
© A. Steininger / TU Wien88
Benötigte Design-Tools
Design-Entry Logic Compiler (technologieunabhängig) Simulation (div. Levels) PPR (incl. Technology-Mapping)
...sind grundsätzlich unabhängige Funktionen, Tools verschiedener Hersteller kombinierbar, aber
Unterschiedliche Zielrichtungen & Stärken Kompatibilität ? Back-Annotation ?
![Page 89: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/89.jpg)
© A. Steininger / TU Wien91
Zusammenfassung (1)
Der Design-Flow eines ASIC bzw. FPGA umfasst die folgenden Schritte:
Spezifikation Design-Entry Compliation Technology-Mapping (Partitioning) Floorplanning, Placement & Routing
(PPR) Fertigung bzw. Download
![Page 90: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/90.jpg)
© A. Steininger / TU Wien92
Zusammenfassung (2)
Der Design-Prozess ist höchst komplex und daher fehleranfällig. An vielen Stellen ist daher eine Verifikation nötig, und im Fehlerfall müssen die einzelne Design-Schritte wiederholt werden. Das Design ist also ein iterativer Prozess.
Die Verifikation umfasst folgende Schritte: Validation (Prüfen der Spezifikation), Simulation (Prüfen der virtuellen
Implementierung) und Test (Prüfen des physikalischen Designs)
![Page 91: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/91.jpg)
© A. Steininger / TU Wien93
Zusammenfassung (3)
Das Y-Diagramm erlaubt eine Veranschaulichung des Design-Prozesses. Es umfasst die 3 Achsen Verhalten, Struktur und Geometrie. Durch konzentrische Kreise werden die Abstraktions-ebenen dargestellt.
Der Design-Prozess beginnt auf einer hohen Abstraktionsebene (typ. RTL) auf der Verhaltens- (und/oder Struktur-) achse. Mittels Tool-Support gelangt man über Struktur und die Geometrie-achse zu niedrigeren Abstraktionsebenen und schließlich ins Zentrum des Diagramms.
![Page 92: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/92.jpg)
© A. Steininger / TU Wien94
Zusammenfassung (4)
In HDLs lässt sich vieles einfach beschreiben, eine Abbildung auf HW erweist sich jedoch bei der Synthese oft als zu aufwendig oder unmöglich. Durch einen Optimierungsprozeß wird eine Kosten- funktion minimiert bzw. eine Nutzenfunktion maximiert, jeweils unter Einhaltung gegebener Randbedingungen.Partitioning, Placement und Routing sind solche Optimierungsprozesse. Vielfach werden hier aufgrund der Komplexität heuristische Methoden den geschlossenen Lösungen vorgezogen.
![Page 93: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/93.jpg)
© A. Steininger / TU Wien95
Zusammenfassung (5)
Für Partitioning und insbesondere Placement und Routing ist eine Abschätzung der Signallaufzeiten essenziell. Diese erweist sich jedoch aufgrund der Dominanz des Interconnect-Delay für neuere Technologien als zunehmend schwieriger.Simulation sollte auf möglichst vielen Ebenen durchgeführt werden, um Fehler rasch und eindeutig identifizieren zu können.Die Signal-Resolution Table gibt Aufschluss darüber, welcher Ausgangspegel aus dem Zusammenwirken mehrerer Eingangspegel an einem bestimmten Logikelement entsteht.
![Page 94: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/94.jpg)
© A. Steininger / TU Wien96
Zusammenfassung (6)
Bei der ereignisgesteuerten Simulation werden die Ereignisse nach einer Liste chronologisch abgearbeitet, neue Folge-Ereignisse werden in der Liste ergänzt. Gleichzeitigkeit wird durch die „Delta-Time“ berücksichtigt.Die statische Timinganalyse sucht systematisch das Design nach den langsamsten Datenpfaden ab.Das Timing ist in Libraries definiert. Variationen in der Temperatur oder der Versorgungsspannung werden durch Derating-Factors berücksichtigt.
![Page 95: © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt](https://reader030.vdocuments.net/reader030/viewer/2022013011/55204d8349795902118d7b48/html5/thumbnails/95.jpg)
© A. Steininger / TU Wien97
Zusammenfassung (7)
Die formale Verifikation erlaubt eine lückenlose Überprüfung des Designs nach bestimmten Kriterien. Voraussetzung ist aber das Vorliegen eines entsprechenden Modells.Als Werkzeuge werden einerseits Modelchecker und andererseits formale Beweise verwendet.