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 Programmierung VHDL Verilog (Handle-C) (System-C) (Simulink) (Labview) HW (Parallel) + sequentielle Konstrukte HW (Parallel) sequentiell -> Parallel sequentiell -> Parallel Parallel Parallel Eingene Synthese Tools Memory Generators FIFOS Generator State Machine Generators Interfaces Generators Hier VHDL... aber... Ich habe diese Sprache nicht erfunden und keiner hat mich gefragt :-)

11 FPGA Entwurfspezifikation

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

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

14 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

15 VHDL Zusammenfassung Extrakt aus: Technische Grundlagen der Informatik

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

17 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;

18 Signale und Ports (inputs, outputs, inouts) sind physikalisch vorhandenen Leitungen! Signale fast == Ports

19 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

20 Beispiel in VHDL und C ENTITY funcxx IS PORT( a: IN INTEGER; b: IN INTEGER; x: OUT INTEGER); END funcxx;... ARCHITECTURE behav1 OF funcxxx IS BEGIN END behav1; extern int funcxx(int a, int b); //... int funcxx(int a, int b) { int sume, s, c; summe = 0; while(a!= 0 && b!= 0) {. } return summe; } Warnung: Klein oder Großschreibung wird ignoriert! Case Insensitive!

21 Definition der Interfaces register8 data q rst en clk 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;

22 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

23 Entity: Types TYPE BIT IS ('0','1'); Meistens! TYPE STD_LOGIC IS ('0','1', 'Z', 'U', 'X'); TYPE BOOLEAN IS (TRUE, FALSE); TYPE BITVECTOR+ IS ARRAY(NATURAL RANGE mit <> enum ) OF BIT; eigene Definitionen (vergleichbar in c++) 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 Wie viele Bits? TYPE INTEGER IS RANGE TO ; SUBTYPE NATURAL IS INTEGER RANGE 0 TO INTEGER'HIGH; SUBTYPE POSITIVE IS INTEGER RANGE 1 TO INTEGER'HIGH; nicht umbedingt 8,16,32,64.. Irgendwas! Für Synthese TYPE STD_LOGIC_VECTOR (<n1> TO DOWNTO <n2>);

24 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 neben läufige Komponenten. (wie Funktionsaufruf) 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 aber.. noch kein Hardware erst wenn es zu Signal wird z.b. x <= a; Extra für Informatiker :)

25 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

26 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

27 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! -> ausgerollt ) } END PROCESS [<process_label>];

28 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

29 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>

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

31 IF CASE LOOP sehen wir lieber mit Beispiele

32 Definition des Verhaltens ARCHITECTURE <architecture_name> OF <entity_name> IS type_declaration Die Mutter Entity signal_declaration constant_declaration component_declaration BEGIN Eins von {process_statement vielen 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;

33 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 x, y, result und carry müssen in der Entity deklariert sein, y carry

34 zuerst Beispiele und dann Details

35 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? dann unverändert. Übung: LTU dafür, mit, ohne else IF -> Multiplexer : doppelt Zuweisung ist ok if a = 0 then x <= 1; else x <= 2; end if 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 (!!!)

36 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

37 Siehe VHDL Code Bit Addierrer Counter_EN State Machine 4 Bit Addierer

38 Siehe VHDL Code Bit Addierrer Counter_EN State Machine 4 Bit Addierer

39 Siehe VHDL Code Bit Addierrer Counter_EN State Machine 4 Bit Addierer Clk A=1 X<= 0 A auf Z=1 x<=1 G Z Zu reset G=1 x<=0 x Z=1 x<=1 gekippt

40 Clk A=1 X<= 0 A auf Z=1 x<=1 G Z Zu reset G=1 x<=0 x Z=1 x<=1 gekippt

41 Beispiel: 4 Bit adder Bit Addierrer Counter_EN State Machine 4 Bit Addierer

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

43 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

44 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;

45 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;

46 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;

47 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

48 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;

49 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

50 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;

51 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;

52 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;

53 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;

54 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;

55 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;

56 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;

57 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;

58 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

59 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!

60 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;

61 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)

62 Shifter Shifter (hier spielt eine rolle 7 downto 0 oder 0 to 7 ) 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

63 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

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

65 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;

66 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

67 Variablen Signale: Vorsicht Variablen: -> Sequenziell Signale: -> Parallel

68 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);

69 Variablen Signale Weniger Hardware 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;

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

71 Beispiel: Ladbarer Zähler mit Nulldurchlaufserkennung

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

73 Beispiel: Ladbarer Zähler mit Nulldurchlaufserkennung

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

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

76 Short Referenz

77

78

79 Siehe Test Benchs

Ü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

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

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

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

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

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

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

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

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

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. Dipl.-Ing. Franz Wolf

Einführung in VHDL. Dipl.-Ing. Franz Wolf Einführung in VHDL Literatur Digital Design and Modeling with VHDL and Synthesis Kou-Chuan Chang Wiley-IEEE Computer Society Press ISBN 0818677163 Rechnergestützter Entwurf digitaler Schaltungen Günter

Mehr

1 Grundlagen von VHDL

1 Grundlagen von VHDL TI 2 - Zusammenfassung 1 1 Grundlagen von VHDL entity Die entity deklariert die externe Schnittstelle. Es werden die elektrischen Signale (PORTS) und die zahlenmäßigen (GENERICS) Signale beschrieben. Jeder

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

Ü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

16 Latches und Flipflops (Bistabile Kippstufen)

16 Latches und Flipflops (Bistabile Kippstufen) 6 Latches und Flipflops (Bistabile Kippstufen) Latches und Flipflops dienen als Speicherelemente in sequentiellen Schaltungen. Latches werden durch Pegel gesteuert (Zustandssteuerung). Bei der VHDL-Synthese

Mehr

Simulation von in VHDL beschriebenen Systemen

Simulation von in VHDL beschriebenen Systemen Simulation von in VHDL beschriebenen Systemen Prof. Dr. Paul Molitor Institut für Informatik Martin-Luther-Universität Halle Aufbau der Lehrveranstaltung Literaturangaben Allgemeines zum Entwurf digitaler

Mehr

Übersicht. Prof. Dr. B. Lang, HS Osnabrück Konstruktion digitaler Komponenten, 3. Hierarchischer und generischer VHDL-Entwurf - 1 -

Übersicht. Prof. Dr. B. Lang, HS Osnabrück Konstruktion digitaler Komponenten, 3. Hierarchischer und generischer VHDL-Entwurf - 1 - Übersicht 1. Einführung 2. VHDL-Vertiefung 3. Hierarchischer und generischer VHDL-Entwurf 4. Grundstrukturen digitaler Schaltungen 5. Zielarchitekturen 6. Synthese 7. Soft-Prozessoren 8. Ausgewählte Beispiele

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

Technische Grundlagen der Informatik Kapitel 3. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Technische Grundlagen der Informatik Kapitel 3. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Technische Grundlagen der Informatik Kapitel 3 Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Kapitel 3: Themen Hardware-Beschreibungssprachen Syntax von VHDL Simulation Synthese Testrahmen

Mehr

Eine blinkende LED mit Xilinx ISE 13: das Hello World! der Hardware.

Eine blinkende LED mit Xilinx ISE 13: das Hello World! der Hardware. Tutorial Xilinx ISE13 Lothar Miller 12/2011 Seite 1 Eine blinkende LED mit Xilinx ISE 13: das Hello World! der Hardware. Das hier ist eine Schritt-für-Schritt Anleitung, in der gezeigt wird, wie mit Xilinx

Mehr

Getaktete Schaltungen

Getaktete Schaltungen Getaktete Schaltung DST SS23 - Flipflops und getaktete Schaltung P. Fischer, TI, Uni Mannheim, Seite Sequtielle Logik Zum Speichern des Zustands eines Systems sind Speicherelemte notwdig Abhängig vom Zustand

Mehr

Modul 122 VBA Scribt.docx

Modul 122 VBA Scribt.docx Modul 122 VBA-Scribt 1/5 1 Entwicklungsumgebung - ALT + F11 VBA-Entwicklungsumgebung öffnen 2 Prozeduren (Sub-Prozeduren) Eine Prozedur besteht aus folgenden Bestandteilen: [Private Public] Sub subname([byval

Mehr

FAKULTÄT FÜR INFORMATIK

FAKULTÄT FÜR INFORMATIK FAKULTÄT FÜ INFOMATIK TECHNICHE UNIVEITÄT MÜNCHEN Lehrstuhl für echnertechnik und echnerorganisation Prof. Dr. Arndt Bode Einführung in die echnerarchitektur Wintersemester 2015/2016 Zentralübung 10 08.01.2016

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur [CS3100.010] Wintersemester 2014/15 Heiko Falk Institut für Eingebettete Systeme/Echtzeitsysteme Ingenieurwissenschaften und Informatik Universität Ulm Kapitel 5 Rechnerarithmetik

Mehr

Schritt 1 : Das Projekt erstellen und programmieren des Zählers

Schritt 1 : Das Projekt erstellen und programmieren des Zählers Implementieren eines Mini-Testprogramms Ziel soll es sein ein kleines VHDL Projekt zu erstellen, eine entsprechende Testbench zu schreiben, dass Projekt zu synthetisieren und auf dem FPGA- Testboard zu

Mehr

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform

Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform Automatisierung mit Hilfe einer rekonfigurierbaren FPGA-Hardwareplattform Prof. Dr.-.-Ing.. Frank Kesel Fachhochschule Pforzheim Übersicht Vom Algorithmus zum Chip High-Level Synthese Anwendungsbeispiel

Mehr

CPLDs. Vom Platinenlayout zum ersten Projekt. Jakob Holderbaum. Erstellt am 9. August 2008. Berufskolleg Olsberg Paul-Oeventrop Str.

CPLDs. Vom Platinenlayout zum ersten Projekt. Jakob Holderbaum. Erstellt am 9. August 2008. Berufskolleg Olsberg Paul-Oeventrop Str. CPLDs Vom Platinenlayout zum ersten Projekt Jakob Holderbaum Erstellt am 9. August 2008 Berufskolleg Olsberg Paul-Oeventrop Str. 7 59939 Olsberg Inhaltsverzeichnis 1 Inhaltsverzeichnis 1 Vorwort 3 2 Programmierbare

Mehr

Einführung in den HDL- gestützten Schaltungsentwurf Einführung in VHDL

Einführung in den HDL- gestützten Schaltungsentwurf Einführung in VHDL Einführung in den HDLgestützten Schaltungsentwurf Einführung in VHDL Ablauf des Entwurfs Spezifikation golden specification Funktionale Simulation Testbench Logiksynthese Gate-Level Simulation Formale

Mehr

IHS2 Praktikum. Zusatzfolien. Integrated HW/SW Systems Group. IHS2 Praktikum Zusatzfolien 2012 Self-Organization 20 April 2012 1

IHS2 Praktikum. Zusatzfolien. Integrated HW/SW Systems Group. IHS2 Praktikum Zusatzfolien 2012 Self-Organization 20 April 2012 1 IHS2 Praktikum Zusatzfolien Prof. Dr.-Ing. habil. Andreas Mitschele-Thiel 2012 Self-Organization 20 April 2012 1 Projektaufgabe des Seminars Grafische Bildausgabe an einem Monitor Erzeugen der Steuersignale

Mehr

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff

Programmieren in C. C Syntax Datentypen, Operatoren und Kontrollstrukturen. Prof. Dr. Nikolaus Wulff Programmieren in C C Syntax Datentypen, Operatoren und Kontrollstrukturen Prof. Dr. Nikolaus Wulff Elementare Typen Imperative und objektorientierte Programmiersprachen bieten i.d.r. einen Satz elementarer

Mehr

Hardware/Software Co-Design

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

Mehr

Systembeschreibung und Entwurf

Systembeschreibung und Entwurf Systembeschreibung und Entwurf Systemspezifikation mit Hardwarebeschreibungssprachen Bernhard Hoppe Thomas Schumann Hochschule Darmstadt University of Applied Sciences Inhaltsverzeichnis Inhaltsverzeichnis

Mehr

Im Innersten besteht jede digitale Hardwareschaltung aus kombinatorischer Logik und speichernden Elementen.

Im Innersten besteht jede digitale Hardwareschaltung aus kombinatorischer Logik und speichernden Elementen. VHDL Wikibooks.org 16. Februar 2012 Inhaltsverzeichnis 0.1 EINFÜHRUNG.......................................... 1 0.2 BASIS-KONSTRUKTE...................................... 5 0.3 OPERATOR PRECEDENCE...................................

Mehr

Wozu Verifikation? Der Entwurf eines 1 million gate ASIC benötigt ca. 2000 Mann Tage Quality Assurance benötigt 50% der Zeit/des Geldes

Wozu Verifikation? Der Entwurf eines 1 million gate ASIC benötigt ca. 2000 Mann Tage Quality Assurance benötigt 50% der Zeit/des Geldes Verifikation Dr. Wolfgang Günther Verifikation 2 Wozu Verifikation? Produktivität im ASIC Entwurf Der Entwurf eines 1 million gate ASIC benötigt ca. 2000 Mann Tage Quality Assurance benötigt 50% der Zeit/des

Mehr

Technische Grundlagen der Informatik Kapitel 5. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt

Technische Grundlagen der Informatik Kapitel 5. Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Technische Grundlagen der Informatik Kapitel 5 Prof. Dr. Sorin A. Huss Fachbereich Informatik TU Darmstadt Kapitel 5: Themen Speicherarchitekturen RAM-, ROM-Speicher Flash-Speicher Logikimplementierung

Mehr

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert

Wintersemester 2001/2002. Hardwarepraktikum. Versuch 4: Sequentielle Systeme 1. - Toralf Zemlin - Swen Steinmann - Sebastian Neubert Hardwarepraktikum Wintersemester 2001/2002 Versuch 4: Sequentielle Systeme 1 - Toralf Zemlin - Swen Steinmann - Sebastian Neubert Aufgabenstellung: 2.1. Untersuchen Sie theoretisch und praktisch die Wirkungsweise

Mehr

Einführung in ModelSim

Einführung in ModelSim Einführung in Version 0.5 Verteiler: Name (alphab.) Abteilung Ort Laszlo Arato EMS NTB, Buchs Dr. Urs Graf INF NTB, Buchs Dokumentenverwaltung Dokument-Historie Version Status Datum Verantwortlicher Änderungsgrund

Mehr

Grundlagen der Technischen Informatik / Digitaltechnik (GTI/DT)

Grundlagen der Technischen Informatik / Digitaltechnik (GTI/DT) Klausur zur Vorlesung Grundlagen der Technischen Informatik / Digitaltechnik (GTI/DT) Prof. Marco Platzner Fachgebiet Technische Informatik Universität Paderborn 03.04.2009 Die Bearbeitungsdauer beträgt

Mehr

Einführung in VHDL und Anleitung zur CPLD Simulation und Synthese

Einführung in VHDL und Anleitung zur CPLD Simulation und Synthese Einführung in VHDL und Anleitung zur CPLD Simulation und Synthese ZÜRCHER HOCHSCHULE FÜR ANGEWANDTE WISSENSCHAFTEN INSTITUTE OF EMBEDDED SYSTEMS Autoren: Hans-Joachim Gelke Letzte Änderung: 24. Februar

Mehr

VHDL. D. Neuhäuser, G. Grune (W. Koch) Einleitung. Entity. Architecture. Sequenziell Strukturell. Packages

VHDL. D. Neuhäuser, G. Grune (W. Koch) Einleitung. Entity. Architecture. Sequenziell Strukturell. Packages Beschreibung von Rechensystemen auf 6 Ebenen Algorithmische Ebene spezifiziert den Algorithmus zur Lösung eines Entwurfsproblems Dezember 2012 PMS-Ebene (Processor, Memory, Switch) beschreibt Rechner grob

Mehr

FPGA: Pseudo Random Generator (PRNG) von Prof. Dr.-Ing. Dirk Rabe

FPGA: Pseudo Random Generator (PRNG) von Prof. Dr.-Ing. Dirk Rabe Praktikum Digitaltechnik FPGA: Pseudo Random Generator (PRNG) von Prof. Dr.-Ing. Dirk Rabe Gruppe: Teilnehmer: Vortestat: Testat: Benutzte Geräte: 1 1 Einleitung und Überblick 1 Einleitung und Überblick

Mehr

Die Mikroprogrammebene eines Rechners

Die Mikroprogrammebene eines Rechners Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten, z.b. Befehl holen Befehl dekodieren Operanden holen etc.

Mehr

Kontrollstrukturen, Pseudocode und Modulo-Rechnung

Kontrollstrukturen, Pseudocode und Modulo-Rechnung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 29.10.2012 CoMa-Übung III (TU Berlin) Kontrollstrukturen, Pseudocode und Modulo-Rechnung 29.10.2012 1 / 1 Themen der Übung 1

Mehr

Klausur zur Vorlesung

Klausur zur Vorlesung Prof. Dr. Franz J. Rammig Paderborn, 2..2001 C. Böke Klausur zur Vorlesung "Grundlagen der technischen Informatik" und "Grundlagen der Rechnerarchitektur" Sommersemester 2001 1. Teil: GTI Der erste Teil

Mehr

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010

VHDL Einleitung. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010 VHDL Einleitung Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2010 VHDL Einleitung 1/17 2010-04-14 Inhalt Entwurfsebenen und -sichten

Mehr

13. Einführung in die Programmiersprache Strukturierter Text (ST)

13. Einführung in die Programmiersprache Strukturierter Text (ST) 13. Einführung in die Programmiersprache Strukturierter Text (ST) 13.1 Übersicht Strukturierter Text (ST, auch SCL) ist eine der sechs in IEC 61131-3 festgeschriebenen Programmiersprachen für Automatisierungstechnik.

Mehr

Anleitung SDDesigner. MICROSWISS-Zentrum Rapperswil

Anleitung SDDesigner. MICROSWISS-Zentrum Rapperswil Hochschule HSR Oberseestrasse 10 CH-8640 Tel 055 222 47 00 Fax 055 222 47 07 1. März 1999 Anleitung SDDesigner 1. Einführung Der SDDesigner ist ein grafisches Eingabewerkzeug für Übergangsdiagramme. Die

Mehr

Praktium Systementwurf mit VHDL HDL Design Lab. Lehrstuhl für Entwurfsautomatisierung Technische Universität München

Praktium Systementwurf mit VHDL HDL Design Lab. Lehrstuhl für Entwurfsautomatisierung Technische Universität München Praktium Systementwurf mit VHDL HDL Design Lab Lehrstuhl für Entwurfsautomatisierung Technische Universität München 1 Das Projekt: Verschlüsselung Entschlüsselung 2 Hardware-Emulation Oszillograph Signalgenerator

Mehr

Modelling with SystemC

Modelling with SystemC Modelling with SystemC Andrej Eisfeld May 22, 2011 1 Andrej Eisfeld Modelling with SystemC Inhaltsverzeichnis Grundlagen Die eigene CPU Synthese 2 Andrej Eisfeld Modelling with SystemC Fakten Open Source

Mehr

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1

Microcontroller Kurs Programmieren. 09.10.11 Microcontroller Kurs/Johannes Fuchs 1 Microcontroller Kurs Programmieren 9.1.11 Microcontroller Kurs/Johannes Fuchs 1 General Purpose Input Output (GPIO) Jeder der Pins der vier I/O Ports kann als Eingabe- oder Ausgabe-leitung benutzt werden.

Mehr

Programmierbare Logik

Programmierbare Logik Programmierbare Logik Ein Überblick über programmierbare logische Bausteine TU Berlin FG emsp 1 Einleitung Verschiedene Realisierungsmöglichkeiten von logischen Zusammenhängen 1. Kombination von einfachen

Mehr

Crashkurs VHDL FH München, FB 06

Crashkurs VHDL FH München, FB 06 Crashkurs VHDL FH München, FB 06 1 Einleitung... 2 2 Signale, Typen und Vektoren... 3 2.1 Konventionen in VHDL... 4 2.1.1 Namensregeln... 4 2.1.2 Kommentare... 4 2.1.3 Zuweisungen... 4 2.2 Typologie...

Mehr

Speicherung digitaler Signale

Speicherung digitaler Signale Speicherung digitaler Signale von Fabian K. Grundlagen Flipflops Bisher: Schaltungen ohne Speichermöglichkeit Jetzt: Speichermöglichkeit durch Flipflops Flipflops Grundlagen Flipflops Was sind Flipflops?

Mehr

Hardwarepraktikum WS05/06

Hardwarepraktikum WS05/06 Hardwarepraktikum WS5/6 Sven Eckelmann 2..26 Inhaltsverzeichnis Versuch Komb. NANDNANDRealisierung.......................2 NORNORRealisierung.........................3 Schaltung................................

Mehr

Mikrocomputertechnik. Einadressmaschine

Mikrocomputertechnik. Einadressmaschine technik Einadressmaschine Vorlesung 2. Mikroprozessoren Einführung Entwicklungsgeschichte Mikroprozessor als universeller Baustein Struktur Architektur mit Akku ( Nerdi) FH Augsburg, Fakultät für Elektrotechnik

Mehr

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw

Martin V. Künzli Marcel Meli. Vom Gatter zu VHDL. Eine Einführung in die Digitaltechnik. : iasms!wil5i-8sb*l!f. 3. Auflage. zh aw Martin V. Künzli Marcel Meli Vom Gatter zu VHDL Eine Einführung in die Digitaltechnik : iasms!wil5i-8sb*l!f 3. Auflage zh aw Inhaltsverzeichnis 1. Begriffe und Definitionen 1 1.1 Logische Zustände 1 1.2

Mehr

Übersicht. Prof. Dr. B. Lang, FH Osnabrück Konstruktion digitaler Komponenten, 6 Synthese - 1 -

Übersicht. Prof. Dr. B. Lang, FH Osnabrück Konstruktion digitaler Komponenten, 6 Synthese - 1 - Übersicht 1. Einführung 2. VHDL-Vertiefung 3. Hierarchischer und generischer Entwurf 4. Grundstrukturen digitaler Schaltungen 5. Zielarchitekturen 6. Synthese 7. Soft-Prozessoren 8. Ausgewählte Beispiele

Mehr

HaPra 2007 - Versuchsreihe 4 - Aufbau eines Volladdierers. Aufbau eines Volladdierers mit diskreten Bausteinen

HaPra 2007 - Versuchsreihe 4 - Aufbau eines Volladdierers. Aufbau eines Volladdierers mit diskreten Bausteinen HaPra 2007 - Versuchsreihe 4 - Aufbau eines Volladdierers Versuchsreihe 4 Aufbau eines Volladdierers Aufbau eines Volladdierers Aufbau eines Volladdierers mit diskreten Bausteinen Aufbau eines Volladdierers

Mehr

1.4.12 Sin-Funktion vgl. Cos-Funktion

1.4.12 Sin-Funktion vgl. Cos-Funktion .4. Sgn-Funktion Informatik. Semester 36 36.4.2 Sin-Funktion vgl. Cos-Funktion Informatik. Semester 37 37 .4.3 Sqr-Funktion Informatik. Semester 38 38.4.4 Tan-Funktion Informatik. Semester 39 39 .5 Konstanten

Mehr

Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign"

Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign Inhaltsverzeichnis Vorlesung VHDL, HW/SW-Codesign" 1 Einführung... 1-1 2 VHDL Grundlagen... 2-1 2.1 Allgemeines... 2-1 2.2 Aufbau eines VHDL-Modells...2-7 VHDL Design-Einheiten Überblick...2-10 Programmerstellung...

Mehr

Übungen Architektur Eingebetteter Systeme

Übungen Architektur Eingebetteter Systeme Universität Ulm Institut für Eingebettete Systeme und Echtzeitsysteme Übungen Architektur Eingebetteter Systeme Dipl.-Ing. Tobias Bund SS 2010 Inhaltsverzeichnis 1 Ziel der Übungen..............................................

Mehr

Methodische Grundlagen des Software Engineering - Übung 9

Methodische Grundlagen des Software Engineering - Übung 9 Engineering - Übung 9 9 Prozess und Softwarequalität Abgabe der Hausaufgaben am Anfang der jeweiligen Präsenzübung am 14.06.2011 bzw. 15.06.2011. Hinweise und Kontakt: Veranstaltungsseite 1 9.1 Grundlagen

Mehr

VHDL Syntax V1.0. F. Wolf

VHDL Syntax V1.0. F. Wolf VHDL Syntax V1.0 Graz, Februar 2002 Inhaltsverzeichnis 1 Einführung 3 2 Kurze Beschreibung der Design-Einheiten 4 2.1 Schnittstellenbeschreibung (Entity) 4 2.2 Architektur (Architecture) 5 2.3 Konfiguration

Mehr

Digitaltechnik. Prof. Dr. Sven-Hendrik Voß Wintersemester 2015 Technische Informatik (Bachelor), Semester 3 Termin 1, 05.10.2015

Digitaltechnik. Prof. Dr. Sven-Hendrik Voß Wintersemester 2015 Technische Informatik (Bachelor), Semester 3 Termin 1, 05.10.2015 Digitaltechnik Prof. Dr. Sven-Hendrik Voß Wintersemester 2015 Technische Informatik (Bachelor), Semester 3 Termin 1, 05.10.2015 Seite 2 Einführung Digitaltechnik Wintersemester 2015 Inhaltsverzeichnis

Mehr

Boundary Scan Days 2009

Boundary Scan Days 2009 Boundary Scan Days 2009 Einsatz von Virtual JTAG (Altera) für Flash - & EEPROM - Programmierung Dammert Tobias & Knüppel Lars Nokia Siemens Networks GmbH & Co. KG Standort Bruchsal Test Engineering 1 Nokia

Mehr

3 Rechnen und Schaltnetze

3 Rechnen und Schaltnetze 3 Rechnen und Schaltnetze Arithmetik, Logik, Register Taschenrechner rste Prozessoren (z.b. Intel 4004) waren für reine Rechenaufgaben ausgelegt 4 4-Bit Register 4-Bit Datenbus 4 Kbyte Speicher 60000 Befehle/s

Mehr

Das Modul kann thermische oder 3-stufige Aktoren regeln, wie auch vier 0-10 VDC analoge Ausgänge.

Das Modul kann thermische oder 3-stufige Aktoren regeln, wie auch vier 0-10 VDC analoge Ausgänge. Das ist ein I/O Modul für Modbus, das vier Ni1000-LG Eingänge oder vier Digitaleingänge lesen kann. Jeder individuelle Eingang kann so eingestellt werden, das er als analoger oder digitaler Eingang arbeitet.

Mehr

Versuch P1-63 Schaltlogik Vorbereitung

Versuch P1-63 Schaltlogik Vorbereitung Versuch P1-63 Schaltlogik Vorbereitung Gruppe Mo-19 Yannick Augenstein Versuchsdurchführung: 16. Januar 2012 1 Inhaltsverzeichnis Einführung 3 1 Grundschaltungen 3 1.1 AND.......................................

Mehr

Java Einführung Operatoren Kapitel 2 und 3

Java Einführung Operatoren Kapitel 2 und 3 Java Einführung Operatoren Kapitel 2 und 3 Inhalt dieser Einheit Operatoren (unär, binär, ternär) Rangfolge der Operatoren Zuweisungsoperatoren Vergleichsoperatoren Logische Operatoren 2 Operatoren Abhängig

Mehr

Grundlagen. Die Komponenten eines C Programms. Das erste Programm

Grundlagen. Die Komponenten eines C Programms. Das erste Programm Grundlagen 1. Die Komponenten eines C Programms 2. Ein Programm erzeugen und übersetzen 3. Variablen Deklarieren und Werte zuweisen 4. Zahlen eingeben mit der Tastatur 5. Arithmetische Ausdrücke und Berechnungen

Mehr

Entwurf digitaler Systeme

Entwurf digitaler Systeme Entwurf digitaler Systeme Vorlesung und Übungen Ausgabe 0.4, 18.12.2013 Autor: Stephan Rupp S. Rupp, 2013 T2ELN3602, T2ELA2652, T2MT3162 1/101 S. Rupp, 2013 T2ELN3602, T2ELA2652, T2MT3162 2/101 Inhaltsverzeichnis

Mehr

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3. Hello World Javakurs 2014, 1. Vorlesung Sebastian Schuck basierend auf der Vorlage von Arne Kappen wiki.freitagsrunde.org 3. März 2014 This work is licensed under the Creative Commons Attribution-ShareAlike

Mehr

Hardware Synthese mit VHDL

Hardware Synthese mit VHDL Hardware Synthese mit VHDL Thomas Schanz, Christoph Tenzer IAAT - Universität Tübingen September 2004 Vorwort Dieses Dokument entstand am Rande der wissenschaftlichen Arbeit der Verfasser am IAAT der

Mehr

Einführung in die C++ Programmierung für Ingenieure

Einführung in die C++ Programmierung für Ingenieure Einführung in die C++ Programmierung für Ingenieure MATTHIAS WALTER / JENS KLUNKER Universität Rostock, Lehrstuhl für Modellierung und Simulation 14. November 2012 c 2012 UNIVERSITÄT ROSTOCK FACULTY OF

Mehr

Einführung in Xilinx Webpack ISE 10.1

Einführung in Xilinx Webpack ISE 10.1 Einführung in Xilinx Webpack ISE 10.1 Diese Version beschreibt sowohl die Benutzung des Spartan2 als auch des Spartan3 Version Oktober 2010 Urs Graf 1 Installation... 3 2 Was ist das Webpack?... 4 2.1

Mehr

Eine elektronische Schaltung von der Idee bis zum Einbau am Experiment

Eine elektronische Schaltung von der Idee bis zum Einbau am Experiment Eine elektronische Schaltung von der Idee bis zum Einbau am Experiment H. Leich: Einführung Schaltungsentwicklung Layout-Bearbeitung W. Philipp Technologische Umsetzung 6/14/2005 Technical seminar June

Mehr

Einführung in Computer Microsystems 8. Speicher, PLLs, Busse

Einführung in Computer Microsystems 8. Speicher, PLLs, Busse Einführung in Computer Microsystems 8. Speicher, PLLs, Busse Prof. Dr.-Ing. Sorin A. Huss Fachbereich Informatik Integrierte Schaltungen und Systeme SS 2009 Integrierte Schaltungen und Systeme Einführung

Mehr

Implementierung einer 4-Bit MiniCPU in VHDL auf einem FPGA

Implementierung einer 4-Bit MiniCPU in VHDL auf einem FPGA Fachbereich 4: Institut für Informatik Implementierung einer 4-Bit MiniCPU in VHDL auf einem FPGA Studienarbeit im Studiengang Informatik vorgelegt von Christopher Israel Marcel Jakobs 205110288 204210335

Mehr

Was ist VHDL? V: very high speed integrated circuit HDL hardware description language. mächtige HW-Beschreibungssprache. Wozu hat man VHDL entwickelt?

Was ist VHDL? V: very high speed integrated circuit HDL hardware description language. mächtige HW-Beschreibungssprache. Wozu hat man VHDL entwickelt? Was ist VHDL? V: very high speed integrated circuit HDL hardware description language mächtige HW-Beschreibungssprache Wozu hat man VHDL entwickelt? weitere HDLs? - HW beschreiben, beschleunigen - Simulation

Mehr

Halbleiterdaten. Eigenschaften von Si und GaAs bei T = 300K, sofern nicht anders angegeben. Eigenschaft Symbol Einheit Silizium GaAs

Halbleiterdaten. Eigenschaften von Si und GaAs bei T = 300K, sofern nicht anders angegeben. Eigenschaft Symbol Einheit Silizium GaAs Halbleiterdaten Eigenschaft Symbol Einheit Silizium GaAs Atomradius nm 0,117 - Atomdichte N cm 3 5,0 10 22 2,2 10 22 spez. Dichte (20 C) γ g/cm 3 2,3 5,35 Gitterkonstante (20 C) a 0 nm 0,543 0,565 Schmelzpunkt

Mehr

Teil C Anwendung von VHDL

Teil C Anwendung von VHDL Teil C Anwendung von VHDL G. Lehmann/B. Wunder/M. Selz 229 1 Simulation 1.1 Überblick Die Simulation dient im allgemeinen der Verifikation von Entwurfsschritten. Bei einer Designmethodik mit VHDL unter

Mehr

Programmierung in Python

Programmierung in Python Programmierung in Python imperativ, objekt-orientiert dynamische Typisierung rapid prototyping Script-Sprache Funktionales und rekursives Programmieren P raktische Informatik 1, W S 2004/05, F olien P

Mehr

L6. Operatoren und Ausdrücke

L6. Operatoren und Ausdrücke L6. Operatoren und Ausdrücke 1. Arithmetische Operatoren: +, -, *, /, %, --, ++ 2. Zuweisung-Operatoren: =, +=, -=, *=, /= 3. Vergleichsoperatoren: =, ==,!= 4. Logische Operatoren:!, &&, 5.

Mehr

Universität Paderborn Fakultät für Naturwissenschaften - Physikalisches Praktikum Versuche mit Microcontroller-System

Universität Paderborn Fakultät für Naturwissenschaften - Physikalisches Praktikum Versuche mit Microcontroller-System Kurzanleitung: Universität Paderborn Fakultät für Naturwissenschaften - Physikalisches Praktikum BASIC-Programme für das C-Control Prozessormodul Jedes Programm besteht aus einem Vereinbarungsteil und

Mehr

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems Mitglied der Zürcher Fachhochschule TIn 1: Lecture 4 Data transfer Feedback Laboratories Question: What is the IP? Why do we NEED an IP? Lecture 3: Lernziele Moving data, the why s and wherefores Moving

Mehr

VHDL Kurzbeschreibung

VHDL Kurzbeschreibung VHDL Kurzbeschreibung A. Mäder Universität Hamburg Fachbereich Informatik Arbeitsbereich Technische Grundlagen der Informatik Inhaltsverzeichnis 1 Konzepte von VHDL 1 1.1 Grundkonzepte.................................

Mehr

Prinzipieller Grundaufbau eines einfachen C-Programmes

Prinzipieller Grundaufbau eines einfachen C-Programmes Prinzipieller Grundaufbau eines einfachen C-Programmes C unterscheidet zwischen Groß- und Kleinschreibung! Siehe zu den folgenden Erklärungen auch das Programm am Ende der nächsten Seite. Am Anfang aller

Mehr

Kap 4. 4 Die Mikroprogrammebene eines Rechners

Kap 4. 4 Die Mikroprogrammebene eines Rechners 4 Die Mikroprogrammebene eines Rechners Das Abarbeiten eines Arbeitszyklus eines einzelnen Befehls besteht selbst wieder aus verschiedenen Schritten (Befehl holen, Befehl dekodieren, Operanden holen etc.).

Mehr

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Java Einführung VARIABLEN und DATENTYPEN Kapitel 2 Inhalt dieser Einheit Variablen (Sinn und Aufgabe) Bezeichner Datentypen, Deklaration und Operationen Typenumwandlung (implizit/explizit) 2 Variablen

Mehr

Workshop: ASURO-Programmieren in C

Workshop: ASURO-Programmieren in C Workshop: ASURO-Programmieren in C / Teil 1: Theorie Workshop: ASURO-Programmieren in C Teil 1: Theorie Markus Becker http://mbecker-tech.de Bürgernetz Ingolstadt e. V. / ByteWerk Stand: 1. Mai 2010 Copyright:

Mehr

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011

Rechnerorganisation 2 TOY. Karl C. Posch. co1.ro_2003. Karl.Posch@iaik.tugraz.at 16.03.2011 Technische Universität Graz Institut tfür Angewandte Informationsverarbeitung und Kommunikationstechnologie Rechnerorganisation 2 TOY Karl C. Posch Karl.Posch@iaik.tugraz.at co1.ro_2003. 1 Ausblick. Erste

Mehr

Einführung in die Programmiersprache C und in den C166-Compiler

Einführung in die Programmiersprache C und in den C166-Compiler Einführung in die Programmiersprache C und in den C166-Compiler Die vorliegenden Unterlagen sollen einen kurzen Überblick über die Software-Entwicklung in C geben. Diese Unterlagen erheben keinen Anspruch

Mehr

Einführung in die Programmiersprache C

Einführung in die Programmiersprache C Einführung in die Programmiersprache C Marcel Arndt arndt@ins.uni-bonn.de Institut für Numerische Simulation Universität Bonn Der Anfang Ein einfaches Programm, das Hello World! ausgibt: #include

Mehr

Emulation und Rapid Prototyping. Hw-Sw-Co-Design

Emulation und Rapid Prototyping. Hw-Sw-Co-Design Emulation und Rapid Prototyping Hw-Sw-Co-Design Simulation von komplexen ICs Design level Description language Primitives Simulation time (instructions/cycle) Algorithm HLL Instruction sets 10-100 Architecture

Mehr

Emulation und Rapid Prototyping

Emulation und Rapid Prototyping Emulation und Rapid Prototyping Hw-Sw-Co-Design Simulation von komplexen ICs Design level Description language Primitives Simulation time (instructions/cycle) Algorithm HLL Instruction sets 10-100 Architecture

Mehr

Praktikum Grundlagen der Elektronik

Praktikum Grundlagen der Elektronik Praktikum Grundlagen der Elektronik Versuch EP 7 Digitale Grundschaltungen Institut für Festkörperelektronik Kirchhoff - Bau K1084 Die Versuchsanleitung umfasst 7 Seiten Stand 2006 Versuchsziele: Festigung

Mehr

Ausarbeitung des Interpreter Referats

Ausarbeitung des Interpreter Referats Ausarbeitung des Interpreter Referats Gliederung 1. Programmiersprache 1.2. Syntax 1.2.1. Konkrete Syntax 1.2.2. Abstrakter Syntax Baum (Abstrakte Syntax) 2. Parser 2.1. Syntaktische Struktur einer Sprache

Mehr

Prozedurale Datenbank- Anwendungsprogrammierung

Prozedurale Datenbank- Anwendungsprogrammierung Idee: Erweiterung von SQL um Komponenten von prozeduralen Sprachen (Sequenz, bedingte Ausführung, Schleife) Bezeichnung: Prozedurale SQL-Erweiterung. In Oracle: PL/SQL, in Microsoft SQL Server: T-SQL.

Mehr