63
1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation 20.05.03 Andreas Mäder [email protected] Vergleichende Untersuchungen zur Vergleichende Untersuchungen zur effizienten VHDL-Simulation effizienten VHDL-Simulation Oberseminar TAMS Oberseminar TAMS

1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

Embed Size (px)

Citation preview

Page 1: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

1 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Vergleichende Untersuchungen zur Vergleichende Untersuchungen zur effizienten VHDL-Simulationeffizienten VHDL-Simulation

Oberseminar TAMSOberseminar TAMS

Page 2: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

2 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

InhaltInhalt

● Motivation EntwurfsablaufZiele der Simulation

● VHDL-Simulation SimulationszyklusAlgorithmenDurchführung der

Simulation● Methoden & Benchmarks

Werkzeuge Programme● Ergebnisse Algorithmen

ParameterSkalierungCodierung

Page 3: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

3 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Top-down Entwurf

Page 4: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

4 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ziele der SimulationZiele der Simulation

● Detektion von Entwurfsfehlern ⇒ Nachweis der Funktionalität

● Erarbeitung/Ergänzung der Spezifikation● Untersuchung von Alternativen● Dynamisches Systemverhalten

Simulation mit richtigen Anwendungsdaten als Stimuli– Timing-Analyse– Power-Analyse

Schaltverhalten aus der Simulation statt geschätzter Umschalthäufigkeiten

Page 5: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

5 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ziele der SimulationZiele der Simulation

● KonsistenzsicherungCorrectness by Construction, beim Übergang von einer simulierten Eingabe der Synthese zu der Netzliste, gilt nicht!– Unzureichende Simulation auf höheren Ebenen– Bedienungsfehler– Design-Flow z.B.: als Wechselwirkung zwischen

Syntheseprogramm und Bibliotheken

– Programmfehler

Page 6: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

6 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

● Menge konkurrent aktiver Codefragmente– Prozesse

begrenzen sequenziell abzuarbeitenden VHDL-Code

– Konkurrente Anweisungen Prozesse mit nur einer Anweisung

– Hierarchien Ersetzung der Instanzen führt zu deren konkurrentem Code

● Signale verbinden diese Codeteile (Prozesse)– Signaltreiber– Signalaktivität

VHDL SimulationVHDL Simulation

Page 7: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

7 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

SignaltreiberSignaltreiber

● Zuweisung an ein Signal durch eine konkurrente Zuweisung / einen Prozess

● Mehrere Zuweisungen innerhalb eines Prozesses bilden einen Signaltreiber

● Sortierte Liste: Wert-Zeit Paare

● Aktualisierung durch den Simulationslauf als Ergebnis von Signalzuweisungen

Page 8: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

8 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

SignaltreiberSignaltreiber

● Verzögerungsmodelle:

Transport

Inertial

Transport S <= transport I after 2 ns;

S <= reject 0 ns inertial I after 2 ns;Inertial S <= I after 2 ns;

S <= inertial I after 2 ns;

S <= reject 2 ns inertial I after 2 ns;

● Delta-Delay: Zuweisung ohne SignalverzögerungS <= I;

Page 9: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

9 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

SignaltreiberSignaltreiber

1. Ein Treiber, eine Signalzuweisung– Aktualisierung der Treiberliste für Zeiten >

Verzögerungszeit– Ersetzung bei -Delay S <= 2;

2. Ein Treiber, mehrere Zuweisungen (in einem Prozess)

– sequenzielle Aktualisierung der Treiberliste

3. Mehrere Treiber ⇒Busstruktur

– Erfordert spezielle Datentypen und Auflösungsfunktion, die aus allen Treibern einen effektiven Wert des Signals berechnet

Page 10: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

10 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

● Der simulierte Zeitpukt now ändert sich● Eine Signalzuweisung der Treiberliste wird wirksam● Bei Signalauflösung (mehrere Treiber) wird ein neuer

effektiver Wert berechnet● VHDL-Attribute: 'active Signalaktivität

'event + der Wert ändert sich

SignalaktivitätSignalaktivität

Page 11: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

11 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

● Ablauf der Simulation durch Ereignisse gesteuert● Simulationsereignis:

– Werteänderung eines SignalsEreignisSignal = (Zeitpunkt, Signal, Wert)

– (Re-) Aktivierung eines Prozesses nach wait forEreignisProzess = (Zeitpunkt, Prozess,

Einsprungstelle)

● Prozessaktivierung:

– Direkt EreignisProzess

– Triggerfunktion sensitivity-Liste, wait on, wait untilTriggerProzess(EreignisSignal) EreignisProzess

VHDL SimulationVHDL Simulation

Page 12: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

12 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

VHDL SimulationszyklusVHDL Simulationszyklus

● Initialisierung

– t0.zeit tc = now := 0 ns;

– t0.signalexplizit effektive Werte explizit deklarierter Signale

– t0.signalimplizit implizite Signale (durch Attribute) initialisieren

– t0.prozessnormal alle Prozesse bis wait / Prozessende, ausführen

– t0.prozesspostponed postponed Prozesse (letzter -Zyklus) abarbeiten

– t0.zeitschritt nächster Zeitschritt niedrigster Wert des

Scheduletn = min(time'high, EreignisSignal.Zeitpunkt,

EreignisProzess.Zeitpunkt)

Page 13: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

13 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

VHDL SimulationszyklusVHDL Simulationszyklus

● Zeitschritt: effektiv oder -Zyklus

– tc.zeit tc = now := tn;

time'high markiert das Ende der Simulation

– tc.signalexplizit die Treiber aktiver Signale werden aktualisiert

– tc.signalimplizit und erzeugen: EreignisSignal

– tc.prozessaktivierung alle zu aktivierenden Prozesse werden bestimmt:

EreignisProzess ∪ TriggerProzess(EreignisSignal)

postponed-Prozesse bilden eine eigene Menge

– tc.prozessnormal aktivierte Prozesse (nicht postponed)

bis wait, bzw. Prozessende, ausführen

Page 14: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

14 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

VHDL SimulationszyklusVHDL Simulationszyklus

– tc.zeitschritt nächster Zeitschritt niedrigster Wert des Schedule

tn = min(time'high, EreignisSignal.Zeitpunkt,

EreignisProzess.Zeitpunkt)

– tc = tn ⇒ es folgt der nächste -Zyklus: tc.zeit

tc ≠ tn ⇒ dies ist der letzte -Zyklus: tc.prozesspostponed

– tc.prozesspostponed die postponed Prozesse abarbeiten,

dabei werden keine weiteren -Zyklen erzeugt

– tc.zeitschrittpost nächster Zeitschritt niedrigster Wert des Schedule

tn = min(time'high, EreignisSignal.Zeitpunkt,

EreignisProzess.Zeitpunkt)

Page 15: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

15 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

SimulationsalgorithmenSimulationsalgorithmen

● Ereignisorientiert, interpretierend– Folgt direkt dem Algorithmus– Dynamische Verwaltung der Ereignisliste(n)

(Signaltreiber)– Vorteile: Konformität

Debugging– Nachteile: langsam

Page 16: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

16 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

SimulationsalgorithmenSimulationsalgorithmen

● Ereignisorientiert, compilierend– Umsetzung von VHDL in Hochsprachencode (C, C+

+)

– Simulatorkern Verwaltung der EreignislisteSchnittstellen zu Datenstrukturen Signalwerte, Aktivierung...

– Compiler erzeugt Maschinencode– Der Simulator wird zusammengelinkt– Vorteile: Simulationsgeschwindigkeit– Nachteile: Debugging teilweise eingeschränkt

Compileroptimierung ↔ Geschwindigkeit

Page 17: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

17 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

SimulationsalgorithmenSimulationsalgorithmen

● Zyklenbasiert, compilierend– Simulationszyklus statt dynamischer Verwaltung von

Ereignissen:● diskretes Zeitraster Takt bei Register-Transfer

Code● In jedem Zyklus werden alle Beschreibungen simuliert

Optimierungen möglich● Erfordert Sequenzialisierung der konkurrenten Prozesse,

dem Datenfluss entsprechend– Vorteile: Simulationsgeschwindigkeit

Codeabhängig: unnötige Berechnung ↔dynamische Ereignisverwaltung

Page 18: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

18 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

SimulationsalgorithmenSimulationsalgorithmen

– Nachteile: Debugmöglichkeiten teilweise eingeschränkt

Einschränkungen im Sprachstandard:

Zuweisungen mit Verzögerungszeit

wait-AnweisungenSonderbehandlung von

Testumgebungeneinheitliches Taktschema

(disjunkte Takte?)

Page 19: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

19 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Durchführung der SimulationDurchführung der Simulation

1. Codeanalyse– syntaktische Analyse– erzeugt Elemente in einer VHDL-Bibliothek– simulatoreigene Binärformate

native Objektdateien (compilierend)

2. Elaboration– Hierarchie auflösen– Executable des Simulators zusammenbauen (compilierend)

– Datenstrukturen aufbauen (in Verbindung mit Simulation)

3. Simulation

Page 20: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

20 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Simulation – weitergehende KonzepteSimulation – weitergehende Konzepte

● Mehrere Algorithmen nur VHDL– Kopplung ereignisorientierter und zyklenbasierter Simulation– Teile der Hierarchie erhalten ihren Simulatorkern

● Mixed-mode Simulation + analog = VHDL-AMS– analoge Komponenten

SystemumgebungMEMS

– Schnittstellenproblematik Wert diskret ↔ kontinuierlich

Zeit diskret / (Takt-) Zyklen

Wirkung Richtung der Ports

Page 21: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

21 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Simulation – weitergehende KonzepteSimulation – weitergehende Konzepte

● Simulatorkopplungen + digital (Verilog)– Gatterbibliotheken

IP-Modelle die nur in einer HDL vorliegen– Timing-Checks in Verilog enthalten ⇒ besser optimiert

(VITAL-Standard in VHDL)– Realisierungskonzepte Master-Slave

getrennte Codeanalyse beicompilierenden Simulatoren

– „golden Simulation“ VHDL-Systemumgebung +

Verilog-Netzliste + SDF-Timing

Page 22: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

22 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Simulation – weitergehende KonzepteSimulation – weitergehende Konzepte

● Hardwarebeschleuniger FPGA-Boards– Hardwareemulation von Gatternetzlisten (Quickturn, IKOS ...)

z.B. Nvidia: 160Mio.$ tools, 40Mio.$ Emulatoren, >8000CPUs

– Vorteile: Geschwindigkeitmacht viele Systemsimulationen erst möglich

– Nachteile: Kosteneingeschränktes Timing

● Programmiersprachen-Schnittstellen (VHPI, Verilog-PLI)

– Externe Modelle IP-Komponenten, System

– Benutzerschnittstellen Ein-/Ausgabe, Sound, Grafik... ⇨

Page 23: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

23 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ziel der ArbeitZiel der Arbeit

● Zeitbedarf von Simulationen ist ein entscheidender Faktor für Entwurfsdauer

● Welche Faktoren beeinflussen die Simulationsgeschwindigkeit?– Der Simulator, bzw. dessen Algorithmus– Die Parametrisierung und Handhabung der Programme– Die Gatterbibliotheken– Die Art der VHDL-Codierung– Die Schaltungsgröße

● Für VHDL-Simulation gibt es keine Benchmarks!

Page 24: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

24 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

BenchmarksBenchmarks

● Operationswerk– 16-bit Prozessor– RISC-Befehlssatz: Laden, Speichern, 2- und 3-Adress

ALU

Page 25: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

25 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

● Funk-Wecker– Kleines ASIC– Interner Taktteiler– Autonome Automaten

BenchmarksBenchmarks

Page 26: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

26 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

BenchmarksBenchmarks

● Hardware-Multiplizierer– Radix-4 Booth-Multiplizierer– „von Hand“ codiert: Booth-Encoding statt Operator: *

Wallace-Tree CSACPA-Addition

– Parametrisierbar: m × n-bit Beispiele 8 × 8,

16, 24, 3216 × 16,

24, 3224 × 24,

3232 × 32

● Ampelschaltung

Page 27: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

27 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

● Programme– EDA-Anbieter– HDLs– Platformen

● Zellbibliotheken– Prozesse– Modell e

SimulationsprogrammeSimulationsprogrammeVersion VHDL Verilog Sun PC

VSS 2000.12 * *

2001.09 * *

Cyclone 2000.12 * *

2001.09 * *

Scirocco 2000.12 * +VCS *

2001.10 * *

2002.06 * +VCS *

VCS 6.0.1 +Scirocco * *

6.2R4 +Scirocco * *

Leapfrog 2.84-p001 * +Verilog-XL *

NCSim 3.11.p1 * * *

Verilog-XL 3.11.p1 +Leapfrog * *

ModelSim 5.3d * * *

Simili 1.5b17 * *

Page 28: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

28 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

SimulationsläufeSimulationsläufe

● VHDL-Testumgebung– keine Benutzereingaben nötig– Prüfsummen zeigen korrektes Verhalten der Schaltung

● 62 Parametersätze für die Simulatoren– Debug-Simulation, Voreinstellung, Performance– Codeanalyse, Elaboration, Simulation

● 10 Parametersätze für die 2 Zellbibliotheken● Skriptgesteuert

– Zeitmessung durch Betriebssystem, z.T. Simulatorintern– Mittel aus mehreren Läufen

Page 29: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

29 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

● Algorithmus– ereignisorientiert, interpretierend– ereignisorientiert, compilierend– Zyklenbasiert, compilierend

● Parametervariationen● Benutzerschnittstelle● Abstraktion

– Register-Transfer Code– Gatternetzliste

Ergebnisse – allgemeinErgebnisse – allgemein

NCSim

VSS

Clock

Clock

OPW

OPW

Page 30: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

30 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ergebnisse – SkalierungErgebnisse – Skalierung

● Simulatoren skalieren linear mit der Schaltungsgröße– Profiling Information aus Elaboration– Beispiel: Gatternetzliste des Multiplizierers

● Maßeinheit der Komplexität:Anzahl skalarer Signale– Unabhängig von der Abstraktion

● Netzlisten ≙ Anzahl Prozesse● Verhalten ≙ Aktivität der Prozesse

– Maß gilt für alle Simulationsalgorithmen● Ereignissteuerung Eingangssensitivität +

Wirkungseffektivität● Zyklenbasiert Anzahl der Prozesse + Komplexität

Page 31: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

31 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ergebnisse – CodierungErgebnisse – Codierung

● Simulation: möglichst wenig, möglichst große Prozessekurze Sensitivity-Liste

– Ereignissteuerung ⇒ weniger Events– Zyklenbasiert ⇒ mehr Compileroptimierung

⇒ weniger Prozesse anzuordnen

● Design + Trennung funktionaler Einheiten, beispielsweiseSynthese: ein Prozess pro Register

einfache Prozesse, wenig Variablen:übersichtlicherer Code, weniger Fehler

● Tradeoff: Simulation ↔ DesignAmpelschaltung

Page 32: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

32 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ergebnisse – NetzlistensimulationErgebnisse – Netzlistensimulation

● Simulationsmodelle– Verschiedene Zellmodelle ⇒ VITAL als

„Standard“– Parameter bei Bibliotheksgenerierung

● Zielbibliothek– Timing-Modellierung

● Mixed-mode Simulation– VHDL + Verilog

● Verilog Simulation

Clock

Clock

OPW

OPW

OPW

Clock

Page 33: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

33 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ergebnisse – ProgrammErgebnisse – Programm

● Parametrisierung der Programme● Auswahl des Simulators

– Starker Konkurrenzkampf – Produkte gleichwertig– Unterschiede durch die Konzepte– Neue Versionen

● EDA-Tools auf PCs sind konkurrenzfähig– Sun:Ultra60 2 × 360 MHz 1280MB– PC: AMD K6III 400 MHz 160MB

Multiplizierer

OPW

Clock

OPW

Page 34: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

34 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ergebnisse – FehlerErgebnisse – Fehler

● Timing-Fehler ⇒ undefinierte Werte● Bibliotheksmodelle ⇒ undefinierte Werte

⇒ falsche Wertekritisch!

● Programmfehler ⇒ Generic-Auswertung⇒

Programmabbrüche● Verschiedene Simulationsalgorithmen● Verschiedene Hardwarebeschreibungssprachen

Page 35: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

35 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

ZusammenfassungZusammenfassung

● Simulation ist von zentraler Bedeutung im VLSI-Entwurfund macht einen erheblichen Teil der Entwurfszeit aus

● Zeitaufwand abhängig von– Algorithmus: Compiliert

ereignisorientiert ↔ zyklenbasiert– Benutzung: Parameter

Debug-Option– VHDL-Codierung: Partitionierung im Code

Testumgebung Schaltungsgröße

● Gemischte Ansätze VHDL-Testumgebung + Verilog-Netzliste

Page 36: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

36 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

mainP: process (clk, rst) type stateTy is (Gr, Yr, Rr, Rg, RYr); variable timer : integer range 0 to maxWalkC; variable state : stateTy; variable request : boolean;begin if rst = '0' then -- async. reset lightCar <= "001"; lightWalk <= "10"; state := Gr; timer := 0; request := false; elsif rising_edge(clk) then -- clock case state is when Gr => -- Green + red lightCar <= "001"; lightWalk <= "10"; if (reqWalk = '1') then request := true; -- store reqest end if; if (timer > 0) then timer := timer – 1; -- no timeout elsif request then state := Yr; -- timeout and req. end if; when Yr => -- Yellow + red lightCar <= "010"; lightWalk <= "10"; timer := maxWalkC-1; -- init. timer

...

Page 37: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

37 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Selektive Signalzuweisung process (A, B, OP) beginwith OP select case OP is RES <= A + B when ADD_I, ADD_I => RES <= A + B; A - B when SUB_I, SUB_I => RES <= A - B; A + 1 when INC_I, INC_I => RES <= A + 1; ... ... A or B when OR_I, OR_I => RES <= A or B; A and B when AND_I; AND_I => RES <= A and B; end case; end process;

Bedingte Signalzuweisung process (A, B) beginSIGN <= 1 when (A > B) else if (A > B) then SIGN <= 1; 0 when (A = B) else elsif (A = B) then SIGN <= 0; -1; else SIGN <= -1; end if; end process;

Page 38: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

38 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

-- stimuli generator for user interface stiP: process procedure pushBut( pushT, runT : in time; signal button : out std_logic) is begin button <= '1'; wait for pushT; button <= '0'; wait for runT-pushT; end procedure pushBut; begin -- send pattern: Mo. 24.12.01 22:54-- FSM sec wait for 1 sec; -- 1

-- set alarm2: Mo. 22:54 pushBut(300 ms, 1 sec, butMod); -- alarm1 2 pushBut(300 ms, 1 sec, butMod); -- alarm2 3 pushBut(300 ms, 1 sec, butMin); -- minute 4 pushBut( 3 sec, 4 sec, butMinus); -- minute -6 8 pushBut(300 ms, 1 sec, butHour); -- hour 9 pushBut( 1 sec, 2 sec, butMinus); -- hour -2 11 ...

pushBut( 1 sec, 2 sec, butSleep); -- sleep 64 wait; end process stiP;

Page 39: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

39 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

VSS+Spektrum+Scope

Page 40: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

40 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

VSS+Display

Page 41: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

41 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Multiplizierer Flächen- und Zeitbedarf

Page 42: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

42 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

OPW RT-Code

Page 43: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

43 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Clock RT-Code

Page 44: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

44 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

VSS

Page 45: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

45 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

NCSim

Page 46: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

46 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

OPW

Page 47: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

47 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

OPW

Page 48: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

48 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Clock

Page 49: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

49 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Clock

Page 50: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

50 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Schaltungsgröße

Page 51: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

51 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Multiplizierer

Page 52: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

52 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Multiplizierer

Page 53: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

53 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ampelschaltung RT-Code

Page 54: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

54 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Ampelschaltung RT-Code

Page 55: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

55 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

OPW Netzliste

Page 56: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

56 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Clock Netzliste

Page 57: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

57 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

OPW Netzliste

Page 58: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

58 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Clock Netzliste

Page 59: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

59 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Multiplizierer

Page 60: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

60 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Multiplizierer

Page 61: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

61 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

OPW RT-Code

Page 62: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

62 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

OPW RT-Code

Page 63: 1 / 35 AB TAMS Technische Aspekte Multimodaler Systeme Universität Hamburg Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten

63 / 35

AB TAMS

Technische Aspekte Multimodaler Systeme

Universität Hamburg

Fachbereich Informatik Oberseminar TAMS: Vergleichende Untersuchungen zur effizienten VHDL-Simulation

20.05.03

Andreas Mäder

[email protected]

Clock RT-Code