Hardware Reference
In-Depth Information
signal W:std_logic;
signal a:std_logic_vector( 1 downto 0 );
signal x, s, q, y0, y1, y2, y3, s:
std_logic_vector( 3 downto 0 );
...
Dec: process (a)
begin
case a is
when "00" => s <= "0001" ;
when "01" => s <= "0010" ;
when "10" => s <= "0100" ;
when others => s <= "1000" ;
end case ;
end process ;
Und: process (s, W)
begin
if W= '1' then q <= s;
else q <= "0000" ;
end if ;
end process ;
Latch0: process (x, q( 0 ))
begin
if q(0)= '1' then y0<=x; end if ;
end process ;
x
x
y 0
q 0
&
E
s 0
s 1
s 2
s 3
x
y 1
q 1
&
E
a
Dec
x
y 2
q 2
&
E
x
y 3
q 3
&
E
W
a)
a
s 0
s 1
11
00 10 01 11
0 1
0 1
0
W
1
q 0
q 1
1
0 1
0
b)
...
Latch3: process (x, q( 3 ))
begin
if q(3)= '1' then y3<=x; end if ;
end process ;
c)
Web-Projekt/P2.1/LatchBS.vhdl
Abb. 2.23. Adressierbarer Blockspeicher a) Schaltung mit Latches b) Zeitverläufe
für die Bildung der Freigabesignale c) VHDL-Beschreibung
UND-Verknüpfungen mit der Decoderfunktion zu einem Funktionsblock zu-
sammengefasst werden, ist nicht mehr garantiert, dass bei Adresssignalwech-
seln bei inaktivem Schreibsignal alle Latch-Freigabesignale inaktiv bleiben.
Die Synthesebeschreibung muss nicht nur die Funktion, sondern auch die Ziel-
struktur beinhalten. In Abb. 2.23 c beschreibt der erste Prozess den Decoder,
der zweite die UND-Gatter und die restlichen vier Prozesse beschreiben die
Latches. Zusätzlich ist dem Syntheseprogramm mitzuteilen, dass es die vorge-
gebene Struktur nicht zu Optimierungszwecken ändern darf. Letzteres erfolgt
mit Hilfe von Constraints (siehe nächster Abschnitt). Durch die zusätzlich er-
forderlichen Strukturvorgaben ist der Entwurf von Schaltungen mit Latches
deutlich komplizierter als der mit Registern.
Auch in Abtastprozessen lassen sich Funktionen beschreiben, die die Syn-
these möglicherweise mit Latches nachbildet. Das sind z.B. bedingte Varia-
blenzuweisungen, bei denen der zugewiesene Variablenwert nur nach der Zu-
weisung ausgewertet wird. In der VHDL-Beschreibung in Abb. 2.24 a wird
einer Variablen v, wenn eine Bedingung b erfüllt ist, der Wert eines Signals c
zugewiesen. Die nachfolgende Anweisung beschreibt eine EXOR-Verknüpfung
des Variablenwertes und eine Ergebniszuweisung an ein Signal. Bei der Nach-
 
Search WWH ::




Custom Search