FPGA mit VHDL
Simulationsergebnis der einfachen Logikschaltung
auf das Bild klicken zum Zoomen.
An diesem Beispiel können wir einiges beobachten:
Das Ergebnis für Q aus dem Concurrent-Statement weisst eine kurz Störung auf, in dem Moment wo das Eingangssignal E auf 1 geht.
Solche Effekte kann man sowohl im Simulator als auch am realen FPGA messen. Bei Netzwerken aus kombinatorischen Logik, darf man nicht die Laufzeit der Signale vergessen.
Sicherer wird das erst, wenn man die letzte Gleichung (Q <= NOT(AD xor E)) durch ein Register zwischenspeichern lässt.
process (CLK, RST)
begin
if (RST='1') then
Q_T <= '0';
elsif (CLK'event and CLK='1') then -- CLK rising edge
Q_T <= NOT(AD xor E);
end if;
end process;
Der Nachteil ist allerdings, dass das zwischengespeicherte Ergebnis Q_T um eine Taktperiode verzögert wird.