Hardware Reference
In-Depth Information
Freigabesignals lange genug stabil anliegt und dass der Freigabeimpuls aus-
reichend lang ist. Das Simulationsmodell in Abb. 2.21 nähert das skizzierte
Verhalten wie folgt an. Wenn das Freigabesignal nicht inaktiv ist und der ge-
speicherte Wert vom Eingabewert abweicht, wird der gespeicherte Wert nach
einer Haltezeit t h auf ungültig gesetzt. Wenn das Freigabesignal aktiv ist, wird
dem Zustandssignal zusätzlich mit dem Transportverzögerungsmodell nach ei-
ner Verzögerungszeit t d der Eingabewert zugewiesen. Zusätzlich werden die
Zeiten zwischen der steigenden und der fallenden Flanke des Freigabesignals
und die Zeiten seit der letzten Eingabedatenänderung vor der fallenden Flan-
ke des Freigabesignals überprüft. Wenn sie kleiner als der Zeitparameter t s
sind, wird der gespeicherte Zustand nachträglich invalidiert.
signal E:std_logic;
signal x, y:tTyp;
...
process (x, E)
variable tE:delay_length;
begin
if E/= '0' and y/=x then
y <= ungültig after th;
end if ;
if E='1' then
y <= transport x after td;
end if ;
-- Kontrolle der Vorhaltebedingungen
if rising_edge(E) then
tE :=now;
elsif falling_edge(E) and (now-tE<ts or
x'last_event<ts) then
y <= ungültig ;
end if ;
end process ;
tTyp
tTyp
L
x y
x
E
E
E
1
0
>t s
>t s
w 1 w 2
x
t d t d
t h t h
w 0 w 2
w 1
y
t d
t h Haltezeit
Verz¨ogerungszeit
t s
Vorhaltezeit
E
Freigabeeingang
tTypBit-oderBitvek-
tortyp
Wertung¨ultig
Web-ProjektP2.1/TestLatch.vhdl
Abb. 2.21. Simulationsmodell, Zeitverhalten und Symbol eines Latches
In der Synthesebeschreibung für ein Latch entfallen wieder die Beschrei-
bung des Zeitverhaltens und die Modellierung der Gültigkeit. Übrig bleibt eine
bedingte Signalzuweisung in einem Prozess mit allen Signalen in der Weckliste:
process (x, E)
begin
if E= '1' then
y <= x;
end if ;
end process ;
Search WWH ::




Custom Search