VHDL. Informationstechnik für Luftund Raumfahrt Aerospace Information Technology. Aerospace Information Technology

Größe: px
Ab Seite anzeigen:

Download "VHDL. Informationstechnik für Luftund Raumfahrt Aerospace Information Technology. Aerospace Information Technology"

Transkript

1 VHDL Informationstechnik für Luft- und Raumfahrt Informationstechnik für Luftund Raumfahrt

2 Programmierbare Logic Was würdet Ihr mit einer Tüte mit NANDS machen? Man Könnte: CPUS Speicher Devices anschließen Vielen Netzwerk Verbindungen Gesamte Systeme machen Aber wie? Wie verbinden wir 100 M NANDS? Schematisch Gleichungen Hoch Programmiersprache C++/C? (System-C) andere?

3 PLA

4 PLA

5

6 CPLD

7 FPGA

8 FPGA Figure from CLB (Configurable Logic Blocks) LUT (Look-Up Table) Routing I/O cells Figure from University of Toronto

9 FPGA Programmierung VHDL (Versionen 1983, 2003) Verilog (Handle-C) (System-C) (Simulink) (Labview) Eingene Synthese Tools Memory Generators FIFOS Generator State Machine Generators Interfaces Generators

10 FPGA Entwurfspezifikation

11 FPGA Programmierung: VHDL Simulatoren (Warnung von Simulator zu Synthese ist eine weite Strecke) GHDL Open Source VHDL Simulator

12 VHDL!= VHDL IEEE Syntese IEEE 1076 Simulation Hersteller -X z.b. Oszilloskop, Print, at(time) waituntil(time)...

13 VHDL!= VHDL VHDL als Programmiersprache (Simulationssprache) ganz normale Programmiersprache, die kompiliert und ausgeführt werden kann. (Simulator) In dieser Funktion wird VHDL hauptsächlich zum schreiben von Simulationen (Testbenches) verwendet. VHDL als Hardwarebeschreibungssprache Um digitale Schaltungen zu beschreiben. Synthese Netzliste Bitstream für einen CHIP Viel beschränkter als eine Simulation

14 VHDL Zusammenfassung Extrakt aus: Technische Grundlagen der Informatik

15 VHDL Struktur Entity Signale & Verbindungen Input ports Output ports Prozess Prozess Prozess Reset Clock Architecture wo ist power?

16 Was man von außen sieht result <= x xor y; carry <= x and y; PORT (x: IN bit; y: OUT bit); Entity Signale & Verbindungen Input ports Output ports Prozess Prozess Prozess Reset Clock Architecture Das Verhalten INV1: inverter PORT MAP (clk, clk_z); PROCESS (clk) BEGIN IF clk EVENT AND clk = 1 THEN q <= q + 1; END IF; END PROCESS reg8_no_reset;

17 Definition der Interfaces ENTITY <entity_name> IS PORT ( [signal] <identifier> {,<identifier>}:[mode] <type_mark> {;[signal] <identifier> {,<identifier>}:[mode] <type_mark>} ); END [<entity_name>]; ENTITY inverter IS PORT (x: IN bit; y: OUT bit); END inverter; x y

18 Inv... Beispiel mit + in c... c = a + b;... int add(int a, int b) { int sume, s, c; summe = 0; while(a!= 0 && b!= 0) {. } Return summe; }...

19 Definition der Interfaces register8 data q ENTITY <entity_name> IS rst PORT ( [signal] <identifier> {,<identifier>}:[mode] <type_mark> en {;[signal] <identifier> {,<identifier>}:[mode] <type_mark>} clk ); END [<entity_name>]; ENTITY register8 IS PORT ( clk, rst, en: IN std_logic; data: IN std_logic_vector(7 DOWNTO 0); q: OUT std_logic_vector(7 DOWNTO 0) ); END register8;

20 Entity: IO Signale IN -- der Port ist ein Eingangsport, d.h. Read only OUT -- der Port ist ein Ausgangsport, d.h. Write only INOUT read/write LINKAGE -- unbekannt, ob Eingang oder Ausgang

21 Entity: Types TYPE BIT IS ('0','1'); Meistens! TYPE STD_LOGIC IS ('0','1', 'Z', 'U', 'X'); TYPE BOOLEAN IS (TRUE, FALSE); + eingene Definitionen (vergleichbar mit enum in c++) TYPE BITVECTOR IS ARRAY(NATURAL RANGE <> ) OF BIT; Für Simulation Da wir uns zunächst mehr auf die formale Definition hierarchischer Strukturen Synthese beschränken wollen, reicht uns diese einfache Auswahl von VHDL Typen(Einige vorerst. Tool schaffen es) Hinzu nehmen wir noch TYPE INTEGER IS RANGE TO ; SUBTYPE NATURAL IS INTEGER RANGE 0 TO INTEGER'HIGH; SUBTYPE POSITIVE IS INTEGER RANGE 1 TO INTEGER'HIGH; Für Synthese TYPE STD_LOGIC_VECTOR (<n1> TO DOWNTO <n2>);

22 Architektur: Def des Verhaltens Was macht die Entity? - Beschreibung durch neben läufige Prozesse - Beschreibung durch neben läufige Signalzuweisungen - Beschreibung durch Instanziierung und Verbindung von Komponenten. Signal : Hardware Signale ( x <= y; a <= b AND c OR NOT d;) Constant : Konstanten, nur für dem Compiler (1, 0, 23, 42, etc) Variable : Hilfsmittel, wie Defines (a := b AND c) Extra für Informatiker :) Aber nur variablen generieren kein Hardware

23 Definition des Verhaltens ARCHITECTURE <architecture_name> OF <entity_name> IS type_declaration signal_declaration PROCESS (clk) BEGIN variable_declaration IF clk EVENT AND clk = 1 THEN q <= q + 1; constant_declaration END IF; END PROCESS reg8_no_reset; component_declaration BEGIN { process_statement result <= x xor y; carry <= x and y; concurrent_signal_assignment_statement component_instatiation_statement INV1: inverter PORT MAP (clk, clk_z); } END [<architecture_name>]; Architecture

24 Beispiel ARCHITECTURE <architecture_name> OF <entity_name> IS type_declaration signal_declaration variable_declaration constant_declaration component_declaration BEGIN { process_statement concurrent_signal_assignment_statement component_instatiation_statement } END [<architecture_name>]; entity adder1 is port( x, y, : in std_logic; result, carry : out std_logic ); end adder1; architecture behv_a of adder1 is begin result <= x xor y Parallel ausgeführt carry <= x and y end behv_a; architecture behv_b of adder1 is... x y result carry

25 Definition des Verhaltens ARCHITECTURE <architecture_name> OF <entity_name> IS type_declaration signal_declaration variable_declaration constant_declaration component_declaration BEGIN { process_statement concurrent_signal_assignment_statement component_instatiation_statement } END [<architecture_name>]; [<process_label>:] PROCESS (sensitivity_list) { type_declaration constant_declaration variable_declaration (Keine Signaldeclaration) } BEGIN { wait_statement (nicht Synthetisierbar!!) signal_assigment_statement variable_assignment_statement if_statement case_statement loop_statement (Parallel!) } END PROCESS [<process_label>];

26 Wait Sequentiell, aber Nicht Synthetisierbar WAIT UNTIL condition; WAIT FOR duration unit; Parallel Phase Übergang Parallel wait For 100 ns Hilfreich zum Simulieren & Testen aber nicht für Syntese

27 Verhalten: Assigment Assigment signal_name <= value { operator value }; Neben läufige Zuweisungen (Keine Reihenfolge!) v <= a AND NOT b; w <= a OR (b AND c); y <= a NAND b XOR c; Hardware Signal für echte Hardwareentwickler Hilfsvariable für Informatiker, die versuchen Hardware zu entwickeln :) (mit Sequentialität! Reihenfolge ist doch wichtig) variablen_name:= <expression>

28 Verhalten: Assigment Assigment & IF Multiplexer signal_name <= value_true WHEN condition ELSE value_false; Hardware Signal a <= 1 WHEN b = c ELSE 0; In c++ was ist deutlicher? a=b==c?1: 0;

29 IF CASE LOOP sehen wir lieber mit Beispiele

30 Definition des Verhaltens ARCHITECTURE <architecture_name> OF <entity_name> IS type_declaration signal_declaration constant_declaration component_declaration BEGIN {process_statement concurrent_signal_assignment_statement component_instatiation_statement} END [<architecture_name>]; ARCHITECTURE behavior1 OF half_adder IS BEGIN PROCESS (x, y) -- x,y Signale bei deren Änderung der Prozess anläuft -- man nennt diese Liste auch Sensitivitätsliste BEGIN result <= x XOR y; carry <= x AND y; END PROCESS END behavior1;

31 Verhalten entity adder1 is port( x, y, : in std_logic; result, carry : out std_logic ); end adder1; ARCHITECTURE behavior1 OF half_adder IS BEGIN PROCESS (x, y) -- x,y Signale bei deren Änderung der Prozess anläuft -- man nennt diese Liste auch Sensitivitätsliste BEGIN result <= x XOR y; carry <= x AND y; END PROCESS END behavior1; x y result half_adder x result carry y carry

32 zuerst Beispiele und dann Details

33 If ist ein Multiplexer oder ein Register if (clock'event and clock='1') then current_state <= next_state; end if; if a = b then Output <= '0'; Else Output <= '1' End if; Und wenn es kein else gibt? Undef... Oder dies: if (clock'event and clock='1') then If a = b then current_state <= next_state; End if; end if; Und wenn es kein else gibt? Bleibt wie es war

34 Siehe VHDL Code, parallel zu den kommende 4 Folien Bit Addierrer Counter_EN State Machine 4 Bit Addierer Signalzuweisungen Prozesse (Synchron) Kooperierende Prozesse Instanziierung und Verbindung von Komponenten

35 Siehe VHDL Code 1. Bit Addierrer 2. Counter_EN 3. State Machine

36 Siehe VHDL Code 1. Bit Addierrer 2. Counter_EN 3. State Machine

37 Siehe VHDL Code Clk 1. Bit Addierrer 2. Counter_EN 3. State Machine A=1 X<= 0 A auf Z=1 x<=1 G Z Zu reset G=1 x<=0 x Z=1 x<=1 gekipt

38 Clk A=1 X<= 0 A auf Z=1 x<=1 G Z Zu reset G=1 x<=0 x Z=1 x<=1 gekipt

39 Beispiel: 4 Bit adder

40 Siehe VHDL Code Bit Addierrer Counter_EN State Machine 4 Bit Addierer Signalzuweisungen Prozesse (Synchron) Kooperierende Prozesse Instanziierung und Verbindung von Komponenten

41 Zusammenstecken von Komponenten Verhalten als Komposition von kleinere Komponenten, die bereits Ein definiertes Verhalten haben: Zusammenschalten von Komponenten z.b. 4 Bit Addierer Das schlimmste was man mit VHDL machen kann! Man blick kaum durch Sehr fehleranfällig

42 Zusammenstecken von Komponenten ARCHITECTURE use_of_register8 OF example_reg8 IS COMPONENT register8 IS PORT ( -- Deklaration des Interface clk, rst, en: IN std_logic; data: IN std_logic_vector(7 DOWNTO 0); q: OUT std_logic_vector(7 DOWNTO 0) ); END COMPONENT; SIGNAL clock, reset, enable: STD_LOGIC; SIGNAL data_in, data_out: STD_LOGIC_VECTOR(7 DOWNTO 0); BEGIN -- irgendwelcher anderer Code (Prozesse, Zuweisungen, etc.) hier First_reg8: register8 PORT MAP ( clock, reset, enable, data_in, data_out ); -- weiterer Code hier END use_of_register8;

43 Definition von Komponenten COMPONENT <component_name> IS PORT ( [signal] <identifier> {,<identifier>}: [mode] <type_mark> {;[signal] <identifier> {,<identifier>}:[mode] <type_mark>} ); END COMPONENT; COMPONENT register8 IS PORT ( clk, rst, en: IN std_logic; data: IN std_logic_vector(7 DOWNTO 0); q: OUT std_logic_vector(7 DOWNTO 0) ); END COMPONENT;

44 Definition von Komponenten ARCHITECTURE structure OF half_adder IS COMPONENT xor2 PORT (a,b: IN BIT; c: OUT BIT); END COMPONENT; COMPONENT and2 PORT (a,b: IN BIT; c: OUT BIT); END COMPONENT; BEGIN G0: xor2 PORT MAP (x,y,result); -- positionelle Zuordnung G1: and2 PORT MAP (a => x; b => y; c => carry ); -- optional a=> x -- besser: Zuordnungsliste formaler Port => Signal oder Port END structure;

45 Definition von Komponenten ENTITY dlatch IS PORT (clk,d: IN bit; q,qz: OUT bit); END dlatch; clk_z clk ARCHITECTURE structure OF dlatch IS COMPONENT sdlatch PORT (clk,d: IN bit; q,qz: OUT bit); END COMPONENT; d clk q q_m d clk d qz_m Master COMPONENT inverter PORT (x: IN bit;y: OUT bit); END COMPONENT; SIGNAL q_m, qz_m, clk_z: bit; BEGIN -- Definition der Schaltung durch Instanziierungen INV: inverter PORT MAP (clk, clk_z); Master: sdlatch PORT MAP (clk, d, q_m, qz_m); Slave: sdlatch PORT MAP (clk_z, q_m, q, qz); END structure; Slave q

46 Definition des Verhaltens ARCHITECTURE <architecture_name> OF <entity_name> IS type_declaration signal_declaration constant_declaration component_declaration BEGIN {process_statement concurrent_signal_assignment_statement component_instatiation_statement} END [<architecture_name>]; ARCHITECTURE archregister8 OF register8 IS BEGIN PROCESS (clk) BEGIN IF clk EVENT AND clk = 1 THEN q <= data; END IF; END PROCESS reg8_no_reset; END archregister8;

47 Prozesse: Kombinatorisch 1. Rein kombinatorische Prozesse (keine Zustandsspeicher): * Alle Signale die im Prozess gelesen werden in die sensitivity list eintragen * Keine Taktflankenabfrage process(a,b,c) begin y <= a + b + c; end process;

48 Prozesse: Getaktet 2. Rein getaktete Prozesse (Register/Flip-Flops als Zustandsspeicher): * Nur Clk und asynchroner Reset in die sensitivity list * Maximal ein Reset * Nur eine Taktflankenabfrage (rising_edge) process(clk) begin if rising_edge(clk) then x <= a + b + c; end if; end process; Das Signal X ändert sich nur In diesen Augenblicken

49 Prozesse: Getaktet process(clk) begin if clk = '1' and clk'event then --snip end if; end process; process(clk) begin if clk = '0' and clk'event then --snip end if; end process; <=> process(clk) begin if rising_edge(clk) then --snip end if; end process; <=> process(clk) begin if falling_edge(clk) then --snip end if; end process;

50 Resets: No Reset (Very Bad!) ARCHITECTURE archregister8 OF register8 IS BEGIN PROCESS (clk) BEGIN IF clk EVENT AND clk = 1 THEN q <= q + 1; END IF; END PROCESS reg8_no_reset; END archregister8;

51 Resets: Async Reset (Bad) ARCHITECTURE archregister8 OF register8 IS BEGIN PROCESS (rst, clk) BEGIN IF rst= 1 THEN q <= " "; -- alternativ in Hex x"00"; END IF IF clk EVENT AND clk= 1 AND en = '1' THEN q <= q + 1; END IF; END PROCESS; END archregister8;

52 Resets: Sync Reset (Good!) ARCHITECTURE archregister8 OF register8 IS BEGIN PROCESS (clk) BEGIN IF clk EVENT AND clk = 1 THEN IF sync_reset = 1 THEN q <= " "; ELSEIF enable = 1 THEN q <= q + 1; END IF; END IF; END PROCESS; END archregister8;

53 Resets: Clock sehen nur wenn kein Reset! (komisch) ARCHITECTURE archregister8 OF register8 IS BEGIN PROCESS (reset, clk) BEGIN IF reset = 1 THEN q <= " "; ELSIF clk EVENT AND clk = 1 THEN IF enable = 1 THEN q <= q + 1; END IF; END IF; END PROCESS; END archregister8;

54 Redundantes Code ARCHITECTURE archregister8 OF register8 IS BEGIN PROCESS (rst, clk) BEGIN IF rst= 1 THEN q <= " "; -- alternativ in Hex x"00" ELSEIF clk EVENT AND clk= 1 THEN IF en= 1 THEN q <= data; ELSE -- kann wegfallen, q <= q; -- Wert implizit gespeichert(unötig!) END IF; END IF; END PROCESS; END archregister8;

55 Ohne Redundanten Code ARCHITECTURE archregister8 OF register8 IS BEGIN PROCESS (rst, clk) BEGIN IF rst= 1 THEN q <= " "; -- alternativ in Hex x"00" ELSEIF clk EVENT AND clk= 1 AND en = '1' THEN q <= data; END IF; END PROCESS; END archregister8;

56 IF THEN ELSE, ELSE IF condition THEN sequence_of_statements {ELSIF condition THEN sequence_of_statements} {ELSE sequence_of_statements} END IF; IF (count = "00") THEN a <= b; ELSIF (count = "10") THEN a <= c; ELSIF (count = 01 ) THEN a<= d; ELSE a <= e; END IF;

57 CASE CASE expression IS {WHEN constant_value OTHERS => sequence_of_statements} END CASE; CASE count IS WHEN "00" => a <= b; WHEN "10" => a <= c; WHEN OTHERS => a <= d; END CASE

58 FOR [<loop_label>:] FOR <variable_name> IN <n1> TO DOWNTO <n2> LOOP sequence_of_statements END LOOP [<loop_label>]; meine_for_schleife: FOR i IN 3 DOWNTO 0 LOOP IF reset(i) = 1 THEN data_out(i) <= 0 ; END IF; END LOOP meine_for_schleife; Parallel ausgeführt! Ein Hardwareblock pro Index!

59 WHILE [<loop_label>:] WHILE condition LOOP sequence_of_statements END LOOP [<loop_label>]; meine_while_schleife: WHILE (count > 0) LOOP Count := count - 1; result <= result + data_in; END LOOP meine_while_schleife;

60 Operatoren Logische Ops AND OR NAND NOR XOR XNOR NOT Logisches UND (z.b. a AND b) Logisches ODER Logisches NAND Logisches NOR Logisches Exklusiv-ODER Logisches Exklusiv-NOR Logisches Negieren Vergleichen = /= < <= > >= Gleichheit (z.b. IF a = b THEN ) Ungleichheit Kleiner (für Integer, Signed, Unsigned) Kleiner oder gleich (für Integer, Signed, Unsigned) Größer (für Integer, Signed, Unsigned) Größer oder gleich (für Integer, Signed, Unsigned)

61 Shifter Shifter SLL SRL SLA SRA ROL ROR Linksseitiges logisches Schieben (z.b. SLL(a,2)) Rechtsseitiges logisches Schieben Linksseitiges arithmetisches Schieben Rechtsseitiges arithmetisches Schieben Linksseitiges Rotieren Rechtsseitiges Rotieren

62 Arithmetik Arithmetik + * / MOD ABS Addition (z.b. a + b) Subtraktion Multiplikation (für Integer)!!! Viel Hardware!!!!!! Super Viel Hardware!!! Division (für Integer) Modulo (für Integer) (z.b. a MOD b)!!! Super Viel Hardware!!! absolute (z.b: ABS(a)) Vorzeichen +xx -xx

63 Event detector <signal_name> EVENT True wenn das Signal sich ändert 0/1/x/z

64 Variablen Signale Variablen = Zwischenergebnisse = Synonyme für Kombinatorik: Eine Abkürzung Sie werden als Äquivalenz für den zugewiesenen Wert sofort definiert -- Aufeinanderfolgende Anweisungen werden sofort logisch wirksam und in die neue Anweisung einbezogen, die Anweisungen werden somit verkettet process(clk) variable xx: std_logic; begin if rising_edge(clk) then xx := a and b; d := xx and c; end if; end process; process(clk) <=> begin if rising_edge(clk) then d := (a and b) and c; end if; end process;

65 Variablen Signale Signale erhalten ihren neu zugewiesenen Wert erst nach dem vollständigen Abarbeiten eines Prozesses (Reale Hardware Signale) Sie repräsentieren eine physikalische Signalkette mit tatsächlichem Datenfluss. Signale sind faktisch erst mit dem nächsten Takt aktuell -- die letzte Anweisung ist gültig und überschreibt alle -- vorhergehenden Anweisungen: mehrfach Zuweisung soll man nicht machen! begin signal a: std_logic; process(clk) begin if rising_edge(clk) then a <= f and b; a <= f and c; end if; end process; -- Ergebnis: a <= f and c, die Zeile davor wird ignoriert

66 Variablen Signale: Vorsicht

67 Variablen Signale SUBTYPE short IS std_logic_vector(15 downto 0);... begin signal result1: INTEGER; signal resutl2: INTEGER; process(clk) variable var1 : INTEGER;; variable var2: INTEGER; variable var3: INTEGER; begin if rising_edge(clk) then var1 := A + B; var2 := C + D; var3 := E + F; result1 <= var1 - var2; result2 <= var1 - var3; end if; end process; <=> Result1 <= (A + B) - (C + D); Result2 <= (A + B) - (E + F);

68 Variablen Signale if (opcode = add) then res <= a+b; else -- opcode = sub res <= a-b; end if; <=> res <= a+b <=> when if (opcode = add) then var1 := b; else var1 := -b; end if; res <= a+var1; opcode = add else a - b;

69 Ein vollständiges Beispiel: Ladbarer Zähler mit Nulldurchlauferkennung

70 Beispiel: Ladbarer Zähler mit Nulldurchlaufserkennung

71 Beispiel: Ladbarer Zähler mit Nulldurchlaufserkennung weil value ist output und kann nicht gelesen werden!

72 Beispiel: Ladbarer Zähler mit Nulldurchlaufserkennung

73 Nette Sachen Alle Leitungen auf "0000.." bzw " " setzen? Auf null setzen: count <= (others => '0'); Auf eins setzen: count <= (others => '1');

74 Nette Sachen Vergleich eines std_logic_vector mit einer Konstanten if VECTOR = (15 downto 0=>'0') then.. oder if VECTOR = (VECTOR'range=>'0') then...

75 Beispiel

76 Short Referenz

77

78

79 Siehe Test Benchs

VHDL. Informationstechnik für Luftund Raumfahrt Aerospace Information Technology. Aerospace Information Technology

VHDL. Informationstechnik für Luftund Raumfahrt Aerospace Information Technology. Aerospace Information Technology VHDL Informationstechnik für Luft- und Raumfahrt Informationstechnik für Luftund Raumfahrt Programmierbare Logic Was würdet Ihr mit einer Tüte mit 100.000.000 NANDS machen? Man Könnte: CPUS Speicher Devices

Mehr

Technische Grundlagen der Informatik Prof. Dr. Arndt Bode

Technische Grundlagen der Informatik Prof. Dr. Arndt Bode Diplomvorprüfung Technische Grundlagen der Informatik Prof. Dr. Arndt Bode Wintersemester 2004/2005 15. Februar 2005 Anlage III Rechnergestützter Schaltungsenwurf/VHDL Georg Acher, Markus Leberecht Inhaltsverzeichnis

Mehr

Einführung in die technische Informatik

Einführung in die technische Informatik Einführung in die technische Informatik Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris VHDL VHDL Akronym für Very High-Speed Integrated Circuit Hardware Description Language

Mehr

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik

SoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik SoC Design Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik VHDL Crashkurs Übersicht 1. Einführung 2. Sprachkonstrukte 3. Designflow Christophe Bobda 3 1. VHDL VHDL:

Mehr

1.1 VHDL-Beschreibung

1.1 VHDL-Beschreibung 1 Grundlegende Konzepte in VHDL 1.1 VHDL-Beschreibung Device A Design Entity A Entity Declaration Interface Delclaration Architecture Body Functional Definition Entity Declaration - Abstraktions eines

Mehr

12 VHDL Einführung (III)

12 VHDL Einführung (III) 12 VHDL Einführung (III) 12.1 Mehrwertige Datentypen (std_logic, std_ulogic) Einführung zweier neuer neunwertiger Datentypen std_logic und std_ulogic (IEEE-Standard 1164) Wert 'U' 'X' '0' '1' 'Z' 'W' 'L'

Mehr

Praktikum Systementwurf mit VHDL HDL Design Lab

Praktikum Systementwurf mit VHDL HDL Design Lab Praktikum Systementwurf mit VHDL HDL Design Lab Inhalt Kryptographie - Aufgaben VHDL - Konzepte Beispiel: 16 bit XOR Kryptographie - Aufgaben Geheimhaltung Integrität Authentifizierung Verbindlichkeit

Mehr

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK

I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK... 1... V H D L Tim Köhler April 2005 I EINLEITUNG SYNTAX SPEZIELLE PROBLEME BEISPIEL AUSBLICK... 2... Übersicht 1. Einleitung 2. Syntax 3. Spezielle

Mehr

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit

Versuchsreihe 7. Registerfile. Registerfile + Programmzähler. HaPra Versuchsreihe 7 - Registerfile + Programmzähler. 32 Register à 32 Bit HaPra 2007 - Versuchsreihe 7 - Registerfile + Programmzähler Versuchsreihe 7 Registerfile + Programmzähler Registerfile Register à Bit Schreiben in Register: - Dateneingang D(31:0) - Adresseingang A_D(4:0)

Mehr

Übung 3: VHDL Darstellungen (Blockdiagramme)

Übung 3: VHDL Darstellungen (Blockdiagramme) Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei

Mehr

Aufgabe 1: Kombinatorische Schaltungen

Aufgabe 1: Kombinatorische Schaltungen Aufgabe 1: Kombinatorische Schaltungen a) Geben Sie die VHDL-Beschreibung (entity und architecture) einer Schaltung quersumme an, die für einen Bitvektor x der Länge n die Anzahl der 1-Bits von x zurückliefert.

Mehr

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt

Outline Schieberegister Multiplexer Zähler Addierer. Rechenschaltungen. Marc Reichenbach und Michael Schmidt Rechenschaltungen Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 22 Gliederung Schieberegister Multiplexer Zähler Addierer 2 / 22 Schieberegister

Mehr

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen.

Array-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Array-Zuweisungen Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Ausschnitte (slices) werden über die Indizes gebildet. Mehrdimensionale Arrays Mehrdimensionale Arrays werden

Mehr

EHP Einführung Projekt A

EHP Einführung Projekt A Volker Dörsing EHP Einführung Projekt A email: doersing@uni-jena.de praktische Übung www: http://users.minet.uni-jena.de/~ehp-head Vorbereitung, Durchführung, Kolloquium Infos zur Veranstaltung, Versuchsanleitung

Mehr

Verilog Hardware Description Language (HDL)

Verilog Hardware Description Language (HDL) Elektrotechnik Intelligent Systems Design Verilog Hardware Description Language (HDL) Einführung Prof. Dr.-Ing. Michael Karagounis Sommersemester 2016 HDL Konzept Was ist eine Hardwarebeschreibungssprache?

Mehr

Eingebettete Systeme

Eingebettete Systeme Einführung in Eingebettete Systeme Vorlesung 8 Bernd Finkbeiner 10/12/2014 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Letzte Woche: Rückgekoppelte Schaltnetze!

Mehr

5 VHDL Einführung (I)

5 VHDL Einführung (I) 5 VHDL Einführung (I) VHDL = Very High Speed Integrated Hardware Description Language Dient der Beschreibung von Hardware bei: Dokumentation Simulation Synthese Hardwarebeschreibungssprachen (HDLs) sind

Mehr

ERA-Zentralübung 11. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 11

ERA-Zentralübung 11. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 11 ERA-Zentralübung 11 Maximilian Bandle LRR TU München 20.1.2017 Einschränkungen bei std logic vector architecture stdlogic of irgendwas signal test: std_logic_vector( 3 downto 0) := 9; -- Nicht ok -- Richtig

Mehr

GTI Bonus VHDL - EXTRA

GTI Bonus VHDL - EXTRA 1 GTI Bonus VHDL - EXTRA 2 Beschreibung Gegeben seien die Moore- (Abbildung 1) und Mealy-Automaten (Abbildung 2) der Armbanduhr aus Übungsblatt 11. 3 Beschreibung Gegeben seien die Moore- (Abbildung 1)

Mehr

17 Zähler. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 17-1

17 Zähler. Hochschule für Angewandte Wissenschaften Hamburg FACHBEREICH ELEKTROTECHNIK UND INFORMATIK DIGITALTECHNIK 17-1 7 Zähler Zähler werden in digitalen Systemen sehr vielfältig eingesetzt: Z.B. zum Zählen von Ereignissen, zum Speichern der aktuellen Befehlsadresse eines Mikroprozessors oder zum Zählen von Zuständen

Mehr

Hardware Praktikum 2008

Hardware Praktikum 2008 HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf

Mehr

VHDL-Einführung. Universität Hamburg MIN Department Informatik Eingebettete Systeme: VHDL-Einführung

VHDL-Einführung. Universität Hamburg MIN Department Informatik Eingebettete Systeme: VHDL-Einführung MIN Department Informatik VHDL-Einführung 1 MIN Department Informatik VHDL VHSIC Hardware Description Language Very High Speed Integrated Circuit Entwicklung 1983 vom DoD initiiert 1987 IEEE Standard Überarbeitungen

Mehr

Unterprogramme. Komplexes Verhalten kann modular mit Hilfe von Unterprogrammen beschrieben werden Es gibt zwei Arten von Unterprogrammen:

Unterprogramme. Komplexes Verhalten kann modular mit Hilfe von Unterprogrammen beschrieben werden Es gibt zwei Arten von Unterprogrammen: Unterprogramme Dr. Wolfgang Günther Unterprogramme 2 Unterprogramme Komplexes Verhalten kann modular mit Hilfe von Unterprogrammen beschrieben werden Es gibt zwei Arten von Unterprogrammen: Prozeduren

Mehr

Einführung in VHDL (2)

Einführung in VHDL (2) Einführung in VHDL Digitale Systeme haben immer größere Bedeutung erlangt. Komplexität wurde dabei immer größer, sodass die Entwicklung digitaler Systeme zu weiten Teilen nur noch mit Computerunterstützung

Mehr

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009

Übungen zu Architektur Eingebetteter Systeme. Teil 1: Grundlagen. Blatt 5 1.1: VHDL 28./29.05.2009 Übungen zu Architektur Eingebetteter Systeme Blatt 5 28./29.05.2009 Teil 1: Grundlagen 1.1: VHDL Bei der Erstellung Ihres Softcore-Prozessors mit Hilfe des SOPC Builder hatten Sie bereits erste Erfahrungen

Mehr

ERA-Zentralübung 12. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 12

ERA-Zentralübung 12. Maximilian Bandle LRR TU München Maximilian Bandle LRR TU München ERA-Zentralübung 12 ERA-Zentralübung 12 Maximilian Bandle LRR TU München 27.1.2017 Schaltungsentwurf IV Rest von letzter Übung Aufgabe 11.1 Standardschaltnetze Aufgabe 10.3.3 Automaten 8 Erzeugung der Ausgabe Zuweisung der

Mehr

Reconfigurable Computing. VHDL Crash Course. Chapter 2

Reconfigurable Computing. VHDL Crash Course. Chapter 2 Reconfigurable Computing VHDL Crash Course Chapter 2 Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software Software-Co-Design Reconfigurable Computing VHDL VHDL: Ver high speed integrated circuits

Mehr

Übung 5: VHDL Zähler

Übung 5: VHDL Zähler Übung 5: VHDL Zähler Aufgabe 1 TL Diagramm Sekunden und Minuten Zähler. (a) Entwerfen Sie ein TL Diagramm für die Sekunden- und Minuten-Zähler des DF77 Projekts. (b) Bestimmen Sie die erwartete Anzahl

Mehr

Übung Hardwareentwurf

Übung Hardwareentwurf Übung Hardwareentwurf Übung vom. Mai 25 Stefan Reichör HWE- 25- Slides7.tex (7. Mai 25) Überblick Finite Machines Moore FSM Mealy FSM Implementierung von FSMs in VHDL Xilinx Synthesetool Xilinx LUTs Übung

Mehr

4 Entwurf eines Prozessorelementes

4 Entwurf eines Prozessorelementes 4 Entwurf eines Prozessorelementes In diesem Kapitel werden die Prinzipien des Entwurfs eines Prozessorelementes vorgestellt: Spezialprozessor, dessen Funktion unabhängig von einem Programm fest verdrahtet

Mehr

Computergestützter IC- Entwurf

Computergestützter IC- Entwurf FHTW Berlin Fachbereich 1 Technische Informatik, D5TI Computergestützter IC- Entwurf Simulation eines Lauflichts Übungs- Beleg Abgabetermin: 07.02.2003, 366437 1 Inhaltsverzeichnis 1 Einleitung... 3 2

Mehr

Name: DT2 Klausur

Name: DT2 Klausur Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 60 min. Name nicht vergessen! Geben Sie alle Blätter ab. Erlaubte Hilfsmittel sind Taschenrechner und Zusammenfassungen. Nicht erlaubt ist

Mehr

VHDL-Synthese digitaler Systeme Lösungen zu den Übungsaufgaben

VHDL-Synthese digitaler Systeme Lösungen zu den Übungsaufgaben VHDL-Synthese digitaler Systeme Lösungen zu den Übungsaufgaben Aufgabe 1 -- Aufgabe 1 -- 8 zu 1 Decoder entity DECODER1X8 is port( S: in bit_vector(2 downto 0); Y: out bit_vector(7 downto 0)); end DECODER1X8;

Mehr

Einstellige binäre Addierschaltung (Addierer)

Einstellige binäre Addierschaltung (Addierer) VHDL Addierer 1 Einstellige binäre Addierschaltung (Addierer) Schnittstelle: Ports mit Modus IN bzw. OUT Signale Funktionsnetz: Ports, Funktionsblöcke, Verbindungen Signale für Ports und Verbindungen VHDL

Mehr

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen

Verilog/VHDL. Mehdi Khayati Sarkandi Uni Siegen Mehdi Khayati Sarkandi Uni Siegen Hardware Description Language (HDL) Werkzeug zum Entwurf komplexer digitaler Schaltungen, zur Simulation des Systemverhaltens, zur Überprüfung auf korrekte Funktionsfähigkeit

Mehr

FPGA-Entwurf mit VHDL. Serie 3

FPGA-Entwurf mit VHDL. Serie 3 Christian-Albrechts-Universität zu Kiel Institut für Informatik Lehrstuhl für Technische Informatik Prof. Dr. Manfred Schimmler Dipl.-Inf. Lars Wienbrandt FPGA-Entwurf mit VHDL Sommersemester 2011 Serie

Mehr

VHDL Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Volkmar Sieh Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2013 VHDL Verhaltensmodellierung 1/18 2013-01-11 Inhalt

Mehr

18 Schieberegister. Serieller Serieller Eingang 5 Stufen Ausgang. 1. Takt. 2. Takt

18 Schieberegister. Serieller Serieller Eingang 5 Stufen Ausgang. 1. Takt. 2. Takt 8 Schieberegister In Schieberegistern wird die Eingangsinformation am Schiebeeingang SE in einer Kette von Flipflops bei jeder Taktflanke eingelesen und weiter geschoben. Sie erscheint schließlich nach

Mehr

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit

D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit D.5: Versuchsreihe 5: Arithmetisch-Logische Einheit D D.5 Versuchsreihe 5: Arithmetisch-Logische Einheit Abgabedatum: 21.05.2010 Name: Gruppe: Theorie: Versuch: (vom Tutor abzuzeichnen) (vom Tutor abzuzeichnen)

Mehr

Name: DT2 Klausur Bitte achten Sie auf eine saubere Form. Nicht leserliches kann nicht bewertet werden.

Name: DT2 Klausur Bitte achten Sie auf eine saubere Form. Nicht leserliches kann nicht bewertet werden. Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 90 min. Name nicht vergessen! Geben Sie alle Blätter ab. Erlaubte Hilfsmittel sind Taschenrechner und Zusammenfassungen. Nicht erlaubt ist

Mehr

5.Vorlesung Rechnerorganisation

5.Vorlesung Rechnerorganisation Mario.Trams@informatik.tu-chemnitz.de, 29. April 2004 1 Inhalt: 5.Vorlesung Rechnerorganisation Wiederholung aus Digitaltechnik: Allgemeiner Überblick über VHDL (Teil 1) Schwerpunkt Modellierungssichtweisen,

Mehr

2 Von der Aufgabenbeschreibung zum Zustandsdiagramm

2 Von der Aufgabenbeschreibung zum Zustandsdiagramm 2 Von der Aufgabenbeschreibung zum Zustandsdiagramm Die erste Hauptaufgabe eines Automatenentwurfs liegt bei der Umsetzung einer textuellen Spezifikation in ein Zustandsdiagramm. Dazu ist zunächst zu prüfen:

Mehr

Lösungsvorschlag 1. Übung Technische Grundlagen der Informatik II Sommersemester 2009

Lösungsvorschlag 1. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Aufgabe 1.1: Verilog Lösungsvorschlag 1. Übung Technische Grundlagen der Informatik II Sommersemester 2009 a) Wie können Werte an Wire-Variablen zugewiesen

Mehr

Field Programmable Gate Array (FPGA) Complex Programmable Logic Devices (CPLD)

Field Programmable Gate Array (FPGA) Complex Programmable Logic Devices (CPLD) Field Programmable Gate Array (FPGA) Complex Programmable Logic Devices (CPLD) 1 FPGA Design Flow 2 1. Einleitung 2. Grundlegende Strukturelemente 3. Syntax 4. Synthesefähiger VHDL-Code 5. Zusammenfassung

Mehr

1 Entwurf und Verhalten einfacher, synchroner Automaten

1 Entwurf und Verhalten einfacher, synchroner Automaten 1 Entwurf und Verhalten einfacher, synchroner Automaten 1.1 Vergleich der Automatenstrukturen Mealy-Automat Rückkopplung des aktuellen Zustands Mealy-FSM I Externe Eingänge Übergangsschaltnetz Z + Zustands-

Mehr

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007

FPGA Systementwurf. Rosbeh Etemadi. Paderborn University. 29. Mai 2007 Paderborn Center for Parallel l Computing Paderborn University 29. Mai 2007 Übersicht 1. FPGAs 2. Entwicklungssprache VHDL 3. Matlab/Simulink 4. Entwicklungssprache Handel-C 5. Fazit Übersicht FPGAs 1.

Mehr

Entwurf und Verifikation digitaler Systeme mit VHDL

Entwurf und Verifikation digitaler Systeme mit VHDL Entwurf und Verifikation digitaler Systeme mit VHDL Wolfgang Günther Infineon AG CL DAT DF LD V guenther@informatik.uni freiburg.de, wolfgang.guenther@infineon.com Dr. Wolfgang Günther Einleitung 2 Inhalt

Mehr

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch

Laborübung 2. Teil 1: Latches, Flipflops, Counter. Abbildung 1: Schaltkreis eines Gated D-Latch Laborübung 2 Teil 1: Latches, Flipflops, Counter A 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis

Mehr

HARDWARE- BESCHREIBUNGSSPRACHEN Hardwareentwurf mit VHDL

HARDWARE- BESCHREIBUNGSSPRACHEN Hardwareentwurf mit VHDL Z Y X W V U T S R Q P O N M L K J I H G F E D C B A 9 8 7 6 5 4 2 1 0 C 4 T S P V 6 O 0 E K J 5 Z 2 I 1 H R D 8 Q G Y 9 U F M A 7 N W B L X HARDWARE- BESCHREIBUNGSSPRACHEN Hardwareentwurf mit VHDL 18.

Mehr

Architecture Body Funktionale Beschreibung einer "Design Entity" - * beschreibt die Funktion auf Verhaltens-, Struktur- oder Datenfluss-Ebene

Architecture Body Funktionale Beschreibung einer Design Entity - * beschreibt die Funktion auf Verhaltens-, Struktur- oder Datenfluss-Ebene 5.3.1 VHDL-Beschreibung Device A Design Entity A Entity Declaration Interface Delclaration Architecture Body Functional Definition Entity Declaration - Abstraktions eines Designs * repräsentiert ein komplettes

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 4. November 2015 Administratives Zur Abgabe von Übungsaufgaben Nein, wir

Mehr

Outline Schieberegister Multiplexer Barrel-Shifter Zähler Addierer. Rechenschaltungen 1. Marc Reichenbach

Outline Schieberegister Multiplexer Barrel-Shifter Zähler Addierer. Rechenschaltungen 1. Marc Reichenbach Rechenschaltungen 1 Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 06/14 1 / 32 Gliederung Schieberegister Multiplexer Barrel-Shifter Zähler Addierer 2 / 32 Schieberegister

Mehr

Klausur zur Vorlesung

Klausur zur Vorlesung Prof. Dr. Franz J. Rammig Paderborn,.3. C. Böke, C. Ditze Klausur zur Vorlesung "Grundlagen der technischen Informatik" und "Grundlagen der Rechnerarchitektur" Wintersemester 999/. Teil: GTI Der erste

Mehr

D.6 Versuchsreihe 6: Registersatz und Programmzähler

D.6 Versuchsreihe 6: Registersatz und Programmzähler D.6: Versuchsreihe 6: Registersatz und Programmzähler D D.6 Versuchsreihe 6: Registersatz und Programmzähler Abgabedatum: 04.06.2010 Name: Gruppe: Theorie: Versuch: (vom Tutor abzuzeichnen) (vom Tutor

Mehr

Tutorial Vivado/Verilog Teil 6 Zählerbasierter Taktgenerator

Tutorial Vivado/Verilog Teil 6 Zählerbasierter Taktgenerator Tutorial Vivado/Verilog Teil 6 Zählerbasierter Taktgenerator Prof. Dr.-Ing. Michael Karagounis Dipl.-Ing. Rolf Paulus 1. Motivation Das Ziel dieses Laborversuchs ist es, die Nutzung von synthetisierbaren

Mehr

Outline Überblick VHDL/Verilog Designflow VHDL-Module Architektur-Beschreibungen Signale/Variablen. VHDL Einführung 1

Outline Überblick VHDL/Verilog Designflow VHDL-Module Architektur-Beschreibungen Signale/Variablen. VHDL Einführung 1 VHDL Einführung 1 Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/12 1 / 44 Gliederung Überblick zu VHDL Vergleich VHDL/Verilog Designflow Aufbau

Mehr

1 Hardwareentwurf. 1.1 Grundlagen

1 Hardwareentwurf. 1.1 Grundlagen 1 Hardwareentwurf 1.1 Grundlagen POSITIVE natürliche Zahlen N NATURAL N 0 INTEGER ganze Zahlen Z REAL reelle Zahlen R BOOLEAN (true, false), (low, high) BIT ( 0, 1 ) CHARACTER (..., A, B,..., a, b,...,

Mehr

Einführung in VHDL. 1 ARCHITECTURE Tauschen OF B e i s p i e l IS. 2 SIGNAL a, b : STD_LOGIC; 4 BEGIN. 5 PROCESS( a, b ) 6 BEGIN.

Einführung in VHDL. 1 ARCHITECTURE Tauschen OF B e i s p i e l IS. 2 SIGNAL a, b : STD_LOGIC; 4 BEGIN. 5 PROCESS( a, b ) 6 BEGIN. 2 Einführung in VHDL Wie bereits in der Einleitung erwähnt ist VHDL eine Hardwarebeschreibungssprache, die sich im Gegensatz zu Softwaresprachen dadurch auszeichnet, dass Abarbeitungen paralell ablaufen

Mehr

BFP Entwurf Eingebetteter Systeme Elektronische Musik. Ein Klavier oder Wie klingt ein Rechteck?

BFP Entwurf Eingebetteter Systeme Elektronische Musik. Ein Klavier oder Wie klingt ein Rechteck? 12 2011/10/26 BFP Entwurf Eingebetteter Systeme Elektronische Musik Wintersemester 2011/12 Ein Klavier oder Wie klingt ein Rechteck? Michael Engel Informatik 12 TU Dortmund Überblick Entwurfsprinzipien

Mehr

Mikroarchitekturen. Peter Marwedel Informatik 12 TU Dortmund 2013/07/16. technische universität dortmund. fakultät für informatik informatik 12

Mikroarchitekturen. Peter Marwedel Informatik 12 TU Dortmund 2013/07/16. technische universität dortmund. fakultät für informatik informatik 12 12 Mikroarchitekturen Peter Marwedel Informatik 12 TU Dortmund 2013/07/16 Diese Folien enthalten Graphiken mit Nutzungseinschränkungen. Das Kopieren der Graphiken ist im Allgemeinen nicht erlaubt. Gegenüberstellung

Mehr

Laborübung 3. Latches, Flipflops, Counter

Laborübung 3. Latches, Flipflops, Counter Laborübung 3 Latches, Flipflops, Counter Teil 1 Abbildung 1 zeigt den Schaltkreis eines gated D-Latches. In Listing 1 wird exemplarisch ein Stück VHDL-Code vorgestellt, der den abgebildeten Schaltkreis

Mehr

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010

VHDL Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 VHDL Synthese Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2009/2010 VHDL Synthese 1/36 2009-11-02 Inhalt Begriff Arten Kombinatorische

Mehr

Tutorial Vivado/Verilog Teil 5 Zyklisches Schieberegister

Tutorial Vivado/Verilog Teil 5 Zyklisches Schieberegister Tutorial Vivado/Verilog Teil 5 Zyklisches Schieberegister Prof. Dr.-Ing. Michael Karagounis Dipl.-Ing. Rolf Paulus 1. Motivation Das Ziel dieses Laborversuchs ist es, den Entwurf von taktsensitiven always

Mehr

EXCEL VBA Cheat Sheet

EXCEL VBA Cheat Sheet Variable Declaration Dim As Array Declaration (Unidimensional) Dim () As Dim ( To ) As

Mehr

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit

float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Primitive Datentypen Fließkommazahlen float: Fließkommazahl nach IEEE 754 Standard mit 32 bit Vorzeichen Exponent 8 bit Mantisse 23 bit double: Fließkommazahl nach IEEE 754 Standard mit 64 bit Vorzeichen

Mehr

Informatik I Übung, Woche 40

Informatik I Übung, Woche 40 Giuseppe Accaputo 1. Oktober, 2015 Plan für heute 1. Nachbesprechung Übung 2 2. Vorbesprechung Übung 3 3. Zusammenfassung der für Übung 3 wichtigen Vorlesungsslides Informatik 1 (D-BAUG) Giuseppe Accaputo

Mehr

Outline Simulation Design-Richtlinien. VHDL Einführung 2. Marc Reichenbach. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14

Outline Simulation Design-Richtlinien. VHDL Einführung 2. Marc Reichenbach. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14 VHDL Einführung 2 Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/14 1 / 37 Gliederung Simulation und Testbench Design-Richtlinien 2 / 37 Simulation und Testbench vor

Mehr

Übungsblatt 8 Lösungen:

Übungsblatt 8 Lösungen: Übungsblatt 8 Lösungen: Aufgabe 71: VHDL Halbaddierer Schnittstellenbeschreibung und Modellbeschreibung(Verhaltensmodell) eines Halbaddierers: ENTITY halbaddierer IS GENERIC (delay: TIME := 10 ns); PORT

Mehr

Teil 1: Digitale Logik

Teil 1: Digitale Logik Teil 1: Digitale Logik Inhalt: Boolesche Algebra kombinatorische Logik sequentielle Logik kurzer Exkurs technologische Grundlagen programmierbare logische Bausteine 1 Tri-State Ausgangslogik Ausgang eines

Mehr

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt

Outline Automaten FSM Synthesis FSM in VHDL FSM auf FPGA. State Machines. Marc Reichenbach und Michael Schmidt State Machines Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 34 Gliederung Endliche Automaten Automaten Synthese FSM Beschreibung in VHDL

Mehr

Paritäts-Bit- Generator

Paritäts-Bit- Generator Projektseminar: Hardware-Beschreibung mit VHDL Seite: 4 2 Aufgaben 2.1 Aufgabe Parity-Generator 2.1.1 Aufgabenstellung Beschreiben sie eine Hardware, welche ein Paritäts-Bit an eine 31-stellige Bitfolge

Mehr

Outline Logik Speicher Synthese Signale/Variablen Packages Generische Designs. Basics. Marc Reichenbach

Outline Logik Speicher Synthese Signale/Variablen Packages Generische Designs. Basics. Marc Reichenbach Basics Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 06/14 1 / 45 Gliederung Kombinatorische Logik Speicher (Latch, DFF, Register) Synthese Signale/Variablen Packages

Mehr

5.2 Endliche Automaten

5.2 Endliche Automaten 5.2 Endliche Automaten 129 5.1.6 Kippstufen Flip-Flops werden auch als bistabile Kippstufen bezeichnet. Bistabil meint, dass beide Kippwerte, also 0 und 1 stabil sind. Diese Bezeichnung legt nahe, dass

Mehr

Type Declaration. type identifier is type_definition ; Beispiele: Dr. Wolfgang Günther Datentypen 2

Type Declaration. type identifier is type_definition ; Beispiele: Dr. Wolfgang Günther Datentypen 2 Datentypen Dr. Wolfgang Günther Datentypen 2 Type Declaration type identifier is type_definition ; Beispiele: type apples is range 0 to 100; type vec is std_logic_vector (17 downto 3); Dr. Wolfgang Günther

Mehr

Hardware/Software Co-Design

Hardware/Software Co-Design Hardware/Software Co-Design Kapitel 2: Logiksynthese und VHDL-Einführung Mario Schölzel Überblick VHDL = VHSIC Hardware Description Language VHSIC = Very-High Speed Integrated Circuits Entwickelt Anfang

Mehr

Entwurf digitaler Schaltungen Groÿe Übung 3 Simulation mit ghdl

Entwurf digitaler Schaltungen Groÿe Übung 3 Simulation mit ghdl Prof. G. Kemnitz, Dr. C. Giesemann Institut für Informatik, Technische Universität Clausthal7. Mai 20151/26 Entwurf digitaler Schaltungen Groÿe Übung 3 Simulation mit ghdl Prof. G. Kemnitz, Dr. C. Giesemann

Mehr

3. Prozesse in VHDL 1

3. Prozesse in VHDL 1 3. Prozesse in VHDL 1 entity VOLLADDIERER is port( A, B, CIN: in std_logic; S, COUT: out std_logic; end VOLLADDIERER; architecture VERHALTEN of VOLLADDIERER is VA: process(a, B, CIN) variable TEMP_IN:

Mehr

15 Einführung in den Entwurf von Zustandsautomaten

15 Einführung in den Entwurf von Zustandsautomaten 15 Einführung in den Entwurf von Zustandsautomaten Die Ausgänge kombinatorischer Logik sind ausschließlich vom aktuellen Wert der Eingangssignale abhängig. MUX, Decoder, Code-Umsetzer und Addierer können

Mehr

N. Schmiedel, J. Brass, M. Schubert VHDL Formelsammlung FH Regensburg, 01.12.2008. VHDL Formelsammlung

N. Schmiedel, J. Brass, M. Schubert VHDL Formelsammlung FH Regensburg, 01.12.2008. VHDL Formelsammlung VHDL Formelsammlung INHALTSVERZEICHNIS: 1 DATENOBJEKTE 2 1.1 SIGNAL: 2 1.2 VARIABLE: 2 1.3 CONSTANT 2 2 DATENTYPEN 2 2.1 selbstdefinierte Aufzähltypen (Deklaration) 3 2.2 Physikalische Datentypen 3 2.3

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Martin Schulz Einführung in die Rechnerarchitektur Wintersemester 2017/2018 Lösungsvorschlag

Mehr

Klausur ( ) : Technische Grundlagen der Informatik 1 Digitale Systeme WS 2010/2011

Klausur ( ) : Technische Grundlagen der Informatik 1 Digitale Systeme WS 2010/2011 Klausur (08.04.20) : Technische Grundlagen der Informatik Digitale Systeme WS 200/20 Vorname : Max Name : Mustermann Matrikelnummer : 23456 Klausur-Code : 007 Mobiltelefone sind auszuschalten Wichtige

Mehr

VHDL Verhaltensmodellierung

VHDL Verhaltensmodellierung VHDL Verhaltensmodellierung Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 VHDL Verhaltensmodellierung 1/26 2008-10-20

Mehr

Endliche Automaten 1 WS 00/01. Steuerautomaten

Endliche Automaten 1 WS 00/01. Steuerautomaten Endliche Automaten 1 WS 00/01 Steuerautomaten Steuerautomaten dienen zur Erzeugung von Steuersignalen. Die erzeugten Steuersignale hängen vom Bearbeitungsstand ("Zustand") der Aufgabe und von Eingangsgrößen

Mehr

TOIS-Projekt. Echtzeit-Bildverarbeitung für Roboter Sichtsysteme -- Systementwurf mit VHDL

TOIS-Projekt. Echtzeit-Bildverarbeitung für Roboter Sichtsysteme -- Systementwurf mit VHDL 18.331 TOIS-Projekt Echtzeit-Bildverarbeitung für Roboter Sichtsysteme -- Systementwurf mit VHDL 1 / 29 Inhalt Chipentwurf Grundlagen Begriffe VHDL Typen, Objekte sequenziell, konkurrent, hierarchisch

Mehr

Rechnernetze und Organisation

Rechnernetze und Organisation Arithmetic Logic Unit ALU Professor Dr. Johannes Horst Wolkerstorfer Cerjak, 9.2.25 RNO VO4_alu Übersicht Motivation ALU Addition Subtraktion De Morgan Shift Multiplikation Gleitkommazahlen Professor Dr.

Mehr

VHDL-Syntax F. Schubert 09/08. Prof. Dr. F. Schubert. Hochschule für Angewandte Wissenschaften Hamburg VHDL-SYNTAX. 09/2008 Sbr

VHDL-Syntax F. Schubert 09/08. Prof. Dr. F. Schubert. Hochschule für Angewandte Wissenschaften Hamburg VHDL-SYNTAX. 09/2008 Sbr Prof. Dr. F. Schubert Hochschule für Angewandte Wissenschaften Hamburg VHDL-SYNTAX 09/2008 Sbr Erläuterungen: Groß geschrieben: Selbstdefinierte Namen z.b. VADD, CARRY_IN, TD Klein geschrieben und fett

Mehr

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration:

Boolean Wertemenge: Wahrheitswerte {FALSE,TRUE}, auch {0,1} Deklaration: Boolean Wertemenge: Wahrheitswerte {,}, auch {,} Deklaration: VAR present,billig,laut,gefunden : BOOLEAN; Ein-/Ausgabe: keine! Operatoren: Negation, Verneinung NOT ~ Konjunktion, logisches UND AND & Disjunktion,

Mehr

Zeon PDF Driver Trial

Zeon PDF Driver Trial FPGA Praktikum WS2000/2001 1.Woche: Organisation Synthetisierbares VHDL 1. Organisation des Praktikums Das Praktikum Zuordnung: 4 SWS PT3 (P5, P6) Treffen: Mittwochs, 14:00 c.t. Raum 308 Georg-Voigt-Straße

Mehr

Codes. Kapitel 2-6: Beispiele kombinatorischer Schaltungen. Digital Simulator. Kapitelverzeichnis (Buch Künzli)

Codes. Kapitel 2-6: Beispiele kombinatorischer Schaltungen. Digital Simulator. Kapitelverzeichnis (Buch Künzli) Digital imulator Kapitelverzeichnis (uch Künzli) Für die Übungs Projekte nächstes bitte das nächste Mal den LapTop mitbringen und vorher den Digital imulator vom Netz laden: http://www.digital-simulator.de/.

Mehr

Integrierte Schaltungen

Integrierte Schaltungen Integrierte Schaltungen Klassen von Chips: SSI (Small Scale Integrated) circuit: 1 bis 10 Gatter MSI (Medium Scale Integrated) circuit: 10 bis 100 Gatter LSI (Large Scale Integrated) circuit: 100 bis 100

Mehr

Prozessorarchitektur. Kapitel 2: Einführung in VHDL. M. Schölzel

Prozessorarchitektur. Kapitel 2: Einführung in VHDL. M. Schölzel Prozessorarchitektur Kapitel 2: Einführung in VHDL M. Schölzel Inhalt Beschreibung von Bausteinen in VHDL Simulationssemantik Synthesefähige Beschreibungen Kombinatorische Logik Sequentielle Logik Zusammenfassung

Mehr

Sequentielle Schaltungen 37 SS 96. Steuerpfad

Sequentielle Schaltungen 37 SS 96. Steuerpfad Sequentielle Schaltungen 37 SS 96 Steuerpfad Der Steuerpfad dient zur Erzeugung von Steuersignalen. Die erzeugten Steuersignale hängen vom Bearbeitungsstand ("Zustand") der Aufgabe und von Eingangsgrößen

Mehr

Name: DT2 Klausur 06.05.08. Bitte achten Sie auf eine saubere Form. Nicht leserliches kann nicht bewertet werden.

Name: DT2 Klausur 06.05.08. Bitte achten Sie auf eine saubere Form. Nicht leserliches kann nicht bewertet werden. Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 90 min. Name nicht vergessen! Geben Sie alle Blätter ab. Erlaubte Hilfsmittel sind Taschenrechner und Zusammenfassungen. Nicht erlaubt ist

Mehr

Computergestützter IC- Entwurf

Computergestützter IC- Entwurf FHTW Berlin Fachbereich 1 Technische Informatik, D5TI Computergestützter IC- Entwurf Simulation eines Fahrstuhls Beleg Abgabetermin: 07.02.2003, 366437 1 Inhaltsverzeichnis 1 Einleitung... 3 2 Versuchsdurchführung...

Mehr

Laborübung 4. Zustandsautomaten (Finite State Machines)

Laborübung 4. Zustandsautomaten (Finite State Machines) Laborübung 4 Zustandsautomaten (Finite State Machines) Für den Entwurf und die Beschreibung von digitalen Systemen bilden Zustandsautomaten (Finite State Maschines; FSMs) eine wesentliche Grundlage. Mit

Mehr

Schülerseminar Programmieren einer Ampelsteuerung

Schülerseminar Programmieren einer Ampelsteuerung Prof. G. Kemnitz Institut für Informatik 23. April 2016 1/17 Schülerseminar Programmieren einer Ampelsteuerung Prof. G. Kemnitz Institut für Informatik 23. April 2016 Prof. G. Kemnitz Institut für Informatik

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr