Hardware Reference
In-Depth Information
von z 2 in y erfolgt gleichfalls mit einer Verzögerung um eine Taktperiode.
Jede Zuweisung beschreibt ein Register und alle Register zusammen bilden
ein 4-Bit-Schieberegister. Bei einer Umkehrung der Reihenfolge der Varia-
blenzuweisungen würde der Wert des Eingabesignals x mit nur einem Takt
Verzögerung an das Ausgabesignal y zugewiesen werden, ein Verhalten, das
mit nur einem Register nachzubilden wäre.
signal T, x, y: std_logic;
...
process(T)
variable z0, z1, z2:std_logic;
begin
if rising_edge(T) then
y <= z2;
z2 := z1;
z1 := z0;
z0 := x;
end if;
end process;
z 0
z 1 z 2
x
y
T
Web-Projekt:P2.1/VarSR.vhdl
Abb. 2.19. Beschreibung eines 4-Bit-Schieberegisters mit Variablen
Wenn der Wert einer Variablen in einem Abtastprozess nur für bestimmte
Eingabe- oder Zustandswerte überschrieben wird, sehen die Anweisungen vor
der bedingten Variablenzuweisung den neuen Wert erst zum nächsten Weck-
zeitpunkt. Für sie ist die Variable durch ein Register und die Übernahme-
bedingung durch einen Multiplexer, der zwischen dem Ist-Wert des Registers
und dem Eingabewert umschaltet, nachzubilden. Die Anweisungen nach der
bedingten Variablenzuweisung sehen den neu zugewiesenen Wert sofort, d.h.
zum selben Weckzeitpunkt. In der synthetisierten Schaltung ist das der Wert
am Dateneingang des Registers.
Abbildung 2.20 zeigt einen Abtastprozess mit zwei Signalzuweisungen,
die beide den Wert derselben Variablen v mit demselben Signal a EXOR-
verknüpfen, einmal vor und einmal nach einer bedingten Wertzuweisung an
v. Die beiden Signalzuweisungen werden durch Register mit der vorgelager-
ten EXOR-Verknüpfung nachgebildet. Die bedingte Variablenzuweisung be-
schreibt ein Speicherverhalten, das auch durch ein Register nachgebildet wird.
Die EXOR-Verknüpfung vor der Variablenzuweisung wertet immer den Varia-
blenwert vor der letzten Taktflanke, d.h. den Registerzustand, aus. Der Wert,
den die EXOR-Verknüpfung nach der bedingten Variablenzuweisung auswer-
tet, hängt von der Bedingung ab. Wird ein neuer Wert übernommen, ist der
neue Wert weiterzuverarbeiten, sonst der alte, im Register gespeicherte Wert.
Bei einer Nachbildung der bedingten Wertübernahme durch ein Register mit
einem Eingabemultiplexer, der zwischen dem neuen und dem aktuellen Wert
umschaltet, ist der Wert der Variablen für die erste Signalzuweisung am Re-
Search WWH ::




Custom Search