Einführung in die Elektronik für Physiker

Größe: px
Ab Seite anzeigen:

Download "Einführung in die Elektronik für Physiker"

Transkript

1 Hartmut Gemmeke Forschungszentrum Karlsruhe, IPE Tel.: Einführung in die Elektronik für Physiker 19. ALTERA HDL Was ist AHDL? die proprietäre Hardwarebeschreibungssprache der Firma ALTERA entwickelt für komplexe kombinatorische und sequentielle Logik: Altera-EPLDs (erasable and programmable logic devices) Unabhängig von der Wahl der verwendeten EPLD-Bausteine Wiederverwendbarkeit von Teildesigns (subdesigns) in hierarchischer Struktur, auch in VHDL Simulation Synthese Beispiel Halbaddierer in AHDL: SUBDESIGN halbadd ( a, b : INPUT; car, sum : OUTPUT; ) BEGIN car = a & b; sum = a &!b #!a & b; -- kürzer sum = a $ b; END $ = XOR! = NICHT & = UND # = ODER Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 2

2 Aufbau einer AHDL-Beschreibung Jedes Subdesign wird in einem Text-Design-File (*.TDF) abgelegt und setzt sich aus mehreren Sektionen zusammen (siehe Tabelle): Jeder dieser Files muss eine SUBDESIGN- und Logik-Sektion besitzen Konstanten, Funktionsprototypen, TITLE, INCLUDE und Deklaration von Variablen sind optional und hängen von der Anwendung ab TITLE Anweisung INCLUDE Anweisung CONSTANT Anweisung FUNCTION Prototyp SUBDESIGN Sektion VARIABLE Sektion Logik Sektion Gibt dem Projekt einen Titel (für die Dokumentation) Erlaubt als *.inc File, ähnlich wie ein *.h-file in C, z.b. Definitionen, aber keine Logik oder Subdesigns zu laden Definition von Konstanten Definition von Funktionsprototypen für Makrofunktionen Deklaration der Schnittstellen des Subdesigns (Ein- und Ausgangs-Signale) Deklaration von logischen Elementen, d.h. Instanzen von Funktions-Primitiven oder Makrofunktionen Logik, die parallel ausgeführt wird Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 3 Was ist AHDL II AHDL-Beschreibung = textuelle Beschreibung von Hardwarekomponenten in AHDL text define files.tdf Syntheseergebnis bei einfacher Beschreibung oft optimal AHDL ist eine parallele Sprache Alle SUBDESIGN Anweisungen halbadd in einer logischen ( SUBDESIGN Sektion werden parallel, a, b d.h. zur gleichen : INPUT; Zeit ausgeführt car, und sum nicht sequentiell : OUTPUT;! Sequentielle ) Logik lässt sich nur durch BEGIN Speicherelemente realisieren (z.b. Flipflops) car = a & b; sum = a &!b #!a & b; -- kürzer sum = a $ b; END text define files.tdf TITLE Anweisung INCLUDE Anweisung CONSTANT DEFINE PARAMETERs FUNCTIONs Prototyp OPTION SUBDESIGN Sektion VARIABLE Logik Sektion Include Files (.inc) CONSTANT DEFINE PARAMETERs FUNCTION prototype Notwendig in einem TDF-File Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19

3 Konventionen der AHDL Sprachelemente I Kommentare: Kommentare werden bei AHDL mit %-Zeichen eingeschlossen, Oder wie in VHDL durch -- gestartet und mit dem Ende der Zeile beendet (unter diesen Bedingungen kann man sehr übersichtlich % benutzen, um nicht benötigten Code auszukommentieren) Zahlen können, oktal, dezimal oder hexadezimal eingegeben und beliebig in einem Ausdruck kombiniert werden: Binär: B 010X Sequenz von 1, 0 und X (don t care) Oktal: O 037 Reihe von Zahlen im Bereich 0..7 oder Q 037 Dezimal: Serie von Zahlen zwischen 0 und 9 Hexadezimal X 03F Reihe von Zahlen im Bereich 0 bis 15: 0..9,A..F oder H 03F Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 5 Konventionen der AHDL Sprachelemente II Namen Namen dürfen keine Leer- oder Sonderzeichen enthalten (sonst Namen mit (') einschließen), AHDL unterscheidet nicht zwischen Groß- und Kleinschreibung! Namen dürfen nicht länger als 32 Zeichen sein. Man kann die Ziffern 0..9 und die Buchstaben A..Z (groß oder klein) sowie den Unterstrich _ im Namen verwenden. "/" am Anfang eines Namens = "active-low"-signal (invertiertes Signal) Man unterscheidet 3 Typen von Namen: Symbolische Namen für benutzerdefinierte Bezeichner (Identifier) von Variablen, Konstanten,... Subdesign-Namen Namen von Schnittstellen (Ports) Strings (Zeichenketten) sind Argumente für TITLE und INCLUDE, werden durch Anführungsstriche eingeschlossen: TITLE volladder -- oder z.b. INCLUDE volladder.inc -- ein Default-Include-File wird von einem *.tdf -- File (Subdesign) im File-Menu erzeugt Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 6

4 Konventionen der AHDL Sprachelemente III Boolesche Größen: Einzelne Signale werden in AHDL stets als boolesche Größen interpretiert und Wertzuweisung über die reservierten Schlüsselwörter VCC und GND: wahr als VCC (z.b. a = VCC) und nicht wahr als GND (z.b. a = GND) (Bit-)Vektoren: Gruppen von Booleschen Größen = Vektoren von maximal 256 Einzelelementen (Bits oder Komponenten) : z.b. a[5..0] ist dieser Vektor einmal definiert, so kann ich auch Teilbereiche verwenden a[5..2] oder die Bereichsangaben weglassen a[ ] = a[5..0] bei Teilvektoren mit nur einem Element, kann man die eckige Klammern auch weglassen a[5] = a5 Aufzählungsvektoren sind mit einer runden Klammer eingeschlossen und die Elemente mit Kommata getrennt: (a[..2], b, c) Vektoren lassen sich logisch und arithmetisch interpretieren: a[3..0] = (VCC, GND, GND, VCC) = 9 = -7 Konstanten: sind ganze positive oder negative (2er Komplement) Zahlen Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 7 CONSTANT- und FUNCTION- Anweisung Mit Hilfe des CONSTANT Bezeichners werden symbolischen Namen numerische Konstanten zugewiesen wenn z.b. eine Konstante öfters in einem Design auftaucht, erhöht das die Übersichtlichkeit, Konstanten wird der Wert nur einmal zugewiesen: N_REG = LOG2(256) - 1 FUNCTION Prototype Statements sind notwendig, um einen Logikdesign in mehrere Teildesigns zu zerlegen und wieder für ein SUBDESIGN zur Verfügung zu stellen, z.b.: FUNCTION volladd(a,b,carry_in) RETURNS (sum, carry_out); Es werden die Eingangs- und Ausgangsports definiert, die tatsächliche Realisierung (Code) befindet sich in dem zugehörigen File für dieses SUBDESIGN oder eine MAX+PlusII Mega- oder Macrofunction a b carry_in volladd sum carry_out Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 8

5 Schlüsselwort SUBDESIGN ist gefolgt durch einen Subdesign-Namen (*) und muss den gleichen Namen haben wie der *.TDF-File Deklaration der Ein- und Ausgänge eines Subdesigns Eingeschlossen durch Klammern () Signalnamen sind durch ", " getrennt, durch ein : " gefolgt und nach der Typdeklaration mit ";" abgeschlossen. Die Typdeklarationen werden durch die Schlüsselworte INPUT bzw. OUTPUT oder BIDIR getätigt. Optional lässt sich einer Typedeklaration auch ein Defaultwert (= VCC oder = GND) zuweisen. Beispiel: SUBDESIGN 8_bit_add -- addiere 8 bit a und b, um Summe sum und carry ( -- zu erhalten ) a[7..0], b[7..0] sum[7..0], carry SUBDESIGN Sektion : INPUT; : OUTPUT; a[7..0] 8_bit_add b[7..0] carry sum[7..0] Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 9 VARIABLE Sektion Deklaration von Instanzen* von Makrofunktionen von bereits bestehenden Subdesigns Makrofunktionen müssen vor der Deklaration von Instanzen in einem FUNCTION Prototype Statement eingeführt werden. Funktionsprimitive können direkt instanziert werden (Altera Flipflops,...). Oder von Funktionsprimitiven (Flipflops oder anderen Speicherelementen), die vom System zur Verfügung gestellt werden, und Definition von intermediären Variablen (Zwischenvariablen) als Typ NODE Beispiel: VARIABLE add[7..0]: volladd; -- definiert 8 Volladdierer-Elemente in einer Form, -- die vorher in einem anderen Subdesign -- logisch definiert wurde *Instanzen sind eingesetzte Größen oder Funktionen, die wie Zwischenvariablen behandelt werden. Z.B. add[7..0] sind 8 Knoten (NODEs) mit jeweils 5 Instanzen Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 10

6 Logische Operationen Die Reihenfolge logischer Operatoren kann durch runde Klammern beeinflusst werden, z.b. a & (b # c) Logische Operatoren können auch auf Vektoren und Teilvektoren angewendet werden:!a[3..0] = (!a3,!a2,!a1,!a0) oder!9 =!(1,0,0,1) = (0,1,1,0) = 6 Priorität Symbol Schlüsselwort Logische Bedeutung aber y = 0 ist falsch y = GND ist o.k. 1 3! == NOT nicht Gleich (Vergleich) != &!& $!$ #!# AND NAND XOR XNOR OR NOR Ungleich (Vergleich) und Nicht und Exklusiv oder Exklusiv nicht oder oder Nicht oder Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung Arithmetische Operationen I Bei arithmetischen Operationen müssen Vektoren die gleiche Länge aufweisen Symbol Beispiel Priorität Beschreibung!!a 1 NOT ^ a^2 1 Exponent MOD MOD 2 2 Modulus DIV a / 2 2 Division 2 a 2 Multiplikation LOG2 LOG2(-1) 2 Logarithmus zur Basis 2 (wird aufgerundet) Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 12

7 Arithmetische Operationen II Die arithmetischen Vergleichsoperationen führen immer auf logische Variablen, auch bei Verwendung von Vektoren: b = a[3..0] == 0; -- entspricht der nächsten Zeile b =!(a3 # a2 # a1 # a0); -- oder nach de Morgan b =!a3 &!a2 &!a1 &!a0 Priorität Symbol Typ Arithmetische Beschreibung ==!= < <= > >= unär Negation Addition Subtraktion gleich ungleich kleiner kleiner gleich größer größer gleich Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung Ein Mini-Beispiel TITLE "Volladdierer"; -- erzeugt aus 2 Halbaddierern FUNCTION halbadd(a,b) RETURNS (car, sum); SUBDESIGN volladd ( x[1,0], carry_in carry_out, sum_out ) -- oder: INCLUDE halbadd.inc ; : INPUT; : OUTPUT; x[0] x[1] carry_in VARIABLE add[1,0] : halbadd; -- zwei Halbaddierer werden definiert BEGIN add[0].a = x[0]; -- hier mit dem Eingang und add[0].b = x[1]; add[1].a = add[0].sum; -- untereinander verknüpft add[1].b = carry_in; sum_out = add[1].sum; carry_out = add[0].car # add[1].car; -- ein OR-Gatter für carry_out END HA car sum HA car sum!1 carry_out sum_out Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 1

8 Wahrheitstafel SUBDESIGN 7segment -- dekodiert B"0000" bis B"1111" in Steuerkode für 7-Segmentanzeige ( -- oder H"0" bis H"F" in 0 bis F i[3..0] : INPUT a,b,c,d,e,f,g : OUTPUT ) BEGIN TABLE -- Eine kombinatorische Logik lässt sich auch durch eine Wahrheitstafel darstellen i[3..0] => a, b, c, d, e, f, g; -- -a- H"0" => 1, 1, 1, 1, 1, 1, 0; -- f b H"1" => 0, 1, 1, 0, 0, 0, 0; -- -g- H"2" => 1, 1, 0, 1, 1, 0, 1; -- e c H"3" => 1, 1, 1, 1, 0, 0, 1; -- -d- H"" => 0, 1, 1, 0, 0, 1, 1; -- dargestellt werden 0, 1, 2, 3,, 5, 6, 7, 8, 9, A, b, C, d, E, F H"5" => 1, 0, 1, 1, 0, 1, 1; H"6" => 1, 0, 1, 1, 1, 1, 1; H"7" => 1, 1, 1, 0, 0, 0, 0; H"8" => 1, 1, 1, 1, 1, 1, 1; H"9" => 1, 1, 1, 1, 0, 1, 1; H"A" => 1, 1, 1, 0, 1, 1, 1; H"B" => 0, 0, 1, 1, 1, 1, 1; H"C" => 1, 0, 0, 1, 1, 1, 0; H"D" => 0, 1, 1, 1, 1, 0, 1; H"E" => 1, 0, 0, 1, 1, 1, 1; H"F" => 1, 0, 0, 0, 1, 1, 1; END TABLE END Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung IF Statements Bedingte Logik um die Lesbarkeit eines Designs zu erhöhen Ohne IF: IF a == b THEN equal = VCC; ELSEIF a < b THEN equal = GND; smaller = VCC; ELSE equal = GND; smaller = GND; END IF; equal = a == b; smaller = a < b; -- entspricht equal = (a == b); Bedingte Logik lässt sich immer durch Boolesche Gleichungen ersetzen! Probleme: Vollständigkeit: was ist mit smaller für a == b? Parallelität: Alle Statements in IF und ELSEIF werden gleichzeitig ausgeführt, in konventionellen Programmiersprachen hintereinander! Führt zumeist zu aufwändigerer Logik IF a == b THEN c = VCC; ELSE c = GND; END IF; -- wird vom Compiler übersetzt in: -- (wegen der Parallelität) IF a == b THEN c = VCC; END IF; IF a!= b THEN c = GND; END IF; Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 16

9 CASE Statements Bedingte Logik, weniger aufwändig als IF... THEN CASE a IS WHEN 1 => b = c; WHEN 2 => b = -c; WHEN OTHERS b = GND; END CASE; -- Vergleich eines logischen Ausdrucks mit verschiedenen Konstanten -- Default Alternative Wofür ist das nützlich? z.b. zur Beschreibung von Automaten oder "Finite State Machines" Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung FUNCTIONs-Primitive: Kombinatorisch Knoten ("Nodes"), Zwischenergebnisse in einem booleschen Design, die man wieder verwenden will: FUNCTION NODE (in) -- wird vom Compiler erzeugt, aber RETURNS (out); -- ohne Instanz in, out Z.B.: VARIABLE zero: NODE; -- Wertzuweisung: zero.in = a[7..0] == 0; -- das gleiche gilt für (=!a0&...&!a7) -- Verwendung des Knoten-Werts: f = zero.out; Tristate-Buffer definiert Datentor nach außen FUNCTION TRI (in, oe) RETURNS (out); Z.B.: VARIABLE a: TRI_STATE_NODE; Tristate-Buffer ist aktiv, a.in Eingang a.oe = Freigabe Ausgang (output enable) wenn oe == VCC (oe ist das output enable Signal) und hochohmig für oe == GND im Fall bidirektionaler Leitungen muss im SUBDESIGN-Header die Variable als BIDIR charakterisiert werden a a.out Ausgang Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 18

10 Zustands-Automaten Eine Zustandsmaschine braucht eine Variablen-Definition vom Typ MACHINE WITH STATES VARIABLE ss: MACHINE WITH STATES (s1, s1); Definiert einen Automaten mit dem Namen ss und 2 Zuständen s1, s1 Compiler generiert automatisch die notwendigen Flipflops und die Zustandskodierung sowie 3 Standard Ports clk Taktsignal des Automaten reset (high active), Rücksetzung in den zuerst definierten Zustand ena (optional) Freigabe ( = VCC) oder Sperrung ( = GND) des Taktsignals Zugriff auf die Ausgänge des Zustandsflipflops und Decodierung der Zustände: VARIABLE ss: MACHINE OF BITS (q0,q0) WITH STATES (idle = B"00", wait = B"10", active = B"11"); Die Dekodierung kann man auch dem Compiler überlassen: ss: MACHINE WITH STATES (idle, wait, active); Die Zustandsübergänge werden in der Logiksektion definiert Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung "Primitive" der Sequentiellen Logik Sequentielle Logik benötigt Speicherelemente, die AHDL in Form von vordefinierten Flipflop-Primitiven zur Verfügung stellt: Primitiv DFF TFF SRFF JKFF DFFE TFFE SRFFE JKFFE Funktionsprototyp FUNCTION DFF (d, clk, clrn, prn) FUNCTION TFF (t, clk, clrn, prn) FUNCTION SRFF (s, r, clk, clrn, prn) FUNCTION JKFF (j, k, clk, clrn, prn) FUNCTION DFFE (d, clk, clrn, prn, ena) FUNCTION TFFE (t, clk, clrn, prn, ena) FUNCTION SRFFE (s, r, clk, clrn, prn, ena) FUNCTION JKFFE (j, k, clk, clrn, prn, ena) Flipflop-Typ D-Flipflop Toggle-Flipflop RS-Flipflop JK-Flipflop D-Flipflop mit Freigabe Toggle-Flipflop mit Freigabe RS-Flipflop mit Freigabe JK-Flipflop mit Freigabe Alle Flipflops sind positiv-flanken-getriggert, die Latches levelsensitiv Dabei bedeuten: clk = Register Clock Input clrn = Clear invertiert prn = Preset Input invertiert ena = Latch oder Clock Enable, ena = GND sperrt den Flipflop d, t, r, s, j, k = Daten Input von Logik und q = Output Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 20

11 Beispiele zur Sequentiellen Logik I D-Flipflop: VARIABLE a: DFF; -- bedeutet: a.d a.clk a.prn a.clrn a.q Setzeingang (Eingangsport) Takteingang CLK (Eingangsport) asynchroner Setzeingang SET (Eingangsport, Defaultwert VCC) asynchroner Rücksetzeingang RESET (Eingangsport, Defaultwert VCC) Ausgang Q (Ausgangsport) Nur ein Output => man kann.q weglassen ( Bei anderen Primitiven mit nur einem Eingang => das Gleiche) a.d a.clk a a.prn a.q a.clrn Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung Beispiele zur Sequentiellen Logik II 16 Bit Register = Flipflop-Vektor CONSTANT WIDTH = 16; SUBDESIGN register ( clock: INPUT; load: INPUT; d[width..1]: INPUT; q[width..1]: OUTPUT; ) VARIABLE reg[width..1] : DFFE; BEGIN reg[ ].clk = clock; reg[ ].ena = load; reg[ ].prn = VCC; reg[ ].clrn = VCC; -- nicht notwendig, Default-Wert auch o.k. -- nicht notwendig, Default-Wert auch o.k. reg[ ].d = d[ ]; q[ ] = reg[ ].q; --.q überflüssig, es gibt nur einen output END; -- Weitere Vereinfachung: VARIABLE q[width..1] : DFFE; BEGIN q[ ].clk = clock; q[ ].ena = load; q[ ] = d[ ]; END; -- q[ ] und der Ausgang des D-Flipflops -- haben gleichen Namen und werden -- daher automatisch verbunden Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 22

12 D-Flipflop als Statemachine SUBDESIGN D_flipflop_fsm ( clk, reset, d q : INPUT; : OUTPUT; ) VARIABLE qq: MACHINE WITH STATES (q0 = B"0", q1 = B"1"); BEGIN qq.clk = clk; qq.reset = reset; TABLE qq, d => qq, q; q1, 0 => q1, 1; q1, 1 => q0, 0; q0, 0 => q1, 1; q0, 1 => q0, 0; END TABLE; END; -- Standard inputs eines Automaten -- Enable ist weggelassen (optional) Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung AHDL Style Guide Formatierung (groß schreiben): Alle Schlüsselworte, Konstanten, Namen von Devices und Primitivs Zwischenräume ("space") Kein extra Leerzeichen vor (;), (,) nach und vor öffnenden bzw. schließenden Klammern bzw. (") oder (%) Benutzung von TABs um Tabellen und (:) auszurichten Leerzeichen vor und nach Operatoren und Komparatoren (aber nicht nach (!)) Kommentare Nur sinnvolle (nicht triviale wie: q = 1; -- load q with 0) Kommentar direkt zum Header eines SUBDESIGNs und z.b. zur Erklärung von Konstanten, gerufenen Routinen,... Namensgebung -> sinnvoll, d.h. leicht erkennbar Statt z.b. Richtung: aufwärts oder abwärts Active low: statt write_neg: /write Unterstrich um Wörter in symbolischen Anteil und einfachen Namen zu trennen, z.b. reg_load statt regload,... Keine sinnlosen Abkürzungen wie c statt clr oder clear Zahlen durch Konstanten mit Namen von erkennbarer Bedeutung ersetzen Gliederung durch Einrücken (gleichrangige Statements <-> gleiche Einrückung) Hartmut Gemmeke, WS2003/200, Einführung in die Elektronik, Vorlesung 19 2

Einführung in die Elektronik für Physiker

Einführung in die Elektronik für Physiker Hartmut Gemmeke Forschungszentrum Karlsruhe, IPE hartmut.gemmeke@kit.de Tel.: 7247-82-5635 Einführung in die Elektronik für Physiker 2. ALTERA HDL Übungen Beschreibung des Experimentieraufbaus UP/2/3,

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

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

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

Ausdrücke (1) Grundlegende Eigenschaften

Ausdrücke (1) Grundlegende Eigenschaften Ausdrücke () Grundlegende Eigenschaften bestehen aus Literalen, Konstanten, Variablen und Operatoren einfachster Ausdruck ist das Semikolon, es bewirkt nichts. Ausdrücke werden mit einem Semikolon abgeschlossen.

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

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

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

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

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML. JavaScript JavaScript wird direkt in HTML-Dokumente eingebunden. Gib folgende Zeilen mit einem Texteditor (Notepad) ein: (Falls der Editor nicht gefunden wird, öffne im Browser eine Datei mit der Endung

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

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

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

Lösungsvorschlag 2. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Fachgebiet Rechnerarchitektur Fachbereich Informatik Aufgabe 2.1: Zähler Lösungsvorschlag 2. Übung Technische Grundlagen der Informatik II Sommersemester 2009 a) Beschreiben Sie einen 4-Bit-Zähler in Verilog

Mehr

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

VHDL - Synthese. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg VHDL - Synthese Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 VHDL - Synthese 1/19 2007-10-27 Inhalt Begriff Arten

Mehr

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle

Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle Minimierung nach Quine Mc Cluskey Ermitteln der Primtermtabelle # A B C D OK m9 + m11 1 0 1 P1 m7 + m15 1 1 1 P2 m11 + m15 1 1 1 P3 m0 + m1 + m4 + m5 0 0 P4 m0 + m1 + m8 + m9 0 0 P5 m4 + m5 + m6 + m7 0

Mehr

Carry Lookahead Adder

Carry Lookahead Adder Carry Lookahead Adder Mittels der Generate und Propagate Ausdrücke lässt ich dann für jede Stelle i der Carry (Übertrag) für die Stelle i+1 definieren: Für einen 4 Stelligen Addierer ergibt sich damit:

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

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

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

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008

x x y x y Informatik II Schaltkreise Schaltkreise Schaltkreise Rainer Schrader 3. November 2008 Informatik II Rainer Schrader Zentrum für Angewandte Informatik Köln 3. November 008 1 / 47 / 47 jede Boolesche Funktion lässt mit,, realisieren wir wollen wir uns jetzt in Richtung Elektrotechnik und

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

5. Aufgabenblatt mit Lösungsvorschlag

5. Aufgabenblatt mit Lösungsvorschlag Einführung in Computer Microsystems Sommersemester 2010 Wolfgang Heenes 5. Aufgabenblatt mit Lösungsvorschlag 19.05.2010 Aufgabe 1: Logik, Latch, Register Geben Sie für alle folgen reg-variablen an, ob

Mehr

Eingebettete Systeme

Eingebettete Systeme Einführung in Eingebettete Systeme Vorlesung 7 Bernd Finkbeiner 03/12/2014 finkbeiner@cs.uni-saarland.de Prof. Bernd Finkbeiner, Ph.D. finkbeiner@cs.uni-saarland.de 1 Schaltfunktionen! Schaltfunktion:

Mehr

3.1 Reservierte Wörter

3.1 Reservierte Wörter 3.1 Reservierte Wörter int Bezeichner für Basis-Typen; if, else, while Schlüsselwörter aus Programm-Konstrukten; (,), ",, {,},,,; Sonderzeichen. 62 3.2 Was ist ein erlaubter Name? Schritt 1: Angabe der

Mehr

Speichern von Zuständen

Speichern von Zuständen Speichern von Zuständen Erweiterung eines R S Latch zu einem D Latch (D=Data, C=Clock) R S altes Q neues Q 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 0 R S C D altes Q neues Q 0 0 0 0 0 1 0 1 0 0 1

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

Lehrveranstaltung: Digitale Systeme. KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel , , ,

Lehrveranstaltung: Digitale Systeme. KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel , , , Lehrveranstaltung: Digitale Systeme KS-Praktikums-Vorbereitung Dipl.-Inf. Markus Appel 24.04.2012, 25.04.2012, 26.04.2012, 27.04.2012 Übersicht Kombinatorische Schaltungen n-bit-addierer Minimierungsverfahren

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

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

Algorithmen und ihre Programmierung

Algorithmen und ihre Programmierung Veranstaltung Pr.-Nr.: 101023 Algorithmen und ihre Programmierung Veronika Waue WS 07/08 Einführung Definition: Algorithmus Ein Algorithmus ist eine genau definierte Folge von Anweisungen zur Lösung eines

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

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

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

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen.

1 Bedingte Anweisungen. 2 Vergleiche und logische Operatoren. 3 Fallunterscheidungen. 4 Zeichen und Zeichenketten. 5 Schleifen. Themen der Übung Kontrollstrukturen, Pseudocode und Modulo-Rechnung CoMa-Übung III TU Berlin 9.10.01 1 Bedingte Anweisungen Vergleiche und logische Operatoren 3 Fallunterscheidungen 4 Zeichen und Zeichenketten

Mehr

Minimierung nach Quine Mc Cluskey

Minimierung nach Quine Mc Cluskey Minimierung nach Quine Mc Cluskey F(A,B,C,D) =!A!B!C!D +!A!B!C D +!A B!C!D +!A B!C D +!A B C!D +!A B C D + A!B!C!D + A!B!C D + A!B C D + A B C D Notiere die Funktion als # A B C D Gruppe Binärelemente

Mehr

Hello World! Eine Einführung in das Programmieren Variablen

Hello World! Eine Einführung in das Programmieren Variablen Hello World! Eine Einführung in das Programmieren Variablen Görschwin Fey Institute of Embedded Systems Hamburg University of Technology Slide 2 Wie werden Daten in Programmen gespeichert und manipuliert?

Mehr

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab...

Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 2 1 1 2 0 2 1 0 Offenbar hängt das Ergebnis nur von der Summe der beiden Argumente ab... 0 1 2 0 1 2 1 1 3 2 2 3 212 Um solche Tabellen leicht implementieren zu können, stellt Java das switch-statement

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

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

PIC16 Programmierung in HITECH-C

PIC16 Programmierung in HITECH-C PIC16 Programmierung in HITECH-C Operatoren: Arithmetische Operatoren - binäre Operatoren + Addition - Subtraktion * Multiplikation / Division % Modulo + - * / sind auf ganzzahlige und reelle Operanden

Mehr

Lösung Versuch Nr. 6 Melody-Player

Lösung Versuch Nr. 6 Melody-Player Digitaltechnik Praktikum 1.Sem. IIIB 1 ETHZ D-ITET Institut für Elektronik Lösung Versuch Nr. 6 Melody-Player 1: Melodie aus Zufallsgenerator 1. Überlegen Sie sich, wie man die Grundschaltung des MLS-Generators

Mehr

Logische Bausteine. Addierwerke. Grundlagen der Rechnerarchitektur Logik und Arithmetik 48

Logische Bausteine. Addierwerke. Grundlagen der Rechnerarchitektur Logik und Arithmetik 48 Logische Bausteine Addierwerke Grundlagen der Rechnerarchitektur Logik und Arithmetik 48 Addition eines einzigen Bits Eingang Ausgang a b CarryIn CarryOut Sum 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1

Mehr

Verilog. Modellbildung für Synthese und Verifikation von Bernhard Hoppe. Oldenbourg Verlag München Wien

Verilog. Modellbildung für Synthese und Verifikation von Bernhard Hoppe. Oldenbourg Verlag München Wien Verilog Modellbildung für Synthese und Verifikation von Bernhard Hoppe Oldenbourg Verlag München Wien Inhalt Vorwort des Herausgebers XI 1 Einleitung 1 2 Electronic-Design mit Verflog HDL 5 2.1 Der Design-Zyklus

Mehr

Syntax der Sprache PASCAL

Syntax der Sprache PASCAL Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +

Mehr

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen Kurs C/C++ Programmierung, WS 2008/2009 Dipl.Inform. R. Spurk Arbeitsgruppe Programmierung FR 6.2 Informatik

Mehr

GAL 16V8. 4. Laboreinheit - Hardwarepraktikum SS 2002 VCC / +5V. Eingang / Clock. 8 konfigurierbare Ausgangszellen. 8 Eingänge GND / 0V.

GAL 16V8. 4. Laboreinheit - Hardwarepraktikum SS 2002 VCC / +5V. Eingang / Clock. 8 konfigurierbare Ausgangszellen. 8 Eingänge GND / 0V. 1. Versuch Programmierbare Logik 4. Laboreinheit - Hardwarepraktikum SS 2002 Am Beispiel des GAL16V8 und eines GAL Development Systems werden die Möglichkeiten und Einsatzgebiete von programmierbare Logikbausteine

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

Semestralklausur Einführung in Computer Microsystems

Semestralklausur Einführung in Computer Microsystems Semestralklausur Einführung in Computer Microsystems 07. Juli 2008 Dr.-Ing. Wolfgang Heenes Name (Nachname, Vorname) Matrikelnummer Unterschrift Prüfung Bitte ankreuzen Anzahl abgegebene Zusatzblätter:

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

2 Vervollständige die Wahrheitstabellen.

2 Vervollständige die Wahrheitstabellen. Finde die sieben LogikGatter im Rätsel. Die Wörter können von links nach rechts horizontal oder von oben nach unten vertikal versteckt sein. Zur Hilfe ist das erste Wort schon markiert. L B W P F F C G

Mehr

Informatik Vorkurs - Vorlesung 2

Informatik Vorkurs - Vorlesung 2 Informatik Vorkurs - Vorlesung 2 Variablen, Arrays, Zahlensysteme Torben Achilles, 9. Oktober 2018 Inhalt Variablen & Datentypen Arrays Zahlensysteme 9. Oktober 2018 Torben Achilles Informatik Vorkurs

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

Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002

Übungs- und Praktikumsaufgaben zur Systemprogrammierung Dipl.-Ing. H. Büchter (Lehrbeauftragter) FH-Dortmund WS 2001/2002 / SS 2002 1. Stellen Sie die schrittweise Verbesserung eines Compilers durch das Bootstrap- Verfahren mit Hilfe von T-Diagrammen dar. Gegeben ist ein auf der Maschine M lauffähiger Compiler C 1, der in S geschrieben

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

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

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 7. Vorlesung 18.05.2016 1 Konstanten Ganzzahlkonstante Dezimal: 42, 23, -2 Oktal (0 vorangestellt): 052 Hexadezimal (0x vorangestellt): 0x2A Gleitkommazahlen: 3.1415, 2.71,

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

Einführung in Computer Microsystems Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes

Einführung in Computer Microsystems Sommersemester Vorlesung Dr.-Ing. Wolfgang Heenes Einführung in Computer Microsystems Sommersemester 2010 3. Vorlesung Dr.-Ing. Wolfgang Heenes 28. April 2010 TechnischeUniversitätDarmstadt Dr.-Ing. WolfgangHeenes 1 Inhalt 1. Verilog HDL, Simulation und

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

Einführung in die Elektronik für Physiker

Einführung in die Elektronik für Physiker Hartmut Gemmeke Forschungszentrum Karlsruhe, IPE hartmutgemmeke@kitedu Tel: 07247-82-5635 Einführung in die Elektronik für Physiker 17 Schaltnetze und Schaltwerke Abhängigkeitsnotation für logische Schaltungen

Mehr

2. Programmierung in C

2. Programmierung in C 2. Programmierung in C Inhalt: Überblick über Programmiersprachen, Allgemeines zur Sprache C C: Basisdatentypen, Variablen, Konstanten, Operatoren und Ausdrücke Anweisungen und Kontrollstrukturen (Steuerfluss)

Mehr

Die Klasse MiniJava ist in der Datei MiniJava.java definiert:

Die Klasse MiniJava ist in der Datei MiniJava.java definiert: Die Klasse MiniJava ist in der Datei MiniJava.java definiert: import javax.swing.joptionpane; import javax.swing.jframe; public class MiniJava { public static int read () { JFrame f = new JFrame (); String

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

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke

Institut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie

Mehr

Tutorium: Einführung in die technische Informatik

Tutorium: Einführung in die technische Informatik Tutorium: Einführung in die technische Informatik Logische Schaltungen (2. 2.3) Sylvia Swoboda e225646@student.tuwien.ac.at Überblick Grundbegriffen von logischen Schaltung Realisierung von Funktionen

Mehr

Vorkurs Informatik WiSe 17/18

Vorkurs Informatik WiSe 17/18 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Nicole Naczk, 05.10.2017 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2017

Mehr

Mathematische Computer-Software

Mathematische Computer-Software Mathematische Computer-Software Kommerzielle Computeralgebrasysteme (CAS) Beispiele: Mathematica, Maple, Numerisches und symbolisches Verarbeiten von Gleichungen: Grundrechenarten Ableitung und Integration

Mehr

Datentypen: integer, char, string, boolean

Datentypen: integer, char, string, boolean Agenda für heute, 13. April, 2006 Der Datentyp integer Vergleichsoperatoren, Wahrheitswerte und boolesche Variablen Zusammengesetzte if-then-else-anweisungen Var i: integer; Teilbereich der ganzen Zahlen,

Mehr

Informationsverarbeitung auf Bitebene

Informationsverarbeitung auf Bitebene Informationsverarbeitung auf Bitebene Dr. Christian Herta 5. November 2005 Einführung in die Informatik - Informationsverarbeitung auf Bitebene Dr. Christian Herta Grundlagen der Informationverarbeitung

Mehr

Vollsynchrone Mehrfunktionsregister

Vollsynchrone Mehrfunktionsregister VOLLSYNCHRONE MEHRFUNKTIONSREGISTER 1 Vollsynchrone Mehrfunktionsregister Mehrfunktionsregister können verschiedene Funktionen ausführen (Daten parallel übernehmen, in verschiedene Richtungen schieben,

Mehr

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung Wiederholung So sieht ein leeres Java-Programm aus public class Programmname { public static void main (String[] args) { // Hier stehen die Anweisungen } } Beispiele für Anweisungen Wiederholung Ausgabe

Mehr

Klausur - Digitaltechnik

Klausur - Digitaltechnik Klausur - Digitaltechnik Aufgabe : Testen integrierter Schaltungen: D-Algorithmus (3 Punkte: a 2, b, c 5, d 3, e 2) B = S N A >= O OR Der Ausgang des N-Gatters soll auf einen Stuck-AT--Fehler überprüft

Mehr

Intensivübung zu Algorithmen und Datenstrukturen

Intensivübung zu Algorithmen und Datenstrukturen Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche

Mehr

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen?

Programm heute. Algorithmen und Datenstrukturen (für ET/IT) Definition Algorithmus. Wie beschreibt man Algorithmen? Programm heute Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2015 1 Einführung Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München 2 Grundlagen von Algorithmen

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

Algorithmen und Datenstrukturen (für ET/IT)

Algorithmen und Datenstrukturen (für ET/IT) Algorithmen und Datenstrukturen (für ET/IT) Sommersemester 2016 Dr. Tobias Lasser Computer Aided Medical Procedures Technische Universität München Programm heute 1 Einführung 2 Grundlagen von Algorithmen

Mehr

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Datentypen und Operatoren Ganzzahlige Numerische Datentypen Logischer Datentyp ZAIK Universität zu Köln WS 07/08 1 / 6 Datentypen Arten von Datentypen

Mehr

Grundlagen der Programmierung

Grundlagen der Programmierung Grundlagen der Programmierung 5. Vorlesung 06.11.2018 1 Zahlendarstellungen 2 Speicherinhalte: Bits Hardware Spannung Ladung Magnetisierung Codierung 0V ungeladen unmagnetisiert 0 5V geladen magnetisiert

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

Grundlagen der Informatik 2. Typen

Grundlagen der Informatik 2. Typen Grundlagen der Informatik 2. Typen Speicher, Speicherbedarf Ein-/Ausgabe Grundlagen der Informatik (Alex Rempel) 1 Wiederholung // root calculation #include #include using namespace

Mehr

WS2018/ Oktober 2018

WS2018/ Oktober 2018 Einführung in die Programmierung Ronja Düffel WS2018/19 02. Oktober 2018 RBI-Account Account für das Rechnernetz der Informatik RBI-Account HRZ-Account zum Arbeiten an und auf den Rechnern des Instituts

Mehr

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

Mehr

Vorkurs Informatik WiSe 16/17

Vorkurs Informatik WiSe 16/17 Java Ausdrücke und Variablen Dr. Werner Struckmann / Stephan Mielke, Jakob Garbe, 05.10.2016 Technische Universität Braunschweig, IPS Überblick Ausdrücke, Datentypen und Variablen Kontrollstrukturen 05.10.2016

Mehr

Versuch 1. Versuch 1.2 Messung des Kennlinienfeldes I D = f (U DS ) des N-Kanal-MOS-FET mit Parameter U GS = 3V und. Messschaltung: Gemessene Werte:

Versuch 1. Versuch 1.2 Messung des Kennlinienfeldes I D = f (U DS ) des N-Kanal-MOS-FET mit Parameter U GS = 3V und. Messschaltung: Gemessene Werte: Versuch Versuch.2 Messung des Kennlinienfeldes I D = f (U DS ) des N-Kanal-MOS-FET mit Parameter U GS = 3V und 4,5V. Messschaltung: I D U 2 U DS U U GS Gemessene Werte: U GS = 3V U DS [V ] I D [ma] 0 0.0

Mehr

Basics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg

Basics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg Basics Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 45 Gliederung Kombinatorische Logik Speicher (Latch, DFF, Register) Synthese Signale/Variablen

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

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Sprachkonstrukte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg Sprachkonstrukte Einführung in Java Folie 1 von 20 12. Mai 2011 Ivo Kronenberg Inhalt Kommentare Identifier (Bezeichner) Variablen Numerische Ausdrücke und Typen Kontrollstrukturen Verzweigungen Bedingungen

Mehr

Basics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg

Basics. Marc Reichenbach und Michael Schmidt 05/11. Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg Basics Marc Reichenbach und Michael Schmidt Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 05/11 1 / 45 Gliederung Kombinatorische Logik Speicher (Latch, DFF, Register) Synthese Signale/Variablen

Mehr

Bedingte Anweisungen

Bedingte Anweisungen Bedingte Anweisungen Bedingte Anweisungen werden nicht immer ausgeführt, sondern nur, wenn eine Bedingung erfüllt (wahr) ist. C/C++/Java bieten hier 2 Konstruktionen an: if-anweisung sowie switch-case

Mehr

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap.

Tietze, Schenk: Halbleiterschaltungstechnik (Kap. 10) Keller / Paul: Hardwaredesign (Kap. 5) L. Borucki: Digitaltechnik (Kap. 6 Versuch Nr. 5 6.1 Anmerkungen zum Versuch Nr. 5 In den bisherigen Versuchen haben Sie sich mit kombinatorischen Schaltkreisen beschäftigt, in denen die Ausgänge bisher nicht auf die Eingänge zurückgeführt

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

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08

Kapitel 4. Programmierkurs. Datentypen. Arten von Datentypen. Wiederholung Kapitel 4. Birgit Engels, Anna Schulze WS 07/08 Kapitel 4 Programmierkurs Birgit Engels, Anna Schulze Wiederholung Kapitel 4 ZAIK Universität zu Köln WS 07/08 1 / 23 2 Datentypen Arten von Datentypen Bei der Deklaration einer Variablen(=Behälter für

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

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren

Ganze Zahlen. Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Ganze Zahlen Die Typen int, unsigned int; Auswertung arithmetischer Ausdrücke, arithmetische Operatoren Celsius to Fahrenheit // Program: fahrenheit.cpp // Convert temperatures from Celsius to Fahrenheit.

Mehr