Aufrufe
vor 4 Jahren

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL

Hardware-Entwurf mit VHDL Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik • Prozesse: - Prozesse sind der Rahmen für die sequentielle Abarbeitung von Befehlen. Prozesse selbst sind nebenläufig, d.h. Prozesse können gleichzeitig aktiv sein. - Prozesse können, durch zwei sich gegenseitig ausschließende Möglichkeiten, gesteuert werden: 1. Durch eine Liste von steuernden Signalen (sensitivity list): Prozesse dieser Art werden bei der Initialisierung komplett durchlaufen und zu späteren Zeitpunkten erst wieder aktiv, wenn sich eines der Signale in der „sensitivity list“ ändert. Anschließend wird der Prozess wieder bis zum Ende abgearbeitet. 2. Durch WAIT-Anweisungen: Bei der Initialisierung (Zeitnullpunkt) werden solche Prozesse bis zur ersten WAIT-Anweisung abgearbeitet und erst dann wieder aktiviert, wenn die Bedingung der WAIT-Anweisung erfüllt ist oder wenn die dort angegebene Zeit verstrichen ist. - Prozesse bestehen aus einem Deklarations- und aus einem Anweisungsteil. - Syntax für Prozesse mit „sensitivity list“: [process_label :] PROCESS (sig_1 {, sig_n}) . . . . . . -- Deklaration von: Typen und Untertypen, Aliases, Konstanten, . . . -- Files, Variablen und Unterprogrammen (keine Signale !!!) . . . -- Definition von Unterprogrammen und Attributen . . . -- USE-Anweisungen . . . BEGIN . . . . . . -- sequentielle Anweisungen, aber keine WAIT-Anweisung! . . . END PROCESS ; - Syntax für Prozesse mit „WAIT-Anweisung(en)“: [process_label :] PROCESS . . . -- Deklarationen wie oben BEGIN . . . . . . -- sequentielle Anweisungen WAIT . . . ; -- mindestens eine WAIT-Anweisung ! . . . . . . -- sequentielle Anweisungen . . . END PROCESS ; VHDL-GRUNDLAGEN 71

Hardware-Entwurf mit VHDL Prof. Dr.-Ing. Stefan Wolter Elektrotechnik und Informatik - Syntax ab IEEE-Standard 1076-1993: [process_label :] PROCESS [ (sig_1 {, sig_n} ) ] [IS] . . . BEGIN . . . END PROCESS [process_label] ; - Prozesse ohne „sensitivity list“ und ohne WAIT-Anweisung sind selten sinnvoll, da solche Prozesse immer wieder durchlaufen werden („Endlosschleife“). - Während (herkömmliche) Variablen nur innerhalb von Prozessen gültig sind und außerhalb von Prozessen nicht sichtbar sind, können Signale auch außerhalb von Prozessen gelesen und mit einem neuem Wert versehen werden. Signale können somit zur Inter-Prozess-Kommunikation (Austausch von Informationen, gegenseitiges Aktivieren usw.) verwendet werden. - Beispiele: 1. Architektur eines D-FF mit Prozess mit „sensitivity list“: ARCHITECTURE behavioral_1 OF d_ff IS -- 1. Architekturvariante eines D-FF BEGIN PROCESS (clock, reset) -- „sensitivity list“ mit Takt- und Reset-Eingang BEGIN IF reset = ’1’ THEN q

Verification.pdf
VHDL Kompakt - CES
VHDL Einführung
Schaltungsdesign mit VHDL
VHDL Design Guidelines