Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Technische und Wirtschaftswissenschaftliche Universität Budapest Lehrstuhl für Elektronische Bauelemente MIKROELEKTRONIK, VIEEAB00.

Ähnliche Präsentationen


Präsentation zum Thema: "Technische und Wirtschaftswissenschaftliche Universität Budapest Lehrstuhl für Elektronische Bauelemente MIKROELEKTRONIK, VIEEAB00."—  Präsentation transkript:

1 http://www.eet.bme.hu Technische und Wirtschaftswissenschaftliche Universität Budapest Lehrstuhl für Elektronische Bauelemente MIKROELEKTRONIK, VIEEAB00 HDL, Synthese, Verilog, SystemC http://www.eet.bme.hu/~gaertner/Vorlesungen/HDLverilog.ppt

2 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 2 Hardware-Beschreibung Sprachen (HDL) ► Überschau ► Synthese ► Verilog ► SystemC

3 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 3 Entwicklung von HDL-s ► In den 80-er Jahren wurden die digitalen Schalt- kreise so komplex, dass sie auf Transistor- bzw. Gatterebene nicht mehr überschaubar waren ► Es wurde ein Mittel benötigt zur schnellen und effizienten Gestaltung und Prüfung der Entwürfe ► Die Lösung kam in Form von Programmiersprachen (Verilog, VHDL, ABEL, usw.) ► Diese sind Spezialsprachen, die direkt für die Ansprüche des Hardware-Entwurfs gestaltet wurden ABEL – Avanced Boolean Equation Language – (z.B. Xilinx)

4 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 4 Eigenschaften der HDLs ► Sie modellieren, simulieren (und darstellen) die digitale Hardware ► Sie können die konkurrenten Tätigkeiten im Schalt- kreis beschreiben (Parallelität) ► Sie wiedergeben den zeitlichen Verlauf der Signale ► Sie realisieren die unterschiedlichen digitalen Modelle (kombinatorische, synchrone und asynchrone sequentielle Netzwerke) ► Unterstützen den modularen Entwurf

5 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 5 Vorteile der HDLs ► Unterstützung der strukturierten Entwurfsmethoden ► Projekte können flexibel partitioniert werden ► Auf Grund der Sprachbeschreibung kann der Schaltplan generiert werden, wenn notwendig ► Abstraktion auf hoher Ebene ist möglich ► Einfacher Vergleich von Alternativen ist möglich ► Änderungen können schnell durchgeführt werden ► Bessere Effizienz und Qualität  grössere Produk- tivität beim Entwerfen ► Schneller Prototypenentwurf durch Synthese

6 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 6 Entwerfen in HDL ► Günstig für top-down Stil ► High-Level Beschreibung der Funktion (Verhalten) ► Verifizierung durch Simulation ► Identifizierung von kleineren funktionellen Einheiten ► Partitionierung des Systems ► Unterteilung in hierarchische Blöcke ► Verfeinerung bis RTL-Ebene (Register-Transfer Level, Hardwarenahe “quasi-strukturelle” Beschreibung) ► Ständige Prüfung durch Simulation

7 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 7 RTL – Register-Transfer Level ► Das ideale Synthese:  SpezifikationChip Layout  Das können Programme nur annähern, mit Hilfe des Entwerfers ► Auf System-Ebene ist der Freiheitsgrad der Reali- sierung sehr hoch. ► Wahl zwischen Software und Hardware. ► Der Syntheser benötigt RTL-Beschreibung, wo Datenlogik, Manipulationen sowie Steuerlogik erkennbar sind (Register, Busse, State-Machine, Boole’sche Gleichungen).

8 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 8 Synthese: Funktion  Struktur ► Das ist der wichtigste Schritt im Entwerfen ► Umsetzung: einer Funktionellen Beschreibung wird eine Netzliste (Struktur!) zugeordnet, im ersten Schritt mit generischen Schaltungselementen. ► Der zweite Schritt: Mapping. Für die generischen Elemente werden konkrete Zellen von der Zellen- bibliothek der spezifizierten Technologie gesucht und substituiert. ► In dieser Phase wird schon die Laufzeit der Signal- pfade überprüft, ob sie die Taktperiode überschreitet – Timing Analysis. ► Nachher wird die Funktionalität durch Simulation geprüft.

9 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 9 Timing Analysis – Laufzeit Analyse ► Der Syntheser erhält keine Stimuli, nur eine Netzliste ► Kritische Signalpfade werden gesucht ► Restzeiten – Slack-time – werden für den sicheren Betrieb ermittelt. QD Komb. Netzw. CLK D Q t clk t komb t dff t setup t slack

10 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 10 Die funktionelle Beschreibung und die gene- rische Synthese ist Technologie-unabhängig! FPGA ASIC HDL

11 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 11 Die Geschichte von Verilog ► Diese Sprache hat die Firma Gateway Design Automation 1984 entwickelt (Simulator Verilog-XL) ► Cadence Design Systems hat Gateway Design Automation aufgekauft, und Verilog 1990 veröffent- licht, um damit eine verbreitete Verwendung zu ermöglichen. Dadurch wurde Verilog de facto Standard. ► Die offizielle Standardisierung erfolgte 1995 unter der Betreuung durch die Organisation Open Verilog International (OVI – alias Accelera) – dann wurde Verilog de jure Standard ► 2001 wurde das Standard erweitert: Verilog-2001

12 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 12 Verilog – Erbschaften von C ► Lexikale Elemente ► Ausdrücke ► Operatoren ► (Zyklische Befehle) ► Bedingte Zuweisungen

13 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 13 Spezialoperatoren 1 ► Anhängeoperator {}:  Bits oder Bitserien können verkettet werden  Einzelteile müssen durch Komma separiert angegeben werden  Damit können z.B. die Bits eines Registers rotiert werden: reg [7:0] rx; always @(posedge CLK) begin if (rotleft) rx <= {rx[6:0], rx[7]}; end Die niedrigen 7 Bits werden oben (MSB) placiert, während das echte MSB zum Bit 0 (LSB)

14 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 14 ► Reduktionsoperatoren:  Diese machen die Beschreibung von Gattern mit vielen Eingängen einfacher  Wird die Einoperandversion der Logikoperatoren vor eine Bus-Variante placiert, so werden die Operationen an allen Bits durchgeführt: wire [3:0] in; wire q; assign q = &in; Spezialoperatoren 2 & in[0] in[1] in[2] in[3] q

15 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 15 Leitungen 1 ► Leitung: das einfachste Schaltkreiselement (wire) ► Sie braucht ständige Steuerung, denn sie hat keinen Speicher ► Dafür gibt es zwei Möglichkeiten:  Kontinuierliche Zuweisung (continuous assignment): Das ist ein Modell des (kombinatorischen) Schaltnetzes Wenn sich an der rechten Seite etwas ändert, werden die Zuweisungen sofort aufgefrischt  Anschluss an den Ausgang eines Registers: Die Register speichern den zugewiesenen Wert, so können sie die angeschlossene(n) Leitung(en) kontinu- ierlich antreiben

16 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 16 Leitungen 2 ► Wenn nicht anders deklariert, werden die An- schlüsse eines Moduls als Leitungen behandelt ► Weitere Leitungen können mittels des Schlüssel- worts wire deklariert werden, z.B. einfache Leitungen (AA, BB, Z) und ein 8-Bit-Bus (CC) ► Die kontinuierliche Zuweisung erfolgt mit assign: wire AA, BB, Z; wire [7:0] CC; assign Z = AA && BB;

17 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 17 Register ► Ein-Bit Speicher ► Zuweisungen können nur durch ein Ereignis statt- finden (z:B. steigende Flanke eines Taktsignals) ► Der zugewiesene Wert wird bis zur nächsten Zuweisung beibehalten ► Deklaration: mittels des Schlüsselwortes reg reg q; reg [3:0] cnt;

18 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 18 Ereignisgesteuerte Zuweisung 1 ► In einem always Block können Werte, gesteuert durch ein Ereignis, einem Register zugewiesen werden: ► wire clk; reg [7:0]cnt; always @(posedge clk) begin cnt <= cnt + 1; end Nach dem Zeichen @ wird das Ereignis angegeben Eine steigende Flanke des Signals clk startet die Durch- führung der Befehle im Block Ein Befehlsblock befindet sich zwischen den Schlüsselwörtern begin und end

19 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 19 Ereignisgesteuerte Zuweisung 2 ► Das System prüft die Bedingungen ständig im Kopf der always Blöcke und bei Erfüllung führt das Befehlsblock im Körper aus ► In einem always können Werte nur Registern zugewiesen werden (in gewissen Fällen kann der Syntheser das Register zur Leitung umgestalten) ► Die always Blöcke innerhalb eines moduls laufen parallel (konkurrent) ► Es gibt always Blöcke auch ohne Bedingung, die kontinuierlich durchgeführt werden

20 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 20 Ein einfaches Beispiel: Zähler module zaehler(clk, reset, q); input clk, reset; output reg [7:0] q; always @(posedge clk) begin if (reset == 1) q = 0; else q <= q + 1; end endmodule Der Ausgang ist ein 8-Bit-Register Das Reset ist synchron, weil das Resetsignal nur bei der steigenden Flanke des Taktes geprüft wird Die bedingte Abzweigung ( if-else ) funktioniert genau so, wie in anderen Sprachen (z.B. C) Wichtig: die logische Gleichheitsprüfung ist nicht identisch mit der Zuweisung

21 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 21 Testen – Testbench ► Auch das Testen (Prüfung) erfolgt mit Sprachmitteln ► Ein portloser Modul wird erstellt und simuliert ► Das stellt die Umgebung des zu prüfenden Moduls dar ► Darin wird der zu prüfende Modul instanziert ► Für die Eingänge werden Register definiert, in diesen Registern wird die Testsequenz erstellt ► Eine Testsequenz mit einmaliger Ablauf kann in einem initial Block generiert werden ► Die Leitungen an den Ausgängen werden beobachtet

22 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 22 Generierung von aperiodischen Testsignalen ► Die Ausführung des initial Blocks beginnt am Anfang der Simulation ► Am Ende des Blocks wird die Simulation beendet ► Nur Registern dürfen Werte zugewiesen werden reg in; initial begin in = 0; #5 in = 1; #500 $finish; end Das bedeutet eine Verzögerung von fünf Zeiteinheiten der Simulation So können Änderungen in einer Testsequenz zeitlich bestimmt werden Diese Art Verzögerung ist nicht synthetisierbar Das Schlüsselwort $finish beendet die Simulation

23 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 23 Generierung von periodischen Testsignalen ► Periodische Testsignale können in bedingungslosen always Blöcken generiert werden, ein Anfangswert soll aber in einem initial Block zugewiesen werden ► z.B. ein Rechtecksignal von zehn Zeiteinheiten (Takt): initial clk = 0; always begin #5 clk = !clk; end Der Wert des Registers clk wird nach fünf Zeiteinheiten invertiert

24 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 24 Beispiel: Prüfung des Zählers module tb_zaehler; reg clk, reset; wire [7:0] q; zaehler z1(clk, reset, q); initial begin clk = 0; reset = 0; #2 reset = 1; #2 reset = 0; #2600 $finish; end always #5 clk = !clk; endmodule

25 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 25 Hierarchischer Aufbau aus Elementen 1 ► In Verilog werden Moduln definiert ► Diese sind Teilschaltkreise mit Ein- und Ausgängen ► z.B.: module AND(inA, inB, q); input inA, inB; output q; … endmodule A inA inB q

26 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 26 Hierarchischer Aufbau aus Elementen 2 ► Eine beliebige Anzahl von Moduln kann eingebaut werden– Instanzierung: module Komplex(in, out); input [3:0] in; output [1:0] out; AND a1(in[0], in[1], out[0]); AND a2(in[2], in[3], out[1]); endmodule 4-Bit Eingang 2-Bit Ausgang Name des zu instanzierenden Moduls Individueller Name der Instanz Portliste Die einzelnen Bits werden mittels des Index-Operators [ ] selektiert

27 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 27 Hierarchischer Aufbau aus Elementen 3 module Komplex module AND a1 a2 in [3:0]out [1:0] in[0] in[1] in[2] in[3] out[0] out[1] inA inB q q inA inB

28 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 28 Neue Möglichkeiten des Verilog-2001 ► Syntax-Strukturen von C++ wurden übernommen, z.B:  Zusammengefasste Port-Deklaration: output reg [2:0] out;  Flexible Port-Listen sind möglich: module mmm(input [7:0] in, output reg [2:0] out);

29 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 29 Verilog Synchron-Sequentieller Stil 1 ► Die Basis ist das Flipflop mit Takt- und Rücksetzsignal. ► Es ist nachdrücklich empfohlen, in die Ereignisliste diese, aber nur diese Signale aufzunehmen. ► Die always Anweisung soll so aussehen: always@(posedge CLK or posedge RES) if (RES) Q <= 0; else begin...... end

30 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 30 Verilog Synchron-Sequentieller Stil 2 ► Wenn die Änderung eines Signals eine Aktivität aus- lösen soll, soll das in einem if Befehl bewerkstelligt werden. ► Nur so kann ein einfacher Schaltkreis synthetisiert werden. always@(posedge CLK or posedge RES) if (RES) begin Q <= 0; ZZ <= 0; end else begin if( KNOPF) Q <= Q+1;... end ZZ <= KNOPF; !ZZ &&

31 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 31 Verilog Literatur ► Kollegienhefte vom Lehrstuhl:  www.eet.bme.hu/~nagyg/verilog.pdf  www.eet.bme.hu/~gaertner/Segedanyagok/LXveriFS.doc ► Andere Quellen:  www.doulos.com/knowhow/verilog_designers_guide/  www.verilog.net/docs.html  www.asic-world.com/verilog/index.htm  www.ee.lsu.edu/v/refcard.pdf

32 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 32 Andere Trends ► SoC – System on Chip ► Hardware-Software Co-Design – HSCD ► System C

33 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 33 Andere Trends – SoC ► SoC = System on Chip  Ein vollständiges System, gebaut auf einem Chip digitaler Teil eingebettete Software analoge Schnittstellen (wenn notwendig)  Homogene Technologie – z.B. alle Hardwarekompo- nenten CMOS  Es wird auf hoher Abstraktionsebene entworfen Verilog/VHDL für Analogteile: die Erweiterungen Verilog-A, VHDL-A  Typisch ist die Verwendung von IP Blöcken  Gemeinsamer Hardware-Software Entwurf: z.B. SystemC Das wurde 2005 standardisiert

34 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 34 “Intellectual Property” A Protocol Processor for Wireless Communication Zum Beispiel:

35 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 35 Gemeinsamer Entwurf von Hardware und Software ► ESL: Electronic System Level design ► Das wichtigste Ziel des gemeinsamen HW-SW Entwurfs ist, dass  der Entwurf durch Beschreibung auf hoher Abstraktionsebene besser überschaubar wird,  Fehler leichter zu finden sind,  die HW-SW Partitionierung optimalisiert wird,  die Zeit zur Markteinführung kürzer wird, und  die Entwurfskosten reduziert werden. ► Dafür ist ein günstiges Mittel das SystemC ► Eine andere Version: Verwendung von ANSI C, z.B. Mentor Graphics CatapultC

36 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 36 Gemeinsamer Entwurf von Hardware und Software ► SystemC: HSCD (hardware-software co-design) ► IEEE Standard ab 2005: IEEE std-1666-2005 ► Das Ziel ist: HW-SW parallel (gleichzeitig)  Entwurf  Simulation  Verifizierung ► Es ist nicht notwendig, mit dem Entwurf der eingebetteten Software die Fertigstellung der Hardware abzuwarten  time-to-market kann reduziert werden ► Der Entwurf kann auf hoher Abstraktionsebene durchgeführt werden

37 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 37 Das SystemC ► Das SystemC ist eine C++ Bibliothek und Methoden, die recht effizient verwendet werden können zum  Erstellen von Software-Algorithmen,  Modellieren von Hardware-Architekturen, sowie  Realisieren der Schnittstellen von SoC und System-Level Modellen. ► Durch Verwendung von Entwurfsumgebung für SystemC und traditionelles C++ können Modelle auf System-Ebene beschrieben werden, diese können leicht simuliert und optimalisiert werden. ► Das System-Modell ist ein C++ Programm, das beim Laufen dasselbe produziert als das System selber

38 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 38 Die Komponenten von SystemC ► Modul: ist ein container, das andere Moduln und process-e enthalten kann ► Process: beschreibt eine gegebene Funktionalität ► Signal: sowohl das 2-Werte (0,1) als auch das 4-Werte (0,1,X,Z) Logik wird unterstützt ► Port: Signalanschluss ► Datentypen – vielerlei Typen können gebraucht werden Vorsicht – Synthetisierbarkeit!! ► Taktsignal: Spezialsignal zum Modellieren der Zeit ► Simulationskernel – Ermöglicht eine schnelle Simulation (compiled Kode) ► Signal-Monitoring:  VCD (Value Change Dump),  WIF (Waveform Intermediate Format) und  ISDB (Integrated Signal Data Base) Dateiformate werden unterstützt

39 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 39 Ein Beispiel für SystemC ► Steuerung von Verkehrsampeln (BAH Knoten)  9 KFZ Ampeln,  7 Fussgänger Ampeln  Zyklus: 90 sec  3 Moduln Zähler (Zeitgeber) KFZ Ampelsteuerung Fussgänger Ampelst. Balotai Péter: Diploma dolgozat, 2007

40 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 40 Steuerung von Verkehrsampeln Balotai Péter: Diploma dolgozat, 2007

41 Budapesti Műszaki és Gazdaságtudomanyi Egyetem Elektronikus Eszközök Tanszéke 25.02.2016. PG. IC tervezés 3 © Poppe András – Nagy Gergely, PG. BME-EET 2016 41 Steuerung von Verkehrsampeln // count.h #include "systemc.h" SC_MODULE(count) { //input ports sc_in clk; sc_in en; //output ports sc_out > ido; int countval; void countproc(); SC_CTOR(count) { SC_METHOD(countproc); countval = 89; sensitive_pos << clk; sensitive << en; } }; //count.cpp #include "count.h" void count::countproc() { if (en == 1) { if (countval < 89) { countval++; } else { countval = 0; } } else { countval = 0x7f; } ido = countval; }


Herunterladen ppt "Technische und Wirtschaftswissenschaftliche Universität Budapest Lehrstuhl für Elektronische Bauelemente MIKROELEKTRONIK, VIEEAB00."

Ähnliche Präsentationen


Google-Anzeigen