VHDL2_Sprachelemente und Concurrent Statements (Nebenläufige Anweisungen)

Slides:



Advertisements
Ähnliche Präsentationen
Programme in C++.
Advertisements

ALP II: Objektorientierte Programmierung Sommersemester 2006
Peter Marwedel Informatik 12 TU Dortmund
Variablen und Datentypen
10. Grundlagen imperativer Programmiersprachen
Seminar Stochastik im WS 02/03
Kapitel 4 Datenstrukturen
(kleine!) Java Einführung Mittwoch, Heute Ziel: erstes Java-Programm erstellen Von der Aufgabenstellung bis zur Lösung Grundlagen Einfache.
FH-Hof Einbindung von JavaScript Anweisungen
Java: Dynamische Datentypen
Indirekte Adressierung
FH-Hof Indirekte Adressierung Richard Göbel. FH-Hof Einfache Speicherung von Daten Eine "einfache" Deklaration definiert direkt eine Speicherplatz für.
Java: Grundlagen der Objektorientierung
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
PKJ 2005/1 Stefan Dissmann Zusammenfassung Bisher bekannt: Einfache Variable Feld Vereinbarung Zuweisung Block while-Schleife Bedingte Anweisung (if) Typ.
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Das erste Programm (Folie 16)
Einführung in C++ und das objektorientierte Programmieren (OOP)
Einführung in die Programmierung Anweisungen und Datentypen
Seite 1 Interface - Konzept Ein Interface führt einen neuen Datentyp ein: interface Frau {... } Das Interface enthält Deklarationen ( keine Definitionen.
Int meineZahl = 7; Variable: typ varName = Wert Kiste: Art Aufschrift Inhalt Beispiel:
Wichtige Fachausdrücke in C
Grundkonzepte Java - Klassendefinition
Einführung in die Programmiersprache C 1
Java programmieren mit JavaKara
Einführung in die Programmierung Wintersemester 2013/14 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
IT2 – WS 2005/20061Oct 10, 2005 Externes Verhalten – Quelltext (source code) Durch Aufrufe der Konstruktoren und Methoden kann das externe Verhalten (=die.
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
VHDL-Synthese für Fortgeschrittene
FPGA... ein Versuch. Uli Schäfer 1. Historie: PLD Uli Schäfer 2 Schaltungsgrösse wächst drastisch mit Zahl der Eingänge CPLD = Array + Flipflops + macro.
Einführung in die Programmierung Wintersemester 2012/13 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmiersprache C 4
Institut für Wirtschaftsinformatik – Software Engineering, JKU Linz 1 Algorithmen und Datenstrukturen SS 2005 Mag.Th. Hilpold u. Dr. A.Stritzinger Institut.
Vom Umgang mit Daten. public void myProgram() { int[] saeulenWerte = new int[world.getSizeX()]; for (int i = 0; i < saeulenWerte.length; i++) { saeulenWerte[i]
3.3 Speicher Latches SR-Latch 1-bit Speicher S Q Q R Q Q
VHDL 3: Sequential Statements (Process)
School of Engineering Themen: Variablen Architecture-Types.
VHDL 7: Automaten 1.
VHDL 4: Getaktete Logik (D-FF, Zähler, Automaten)
Inhalt Einen Zähler generisch aufbauen CPLD Synthese Timing Analyse
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
Dynamische Datentypen
Programmierung 1. Einführung Seite 1
1. Entwicklungsumgebung 2. Kontextmenü 3. Compile 4. Objekt 5. Attribut 6. Klasse 7. Deklaration 8. Intialisierung.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
PL/SQL - Kurze Einführung April 2003Übung Data Warehousing: PL/SQL 2 PL/SQL.. ist eine Oracle-eigene, prozedurale Programmiersprache Sämtliche.
Variablen in Programmiersprachen
Datentypen: integer, char, string, boolean
Agenda für heute, 7. April, 2005 Bedingte ProgrammausführungBedingte Programmausführung Algorithmische Grundlagen Vergleichsoperatoren, Wahrheitswerte.
Programmieren in C Grundlagen C 2
Variablen. var meineZahl:Number = 7; meineZahl 7 Name TypWert = Zuweisung von Variablen.
Hochschule Fulda – FB ET Sommersemester 2014
Programmieren in C Grundlagen C 2
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Linear Rückgekoppelte Schieberegister und Tristate Treiber
Erstellen einer Arff-Datei
Einführung Blue J. Inhaltsverzeichnis  Definition  Vokabeln.
HG13_ Herzgen, Jung & Lorkowski1 Java Programmierung BlueJ Workshop.
Kapitel 5Strukturen Information aus der realen Welt werden in einem informationsverarbeitenden System als Daten abgelegt. Diese stellen also eine (vereinfachte)
Java-Kurs Übung Besprechung der Hausaufgabe
Einführung in die Programmierung mit Java
Prüfungsbesprechung Barbara Scheuner Vorlesung: Programmieren und Problemlösen Prof. Hans Hinterberger.
Folien zur Vorlesung Hardwarearchitekturen und Rechensysteme von Prof. Dr. rer. nat. U. Brinkschulte Prof. Dr.-Ing. L. Hedrich (basierend auf Materialien.
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Hello World! Javakurs 2013 Arne Kappen
Variable: typ varName = Wert Kiste: Art Aufschrift  Inhalt
Grundlagen der OO-Programmierung in C#
The Programming Language Pascal
 Präsentation transkript:

VHDL2_Sprachelemente und Concurrent Statements (Nebenläufige Anweisungen)

Inhalt nSprachelemente und Objekte nOperatoren nConcurrent Statements (Nebenläufige Anweisungen)

Sprachelemente und Objekte

Kommentare -- Das ist eine Kommentarzeile -- auch eine zweite Zeile muss mit -- eingeleitet werden Entity nand4 IS ( -- Kommentar bis zum Zeilenende -- VHDL ist unempfindlich hinsichtlich Klein- und Grossschreibung ! -- Jedoch ist es sinnvoll, wenn Sie in Ihrer Gruppe eine Konvention -- hinsichtlich der Namensgebung haben

Daten Objekte CONSTANT a: std_logic_vector (7 DOWNTO 0) := ; VARIABLE b: std_logic_vector (7 DOWNTO 0) ; SIGNAL c: std_logic ; CONSTANT name [, name...]: Type := wert; VARIABLE name [, name...]: Type [:= wert]; SIGNAL name [, name...]: Type [:= wert]; NameDatentyp deklaration Zuweisung eines Wertes -- std_logic Datentypen sind definiert in Package ieee.std_logic_1164

Vordefinierte Typen Deklarationen

Vordefinierte Datentypen DatentypenMögliche Zustände der Datentypen integer0, 1, 2, 345, 4, -1, -2, -3 booleanTrue oder false bit1 oder 0 bit_vector std_logic U uninitialized X forcing unknown 0 forcing zero 1 Forcing one Z High Impedance W weak unknown L weak zero H weak one - dont care std_logic_vector oder HHHHLLH unsigned signed

SIGNAL a, b: std_logic ; SIGNAL c: std_logic_vector (7 DOWNTO 0) ; SIGNAL zaehler: unsigned (6 DOWNTO 0) ; a <= 1; b <= 0; c(7 DOWNTO 2)<= c(1) <= 1; c(0) <= 0; Zuweisung von Werten: Deklaration von Signalen: Beispiel zur Verwendung von vordefinierten Datentypen

Operatoren

:=Zuweisung für VariablenV := 5; <=Zuweisung für SignaleS <= ( a AND b) Zuweisungs Operatoren

a <= (b and c) or d ; c b d & >1 a logischer Operator Beispiel von logischen Operatoren

SIGNAL a: std_logic_vector (7 DOWNTO 0) ; SIGNAL b: std_logic_vector (7 DOWNTO 0) ; SIGNAL c: std_logic ; =gleich <kleiner >grösser /=ungleich <=Kleiner gleich >=Grösser gleich Relationaler OperatorZuweisung c <= 1 WHEN (a <= b) ELSE 0; Beispiel von relationalen Operatoren

SIGNAL a: unsigned (7 DOWNTO 0) ; SIGNAL b: unsigned (7 DOWNTO 0) ; SIGNAL c: unsigned (7 DOWNTO 0) ; SIGNAL d: unsigned (15 DOWNTO 0) ; +addition -subtraktion & Verknüpfungs- operator *multiplikation /division c <= a + b; d <= a & b; <= & Beispiel von arithmetischen Operatoren

Concurrent Statements

Concurrent Statements am Beispiel des When-Else ARCHITECTURE comb OF test IS BEGIN q <= NOT (a OR b); y <= 1 WHEN ( a = 0 AND b = 1) ELSE 0; END comb; Concurrent Statements werden alle zum gleichen Zeitpunkt ausgewertet. Die Reihenfolge in der sie stehen spielt keine Rolle. Befinden sich zwischen BEGIN und END einer Architektur.

X d c b a s x 4 Multiplexer

4 x 4 Multiplexer mit Boolscher Logik ENTITY mux IS PORT ( a,b,c,d : IN std_logic_vector(3 downto 0); S : IN std_logic_vector(1 downto 0); X : OUT std_logic_vector(3 downto 0)); END mux; ARCHITECTURE comb OF mux IS BEGIN x(3) <= (a(3) AND NOT (s(1)) AND NOT(s(0))) OR(b(3) AND NOT (s(1)) AND s(0)) OR(c(3) AND s(1) AND NOT(s(0))) OR(d(3) AND s(1) AND s(0)) ; x(2) <= (a(2) AND NOT ((s(1)) AND NOT(s(0)) OR(b(2) AND NOT (s(1)) AND s(0)) – USW. END comb;

4 x 4 Multiplexer mit When-Else ENTITY mux IS PORT ( a,b,c,d : IN std_logic_vector(3 downto 0); S : IN std_logic_vector(1 downto 0); X : OUT std_logic_vector(3 downto 0)); END mux; ARCHITECTURE comb OF mux IS BEGIN x <= a WHEN (s = "00") ELSE b WHEN (s = "01") ELSE c WHEN (s = "10") ELSE d ; END comb; Die erste zutreffende Zeile wird dem Ausgang zugewiesen, alle nachfolgenden fallen heraus. (priorisierend) Bedingungen dürfen sich überlappen: when (Y = 5) else...when (Y <=5) else... Jedes when benötigt immer ein else

Beispiel für Priorität ENTITY mux IS PORT ( a,b,c : IN std_logic_vector(3 downto 0); S : IN std_logic_vector(1 downto 0); X : OUT std_logic_vector(3 downto 0)); END mux; ARCHITECTURE comb OF mux IS BEGIN x <= a WHEN (s(0) = 1) ELSE b WHEN (s = "10") ELSE c ; END comb;