1.1 VHDL-Beschreibung
|
|
- Tobias Steinmann
- vor 6 Jahren
- Abrufe
Transkript
1 1 Grundlegende Konzepte in VHDL 1.1 VHDL-Beschreibung Device A Design Entity A Entity Declaration Interface Delclaration Architecture Body Functional Definition Entity Declaration - Abstraktions eines Designs * repräsentiert ein komplettes System, ein Board, einen Chip, eine Funktion oder ein logisches Gatter * besteht aus der Beschreibung von I/Os und evtl. Parametern Architecture Body Funktionale Beschreibung einer "Design Entity" - * beschreibt die Funktion auf Verhaltens-, Struktur- oder Datenfluss-Ebene 9
2 Beispiel: 4 Bit Komparator Kommentar von "--" bis Zeilenende VHDL-Schlüsselworte (Fettbuchstaben) -- Komp4; Äquivalenz entity Komp4 is port (a, b: in bit_vector (3 downto 0); equ: out bit); -- "High" bei Gleichheit end Komp4; Deklaration der Ein-/Ausgänge (in / out) Typ: Vektor (links ist msb) architecture datenfluss of Komp4 is begin equ <= '1' when (a = b) else '0'; end datenfluss Zeilenende: " ; " Signal Assignment (bedingt) 10
3 1.2 Entity entity entity_identifier is [generic (generic_interface_list);] [port (port_interface_list);] end entity_identifier Die Schnittstellensignale (port_interface_list)=: port_identifier {,...} : [mode] subtype_indication [:= expression] dabei sind: "mode": in das Signal kann nur gelesen werden out es kann nur geschrieben werden inout es kann sowohl gelesen als auch geschrieben werden buffer ähnlich wie "out", kann auch innerhalb einer Architektur gelesen werden "subtype_identication": Typ des Signals "expression": ein optionaler Ausdruck, der den Defaultwert des Signals definiert 11
4 Folgende Standard-Datentypen sind definiert: BOOLEAN: true / false BIT: '0' / '1' INTEGER: bis REAL: -1E38 bis +1E38 CHARACTER: a, b, c,... TIME: femtosec und Umrechnungsfaktoren bis Minuten SEVERITY LEVEL: note, warning, error, failure (weitere in Bibliotheken z.b.: std_logic_1164 in Standard-Bibliothek "ieee") Beispiele: entity and2 is port (e1,e2: in BIT := '0'; s: out BIT); end and2; entity speicher is port (daten: in INTEGER :=0; adressen: in INTEGER; takt: in BIT) end and2; 12
5 1.2.2 Generic-Parameter (generic_interface_list)=: gen_identifier {,...} : subtype_indication [:= expression] Mit Hilfe von Generic-Parametern können Komponenten parametrisiert werden Beispiel: entity and2 is generic (default: BIT := '0'); port (e1,e2: in BIT := default; s: out BIT); end and2; 13
6 1.3 Architecture Innerhalb der "Architecture" einer Komponentenbeschreibung wird die Funktion der Komponente beschrieben. architecture arch_identifier of entity_name is begin -- Dekarationsbereich -- Funktions- und Strukturbeschreibung end arch_identifier; Im Deklarationsbereich können nur in der "Architektur" sichtbare Objekte (z.b.: Signale, Konstante, Typen,...) deklariert werden. Nach dem Schlüsselwort "begin" folgt die eigentliche Beschreibung des Verhaltens mit Hilfe von sogenannten "concurrent statements". 14
7 Unterschiedliche Beschreibungsmöglichkeiten! Beispiel: NOR-Gate ENTITY nor_gate IS PORT (a,b: IN BIT; c: OUT BIT); END nor_gate; ARCHITECTURE dflow OF nor_gate IS - - Deklarationsbereich BEGIN - - Conditional Signal Assignment Statement c <= '1' WHEN a = '0' AND b = '0' ELSE '0' WHEN a = '0' AND b = '1' ELSE '0' WHEN a = '1' AND b = '0' ELSE '0' WHEN a = '1' AND b = '1' ELSE '0'; - - beliebige Zahl von WHEN-ELSE Kombinationen möglich - - allerdings muss das letzte Statement ein "ELSE" mit - - anschließendem Signalzustand sein END dflow; ENTITY nor_gate IS PORT (a,b: IN BIT; c: OUT BIT); END nor_gate; ARCHITECTURE dflow2 OF nor_gate IS BEGIN c <= a NOR b; END dflow2; 15
8 1.3.1 Verknüpfung mehrerer Funktionen durch Signale Beispielschaltung: Eine Änderung von z.b. "b" wirkt sich auf den Ausgang "out_1" und auf interne Signal "int" aus! Definition des internen Signals "int" in der Declarative Region der Architecture (MODE ist automatisch INOUT): SIGNAL signal_name : TYPE [:= initial_value]; (Damit lassen sich der Ausgang von "NAND2" und der Eingang von "XOR2" verbinden) VHDL-Modell der Beispielschaltung: ENTITY beispielsch IS PORT (a,b: IN BIT; out_1: OUT BIT); END beispielsch; ARCHITECTURE schaltung OF beispielsch IS SIGNAL int: BIT; BEGIN int <= a NAND b; out_1 <= int XOR b; END schaltung; 16
9 1.3.2 Concurrent Execution... ARCHITECTURE schaltung OF beispielsch IS SIGNAL int: BIT; BEGIN out_1 <= int XOR b; int <= a NAND b; END schaltung; VHDL-Simulation "gleichzeitige" Abarbeitung durch "virtuelle Verzögerung" ( Reihenfolge der Signalzuweisungen ist nicht relevant) Signalzuweisung erst nach Zeit Dt Iterative Abarbeitung (bei einer Signaländerung z.b. von "b" aus "schaltung" von "beispielschaltung" erfolgt die Änderung von "b" erst nach einer Zeit "Dt"; dieser "Event" führt zu einer erneuten Zuweisung von "int" und damit auch von "out_1") Ablauf des "Beispielcodes" Zeit a b out_1 int Dt *Dt
10 1.4 Signale Signaldeklaration Signale können bei der Portdefinition in der "ENTITY" deklariert werden oder innerhalb der "Architecture" (im Deklarationsbereich, innerhalb von Prozessen,...). Wenn Signale innerhalb der "Architecture" deklariert sind, sind auch nur "beschränkt" gültig bzw. sichtbar (d.h. innerhalb der "Architecture" bzw. bestimmten Bereichen) Deklaration: signal sig_identifier {,...} : subtype_indication [:= expression]; Beispiel: signal wert: INTEGER := 16-4; signal daten bitvector (31 downto 0); signal daten2 bitvector ((breite-1) downto 0); -- breite mit "generic" definiert Signalzuweisung Die Zuweisung erfolgt durch "<=" sig_name <= waveform; 18
11 1.4.3 Zeitabhängige Zuweisungen (nur für Verhaltensbeschreibung) c<= a NOR b AFTER x ns Bei einer Signalzuweisung nimmt der Ausgang nach einem "Event" (Änderung des Zustandes eines Einganges) erst nach x ns einen neuen Zustand an; "Spikes" kürzer als x ns werden unterdrückt c<= TRANSPORT a NOR b AFTER x ns Auch Änderungen, die kürzer als x ns sind, wirken sich auf den Ausgang aus Bedingte Signalzuweisung sig_name <= waveform when bool_expression else {waveform when bool_expression else} waveform; Je nach dem Wert von "bool_expression" wird entschieden, welcher "waveform-ausdruck" dem Signal "sig_name" zugewiesen wird. Es kann in jedem Fall ein Wert zugewiesen werden, weil der "letzte Wert" nicht an eine Bedingung geknüpft ist. 19
12 1.4.5 Selektierte Signalzuweisung with expression select sig_name <= { waveform when choices,} waveform when choices; In Abhängigkeit von dem aktuellen Wert von "expression" kann eine bestimmte Zuweisung erfolgen. ACHTUNG: Es müssen alle Möglichkeiten zugeordnet werden können! Mit dem Schlüsselwort others können alle noch nicht definierten Möglichkeiten abgedeckt werden. Beispiel: entity alu is port (a,b, sel: in INTEGER; q: out INTEGER), end alu; architecture behave of alu is begin with sel select q <= a + b when 0, a b when 1, a * b when 2, a when others; end behave; 20
13 1.5 Datentypen Für die Modellierung auf Gatterebene sind z.b. die VHDL-Definitionen "bit" bzw. "bit_vector" mit den Werten '0' und '1' nicht ausreichend, weil damit z.b. keine Kurzschlüsse, keine undefinierten Zustände,... simuliert werden können. Daher wurden weitere Datentypen in dem IEEE Standard 1164 definiert, z.b.: Datentyp std_ulogic 'U' Uninitialized 'X' Forcing Unknown '0' Forcing 0 '1' Forcing 1 'Z' High Impedance 'W' Weak Unknown 'L' Weak 0 'H' Weak 1 '-' Don t Care Reihe von Funktionen wie Busdefinitionen Operatoren Auflösungsfunktionen etc. Einbinden der Bibliothek in VHDL- Code: LIBRARY ieee; USE ieee.std_logic1164.all; 21
14 1.6 Operatoren VHDL unterscheidet 7 Klassen von Operatoren (nicht für alle Datentypen definiert "Operator Overloading" ist möglich) logical AND OR NAND NOR XOR XNOR relational = /= < <= > >= shift SLL SRL SLA SRA ROL ROR adding + - & sign + - multiply * / MOD REM misc ** ABS NOT 10
15 1.7 Prozesse Mit Hilfe von Prozessen kann in VHDL auf effektive Weise das Verhalten komplexer Schaltungen beschrieben werden. Innerhalb eines Prozesskörpers werden die Anweisungen dabei sequentiell ausgeführt (wie in herkömmlichen Programmiersprachen). [process_label:] process [(sensitivity_list)] Deklarationen (keine Signale!) begin Sequentielle Statements; end process [process_label]; sensitivity_list: Reihe von Signalen, die bei einer Änderung jeweils die Ausführung des Prozesses starten Sequentialle Statements: Statements, die, im Gegensatz zu "Concurrent Statements" nicht gleichzeitig, sondern nacheinander ausgeführt werden. Prozessausführung: Der Prozess wird in den Zustand "aktiv" (d.h. die sequentiellen Anweisungen werden durchgeführt) versetzt, wenn ein Ereignis (Event) bei einem Signal aus der "Sensitivity_List" (d.h. eine echte Signaländerung) oder bei einem von der WAIT-Anweisung spezifizierten Signalen stattgefunden hat. Die Signalzuweisungen (nicht Variablenzuweisungen) erfolgen immer erst am Ende des Prozessablaufes! 11
16 1.7.1 Variable Im Deklarationsteil einer Prozessdefinition können Variable definiert werden. Diese Variablen sind nur innerhalb eines Prozesses gültig. Variablenzuweisungen werden sofort durchgeführt (im Gegensatz zu Signalzuweisungen diese werden erst am Ende des Prozesses durchgeführt und damit ist immer nur die letzte Zuweisung wirksam). Mit Variablen können Zwischenergebnisse bis zum nächsten Prozessdurchlauf gespeichert werden. Mit Signalen können Informationen zwischen verschiedenen Prozessen ausgetauscht werden. Initialisierung wird von FPGA-Express Variablendeklaration (s. auch Signaldeklaration): nicht unterstützt!! variable var_identifier {,...} : subtype_indication [:= expression]; Variablenzuweisung Signalzuweisung var_name = expression; sig_name <= expression; 12
17 1.7.2 Sequentielle Anweisungen Innerhalb von Prozessen (und auch in Unterprogrammen) können sequentielle Anweisungen zur Implementierung von Algorithmen verwendet werden Die WAIT-Anweisungen WAIT-Anweisungen dienen zur Synchronisation von Prozessen. WAIT [ON list] [UNTIL condition] [FOR time]; Beispiele: WAIT; - - wartet endlos WAIT ON a; - - wartet auf "Event a" WAIT ON b FOR 100 ns; - - wartet 100ns auf "Event b" WAIT UNTIL a = '1' FOR 50 ns; ns Periode und a = '1' WAIT ON b UNTIL (a = '1') FOR 100 ns; - - wenn a=1, ns Periode, asynchrone Triggerung durch "Event b" Bei der Synthese gibt es je nach Synthese-Tool unterschiedliche Einschränkungen. FPGA-Express unterstützt nur "WAIT UNTIL condition" (nicht FOR...) z.b.: wait until sig_a = '1'; wait until clk'event and clk = '1'; -- warten auf positive Flanke von Signal clk 13
18 Die CASE-Anweisung (vgl. switch/case in C bzw. SELECT von Concurrent-Anweisungen) case <Kontrollausdruck> is when <Testausdruck_1> => {<Sequentielle Anweisungen>;} when <Testausdruck_1> => {<Sequentielle Anweisungen>;}... [when others {<Sequentielle Anweisungen>;} end case; Beispiel eines Multipexers: ARCHITECTURE case_arch OF mux_3 IS BEGIN PROCESS (in_a, in_b, sel) CASE sel IS WHEN '0' => output <= in_a; WHEN '1' => output <= in_b; WHEN OTHERS => output <= 'X'; END CASE; END PROCESS; END case_arch; Das "CASE-Statement" muss vollständig auflösbar sein, d.h. jedem möglichen Zustand muss eine Aktion zugewiesen werden! 14
19 Die if-anweisung IF <Bedingung_1> THEN {<Sequentielle Anweisungen>;} [ELSIF <Bedingung_2> THEN {<Sequentielle Anweisungen>;} ELSIF...;] [ELSE {<Sequentielle Anweisungen>;}] END IF; Beispiel: NAND-Gatter LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY alg_nand IS PORT (in_a, in_b : IN std_logic; c : OUT std_logic); END alg_nand; AFTER wird nicht von Synthese-Tools unterstützt!! ARCHITECTURE algorithm OF alg_nand IS BEGIN PROCESS (in_a, in_b) BEGIN IF in_a = '1' AND in_b = '1' THEN c <= '0' AFTER 15ns; ELSIF in_a = '0' OR in_b = '0' THEN c <= '1' after 15ns; ELSE c <= 'X' AFTER 15ns; END IF; END PROCESS; END algorithm; 15
20 16
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
MehrArray-Zuweisungen. Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen.
Array-Zuweisungen Array-Zuweisungen können über die Position, den Namen oder gemischt erfolgen. Ausschnitte (slices) werden über die Indizes gebildet. Mehrdimensionale Arrays Mehrdimensionale Arrays werden
MehrVHDL 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
MehrN. 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
MehrEinfü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
MehrVHDL 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
MehrEinfü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
MehrEntwurf 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
MehrEHP Einführung Projekt A
Volker Dörsing EHP Einführung Projekt A email: doersing@uni-jena.de praktische Übung www: http://users.minet.uni-jena.de/~ehp-head Vorbereitung, Durchführung, Kolloquium Infos zur Veranstaltung, Versuchsanleitung
MehrEinstellige 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
MehrSoC Design. Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik
SoC Design Prof. Dr. Christophe Bobda Institut für Informatik Lehrstuhl für Technische Informatik VHDL Crashkurs Übersicht 1. Einführung 2. Sprachkonstrukte 3. Designflow Christophe Bobda 3 1. VHDL VHDL:
Mehr2. Einführung in VHDL
2. Einführung in VHDL Programm für heute: Motivation für eine Hardwarebeschreibungssprache Aufbau einer VHDL-Beschreibung Signale Zuweisungen Wertebereich Schnittstellen Entity und Architecture Hardwareanalogie
MehrVHDL 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
MehrPraktikum Systementwurf mit VHDL HDL Design Lab
Praktikum Systementwurf mit VHDL HDL Design Lab Inhalt Kryptographie - Aufgaben VHDL - Konzepte Beispiel: 16 bit XOR Kryptographie - Aufgaben Geheimhaltung Integrität Authentifizierung Verbindlichkeit
Mehr1 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,...,
MehrVHDL-Synthese digitaler Systeme Lösungen zu den Übungsaufgaben
VHDL-Synthese digitaler Systeme Lösungen zu den Übungsaufgaben Aufgabe 1 -- Aufgabe 1 -- 8 zu 1 Decoder entity DECODER1X8 is port( S: in bit_vector(2 downto 0); Y: out bit_vector(7 downto 0)); end DECODER1X8;
Mehr1 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Ü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Ü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
MehrVHDL-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
MehrEinfü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
MehrName: DT2 Klausur Bitte achten Sie auf eine saubere Form. Nicht leserliches kann nicht bewertet werden.
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 90 min. Name nicht vergessen! Geben Sie alle Blätter ab. Erlaubte Hilfsmittel sind Taschenrechner und Zusammenfassungen. Nicht erlaubt ist
Mehr16 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
MehrEntwurf digitaler Systeme mit VHDL-1076
Entwurf digitaler Systeme mit VHDL1076 Vorlesung aus dem Grundstudium für Studierende der Fachrichtung Informatik Diplom Zielsetzung Wie werden digitale Schaltungen entworfen? Erlernen einer Hardwarebeschreibungssprache
Mehr3. 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Ü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
MehrSimulation 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
MehrEntwurf und Simulation einfacher Logikelemente
Entwurf und Simulation einfacher Logikelemente Philipp Fischer 10. Dezember 2002 1 Inhaltsverzeichnis I Theoretische Grundlagen 3 Einleitung 3 Entwurf einer Schaltung 3 Entitys und Architectures.........................
MehrGliederung dieser Einführung in VHDL
Gliederung dieser Einführung in VHDL 1) Formaler Aufbau von VHDL-Modellen 2) Testumgebungen VHDL-Modelle, die Eingangssignale zum Testen eines Modells bereitstellen 3) Zeitmodelle in VHDL Nachbildung des
MehrKapitel 10, VHDL, Teil 2. Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software-Co-Design. Grundlagen der Technischen Informatik
Grundlagen der Technischen Informatik Kapitel 10, VHDL, Teil 2 Prof. Dr.-Ing. Jürgen Teich Lehrstuhl für Hardware-Software-Co-Design VHDL Syntax und Semantik von VHDL Entwurf einer Verkehrsampelsteuerung
MehrTechnische 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
MehrHardware Praktikum 2008
HaPra 2008 - Versuchsreihe 5 - ALU Hardware Praktikum 2008 Prof. Dr. H.-J. Wunderlich Dipl.-Inf. M. Imhof Dipl.-Inf. S. Holst Agenda Die HaPra-CPU Eine kleine Übersicht VHDL Projekt-Organisation Entwurf
MehrEine 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
MehrName: DT2 Klausur 06.05.08. Bitte achten Sie auf eine saubere Form. Nicht leserliches kann nicht bewertet werden.
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 90 min. Name nicht vergessen! Geben Sie alle Blätter ab. Erlaubte Hilfsmittel sind Taschenrechner und Zusammenfassungen. Nicht erlaubt ist
MehrAufgaben und Lösungen
Aufgaben und Lösungen Aufgabe 2.1 Das folgende Schaltbild soll in eine VHDL-Verhaltensbeschreibung übertragen werden. Lösung 2.1 Jedes Schaltbild aus logischen Grundelementen kann in eine logische Gleichung
MehrOutline 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
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrOutline Schieberegister Multiplexer Barrel-Shifter Zähler Addierer. Rechenschaltungen 1. Marc Reichenbach
Rechenschaltungen 1 Marc Reichenbach Informatik 3 / Rechnerarchitektur Universität Erlangen Nürnberg 06/14 1 / 32 Gliederung Schieberegister Multiplexer Barrel-Shifter Zähler Addierer 2 / 32 Schieberegister
MehrÜbung 7: VHDL Automaten
Übung 7: VHDL Automaten Aufgabe 1 Zustandsdiagramm Erkennen. (a) Analysieren Sie den unteren Code und zeichnen Sie die entsprechenden Zustands- und RTL- Diagramme. (b) Identifizieren Sie den getakteten
MehrWelche Informatik-Kenntnisse bringen Sie mit?
Welche Informatik-Kenntnisse bringen Sie mit? So gehen Sie vor! Lösen Sie die Aufgaben der Reihe nach von 1 bis 20, ohne das Lösungsblatt zur Hilfe zu nehmen. Der Schwierigkeitsgrad der Aufgaben nimmt
Mehr5.2 Endliche Automaten
5.2 Endliche Automaten 129 5.1.6 Kippstufen Flip-Flops werden auch als bistabile Kippstufen bezeichnet. Bistabil meint, dass beide Kippwerte, also 0 und 1 stabil sind. Diese Bezeichnung legt nahe, dass
MehrPraktikum Rechnerarchitektur. Seite 1 Prof. Dr.-Ing. Ulrich Schmidt 2011 Praktikum Rechnerarchitektur
Praktikum Rechnerarchitektur Seite Prof. Dr.-Ing. Ulrich Schmidt 2 Praktikum Rechnerarchitektur Praktikum Rechnerarchitektur Inhalt Literatur Field Programmable Gate Array (FPGA) DE Development and Evaluation
MehrHardware/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
MehrEXCEL VBA Cheat Sheet
Variable Declaration Dim As Array Declaration (Unidimensional) Dim () As Dim ( To ) As
MehrEinfü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
MehrJavaScript. 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
MehrVHDL 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
Mehr1. Beschreibung der Aufgabe
c ^ ` e e l ` e p ` e r i b m c l o w e b f j d b p q ^ i q r k d e l ` e p ` e r i b c o q b ` e k f h r k a t f o q p ` e ^ c q c ^ ` e e l ` e p ` e r i b m c l o w e b f j d b p q ^ i q r k d e l `
MehrVBA-Programmierung: Zusammenfassung
VBA-Programmierung: Zusammenfassung Programmiersprachen (Definition, Einordnung VBA) Softwareentwicklung-Phasen: 1. Spezifikation 2. Entwurf 3. Implementierung Datentypen (einfach, zusammengesetzt) Programmablaufsteuerung
MehrEinfü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
MehrVHDL Simulation. in ORCAD
VHDL Simulation in ORCAD V1.0 Graz, Jänner 2002 Inhaltsverzeichnis 1 Einleitung 1 1.1 Simulation und Verifikation 2 1.2 Entwurfsqualität 2 1.3 Begriffe in der Elektronik und ihre Äquivalenz zu VHDL 3 1.4
MehrSignalzuweisungen können nebenläufig sein oder als sequentielle Anweisungen innerhalb von Prozessen, Funktionen oder Prozeduren stehen.
6 Verhaltensmodellierung 6.3 Signalzuweisungen und Verzögerungsmodelle Die wohl wichtigste Anweisung in VHDL ist die Zuweisung von neuen Werten an Signale. Signale dienen als Informationsträger innerhalb
MehrVHDL 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
MehrTutorium für Fortgeschrittene
Tutorium für Fortgeschrittene Stroop Aufgabe: Die Farbe gesehener Wörter ist zu klassifizieren. Es gibt 4 Farben (rot, blau, gelb, grün) In Eprime: red, blue, yellow and green. Jeder Farbe ist einer Taste
MehrKlausur 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
MehrSystembeschreibung und Entwurf
Systembeschreibung und Entwurf Systemspezifikation mit Hardwarebeschreibungssprachen Bernhard Hoppe Thomas Schumann Hochschule Darmstadt University of Applied Sciences Inhaltsverzeichnis Inhaltsverzeichnis
Mehr2. Praktische Übung zur Vorlesung Grundlagen der Technischen Informatik. Entwurf eines digitalen Weckers
Friedrich-Alexander-Universität Erlangen-Nürnberg Informatik 12 Am Weichselgarten 3 91058 Erlangen 2. Praktische Übung zur Vorlesung Grundlagen der Technischen Informatik Entwurf eines digitalen Weckers
MehrEinführung in die Programmierung mit VBA
Einführung in die Programmierung mit VBA Vorlesung vom 07. November 2016 Birger Krägelin Inhalt Vom Algorithmus zum Programm Programmiersprachen Programmieren mit VBA in Excel Datentypen und Variablen
MehrProgrammieren I. Kapitel 5. Kontrollfluss
Programmieren I Kapitel 5. Kontrollfluss Kapitel 5: Kontrollfluss Ziel: Komplexere Berechnungen im Methodenrumpf Ausdrücke und Anweisungen Fallunterscheidungen (if, switch) Wiederholte Ausführung (for,
MehrVHDL. 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
MehrFPGA: 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
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
Mehr1.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
MehrInformationsverarbeitung 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
MehrRO-Tutorien 3 / 6 / 12
RO-Tutorien 3 / 6 / 12 Tutorien zur Vorlesung Rechnerorganisation Christian A. Mandery WOCHE 2 AM 06./07.05.2013 KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der Helmholtz-Gemeinschaft
MehrPraktikum Grundlagen von Hardwaresystemen Wintersemester 2013/2014. Versuch 1: VHDL-Grundlagen
Praktikum Grundlagen von Hardwaresystemen Wintersemester 2013/2014 Versuch 1: VHDL-Grundlagen 15. Oktober 2013 Fachbereich 12: Informatik und Mathematik Institut für Informatik Professur für Eingebettete
MehrImperative vs. Funktionale Programmierung
Beispiel: Entwerfe eine Funktion, die testet, ob eine Zahl n eine Primzahl ist oder nicht. Beobachtung: (1) Wenn n Primzahl ist, ist die Menge der Teiler von n leer. (2) Die Menge der Teiler von n sind
MehrKontrollstrukturen, 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
MehrDigitales Hardwaredesign mit VHDL und FPGAs
TAE Technische Akademie Esslingen Ihr Partner für Weiterbildung seit 60 Jahren! In Zusammenarbeit mit dem VDE-Bezirksverein Württemberg e.v. (VDE) Maschinenbau, Produktion und Fahrzeugtechnik Tribologie
Mehrzu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme
Bisher Datentypen: einfach Zahlen, Wahrheitswerte, Zeichenketten zusammengesetzt Arrays (Felder) zur Verwaltung mehrerer zusammengehörender Daten desselben Datentypes eindimensional, mehrdimensional, Array-Grenzen
MehrAlgorithmen & Programmierung. Ausdrücke & Operatoren (1)
Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck
MehrC.3 Funktionen und Prozeduren
C3 - Funktionen und Prozeduren Funktionsdeklarationen in Pascal auch in Pascal kann man selbstdefinierte Funktionen einführen: Funktionen und Prozeduren THEN sign:= 0 Funktion zur Bestimmung des Vorzeichens
MehrPraktikum DST FPGA 5.Termin Projekterstellung & Simulation
Praktikum DST (FPGA Teil) 5. Termin 29.11.2016 Praktikum DST FPGA 5.Termin Projekterstellung & Simulation Inhalt Praktikum DST FPGA 5.Termin Projekterstellung & Simulation... 1 1. Erstellung eines Projektes....
MehrKorn-Shell: Einführung in Shellscripte 1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung
1. Übersicht: Einführung - 2. Die Kornshell im Detail - 3.Grundlagen der Programmierung 1. Übersicht und Einführung 1.1 Die Shell allgemein 1.2 Die korn-shell 1.3 Der Weg zum ersten Skript 1.4 Nutzen und
Mehr1. Beschreibung der Aufgabe
d b p q ^ i q r k d d b p q ^ i q r k d c ^ ` e e l ` e p ` e r i b m c l o w e b f j e l ` e p ` e r i b c o q b ` e k f h r k a c ^ ` e e l ` e p ` e r i b m c l o w e b f j e l ` e p ` e r i b c o q
MehrErfahrungen mit VHDL-AMS bei der Simulation heterogener Systeme
Erfahrungen mit VHDL-AMS bei der Simulation heterogener Systeme Peter Trappe Joachim Haase Peter Schwarz Wolfgang Vermeiren Inhalt Einleitung - Was ist VHDL-AMS? Beschreibung digitaler Systeme Beschreibung
MehrWerkzeuge zur Programmentwicklung
Werkzeuge zur Programmentwicklung B-15 Bibliothek Modulschnittstellen vorübersetzte Module Eingabe Editor Übersetzer (Compiler) Binder (Linker) Rechner mit Systemsoftware Quellmodul (Source) Zielmodul
MehrDatentypen. Agenda für heute, 4. März, 2010. Pascal ist eine streng typisierte Programmiersprache
Agenda für heute, 4. März, 2010 Zusammengesetzte if-then-else-anweisungen Datentypen Pascal ist eine streng typisierte Programmiersprache Für jeden Speicherplatz muss ein Datentyp t (Datenformat) t) definiert
MehrModul 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
MehrEinführung in den Einsatz von Objekt-Orientierung mit C++ I
Einführung in den Einsatz von Objekt-Orientierung mit C++ I ADV-Seminar Leiter: Mag. Michael Hahsler Syntax von C++ Grundlagen Übersetzung Formale Syntaxüberprüfung Ausgabe/Eingabe Funktion main() Variablen
MehrStarten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein:
Blinken Starten Sie die Arduino IDE und geben Sie den folgenden Programmcode ein: // Projekt 1 - LED Blinker int ledpin = 13; void setup() pinmode(ledpin, OUTPUT); void loop() digitalwrite(ledpin, HIGH);
MehrEntwurf digitaler Systeme
Entwurf digitaler Systeme Aufgabe 1 - Dekoder für Segmentanzeige Eine Schaltung soll einen 4-Bit BCD-Code umsetzen zur Ansteuerung einer Anzeige mit 7 Segmenten, wie in der folgenden Abbildung gezeigt.
MehrEinführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015
Java Crashkurs Kim-Manuel Klein (kmk@informatik.uni-kiel.de) May 4, 2015 Quellen und Editoren Internet Tutorial: z.b. http://www.java-tutorial.org Editoren Normaler Texteditor (Gedit, Scite oder ähnliche)
MehrEinleitung Entwicklung in C Hello-World! Konstrukte in C Zusammenfassung Literatur. Grundlagen von C. Jonas Gresens
Grundlagen von C Jonas Gresens Proseminar C Grundlagen und Konzepte Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Fakultät für Mathematik, Informatik und Naturwissenschaften Universität
MehrWintersemester 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Übersicht. Vorstellung des OO-Paradigmas
Java, OO und UML Vorstellung des OO-Paradigmas Übersicht Umsetzung des OO-Paradigmas in Java Einführung (seeeeeehr rudimenter) in UML zur graphischen Darstellung von OO Grammatik und Semantik von Java
MehrSchritt 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
MehrJAVA-Datentypen und deren Wertebereich
Folge 8 Variablen & Operatoren JAVA 8.1 Variablen JAVA nutzt zum Ablegen (Zwischenspeichern) von Daten Variablen. (Dies funktioniert wie beim Taschenrechner. Dort können Sie mit der Taste eine Zahl zwischenspeichern).
MehrInterpreter - Gliederung
Institut für Informatik Ludwig-Maximilian Universität Interpreter - Gliederung Programmiersprache Syntax Konkrete Syntax Abstrakter Syntax Baum (Abstrakte Syntax) Parser Syntaktische Struktur einer Sprache
MehrEntwurf digitaler Schaltungen mit Hochsprachen (VHDL)
Entwurf digitaler Schaltungen mit Hochsprachen (VHDL) Einführung in die Hardwarebeschreibungssprache VHDL (Text/Graphik) sowie Schaltungssynthese bw. -optimierung F. Stockmayer Inhaltsverzeichnis Inhaltsverzeichnis
MehrBeispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme
Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,
MehrDaniel Betz Wintersemester 2011/12
Daniel Betz Wintersemester 2011/12 Digitally signed by daniel.betz@daniel-betz.com Date: 2011.12.04 17:24:40 +01'00' Insgesamt 16 Register von je 16 Bit (=WORD) Breite Untere 8 Register auch als 2 Register
MehrÜbungsaufgaben mit Lösungen zur 6. Auflage
Übungsaufgaben mit Lösungen Übungsaufgaben mit Lösungen zur 6. uflage Zu den einzelnen Kapiteln sind Übungsaufgaben angegeben. Einige enthalten die Lösung in Kurzform. Sie finden die ausführlichen Musterlösungen
MehrHardwarepraktikum WS05/06
Hardwarepraktikum WS5/6 Sven Eckelmann 2..26 Inhaltsverzeichnis Versuch Komb. NANDNANDRealisierung.......................2 NORNORRealisierung.........................3 Schaltung................................
MehrMartin 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
MehrPraktium 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
Mehr4.Grundsätzliche Programmentwicklungsmethoden
4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden
MehrZeon PDF Driver Trial
FPGA Praktikum WS2000/2001 1.Woche: Organisation Synthetisierbares VHDL 1. Organisation des Praktikums Das Praktikum Zuordnung: 4 SWS PT3 (P5, P6) Treffen: Mittwochs, 14:00 c.t. Raum 308 Georg-Voigt-Straße
MehrFormal methods for fun and profit VHDL. Ilja Kipermann. Sommersemester 2005. Leitung Jun. Prof. Beckert. Universität Koblenz-Landau
Formal methods for fun and profit VHDL Ilja Kipermann Sommersemester 2005 Leitung Jun. Prof. Beckert Universität Koblenz-Landau Einleitung Früher: Manuelles Zeichnen von Belichtungsmasken Heute: Hardwarebeschreibungssprachen
Mehr