Teogitl - mzwebserver.ldv.ei.tum.de · Q3 D4 5 4 3 2 1 0 Q4 8 7 6 5 4 3 2 1 0 Der ROM-Speicher...

8
184 3 Arithmetische Schaltungen Die Steuerung der Dividierer-Schaltung wird nun für die Wortbreite n =4 wie folgt implementiert: Kombinatorische Logik D0 Clk D2 Q0 Q2 D3 D4 Q3 Q4 2 2 clk_div clk_rest init/<<1 mux neg 2 3 3 3 T c) In welchen Bits des Zustandsregisters wird der aktuelle Zustand und die Anzahl der bisher durchgeführten Runden abgespeichert? 7 aistande Teogitl =3 Bits akeueeeer custard Qo . Qz wegen n=4 4 Runden : Tlogz47=2BEs aktuelle Runde Q3,Q4

Transcript of Teogitl - mzwebserver.ldv.ei.tum.de · Q3 D4 5 4 3 2 1 0 Q4 8 7 6 5 4 3 2 1 0 Der ROM-Speicher...

184 3 Arithmetische Schaltungen

Die Steuerung der Dividierer-Schaltung wird nun für die Wortbreite n = 4 wie folgt

implementiert:

Kombinatorische Logik

D0 C

lk

D2

Q0

Q2

D3

D4

Q3

Q4

2

2

clk_div clk_rest init/<<1 mux

neg

2

3

3

3

T c) In welchen Bits des Zustandsregisters wird der aktuelle Zustand und die Anzahl

der bisher durchgeführten Runden abgespeichert?

7 aistande Teogitl =3 Bits

↳ akeueeeer custard Qo ..

.. Qz

wegenn=4 → 4 Runden :

Tlogz47=2BEs↳ aktuelle Runde Q3,Q4

3.10 Division 185

Implementierung des Zustandsautomaten mit Multiplexern

T a) Geben Sie für die Eingänge des Multiplexers binär die Ausgangsworte an, mit

denen sich die Ausgangsfunktion des Moore-Automaten ergibt.

0

1

2

3

0

1

2

3

4

5

6

7

Zustand3

4Bit 3: clk_divBit 2: clk_restBit 1: init/<<1Bit 0: mux

T b) Geben Sie die Folgezustände für alle unbedingten Verzweigungen an.

0

1

2

3

0

1

2

3

4

5

6

7

Zustand3

3Folgezustand

( 0000 )

XXXX0000

1100

001 X

011 X

0001

0101

Ooxx

1 001

2 010.

3 011

4 100

6 110

7- 111

186 3 Arithmetische Schaltungen

T c) Geben Sie eine Multiplexer-Schaltung an, die mittels des Signals runde_n die

Folgezustände des Zustands 6 an ihrem Ausgang bereitstellt.

1runde_n

3 Folgezustand von Zustand 6

T d) Geben Sie eine Schaltung zur Bestimmung des Folgezustands von Zustands 6 an,

die ohne Multiplexer auskommt.

1runde_n

3 Folgezustand von Zustand 6

T e) Geben Sie eine Multiplexer-Schaltung an, die mittels der Signale runde_n und neg

den Folgezustand des Zustands 4 an ihrem Ausgang bereitstellt.

1runde_n

1neg

3 Folgezustand von Zustand 4

runde -

n=O : Hestand 3 ± on

runde - n = 1 : Hestand 7 ± 111

:Qu

⇒ #

÷to:*

neg =O ⇒ custard 5

rundereon neg= 1 ⇒ custard 3

runde. n=n ^ neg

= n⇒ aestand 7

3.10 Division 187

T f) Geben Sie eine kombinatorische Schaltung für den Rundenzähler an, der jedesmal,

wenn sich der Moore-Automat im Zustand 3 befindet, die in Bits 3 und 4 des

Zustandsworts gespeicherte Rundenanzahl um Eins erhöht.

3

2

2

AktuellerZustand

AktuelleRunde

NächsteRunde

Der Rundenzähler zählt wie folgt: Runde 1 , 012, Runde 1 , 102, Runde 3 , 112 und

Runde 4 , 002.

T g) Tragen Sie in nachfolgende Abbildung eine kombinatorische Schaltung ein, die in

der 4. Runde, aus dem Rundenzähler das Signal runde_n erzeugt.

2AktuelleRunde

1runde_n

3 ± 01 1

¥÷rE÷~ :. -

v.}

=D -gear

auch

- ⇒ -

man

; ¥ Yin E÷au÷

188 3 Arithmetische Schaltungen

Implementierung des Zustandsautomaten mit Speicherbausteinen

Im Folgenden wird anstelle der kombinatorischen Logik ein ROM-Speicher verwendet.

D0 C

lk

D1

Q0

Q1

Multiplexer Clk_Divisor Clk_Rest Init/<<1

neg

ROM-Speicher

Adress- Eingang

Datenaus- ausgang

D2

Q2

D3

Q3

D4

Q4 0 1 2 3 4 5

0 1 2 3 4 5 6 7 8

Der ROM-Speicher funktioniert wie folgt: Die Bitkombination, die am Adress-Eingang

anliegt, wird als Adresse interpretiert. Am Datenausgang wird dann das Datenwort

ausgegeben, das an der durch den Adress-Eingang spezifizierte Adresse liegt.

Die sog. Speicherorganisation beschreibt den Speicheraufbau:

• Wie breit (in Bit) sind die Datenworte?

• Wieviele Datenworte können abgespeichert werden?

T a) Geben Sie die Organisation des gezeigten ROM-Speichers an.

j

3.10 Division 189

T b) Geben Sie den ROM-Inhalt an, der zur Implementierung der Zustände 1 und 2

benötigt wird.

Folgerunde Folgezust.

Zust. 1

neg Ausgang

Zust. 2

Runde Zustand

T c) Geben Sie den ROM-Inhalt an, der zur Implementierung des Zustands 3 benötigt

wird.

Runde Ausgang

Zust. 3

Folgerunde Folgezust.Zustandneg

|

Runde ^ 012

103

in

4 00

0 00 001 0000 00 010

^ 00 001000000 010

0 00 0100110 00 011

n 00 0^001^0 00 011

-Adresseingang daeenausgang

0 00

011×001

01 1001 00

011×00101 100

O On

0^1×00110 100

n On

0^1×0011.0 100

0 10

0^1×00111 ROC

1 100^1×00111 100

g ny011×00100 100

g yy0^1×00100 ROO

qincustard 3

wirdrunae

erhoht

190 3 Arithmetische Schaltungen

T d) Geben Sie den ROM-Inhalt an, der zur Implementierung des Zustands 4 benötigt

wird.

Runde Ausgang

Zust. 4

Folgerunde Folgezust.Zustandneg

heg-- 1 n runae . n=1

On 00 100 XOM 00 10100

100×01100 111

0 01

100×01101 101

1 01100×01101 011

0 10100×01110 101

10 011 .

1 10100×0110 11

100×0^111 101

1 ^^

100×01111 0^1

⇐gang aaeenausgangrunde

. n=Orneg=1Runde 1 01

2 no }runae-n=o3^1400in

4.2 Universalrechner: Schaltung unabhängig vom Problem 193

Auswahl der Rechenoperation

Die Auswahl der Rechenoperation (Addition, Subtraktion, ...) erfolgt durch Auswahl des

entsprechenden Ergebnisses mittels M2. Hat z.B. M2 den Wert 1 und M1 den Wert 3,

dann wird das von Addierer A2 berechnete Ergebnis an die Eingänge aller Register R0,

R1, ... R7 gleichzeitig angelegt.

Abspeichern des Ergebnisses, Register als Ziel-Operand

In welches Register das Additions-Ergebnis übernommen werden soll, wird durch den

Demultiplexer D festelegt. Hat z.B. D den Wert 4, so wird der invertierte Takt clk an den

Takteingang von Register R4 angelegt – und Register R4 übernimmt das Ergebnis. Alle

anderen Register werden nicht getaktet und behalten somit ihren ursprünglichen Wert.

SUBb

aa-b

MUL

ADD

DIVb

aa/b

0123

76543

0123

1234

210

0123

76543210

0123

0123

D11

3

D6D5 3

D3D2 3

A7

A0

D1D0 2

M1

M4

M3

M2

a

b

c

Add1 0

1

clk

reset

0123

76543210

D13D12

R7

R6

R5

R4

R3

R2

R1

R0

3

0

M1

M2

M3

M4

D10

BZ

pX

5

M3A2

A1

M4

M2

M1

M0

D4

D7D8

D10D9

D23

D14

D

R K…

0

MSB…

10 10

n-10

n

:§ .i. I→

on