Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

© A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt.

Ähnliche Präsentationen


Präsentation zum Thema: "© A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt."—  Präsentation transkript:

1 © A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt

2 © A. Steininger / TU Wien 2 Das Y-Diagramm Design-Schritte Synthese und PPR als Optimierungen Spezifische Probleme des Routing Verifikations-Schritte Simulation Statische Timing-Analyse Überblick

3 © A. Steininger / TU Wien 3 Verschiedene Sichtweisen Verhalten: Was tut der Chip? Struktur: Welche Blöcke umfasst er? Geometrie: Wie ist er aufgebaut?

4 © A. Steininger / TU Wien 4 Das Y-Diagramm von Gajski Verhalten Struktur Geometrie Abstraktionsebenen A Prinzip der Abstraktion: Anpassung von Überblick vs. Detaillierungsgrad an den jeweiligen Bedarf

5 © A. Steininger / TU Wien 5 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 SpeicherCPUIO Control Inputs : Keyboard Output: Display Funktion: Umrechnung,… VDD D0 D1RWA7A6A5 GND Q1 PLCC84

6 © A. Steininger / TU Wien 6 Subsysteme & Busse Funktionsblöcke & Routing-Kanäle Y-Diagramm: Algorithm. Ebene Verhalten Struktur Geometrie Algorithmen Task-Allokation, Kommunikations- strukturen, Blockschaltbild Chip-Layout (Placement) A sys Operationen & Abfolgen while input Read „Schilling“ Calulate Euro Display „Euro“ µPµP IO-Ctrl 8 PS/2 Interface Speicher 16 RS232 Interface IO-Ctrl PS/2 µPµP RS232

7 © A. Steininger / TU Wien 7 Makrozellen & globales Routing Y-Diagramm: RTL Ebene Verhalten Struktur Geometrie Register- transfer Register- Transfers State Machines Grob-Schaltplan Layout Funktionsblöcke (Floorplanning) A sys alg ALU, Register & Signale case A when `1` then nextB <= C; nextstate <= idle; RAMRegister ALU Counter REGREG ALUALU

8 © A. Steininger / TU Wien 8 Standardzellen, lokales Routing Y-Diagramm: Logikebene Verhalten Struktur Geometrie Gate Boolesche Gleichungen Netzliste[ EDIF], Detail- Schaltplan Chip-Layout (Detail) A sys alg Basisgatter, FF, Verbindungen mit Std.-Delay RTL Variable, log. Operatoren D = NOT E C = (D OR B) AND A >1 & E B C A INV1 OR2 AND2 x3

9 © A. Steininger / TU Wien 9 Prozesse, Polygone Y-Diagramm: Schaltkreisebene Verhalten Struktur Geometrie Circuit Differential- gleichungen Netzliste (analog) Masken A sys alg Transistoren, Leitungsstücke mit R, L, C RTL U, I, e-Funktionen,… gate dU dt I C dI dt d 2 I dt 2 R +L+=

10 © A. Steininger / TU Wien 10 „Y-Tabelle“ SpeicherCPUIO Control System Algorithmisch case A when `1` then nextB <= C; nextstate <= idle; Registertransfer (RTL) RAMRegister ALU Counter Logik Schaltkreis dU dt I C dI dt d 2 I dt 2 R +L+= VerhaltenStruktur Geometrie D = NOT E C = (D OR B) AND A >1 & E B C A while input Read „Schilling“ Calulate Euro Display „Euro“ Inputs : Keyboard Output: Display Funktion: Umrechnung,… INV1 OR2 AND2 x3 µPµP IO-Ctrl 8 PS/2 Interface Speicher 16 RS232 Interface IO-Ctrl PS/2 µPµP RS232 REGREG ALUALU Counter Ebene VDD D0 D1RWA7A6A5 GND Q1 PLCC84

11 © A. Steininger / TU Wien 11 Y-Diagramm: Konvergenz Verhalten Struktur Geometrie alg sys RTL gate cir A alle drei Sichtweisen beschreiben letztlich das selbe System… … und konvergieren daher auf der untersten Abstraktionsebene Design-Flow

12 © A. Steininger / TU Wien 12 Das Y-Diagramm Design-Schritte Synthese und PPR als Optimierungen Spezifische Probleme des Routing Verifikations-Schritte Simulation Statische Timing-Analyse Überblick

13 © A. Steininger / TU Wien 13 Design-Flow im Überblick Design-Entry Compilation Technology-Mapping Partitioning & Placement Routing Manufact. Specification Download Chip complete Post-layout Pre-layout behavioral structural physical verbale Funktionsbeschreibung formale Funktionsbeschreibung Umsetzung in Logik-Elemente Umsetzung in verfügbare Zellen Aufteilung der Zellen Verbindung der Zellen physikalische Realisierung

14 © A. Steininger / TU Wien 14 Verifikationsschritte Design-Entry Compilation Technology-Mapping Manufact. Specification Download Validation Behavioral Simulation Postlayout- Gate-Level-Simulation Prelayout- Gate-Level-Simulation Test Chip complete Post-layout Pre-layout behavioral structural physical Partitioning & Placement Routing Functional Simulation

15 © A. Steininger / TU Wien 15 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

16 Die Realität …. © A. Steininger / TU Wien 16 [ZID TU Wien]

17 © A. Steininger / TU Wien 17 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, ….

18 © A. Steininger / TU Wien 18 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

19 © A. Steininger / TU Wien 19 sys cir Abstraktion v. Design Entry Verhalten Struktur Geometrie RTL alg 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

20 © A. Steininger / TU Wien 20 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, CUPL PALASM grafischtextuell low-level high-level

21 © A. Steininger / TU Wien 21 Design-Hierarchie Halbaddierer HA HA1 HA2 Volladdierer Instanzierungen HA1 und HA2 von HA

22 © A. Steininger / TU Wien 22 „Vectored Instance“ L1 L2 L3 L4 L1:4

23 © A. Steininger / TU Wien 23 Bsp.-design: Schematic Entry data_d[3:0]digit_L_d[3:0] clk DFF[3:0] board_reset

24 © A. Steininger / TU Wien 24 Beispieldesign: Log/iC *Declarations X-Var = 5; Y-Var = 4; *X-Names reset_board; data_d[0..3]; *Y-Name digit_L_d[0..3]; *Boolean Equations digit_L_d[0..3]:=data_d[0..3] & reset_board; *Special Functions digit_L_d[0..3].REG = YES; *END A

25 © A. Steininger / TU Wien 25 Beispieldesign: State-Chart resetcapture reset_board ZustandAusgabe digit_L_d[3…0] reset0000 capturedata_d[3…0] 0000

26 © A. Steininger / TU Wien 26 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 process SYNC_DIGIT_P; end behaviour;

27 © A. Steininger / TU Wien 27 Design-Entry im Vergleich (1) Verhalten Struktur Geometrie Gate A sys alg Basisgatter, FF, Verbindungen mit Std.-Delay RTL Variable, log. Operatoren LogIC u.ä. Schaltplan

28 © A. Steininger / TU Wien 28 Design-Entry im Vergleich (2) Verhalten Struktur Geometrie Register- Transfers A sys alg State-Charts cir gate RTL

29 © A. Steininger / TU Wien 29 VHDL-Entry im Y-Diagramm Verhalten Struktur Geometrie Register- Transfers A sys alg ALU, Register & Signale Beschreibung der internen Funktion von Blöcken („design units“) Beschreibung der Verbindungen zwischen Blöcken cir gate RTL

30 © A. Steininger / TU Wien 30 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

31 © A. Steininger / TU Wien 31 Y-Diagr.: FPGA Design Flow Verhalten Struktur Geometrie A sys alg cir gate RTL VHDL-Source FFT-Filter Aufbau aus gene- rischen Blöcken Adder, MUX, Mult. Compilation Design Entry

32 © A. Steininger / TU Wien 32 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“

33 © A. Steininger / TU Wien 33 Ergebnis der Compilation Flip-Flop Mux data_d digit_L_d reset _ board clk A Beispiel: Synopsys

34 © A. Steininger / TU Wien 34 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 process SYNC_DIGIT_P; end behaviour; Flip-Flops Mux A

35 © A. Steininger / TU Wien 35 Compiler: SW vs. HW Software Compilertechnik ist extrem ausgereift Hochsprache ist für Programmierung konzipiert worden alle Hochsprachen- konstrukte sind in Assemblercode darstellbar Hardware Compiler sind wenig ausgereift VHDL ist konzipiert für Dokumentation Verilog für Simulation Nur wenige HDL- Konstrukte sind auch implementierbar

36 © A. Steininger / TU Wien 36 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

37 © A. Steininger / TU Wien 37 Y-Diagr.: FPGA Design Flow Verhalten Struktur Geometrie A sys alg cir gate RTL VHDL-Source FFT-Filter Aufbau aus gene- rischen Blöcken Adder, MUX, Mult. Implementierung aus targetspezif. Gattern LUTs, Macrocells Compilation Technology Mapping Design Entry

38 © A. Steininger / TU Wien 38 Technology Mapping: ASIC D-FF „Mux“ Beispiel: Synopsys für Zieltechnologie Standard-Lib. data_d digit_L_d reset _ board clk A

39 © A. Steininger / TU Wien 39 Technology Mapping: FPGA data_d digit_L_d reset _ board clk Beispiel: Synplify für Zieltechnologie Altera Stratix Logic Element A

40 © A. Steininger / TU Wien 40 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

41 © A. Steininger / TU Wien 41 Das Y-Diagramm Design-Schritte Synthese und PPR als Optimierungen Spezifische Probleme des Routing Verifikations-Schritte Simulation Statische Timing-Analyse Überblick

42 © A. Steininger / TU Wien 42 Prinzip einer Optimierung Mittels eines Algorithmus soll eine Kostenfunktion minimiert oder eine Nutzenfunktion maximiert werden und zwar unter Einhaltung von Randbedingungen Als Voraussetzung müssen daher Kosten / Nutzen meßbar und alle Randbedingungen bekannt sein

43 © A. Steininger / TU Wien 43 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

44 © A. Steininger / TU Wien 44 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

45 © A. Steininger / TU Wien 45 Partitioning ― Strategien Konstruktiv Startzelle ― 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 Annealing wie „iterativ“, aber manchmal auch ohne Verbesserung belassen, => Überwinden lokaler Minima... Verschlechterung Temperatur

46 © A. Steininger / TU Wien 46 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

47 © A. Steininger / TU Wien 47 Placement: Schritte Floorplanning Anordnen 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)

48 © A. Steininger / TU Wien 48 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)

49 © A. Steininger / TU Wien 49 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

50 © A. Steininger / TU Wien 50 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.  m  delay [ns] interconnect gate 0.1

51 © A. Steininger / TU Wien 51 Das Y-Diagramm Design-Schritte Synthese und PPR als Optimierungen Spezifische Probleme des Routing Verifikations-Schritte Simulation Statische Timing-Analyse Überblick

52 © A. Steininger / TU Wien 52 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

53 © A. Steininger / TU Wien 53 Y-Diagr.: FPGA Design Flow Verhalten Struktur Geometrie A sys alg cir gate RTL VHDL-Source FFT-Filter Aufbau aus gene- rischen Blöcken Adder, MUX, Mult. Implementierung aus targetspezif. Gattern LUTs, Macrocells Layout des Filters am FPGA FPGA-Konfiguration Compilation Technology Mapping Placement & Routing Design Entry

54 © A. Steininger / TU Wien 54 Umfang des Interconnect Stand 2007 [ITRS‘06] Der Interconnect in einem Chip umfasst typisch etwa 1,5km Leitungen pro cm 2. Prognose: Anstieg von 15% pro Jahr Es gibt 11 Metallisierungsebenen „half pitch“ = Abstand der Leiterbahnen = Breite der Leiterbahnen= 65nm

55 © A. Steininger / TU Wien 55 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

56 © A. Steininger / TU Wien 56 Was ist Skew ?  t = t skew Skew ist der Unterschied im Signal-Delay ▪ entlang unterschiedl. Äste einer verzweigten Leitung ▪ entlang eines Busses ▪ durch gleichartige Gatter t dly1 t dly2 t skew = |t dly1 – t dly2 |

57 © A. Steininger / TU Wien 57 Routing der Versorgung Stromdichte Zu hohe Stromdichte führt zu inakzeptabler Defektrate im Betrieb durch Abwandern des Materials („Elektromigration“) Typ. Wert: J ≈ 1mA/(  m) 2 „Fat metal Rules“ zu dicke Metallflächen (Leitungen) neigen zum Ablösen während des Packaging Stromdichte J = Strom/Querschnitt [A/cm 2 ]

58 © A. Steininger / TU Wien 58 Stromdichte – ein Vergleich Gegeben: Standard-Installationsdraht mit Querschnitt 2,5mm 2. Gesucht: Welcher Strom muss durch diesen Draht fließen damit sich die gleiche Stromdichte ergibt wie in der Versorgungsleitung eines ASIC ? (1mA /(  m) 2 ) Lösung: Querschnitt = 2,5mm 2 = 2,5*10 6 (  m) 2 Strom = Querschnitt * Stromdichte Es fließt ein Strom von 2,5*10 6 mA = 2,5kA Das entspricht mehr als 0,5MW bei 230V

59 © A. Steininger / TU Wien 59 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“)

60 © A. Steininger / TU Wien 60 Y-Diagr.: FPGA Design Flow Verhalten Struktur Geometrie A sys alg cir gate RTL VHDL-Source FFT-Filter Aufbau aus gene- rischen Blöcken Adder, MUX, Mult. Implementierung aus targetspezif. Gattern LUTs, Macrocells Layout des Filters am FPGA FPGA-Konfiguration Compilation Technology Mapping Placement & Routing Download Design Entry Implementierung im FPGA FFT-Filter in HW

61 © A. Steininger / TU Wien 61 Das Y-Diagramm Design-Schritte Synthese und PPR als Optimierungen Spezifische Probleme des Routing Verifikations-Schritte Simulation Statische Timing-Analyse Überblick

62 © A. Steininger / TU Wien 62 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 pass fail

63 © A. Steininger / TU Wien 63 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“)If SW-Programmers had to build planes

64 © A. Steininger / TU Wien 64 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?)

65 © A. Steininger / TU Wien 65 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 !

66 © A. Steininger / TU Wien 66 Simulation & Testbench DesignStimuli 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

67 © A. Steininger / TU Wien 67 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 pass fail

68 © A. Steininger / TU Wien 68 Functional Simulation Zweck: Wurde der Code richtig interpretiert? Besonderheit: Design besteht aus generischen Gattern mit „unit-Delay“ Synthesis Technology-Mapping Design-Entry pass fail FunctionalSimulation Partitioning & Placement

69 © A. Steininger / TU Wien 69 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 pass fail Prelayout- Gate-Level-Simulation Partitioning & Placement

70 © A. Steininger / TU Wien 70 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 pass fail Postlayout- Gate-Level-Simulation …

71 © A. Steininger / TU Wien 71 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

72 © A. Steininger / TU Wien 72 Y-Diagr.: Verification Flow Verhalten Struktur Geometrie A sys alg cir gate RTL VHDL-Source FFT-Filter Aufbau aus gene- rischen Blöcken Adder, MUX, Mult. Implementierung aus targetspezif. Gattern LUTs, Macrocells Layout des Filters am FPGA FPGA-Konfiguration Compilation Technology Mapping Placement & Routing Download Behavioral Simulation Functional Simulation Prelayout gate-level Simulation Postlayout gate-level Simulation Design Entry Implementierung im FPGA FFT-Filter in HW Test

73 © A. Steininger / TU Wien 73 Das Y-Diagramm Design-Schritte Synthese und PPR als Optimierungen Spezifische Probleme des Routing Verifikations-Schritte Simulation Statische Timing-Analyse Überblick

74 © A. Steininger / TU Wien 74 Terminologie zur Simulation Mixed-level Simulation Funktionsblöcke werden auf unterschiedlichen Abstraktionsebenen simuliert Mixed mode Simulator Simulation erfolgt gemischt analog/digital Sign-off Simulation typisch postlayout Gate-Level-Simulation bei Übergabe zur Fertigung, als Vorlage für Funktionstest des Chips nach der Fertigung

75 © A. Steininger / TU Wien 75 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

76 © A. Steininger / TU Wien 76 9-wertige Logik (IEEE Std ) 0strong lowTreiberausgang, definiert 1strong high" Lweak lowPull-down Hweak highPull-up Xstrong unknownTreiberausgang, undef´d. Wweak unknownbus-keeper, uninitialisiert Zhigh impedanceTreiberausgang, tri-state -don't carePegel bedeutungslos UuninitializedFF-Ausgang, uninitialisiert

77 © A. Steininger / TU Wien 77 Signal Resolution Table UX01ZWLH- UUU0UUU0UU XUX0XXX0XX UX01XX01X ZUX0XXX0XX WUX0XXX0XX L HUX01XX01X -UX0XXX0XX AND

78 © A. Steininger / TU Wien 78 Ereignisgesteuerte Simulation Ereignis (event): Pegeländerung an einem Knoten Ereignisliste enthält alle (aktuell bekannten) zukünftigen Ereignisse mit Zeitpunkt, Knoten und neuem Pegel aktuelle Zeit schreitet fort, bis sie mit Zeit- punkt des nächsten Ereignisses übereinstimmt es 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

79 © A. Steininger / TU Wien 79 teventABNY 0 1 Beispiel für eine Simulation 2ns 3ns t [ns] A B Y N  2 2+  init A  B  A  N  B  N  Y  Y  A 3+  Y  0

80 © A. Steininger / TU Wien 80 Das Y-Diagramm Design-Schritte Synthese und PPR als Optimierungen Spezifische Probleme des Routing Verifikations-Schritte Simulation Statische Timing-Analyse Überblick

81 © A. Steininger / TU Wien 81 Statische Timinganalyse combin. logic t PD,CLK 1/f CLK,max = max (t dly,DATA,ij ) + t SU – min (t dlyD,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 D D D … t dly,DATA,1m t dly,DATA,2m t dly,DATA,km FF1 FF2 FFk FFm A

82 © A. Steininger / TU Wien 82 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

83 © A. Steininger / TU Wien 83 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)inv1inv2inv4inv8inv12 flächenoptimiert Performance- optimiert

84 © A. Steininger / TU Wien 84 Library-Databook /2 Beispiel: 2-to-1 MUX from input to output intrinsic [ns] extrinsic [ns/pF] D0  ZZ D0  ZZ D1  ZZ D1  ZZ SD  /  ZZ SD  /  ZZ vorige Folie

85 © A. Steininger / TU Wien 85 Derating Factors 4.50 V4.75 V5.00 V5.25 V5.50 V -40° ° ° ° ° ° Die Angaben im Datenblatt sind der worst case innerhalb eines spezifizierten Bereiches. Grundsätzlich gilt: Hohe Temperatur und niedrige Versorgung verlangsamen den Chip.

86 © A. Steininger / TU Wien 86 Formale Verifikation: Prinzip bei komplexen Designs wird Coverage von Test bzw. Simulation zum Problem Lö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

87 © A. Steininger / TU Wien 87 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

88 © A. Steininger / TU Wien 88 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 ?

89 © A. Steininger / TU Wien 89 Design-Flow in der LU Design-Entry Compilation Technology-Mapping Partitioning & Placement Routing Manufact. Specification Download Validation Postlayout- Gate-Level-Simulation Test Chip complete Synplify Angabe Quartus VHDL Modelsim Behavioral Simulation Prelayout- Gate-Level-Simulation Functional Simulation

90 © A. Steininger / TU Wien 90 Design Flow in der LU Verhalten Struktur Geometrie A sys alg cir gate RTL Compilation Technology Mapping Placement & Routing Download Behavioral Simulation Functional Simulation Prelayout gate-level Simulation Postlayout gate-level Simulation Design Entry Text-Editor Modelsim Synplify Modelsim Synplify Quartus Modelsim

91 © A. Steininger / TU Wien 91 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

92 © A. Steininger / TU Wien 92 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)

93 © A. Steininger / TU Wien 93 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.

94 © A. Steininger / TU Wien 94 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.

95 © A. Steininger / TU Wien 95 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.

96 © A. Steininger / TU Wien 96 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.

97 © A. Steininger / TU Wien 97 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.


Herunterladen ppt "© A. Steininger / TU Wien 1 Der Design-Flow eines ASIC Von der Idee zum funktionierenden Produkt."

Ähnliche Präsentationen


Google-Anzeigen