Sunteți pe pagina 1din 7

Sinteza automatului de comanda

Etapele sintezei:
1. Alegerea componentelor automatului operational( register, sumator, numerator etc);
2. Elaborarea schemei bloc al algoritmului de functionare al automatului operational la nivelul descrierii
microoperatiilor.
3. Elaborarea schemei-bloc marcate al algoritmului de functionare al automatului operational la nivelul
notarii microoperatiilor si conditiilor logice.
4. Elaborarea listei microoperatiilor si conditiilor logice.
5. Elaborarea schemei de structura al automatului operational.

1. Alegerea componentelor automatului operational( register, sumator, numerator etc);


RgX 8 biti;
RgY 8 biti;
RgZ 16 biti (pentru acumularea produsului);
SM 8 biti (pentru efectuarea operatiei de adunare);
CT 3 biti (pentru incarcarea numarului de iteratii 4=100b);
2. Elaborarea schemei bloc al algoritmului de functionare al automatului operational la nivelul descrierii
microoperatiilor.

Initial se verifica la demaraj


Apoi se efectueaza resetarea
Incarcarea datelor
Semnul produsului se inscribe in bistabilul B
Daca X este negativ el e reprezentat in codul complementar. Pentru a gasi modulul lui X se inverseaza si
se aduna cu 1
Daca Y este negativ el e reprezentat in codul complementar. Pentru a gasi modulul lui Y se inverseaza si
se aduna cu 1
Introducem o stare intermediara pentru a separa 2 conditii identice. Aceasta stare nu va avea nici o
microoperatie
Se verifica bitul cel mai semnificativ al inmultitorului, deoarece e metoda 2. Daca el e egal cu 1, in
sumator se aduna X la produsul partial. Daca e 0 se trece la deplasari: X la dreapta, Y la stanga. Se
decrementeaza numaratorul
Daca CT e diferit de zero se trece la urmatoarea iteratie.
Daca CT=0 se trece la analiza semnului produsului aflat in bistabilul B
Daca B=0, semnul produsului e pozitiv si RgZ se transmite la magistraza de date fara schimbari
Daca B=1, produsul e negative si pentru obtinerea codului complementar se inverseaza si se aduna 1.
Apoi se transmite la magistrala de date
START

Nu
Demaraj

Da

((RgX) <0>
(RgY) <0>
(RgZ) <0>
(CT) <0>

(RgX) (X)
(RgY) (Y)
(CT) (15)

Da
RgX [7]=1

(RgX) n(RgX)+1
Nu

da
RgY [7]=1

Nu (RgY) n(RgY)+1

Idle

RgY [7]=1 Nu
Da

(RgZ)(RgZ)+(RgX)

(RgX)(Rgx)*2 -1
(RgY)(RgY)*2
(CT)(CT)-1

Nu (CT)=0
da
Da
B=1

(RgZ) n(RgZ)+1
Nu

MD  (RgZ)

Stop

Schema bloc marcată a algoritmului

S0
Start

X1 0
1 S1
y1,y2,y3,y4

y5,y6,y7 S2

y8 S3

X2
1
0 S4
y9

X3
1
0
y10
S5
Idle S6
X3
0
1
y11, y12,y13
S7

y14,y15,y16
S8
0
X4

X5
1
0 y17 S9

y18
S10

STOP S0

S0
X1
X1

S1
y1,y2,y3,y4

1
S2
y5,y6,y7

1
S3
y8
X2 X2X3
S4 X3 S5
y9 y10
X2X3
X3 1
S6

X4 X4 X4X5
1
S7 S8
y11,y12,y13 X4X5 y14,y15,y16

X5X6 1
X5X6
S9 S10
y17 1 y18

Lista microoperațiilor:
Y1: microoperația de resetare a conținutului RgX
y2: microoperația de resetare a conținutului RgY
y3: microoperația de resetare a conținutului RgZ
y4: microoperația de resetare a conținutului CT
Y5: microoperația de încărcare a datelor în RgX
y6: microoperația de încărcare a datelor în RgY
y7: microoperația de încărcare a datelor în RgCT
y8: microoperația de verificare a semnului rezultatului și încărcare în bistabilul B
y9: microoperația de conversie a conținutului RgX în CD
y10: microoperația de conversie a conținutului RgY în CD
y11: microoperația de transfer a datelor din RgZ în sumatorul SM
y12: microoperația de transfer a datelor din RgX în sumatorul SM
y13: microoperația de încărcare a datelor din sumatorul SM în RgZ
y14: microoperația de deplasare a conținutului RgX la dreapta
y15: microoperația de deplasare a conținutului RgY la stânga
y16: microoperația de decrementare a numărătorului CT
y17: microoperația de conversie a conținutului RgX în CD
y18: microoperația de transfer a datelor din RgZ în MD

Lista condițiilor logice:


x1: condiția de verificare a demarajului
x2: condiția de verificare a bitului mai semnificativ a RgMx
x3: condiția de verificare a bitului mai semnificativ a RgMy
x4: condiția de verificare a conținutului numărătorului CT
x5: condiția de verificare a conținutului bistabilului B
x6: condiția de verificare a denormalizării RgMz
Reprezentarea stărilor în diagrama Karnaugh

Q3Q2 00 01 11 10
Q1Q0
00 S0 S7 S8

01 S1 S6 S9

11 S2 S5 S10

10 S3 S4

Tabelul de codificare a stărilor


S Q3 Q2 Q1 Q0
S0 0 0 0 0
S1 0 0 0 1
S2 0 0 1 1
S3 0 0 1 0
S4 0 1 1 0
S5 0 1 1 1
S6 0 1 0 1
S7 0 1 0 0
S8 1 1 0 0
S9 1 1 0 1
S10 1 1 1 1

Tabelul de tranziție a stărilor

No Starea Codul Starea Codul Condiți Semnale de Semnale de setare/resetare a


(t) stării (t+1) stării a logică comandă bistabilelor
Si Q3Q2Q1Q0 Si Q3Q2Q1Q0 xi yi J3 K3 J2 K2 J1 K1 J0 K0
1 S0 0000 S0 0000 x́ 1 - - - - - - - - -
2 S0 0000 S1 0001 x1 y1,y2,y3,y4 - - - - - - 1 -
3 S1 0001 S2 0011 1 y5,y6,y7 - - - - 1 - - -
4 S2 0011 S3 0010 1 y8 - - - - - - - 1
5 S3 0010 S4 0110 x2 y9 - - 1 - - - - -
6 S3 0010 S5 0111 x́ 2 x 3 y10 - - 1 - - - 1 -
7 S3 0010 S6 0101 x 2´x 3 Idle - - 1 - - 1 1 -
8 S4 0110 S5 0111 x3 y10 - - - - - - 1 -
9 S4 0110 S6 0101 x́ 3 Idle - - - - - 1 1 -
10 S5 0111 S6 0101 1 Idle - - - - - 1 - -
11 S6 0101 S7 0100 x4 y11,y12,y13 - - - - - - - 1
12 S6 0101 S8 1100 x́ 4 y14,y15,y16 1 - - - - - - 1
13 S7 0100 S8 1100 1 y14,y15,y16 1 - - - - - - -
14 S8 1100 S8 1100 x 4´x 5 y14,y15,y16 - - - - - - - -
15 S8 1100 S7 0100 x 4 x́ 5 y11,y12,y13 - 1 - - - - - -
16 S8 1100 S9 1101 x5x6 y17 - - - - - - 1 -
17 S8 1100 S10 1111 x 5 x´6 y18 - - - - 1 - 1 -
18 S9 1101 S10 1111 1 y18 - - - - 1 - - -
19 S10 1111 S0 0000 1 - - 1 - 1 - 1 - 1

J 3=S 6 x´4 + S7

K 3=S 8 x 4 x´5+ S 10

J 2=S3 x 2+ S 3 x´2 x 3 + S3 x2´x 3=S3

K 2=S 10

J 1=S1 + S8 x 5 x́ 6 + S9

K 1=S3 x 2´x 3 +S 4 x´3+ S 5+ S 10

J 0=S 0 x 1 +S 3 x´2 x3 + S3 x 2´x 3 +S 4 x 3+ S 4 x́3 + S8 x 5 x 6 + S8 x5 x´6=S0 x 1+ S 3 x́ 2+ S 4 + S8 x 5

K 0=S 2+ S 6 x 4 + S 6 x´4 + S10=S 2+ S 6+ S 10

Schema automatului de comandă :

S-ar putea să vă placă și