02.01.2013 Aufrufe

Schaltungstechnik

Schaltungstechnik

Schaltungstechnik

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

8.1 Zur Charakterisierung einer Logikfunktion 543<br />

Parameter und zur Verifikation des Timingverhaltens (z.B. „Set-Up“ Zeit oder<br />

„Hold“ Zeit) müsste die Modellbeschreibung für das D-FlipFlop in Bild 8.1-7<br />

ergänzt und erweitert werden. Es lassen sich in VHDL u.a. Check-Funktionen formulieren<br />

und gegebenenfalls Warnungen und Fehlerhinweise ausgeben.<br />

Ein wesentliches Kennzeichen bei der Logiksimulation ist die Ereignissteuerung.<br />

Jedes Signal wird entweder in der Entity oder als „inneres“ Signal im Deklarationsteil<br />

der Architecture erklärt. Ein Signal hat einen Namen und einen Typ<br />

(z.B.: std_logic). In der Entity kommt noch die Wirkungsrichtung hinzu. Der<br />

Logiksimulator verwaltet die Signale in einer Ereignistabelle (Event-Queue).<br />

Innerhalb der Architecture zwischen begin und end können u.a. Signalzuweisungen<br />

mit „Concurrent Signal Assignment“ (CSA) erfolgen, lassen sich „Process“<br />

Konstrukte definieren oder Komponenten-Modelle mit „Component Instantiation“<br />

einbringen. Bei einer Signalzuweisung wird nur dann dem Signal ein neuer Wert<br />

zugewiesen, wenn der CSA-Ausdruck auf der rechten Seite durch ein Ereignis getriggert<br />

wird. Die Rangfolge der CSA-Anweisungen spielt dabei keine Rolle. Auf<br />

die Ereignissteuerung wird noch gesondert eingegangen.<br />

library IEEE;<br />

use IEEE.std_logic_1164.all;<br />

entity dff_1 is<br />

PR<br />

port (PR: in std_logic;<br />

D: in std_logic;<br />

D<br />

CLK: in std_logic;<br />

CL: in std_logic;<br />

CLK<br />

Q: out std_logic;<br />

NQ: out std_logic);<br />

CL<br />

end dff_1;<br />

architecture dff_1_arch of dff_1 is<br />

Begin<br />

DFF1: process (CLK,CL,PR)<br />

constant Low : std_ulogic := '0';<br />

constant High : std_ulogic := '1';<br />

begin<br />

if CL = '0' then Q< = Low;<br />

NQ

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!