Hardware Reference
In-Depth Information
Abbildung 2.15 zeigt die um eine Abtastfunktion erweiterte Beschreibung
der Schaltung aus Abb. 2.12. Es wird zusätzlich ein Takt vereinbart, der die
Eingabesignale in der Weckliste ersetzt. Die Anweisungsfolge ist in eine If-
Anweisung mit rising_edge(T) als Ausführungsbedingung eingeschlossen.
Der Rest der Beschreibung ist unverändert übernommen.
signal a, b, y: std_logic_vector( 3 downto 0 );
signal T, e, f: std_logic;
...
process(T)
begin
if rising_edge(T) then
if (a> "0011" ) and (e or f)= '1' then
y <= a+b;
else
y <= b;
end if;
end if;
end process;
4
4
a
b
4
+
4
4
1
y
0
y'
b a>b T
a
0011
&
e f
1
Abtast-
register
Schaltung
Web-Projekt:P2.1/SynthRW2Reg.vhdl
Abb. 2.15. Beschreibungserweiterung der Schaltung aus Abb. 2.12 um eine Ab-
tastfunktion
In einer Register-Transfer-Beschreibung können abgetastete Signale Wer-
te speichern (vgl. Abschnitt 1.6). Ohne Zuweisung behält ein Register seinen
Wert. Eine fehlende Zuweisung hat dieselbe Wirkung wie die Zuweisung des
aktuellen Wertes und kann durch einen Multiplexer, der zwischen dem neuen
und dem aktuellen Wert umschaltet, nachgebildet werden (Abb. 2.16 a). Al-
ternativ lässt sich die bedingte Übernahme schaltungstechnisch auch in das
signal x, y: std_logic_vector(n- 1 downto 0 );
signal T, E: std_logic;
...
process(T)
begin
if rising_edge(T) then
if E= '1' then
y <= x;
end if;
end if;
end process;
n
0
1
n n
y
n
x
E
T
a)
n n
x
E
x
E
y
b)
T
Abb. 2.16. Register mit bedingter Wertübernahme a) Nachbildung mit einem
Multiplexer b) Registersymbol mit zusätzlichem Freigabeeingang
Search WWH ::




Custom Search