VHDL Verhaltensmodellierung



Ähnliche Dokumente
VHDL Verhaltensmodellierung

Einstellige binäre Addierschaltung (Addierer)

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

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

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

Kontrollstrukturen - Universität Köln

Sin-Funktion vgl. Cos-Funktion

Erwin Grüner

VBA-Programmierung: Zusammenfassung

Grundlagen der Informatik 2. Grundlagen der Digitaltechnik. 5. Digitale Speicherbausteine

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

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

Übersicht Programmablaufsteuerung

Grundlagen der Programmierung Prof. H. Mössenböck. 3. Verzweigungen

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

1.1 VHDL-Beschreibung

Entwurf und Verifikation digitaler Systeme mit VHDL

Modul 122 VBA Scribt.docx

Visual Basic Basisbefehle Hinweis: Der Text in eckigen Klammern [ ] ist variabel, z.b. [var] => 5.3. Eckige Klammern sind stets wegzulassen!

Entwurf von Algorithmen - Kontrollstrukturen

Java-Programmierung mit NetBeans

3.2 Binäre Suche. Usr/local/www/ifi/fk/menschen/schmid/folien/infovk.ppt 1

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

C/C++ Programmierung

Klausur zur Vorlesung

PHP 5.4 ISBN Stephan Heller, Andreas Dittfurth 1. Ausgabe, September Grundlagen zur Erstellung dynamischer Webseiten GPHP54

Prozedurale Datenbank- Anwendungsprogrammierung

Tutorium Rechnerorganisation

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

Geschäftsprozesse - EPK

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

Einführung in die Programmierung

Übersetzung von Struktogrammen nach VBA

Anlegen eines Speicherbereichs mit DB, DW eleganter in Kombination mit EQU, Timer-Interrupt

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

Whitepaper. Produkt: combit Relationship Manager. SQL Server 2008 R2 Express um Volltextsuche erweitern. combit GmbH Untere Laube Konstanz

Wirtschaftsinformatik I

Programmieren in C. Felder, Schleifen und Fließkommaarithmetik. Prof. Dr. Nikolaus Wulff

Gesicherte Prozeduren

Client-Server-Beziehungen

Grundlagen der Programmierung (Vorlesung 14)

Monitore. Klicken bearbeiten

Überprüfung der digital signierten E-Rechnung

Titel, Vorname, Name Geburtsdatum Beruf / Tätigkeit. -Adresse Telefonnummer Faxnummer. Bank (für Zahlungen an mich) Bankleitzahl Kontonummer

Algorithmen mit Python

Algorithmen II Vorlesung am

Sie haben das Recht, binnen vierzehn Tagen ohne Angabe von Gründen diesen Vertrag zu widerrufen.

Grundbegriffe der Informatik

Neuer Releasestand Finanzbuchhaltung DAM-EDV E Inhaltsverzeichnis. 1. Neuerungen Schnittstelle Telebanking mit IBAN und BIC...

10.6 Programmier-Exits für Workitems

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

Lua Grundlagen Einführung in die Lua Programmiersprache

Einfache Rechenstrukturen und Kontrollfluss II

Dynamisches SQL. Folien zum Datenbankpraktikum Wintersemester 2009/10 LMU München

Excel Funktionen durch eigene Funktionen erweitern.

Grundtypen Flip-Flops

P r o g r a m m a b l a u f s t e u e r u n g

Bedienungsanleitung für den Online-Shop

Constraint-Algorithmen in Kürze - Mit der Lösung zur Path-Consistency-Aufgabe 9

Whitebox-Tests: Allgemeines

Algorithmen und Datenstrukturen

Internet Explorer Version 6

Sortieren durch Einfügen. Prof. Dr. W. Kowalk Sortieren durch Einfügen 1

Funktion Erläuterung Beispiel

Mächtigkeit von WHILE-Programmen

Wichtige Information zur Verwendung von CS-TING Version 9 für Microsoft Word 2000 (und höher)

Anzeige von eingescannten Rechnungen

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

impact ordering Info Produktkonfigurator

Lehrer: Einschreibemethoden

REACH-CLP-Helpdesk. Zulassung in der Lieferkette. Matti Sander, Bundesanstalt für Arbeitsschutz und Arbeitsmedizin

Keine Disketteneinreichung ab 1. Februar 2014

Version 1.0 [Wiederherstellung der Active Directory] Stand: Professionelle Datensicherung mit SafeUndSave.com. Beschreibung.

Technische Informatik Basispraktikum Sommersemester 2001

Kapitel MK:IV. IV. Modellieren mit Constraints

Whitepaper. Produkt: combit address manager / Relationship Manager. Client-Verbindungsprobleme beheben. combit GmbH Untere Laube Konstanz

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Grundtypen Flip-Flops

Virtueller Seminarordner Anleitung für die Dozentinnen und Dozenten

Programmieren. 10. Tutorium 4./ 5. Übungsblatt Referenzen

Die Zertifizierungsstelle der TÜV Informationstechnik GmbH bescheinigt hiermit dem Unternehmen

Benutzerkonto unter Windows 2000

ubasic Port für STM32F4 von Uwe Becker

Architektur Verteilter Systeme Teil 2: Prozesse und Threads

5. Tutorium zu Programmieren

Summenbildung in Bauteiltabellen mit If Then Abfrage

Version NotarNet Bürokommunikation. Bedienungsanleitung für den ZCS-Import-Assistenten für Outlook

ecall sms & fax-portal

Vgl. Kapitel 4 aus Systematisches Requirements Engineering, Christoph Ebert

Programmierkurs Java

Windows 2008 Server im Datennetz der LUH

Übung 9 - Lösungsvorschlag

Kapiteltests zum Leitprogramm Binäre Suchbäume

Schichtarbeit - arbeitsrechtliche Grundlagen. Eva-Elisabeth Szymanski, Hans Binder

Stapelverarbeitung Teil 1

Kurzanweisung für Google Analytics

Automatisches Beantworten von - Nachrichten mit einem Exchange Server-Konto

Der Empfänger, der das Verschlüsselungsverfahren noch nicht nutzen kann, erhält folgende

Mindjet MindManager 6

Transkript:

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 Operatoren Signalzuweisungen Nebenläufige Anweisungen Sequentielle Anweisungen VHDL Verhaltensmodellierung 2/18 2013-01-11

Operatoren VHDL definiert eine Reihe von Operatoren, die größtenteils bereits aus anderen Sprachen bekannt sein sollten. Arten von Operatoren Logische NOT, AND, NAND, OR, NOR, XOR, XNOR, SLL, SRL, SLA, SRA, ROL, ROR Vergleichende =, /=, <, <=, >, >= Addierende +, -, & Signum +, - Multiplizierende *, /, MOD, REM Diverse **, ABS (Aufsteigende Priorität.) VHDL Verhaltensmodellierung 3/18 2013-01-11

Operatoren (2) Wirkung auf Vektoren Logische Operatoren wirken elementweise, Vergleichsoperatoren wirken lexikographisch, Arithmethische Operatoren können nicht auf Vektoren angewandt werden, & konkateniert Elemente immer zu Vektoren. VHDL Verhaltensmodellierung 4/18 2013-01-11

Signalzuweisungen Eigenschaften Signalzuweisungen wirken sich immer verzögert aus! Verzögerungen können explizit in Zeiteinheiten (vom Typ time) angegeben werden, wiederholte Zuweisungen an dasselbe Signal können vorherige verdrängen ( Preemption ), ohne Zeitangabe: Verzögerung bis zum nächsten Simulationsschritt. (Details zu Preemption und Simulationsschritten im nächsten Kapitel). VHDL Verhaltensmodellierung 5/18 2013-01-11

Nebenläufige Anweisungen Eigenschaften Stehen unmittelbar im Anweisungsteil einer Architektur, können benannt werden (mittels Labels), drei Arten: Signalzuweisungen, Zusicherungen (Assertions), Prozesse. VHDL Verhaltensmodellierung 6/18 2013-01-11

Nebenläufige Zuweisungen Eigenschaften Drei Varianten einfache Signalzuweisungen, mit Bedingung, mit mehrteiliger Auswahl. Beispiel: Latch ENTITY l a t c h IS PORT ( d, c l k : IN b i t ; q : BUFFER b i t ) ; END l a t c h ; VHDL Verhaltensmodellierung 7/18 2013-01-11

Nebenläufige Zuweisungen (2) Beispiel: Latch (Forts.) ARCHITECTURE conc1 OF l a t c h IS BEGIN csa : q <= d WHEN c l k = 1 ELSE UNAFFECTED; END conc1 ; ARCHITECTURE conc2 OF l a t c h IS BEGIN s s a : WITH c l k SELECT q <= d WHEN 1, UNAFFECTED WHEN OTHERS; END conc2 ; VHDL Verhaltensmodellierung 8/18 2013-01-11

Zusicherungen Eigenschaften Beispiele Zur Überprüfung von Bedingungen, i.d.r. nur für die Simulation relevant, verschiedene Fehlerklassen: note, warning, error, failure. r e s e t _ c h e c k : ASSERT s i g _ r e s e t /= 0 REPORT " Reset a k t i v! " SEVERITY note ; ASSERT ( now = 0 f s ) OR ( sig_a /= U ) REPORT " sig_a u n i n i t i a l i s i e r t! " ; VHDL Verhaltensmodellierung 9/18 2013-01-11

Prozesse Eigenschaften Umgebung für sequentielle Befehle, zur Modellierung algorithmischer Vorgänge, jeder Prozess ist eine nebenläufige Anweisung, Prozess-Aktivierung und -stopp durch: Sensitivliste im Prozess-Kopf; Prozess wird einmal bei der Initialisierung durchlaufen und danach jedesmal, wenn sich eines der sensitiven Signale ändert, WAIT Prozess wird immer bis zur nächsten WAIT-Anweisung bearbeitet und wieder aktiviert, wenn deren Bedingung erfüllt ist. Prozesse werden in einer (impliziten) Endlosschleife durchlaufen. VHDL Verhaltensmodellierung 10/18 2013-01-11

Prozesse (2) Beispiel: Latch als Prozess ARCHITECTURE seq1 OF l a t c h BEGIN q_assg : PROCESS ( d, c l k ) BEGIN IF c l k = 1 THEN q <= d ; END IF ; END PROCESS; END seq1 ; IS VHDL Verhaltensmodellierung 11/18 2013-01-11

Sequentielle Anweisungen Arten Der Rumpf von Prozessen wird von verschiedenen, z.t. bereits bekannten Anweisungen gebildet: Signal- und Variablenzuweisungen, Assertions, IF-ELSIF-ELSE-Anweisungen, CASE-Anweisungen, Schleifen, WAIT-Anweisungen,... Für die noch nicht behandelten werden im Folgenden kurze Beschreibungen bzw. Beispiele gegeben. VHDL Verhaltensmodellierung 12/18 2013-01-11

IF-ELSIF-ELSE Beispiel IF addr = 1 THEN cont <= ( 0, 0, 1, 1 ) ; ELSIF addr = 2 THEN cont <= " 0111 " ; ELSIF addr = 3 THEN cont <= b" 1100 " ; ELSE cont <= x " f " ; END IF ; VHDL Verhaltensmodellierung 13/18 2013-01-11

CASE Beispiel CASE addr IS WHEN 1 => cont <= ( 0, 0, 1, 1 ) ; WHEN 2 => cont <= " 0111 " ; WHEN 3 => cont <= b" 1100 " ; WHEN OTHERS => cont <= x " f " ; END CASE; VHDL Verhaltensmodellierung 14/18 2013-01-11

Schleifen Arten FOR a_range LOOP WHILE condition LOOP LOOP Zählschleife, While-Schleife, Endlosschleife. Beispiel FOR i IN a RANGE LOOP y ( i ) <= a ( i ) NAND b ( i ) ; END LOOP; VHDL Verhaltensmodellierung 15/18 2013-01-11

WAIT Eigenschaften Unterbricht die Ausführung des Prozesses, bis eine bestimmte Bedingung eingetreten ist. Folgenden Varianten existieren: WAIT ON wartet auf ein Event an mindestens einem der angegebenen Signale, WAIT UNTIL wartet, bis die gegebene Bedingung (Boolescher Ausdruck) eingetreten ist, WAIT FOR wartet, bis die angegebene Zeitspanne verstrichen ist. WAIT wartet für immer ; Prozessende. (Sinnvolle) Kombinationen sind möglich. VHDL Verhaltensmodellierung 16/18 2013-01-11

WAIT (2) Beispiel: Latch mit WAIT ON ARCHITECTURE seq2 OF l a t c h BEGIN q_assg : PROCESS BEGIN IF c l k = 1 THEN q <= d ; END IF ; WAIT ON d, c l k ; END PROCESS; END seq2 ; IS VHDL Verhaltensmodellierung 17/18 2013-01-11

WAIT (3) Beispiel: Latch mit WAIT ON.. UNTIL ARCHITECTURE seq3 OF l a t c h BEGIN q_assg : PROCESS BEGIN q <= d ; WAIT ON d, c l k UNTIL c l k = 1 ; END PROCESS; END seq3 ; IS VHDL Verhaltensmodellierung 18/18 2013-01-11