Hardware Reference
In-Depth Information
Lösung zu Aufgabe 2.3
Die Zähloperationen benötigen das Package »Tuc.Numeric_Synth«. Die Ad-
dition und die Subtraktion der Konstanten eins werden mit dem »+«- und
den »«-Operator, die Multiplexer durch zwei Fallunterscheidungen und das
Register durch eine Signalzuweisung im Abtastprozess beschrieben. Im Fall
E = 1 wird nichts an
und sonst für R = 0 der Werty+ 1 und für R = 1
der Werty1 zugewiesen. Die vorzeichenbehaftete Konstante mit dem Wert
eins ist, wie man bei der Simulation bemerken wird, nicht der 1-Bit-Vektor
»1«, sondern der 2-Bit-Vektor »01«. Da am Register der negierte Takt T
angeschlossen ist, muss die Übernahme mit der fallenden Taktflanke erfolgen.
y
signal y: tSigned
( 7 downto 0 );
signal R, E, I, T:std_logic;
...
process (T, I)
begin
if I= '1' then
y <= "00000000" ;
elsif falling_edge(T) then
if E= '1' then
if R= '1' then
y <= y- "01" ;
else
y <= y+ "01" ;
end if ;
end if ;
end if ;
end process ;
) WEB-Projekt:P2.1/AfgSynthVRZ.vhdl
Lösung zu Aufgabe 2.4
Die beiden Register »Reg1« und »Reg2« sollten nicht zu einem Prozess zusam-
mengefasst werden, weil sie nicht gemeinsam initialisiert werden. Das Gatter
»G« lässt sich mit als Teil des Abtastprozesses von »Reg2« beschreiben.
signal T, I, x, x_del, y:
std_logic;
...
Reg1: process (T)
begin
if rising_edge(T) then
x_del <= x;
end if ;
end process ;
Reg2: process (T, I)
begin
if I= '1' then
y <= '0' ;
elsif rising_edge(T) then
y <= y xnor x_del;
end if ;
end process ;
) WEB-Projekt:P2.1/AfgSeriParit.vhdl
Lösung zu Aufgabe 2.5
Die Übergangsfunktion ist im Beispiel gleich der Ausgabefunktion. Die ein-
fachste Beschreibung ist ein kombinatorischer Prozess für die Berechnung des
Folgezustands, seine nebenläufige Zuweisung an das Ausgabesignal und seine
Abtastung in einem Abtastprozess. Für die Nachbildung einer Tabellenfunk-
tion empfiehlt sich eine Auswahlanweisung mit je einem Auswahlfall für jeden
Ausgabewert:
 
Search WWH ::




Custom Search