Hardware Reference
In-Depth Information
signal a,b,s:std_logic_vector( 3 downto 0 );
signal T,c,cin,cout,Start,busy:std_logic;
...
process
begin
busy <= '0' ;
wait until Start= '1' and rising_edge(T);
busy <= '1' ;
c <= cin; a <= ...; b <= ...;
wait until rising_edge(T);
for i in 0 to 3 loop
s(i) <= a(i) xor b(i) xor c;
c <= (a(i) and b(i)) or (a(i) and c)
or (b(i) and c);
wait until rising_edge(T);
end loop ;
end process ;
cout <= c;
t dVA
t dmux
b i a i
c
s i
s
t s t dr
VA
c
0
1
c + c out
c in
Start
T
b)
Pfadmitdermax.Verz¨ogerung
T
Start
busy
a U
1010
1000
b U
c U
0011
1001
s 0
s 1
s 2
s 3
U
U
U
U
a)
c)
Web-Projekt:P2.5/SerAdd.vhdl
Abb. 2.73. Funktionsmodell eines seriellen Addierers a) VHDL-Beschreibung b)
Schaltungsskizze der Kernoperation c) Beispielsignalverlauf
(zehn) und »0011« (drei). Der Eingangsübertrag ist im Beispiel c in = 0: Mit
der Wertübernahme wird das Busy-Signal aktiviert. Dann folgen die vier bit-
weisen Additionen. Der erste Additionsschritt berechnet s 0 = 1 und c = 0, der
zweite s 1 = 0 und c = 1 etc. Nach allen Additionsschritten steht imSummenre-
gistersder Bitvektor »1101« mit dem Wert dreizehn. Dem Ausgabeübertrag
wird der Wert c out = 0 zugewiesen. Ein Prozess wird für die Simulation in eine
Endlosschleife übersetzt. Nach Abarbeitung der Schleife springt der Berech-
nungsfluss wieder zur ersten Anweisung, die das Busy-Signal deaktiviert. Mit
der nächsten Aktivierung des Startsignals wiederholt sich der gesamte Ablauf
mit anderen Operanden.
Zur Abschätzung der Dauer einer Addition gilt Folgendes. Die Dauer der
Taktperiode muss größer als die maximale Register-Register-Verzögerungszeit
plus der Vorhaltezeit sein. Jeder Berechnungsschritt dauert mindestens
T P t dr + t dVA + t dmux + t s
(T P - Taktperiode; t dr - Verzögerung des Registers; t dVA - Verzögerung des
Volladdierers; t dmux - Verzögerung des Multiplexers; t s - Vorhaltezeit des
Registers). Die Ausführungszeit ist mindestens so groß wie die Summe der
Zeiten für die n 1-Bit-Additionen und den Zeitschritt für die Übernahme der
Eingabedaten:
t Add (n + 1) T P
Durch die zusätzlichen Verzögerungszeiten, die zusätzliche Vorhaltezeit und
den zusätzlichen Berechnungsschritt für die Eingabedatenübernahme verdop-
 
Search WWH ::




Custom Search