Hardware Reference
In-Depth Information
signal a, b, c, d: std_logic;
signal K, L, M: std_logic_vector(
2 downto 0 );
if c= '1' then
L <= "000" ;
elsif falling_edge(b) then
L <= K;
end if;
end process;
process(a, c)
begin
if c= '1' then
M <= "010" ;
elsif rising_edge(a) then
M <= K;
end if;
end process;
...
process(a)
begin
if rising_edge(a) then
K( 0 ) <= d;
K( 1 ) <= K( 0 );
K( 2 ) <= K( 1 );
end if;
end process;
process(b, c)
begin
Registereingänge
d
K(0)
K(1)
K
K
Registerzustand
K(0)
K(1)
K(2)
L
M
Bitbreite
1
1
1
3
3
Taktsignal
a " a " a " b # a "
Initialisierungssignal
-
-
-
c (H) c (H)
Initialisierungswert
-
-
-
000
010
Abb. 2.3. VHDL-Registerbeschreibung und extrahierte Registerparameter ("- stei-
gende Taktflanke; # - fallende Taktflanke; (H) - high-aktiv; (L) - low-aktiv)
fällen hilft eine vergleichende Simulation zwischen der Synthesevorgabe und
dem Syntheseergebnis
1
.
2.1.2 Kombinatorische Schaltungen
Eine kombinatorische Schaltung hat kein Gedächtnis. Der imperative Be-
schreibungsrahmen ist ein kombinatorischer Prozess, also ein Prozess mit
Weckliste, in der alle Eingabesignale stehen (vgl. Abschnitt 1.2.4). Innerhalb
des Prozesses wird die Abbildung der Eingabewerte auf die Ausgabewerte
durch einen gerichteten Berechnungsfluss beschrieben (vgl. Abschnitt 1.2.3).
Die Zwischenergebnisse sind in Variablen zu speichern. Die Ergebnisse wer-
den den Ausgabesignalen zugewiesen. Es dürfen keine Variablen ausgewertet
werden, die möglicherweise Werte früherer Weckzeitpunkte enthalten und es
darf keine Alternativen im Berechnungsfluss geben, in denen einem Ausgabe-
signal kein aktualisierter Wert zugewiesen wird. Für die Synthese erfolgt die
Zuweisung an die Ausgabesignale verzögerungsfrei, d.h. ohne After-Klausel.
Abbildung 2.4 zeigt Beispiele für Signalzuweisungen, die durch Grundgatter
nachgebildet werden. Das sind zum einen logische Bit-Operationen und zum
1 Beides sind simulierbare Schaltungsbeschreibungen.
 
Search WWH ::




Custom Search