Hardware Reference
In-Depth Information
dungen lassen sich auch so abändern, dass die Register-Transfer-Synthese die
Beschreibungsschablone für ein Register mit Freigabeeingang findet. In Abb.
2.18 berechnet die erste Fallunterscheidung den um »1« erhöhten oder ver-
ringerten Zählwert und speichert ihn in einer Variablen
2
. Die zweite Fallun-
terscheidung weist den berechneten, um eins verringerten oder vergrößerten
Wert aber nur dann als Folgezustand an das Zählsignal zu, wenn entweder das
Steuersignal zum Vorwärtszählen oder das Steuersignal zum Rückwärtszählen
aktiv ist. Das ist das Verhalten eines Registers mit Freigabeeingang
3
.
variable tmp: tUnsigned( 3 downto 0 );
...
if V='1' then
tmp := y+ "1" ;
else
tmp := y- "1" ;
end if;
if V= '1' or R= '1' then
y <= tmp;
end if;
4
+1
1
0
1
4
4
x y
4
E
I
V 1
R
I
T
Web-Projekt:P2.1/VRZaehler2.vhdl
Abb. 2.18. Änderung der Fallunterscheidungen des Vorwärts-Rückwärts-Zählers
so, dass die Synthese garantiert ein Register mit Freigabeeingang findet
In den bisherigen Modellen dienten Variablen ausschließlich zur Weiterga-
be von Zwischenergebnissen zum selben Weckzeitpunkt. So genutzte Variablen
übersetzt die Synthese in Signale, die kombinatorische Teilschaltungen verbin-
den. In einem Abtastprozess kann eine Variable jedoch auch ein Speicherver-
halten beschreiben. Das passiert genau dann, wenn der zugewiesene Wert erst
ausgewertet wird, wenn der Prozess von einer späteren aktiven Taktflanke
aufgeweckt wird. Variablen können jedoch nur eingebettete, von außen nicht
direkt zugängliche Register beschreiben, weil sie nur innerhalb des Prozesses,
in dem sie definiert sind, gelesen und verändert werden können.
Abbildung 2.19 zeigt die Beschreibung eines Schieberegisters mit Varia-
blen. Die Variable z 0 übernimmt den Wert des Eingabesignals x mit der ak-
tiven Taktflanke. Ihr Wert wird von der Variablen z 1 erst nach der nächsten
aktiven Taktflanke übernommen. Die Wertübernahme von z 1 in z 2 und die
2 Das Zwischenergebnis darf nicht in einem Signal gespeichert werden. Denn eine
Signalzuweisung in einem Abtastprozess wird in ein Register übersetzt.
3 Die in den Beispielen unterstellte Nachbildung der Zielfunktionen mit Registern,
Multiplexern, Gattern, Rechenwerken und Vergleichsschaltungen ist nicht zwin-
gend. Das Entwurfssystem ISE [5] bildet z.B. im Gegensatz zu den hier getroffe-
nen Annahmen If-Anweisungen mit mehreren Gattern statt mit einem Multiple-
xer nach und fasst Zähloperationen und Zählregister zu Zählerbausteinen zusam-
men. In Abb. 2.17 und 2.18 findet die Synthese z.B. beide Male einen Vorwärts-
Rückwärts-Zähler. Wir bleiben dennoch bei unserem einfachen Bausteinsystem.
 
Search WWH ::




Custom Search