Hardware Reference
In-Depth Information
eines Zustandssignals oder einer Zustandsvariablen statt durch unterschiedli-
che Warteanweisungen im Berechnungsfluss unterschieden werden. An dieser
Stelle beginnt der Entwurf noch einmal von vorn mit der Spezifikation der
zu steuernden Operationen und des Operationsablaufgraphen. Die bisher ent-
wickelten Simulationsmodelle dienen dabei als Vorlage für die Soll-Funktion,
zur Entwicklung von Testbeispielen und als Referenzmodelle für vergleichende
Simulationen.
Der Operationsablauf in Abb. 2.87 stimmt mit dem des seriellen Addie-
rers in Abb. 2.74 weitgehend überein. Er hat auch hier nur die zwei Zustände
»bereit« und »beschäftigt«, die anhand des Ausgabesignals »busy« unter-
schieden werden. Zur Unterscheidung der Divisionsschritte dient der Bitzähler
ct
, der zu Beginn jeder Division zurückgesetzt und in jedem Divisionsschritt
um eins erhöht wird. Zur Vermeidung eines bitadressierbaren Quotientenspei-
chers wird wieder ein Schieberegister verwendet. Im Gegensatz zur Addition
wird der Quotient einer Division absteigend beginnend mit dem höchstwerti-
gen Quotientenbit berechnet. Das aktuelle Quotientenbit muss entsprechend
in das niederwertigste Schieberegisterbit geschrieben und in jedem nachfol-
genden Berechnungsschritt eine Bitstelle nach links verschoben werden. Die
Zusammenstellung der Register-Transfer-Operationen und die Konstruktion
des Operationsablaufgraphen ist der kreative Teil des Entwurfs, für den eini-
ge Tage Arbeitszeit einzuplanen sind. Der nächste Schritt - die Nachbildung
in VHDL - hat rezeptartigen Charakter. Dieser Aufgabenteil ist inkl. der
Entwicklung eines Testrahmens und der Simulation einiger Testbeispiele in
vergleichbar kurzer Zeit zu bewältigen und soll in Übungsaufgabe 2.22 selbst-
ständig gelöst werden.
busy=0 sonst
Kernoperation
Start=1
ct=11
1
ct<=00
y Rest i
Subtr i
Subtr<=Divisor&000
a
b c
0
Rest<=Divident
(a b)
q 0 q 1
slr
busy=1
Kernoperation
sonst
T
ct<=ct+1
b)
a)
Schieberegister
c)Rechenaufgabe11:3=3Rest2
Rest
101
1
000
101
1
101
1
1
001
1
slr
logischeRechts-
Subtrahend
0
0
1
1
0 00
0
1
1
0 1
0
1
0 0
0
1
verschiebung
Differenz
Quotient(q)
<0
<0
001
1
0
0
10
ctBitz¨ahler
---
0
--
0
0
-
0
0
1 1
0
0
1
l¨angsterPfad
Abb. 2.87. Serieller Dividierer a) Operationsablaufgraph b) Register-Transfer-
Datenfluss der Kernoperation c) Beispieldivision
 
Search WWH ::




Custom Search