Sunteți pe pagina 1din 13

Ministerul Educaţiei al Republicii Moldova

Universitatea Tehnică a Moldovei

RAPORT
la disciplina Analiza si sinteza dispozitivelor numerice
Varianta 10

A efectuat : Rosca Doinita


A verificat : lect.univ. Ana Turcan

Chisinau 2019
Sarcinile lucrarii
1.Sa se efectueze minimizarea functiei logice prin metoda diagramelor Veitch Karnaugh.Implementati
circuitul logic in baza de elemente SI-NU.
F(x1,x2,x3,x4)=(2,3,6,7,8,10,12,14,15)
2.Sa se efectueze minimizarea functiei logice prin metoda Quine-McCluskey.
F(x1,x2,x3,x4)=(0,1,2,3,7,11,12,13,15)
3.Sa se efectueze conversia numarului 51 in binar,132 in octal,291 in hexazecimal, 0,42 in binar.
4.Efectuati inmultirea numerelor binare in virgula fixa:
X=1.011101 Y=0,100101
5.Efectuati impartirea numerelor binare in virgula mobila:
X=1,101010·2−43 X=1,101110·2−42
6.Efectuati scaderea numerelor binare in virgula mobila:
X=1,0111100*2−16 Y=0,1110001*2−14
7.Efectuati inmultirea numerelor in virgula mobila prin una din metode:
X=0,111010·2−23 X=1,101101·232
8.Sa se efectueze sinteza convertorului de cod pentru urmatoarele coduri binar-zecimal:
8 4 2 (-5)  5 3 2 (-1)

Mersul lucrarii
1.Sa se efectueze minimizarea functiei logice prin metoda diagramelor
Veitch Karnaugh.Implementati circuitul logic in baza de elemente SI-NU.
F(x1,x2,x3,x4)=(2,3,6,7,8,10,12,14,15)
Pentru realizarea acestei metode se elaboreaza asa-numita diagrama Veitch-Karnaugh care contine atitea
celule,cite combinatii pot avea valorile variabilelor functiei respective,adica fecare celula din diagrama contine
un minterm.Doua celule vecine contin mintermi care dfera prin valoarea unei singure variabile.Prin adunarea
logica a mintermilor din doua celule vecine se elimina variabila prin care difera cei doi mintermi vecini si in
expresia analitica a functiei in loc de doua conjunctii de n variabile se va scrie una de n-1 variabile.Daca un
grup de doua celule vecine este vecin cu alt asemenea grup,ele se pot contopi intr-un singur grup de patru celule
vecine si va fi posibila eliminarea a doua variabile,adica inlocuirea a patru conjunctii de n variabile cu una
singura de n-2 variabile.
Procesul de minimizare se desfasoara in felul urmator.La inceput se completeaza diagrama Veitch-
Karnaugh prin inscrierea unitatilor in toate celulele care corespund mintermilor egali cu 1 pentru functia
respectiva.In celelalte celule nu se scrie nimic.Dupa aceea se fac alipirile intre celulele vecine ocupate de
unitati.Pentru a obtine forma minima a functiei numarul de alipiri trebuie sa fie minimal posibil,dar sa cuprinda
un numar maximal de unitati,adica in cel mai bun caz pe toate.O celula ocupata de unitate poate participa la una
sau mai multe alipiri.Daca unitatile din una sau mai multe celule nu se pot alipi nici intr-un fel,atunci mintermii
care corespund celulelor respective se scriu fara modificari in forma minima a functiei.
Tabelul de adevar
X1 X2 X3 X4 Y
0 0 0 0 0 0
1 0 0 0 1 0
2 0 0 1 0 1
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 1
7 0 1 1 1 1
8 1 0 0 0 1
9 1 0 0 1 0
10 1 0 1 0 1
11 1 0 1 1 1
12 1 1 0 0 0
13 1 1 0 1 0
14 1 1 1 0 1
15 1 1 1 1 1

Diagrama Veitch-Karnaugh
x1 x2
x3 x4 00 01 11 10
00 1
01
11 1 1 1 1
10 1 1 1 1

2 1
In rezultatul minimizarii functiei de patru variabile s-a obtinut:
y= x1 x2 x4+ x3

Circuitul logic in baza de elemente SI-NU


Diagrama in timp in setul de elmente SI-NU

2.Sa se efectueze minimizarea functiei logice prin metoda Quine-McCluskey.


F(x1,x2,x3,x4)=(0,1,2,3,7,11,12,13,15)
Minimizarea functiilor prin aceasta metoda se efectueaza in citeva etape:
1. divizarea echivalentilor binari ai conjunctiilor in grupuri
2. determinarea implicantilor primi
3. elaborarea tabelului de acoperire a functiei
4. determinarea implicantilor primi esentiali ai functiei
5. eliminarea coloanelor de prisos
6. eliminarea implicantilor primi de prisos
7. alegerea acoperirii maximale cu un numar minimal de implicanti

Tabelul de adevar
X1 X2 X3 X4 Y
0 0 0 0 0 1
1 0 0 0 1 1
2 0 0 1 0 1
3 0 0 1 1 1
4 0 1 0 0 0
5 0 1 0 1 0
6 0 1 1 0 0
7 0 1 1 1 1
8 1 0 0 0 0
9 1 0 0 1 0
10 1 0 1 0 0
11 1 0 1 1 1
12 1 1 0 0 1
13 1 1 0 1 1
14 1 1 1 0 0
15 1 1 1 1 1
0 0000 0,1 000-
0,2 00-0
1 0001
2 0010 1,3 00-1
2,3 001-
3 0011
12 1100 3,7 0–11
3,11 -011
7 0111 12,13 110-
11 1011
13 1101 7,15 -111
11,15 1-11
15 1111 13,15 11-1

0,1,2,3 00--

3,7,11,15 --11

Implicanti x1x2 x1x2 x1x2 x1x2 x1x2 x1x2 x1x2 x1x2 x1x2
primi x3x4 x3x4 x3x4 x3x4 x3x4 x3x4 x3x4 x3x4 x3x4
x1x2 x x x x
x3x4 x x x x
x1x2x3 x x
x1x2x4 x x

In rezultatul minimizarii functiei de patru variabile s-a obtinut:


y= x1x2+x3x4+x1x2x3

Verificare
3
x1 x2
x3 x4 00 01 11 10
00 1 1
01 1 1
11 1 1 1 1
10 1
1 2

In rezultatul minimizarii functiei de patru variabile s-a obtinut:


y= x1x2+x3x4+x1x2x3
Circuitul logic

Diagrama in timp

3.Sa se efectueze conversia numarului 51 in binar,132 in octal,291 in


hexazecimal, 0,42 in binar.
Conversia numerelor dintr-un sistem de numeratie in altul se efectueaza dupa diferite reguli pentru partea
intreaga si cea fractionara a numarului.
1.Conversia din sistemul de numeratie zecimal in cel binar a numarului A=51 se va efectua in felul
urmator:
51=25*2+1
25=12*2+1
12=6*2+0
6=3*2+0
3=1*2+1
1=0*2+1
Deci valoarea numarului A in sistemul binar va fi A=110011.
2.Pentru conversia numarului zecimal A=132 in sistemul de numeratie octal,adica pentru b=8,se va
proceda in felul urmator:
132=16*8+4
16=2*8+0
2=0*8+2
Ca rezultat,in sistemul octal numarul A va fi egal cu 204.
3.In sistemul de numeratie hexazecimal (b=16) pentru primele zece cifre se folosesc aceleasi simboluri ca
si in sistemul zecimal,iar pentru echivalenti zecimali de la 10 la 15 se utilizeaza
respectiv:A,B,C,D,E,F.Conversia numarului A=297 din sistemul zecimal in hexazecimal se va efectua in felul
urmator:
297=18*16+9
18=1*16+2
1=0*16+1
Valoarea acestui numar in sistemul hexazecimal va fi A=129.
4.Conversia din sistemul de numeratie zecimal in cel binar a numarului A=0,42 se va efectua in felul
urmator:
0,42*2=0,84
0,84*2=1,68
0,68*2=1,36
0,36*2=0,72
0,72*2=1,44
0,44*2=0,88
0,88*2=1,76
0,76*2=1,52
0,52*2=1,04
Deci,valoarea numarului zecimal 0,42 in sistemul binar va fi 0,011010111.

4.Efectuati inmultirea numerelor binare in virgula fixa:


X=1.011101 Y=0,100101
Pentru a lua in consideratie semnele acestor numere se poate proceda in doua moduri.
In primul caz,la inceput se determina semnul produsului ce trebuie calculat,prin adunarea modulo 2 a
semnelor operanzilor.Adica daca semnele operanzilor coincid valoarea obtinuta va fi zero (semn pozitiv),iar
daca semnele sint diferite valoarea obtinuta va fi unu (semn negativ).Dupa aceea,se determina valoarea
modulelor ambilor operanzi,care ulterior se inmultesc ca doua numere fara semn,iar la sfirsit se formeaza codul
rezultatului in dependenta de semnul produsului stabilit la inceput.Daca semnul produsului este pozitiv,atunci
codul rezultatului obtinut in urma inmultirii modulelor ramine neschimbat,iar daca semnul produsului este
negativ,atunci codul rezultatului obtinut in urma inmultirii modulelor se modifica conform regulilor de
codificare a numerelor negative.
Sx+Sy=1+0=1  produs negativ
|x|=0.100011
|y|=0.100101
|z|=|x|*|y|
Metoda pe care am folosita la inmultirea acestor doua numere :
-incepind cu cifrele mai putin semnificative ale inmultitorului cu deplasarea deinmultitului la stinga.
0.100011
0.100101
0100011 |z|=0.010100001111
0100011 z =1.101011110001
010101111
0100011
0.010100001111
In al doilea caz,operanzii se inmultesc fara a le fi schimbate codurile,insa pentru a obtine valoarea corecta
a produsului este necesara ajustarea rezultatului obtinut in urma inmultirii codurilor operanzilor in dependenta
de semnele lor.Aici sint posibile patru variante pentru cazul cind numerele sint reprezentate in cod
complementar.
Pentru cazul dat se va folosi urmatoarea varianta:
- X<0, Y=>0, este necesara corectia 1-|Y|, deoarece rezultatul este negativ si trebuie sa aiba valoarea 1-
|X||Y|, iar in urma inmultirii codurilor obtinem:
X=1-|X|
Y=|Y|
XY=|Y|(1-|X|)=|Y|-|X||Y|
Metoda folosita este:
-incepind cu cifrele mai semnificative ale inmultitorului cu deplasarea deinmultitului la dreapta.
.011101
.100101
011101 z=1.101011110001
011101
100000101
011101
.010000110001
1.011011
1.101011110001

5.Efectuati impartirea numerelor binare in virgula mobila:


X=1,101010·𝟐−𝟒𝟑 X=1,101110·𝟐−𝟒𝟐
Valorile mantiselor si puterilor operanzilor sint:
Mx=1.101010
Px=1.101011
My=1.101110
Py=1.101010
1)denormalizarea deimpartitului
Se deplaseaza aritmetic cu o pozitie la dreapta mantisa deimpartitului, iar puterea lui se incrementeaza.Ca
rezultat se obtine : Mx=1.010101, Px=1.101100.
2)calcularea puterii rezultatului
Folosind formula Pz=Px-Py, obtinem:
Px 1.101100
-Py 1.101010
Pz= 0.000010
3)calcularea mantisei rezultatului
Valoarea mantisei rezultatului (Mz) se obtine efectuind operatia Mz=Mx:My. La inceput se determina
semnul mantisei rezultatului prin adunarea modulo 2 a semnelor mantiselor operanzilor, adica
Sz=Sx+Sy=1+1=0 produs pozitiv. Apoi se determina valoarea modulelor mantiselor ambilor operanzi:
|Mx|=0.101011, |My|=0.010010. Impartirea modulelor mantiselor operanzilor se va efectua folosind metoda fara
restabilirea restului cu deplasarea restului la stinga.
0.101011
0.010010 cit
0.111101 1
0.111010
1.101110
1.101000 0
1.010000
0.010010
1.100010 0
1.000100
0.010010
1.010110 0
1.101100
0.010010
1.111110 0
1.111100
0.010010
0.001110 1
0.011100
1.101110
0.001010 1
0.010100
1.101110
0.000010 1
Valoarea modulului mantisei citului obtinut este: |Mz|=1.0000111. pentru a rotunji rezultatul, se sumeaza 1
la ultima cifra(suplimentara), care ulterior se elimina.Deoarece valoarea ei este 1,cifra de transport va modifica
valoarea modulului mantisei si ca rezultat |Mz|=1.000100.
Semnul mantisei rezultatului Sz=0, de aceea Mz=0.111010.
4)normalizarea rezultatului
Comparam valoarea bitului semnului mantisei cu valoarea bitului din pozitia cea mai semnificativa a
mantisei rezultatului.Se observa ca ele nu coincid, atunci rezultatul este normalizat.
6.Efectuati scaderea numerelor binare in virgula mobila:
X=1,0111100*𝟐−𝟏𝟔 Y=0,1110001*𝟐−𝟏𝟒
Operatia de scadere: Z=X-Y
Valorile mantiselor si puterilor operanzilor sunt:
Mx=1.0111100
Px=1.10000
My=0.1110001
Py=1.1110
Scaderea a doua numere binare si reprezentate in virgula mobila se desfasoara in citeva etape:
1)egalarea puterilor
Se calculeaza diferenta dintre puteri : d=Px-Py
Px 1.10000
-Py 1.1110
d= 0.10010
Deoarece d>0, atunci Px>Py, in consecinta Py=Px si Pz=Px, iar Px=1.10000.
Mantisa operandului mai mic, adica My se deplaseaza aritmetic cu 2 pozitii (diferenta dintre puteri) la
dreapta si va avea valoarea : My=0.0011100.
2)calcularea mantisei rezultatului
Se calculeaza Mz=Mx-My
Mx 1.0111100
-My 0.0011100
Mz= 1.0100000
3)normalizarea rezultatului
Sx+Sy=0+0=0 nu este depasire
Comparam valoarea bitului semnului mantisei cu valoarea bitului din pozitia cea mai semnificativa a
mantisei rezultatului.Se observa ca ele nu coincid, atunci rezultatul este normalizat.

7.Efectuati inmultirea numerelor in virgula mobila prin una din metode:


X=0,111010·𝟐−𝟐𝟑 X=1,101101·𝟐𝟑𝟐
Valorile mantiselor si puterilor operanzilor sunt:
Mx=0.111010
Px=1.10111
My=1.101101
Py=0.100000
1)calcularea puterii rezultatului
Pentru calcularea puterii rezultatului se foloseste formula: Pz=Px+Py
Px 1.10111
Py 0.100000
Pz= 1.0001110
2)calcularea mantisei rezultatului
Valoarea mantisei rezultatului se va calcula conform formulei : Mz=Mx*My. La inceput se determina
semnul mantisei rezultatului (Mz) prin adunarea modulo 2 a semnelor mantiselor operanzilor,adica
Sz=Sx+Sy=0+1=1 produs negativ.Dupa acesta se determina valoarea modulelor mantiselor ambilor operanzi:
|Mx|=0.111010, |My|=0.010011. Inmultirea modulelor mantiselor operanzilor se efectueaza folosind metoda
incepind cu cifrele mai putin semnificative ale inmultitorului cu deplasarea deinmultitului la stinga.
.111010
.010011
111010
111010
10101110
111010
|Mz|= .010001001110
Pozitia virgulei la |Mz| este determinata de faptul ca produsul final a doua numere fractionare trebuie sa
aiba dupa virgula un numar de cifre egal cu suma cifrelor operanzilor.
Deoarece Sz=1, valoarea mantisei Mz=1.101110110000.
3)normalizarea rezultatului
Deoarece cifra semnului coincide cu cifra din pozitia cea mai semnificativa a valorii mantisei (ambele sint
egale cu 1), atunci rezultatul nu este normalizat.Pentru a-l normaliza, se va deplasa mantisa rezultatului cu un
bit la stinga si se va decrementa puterea.
In consecinta Mz=1.010111011000, iar Pz=1.0001101.

8.Sa se efectueze sinteza convertorului de cod pentru urmatoarele coduri binar-


zecimal : 8 4 2 (-5)  5 3 2 (-1)

Tabelul de adevar

8 4 2 (-5) 5 3 2 (-1)
X1 X2 X3 X4 F1 F2 F3 F4
0 0 0 0 0 0 0 0 0
1 0 1 0 1 0 0 1 1
2 0 0 1 0 0 0 1 0
3 1 0 0 1 0 1 0 0
4 0 1 0 0 0 1 1 1
5 1 0 1 1 1 0 0 0
6 0 1 1 0 1 0 1 1
7 1 1 0 1 1 0 1 0
8 1 0 0 0 1 1 0 0
9 1 1 1 1 1 1 1 1
10 0 0 0 1 * * * *
11 0 0 1 1 * * * *
12 0 1 1 1 * * * *
13 1 0 1 0 * * * *
14 1 1 0 0 * * * *
15 1 1 1 0 * * * *
Diagramele Karnaugh pentru minimizarea functiilor f1,f2,f3,f4
F1 4 1
x1 x2
x3 x4 00 01 11 10
00 * 1
01 * 1
11 * * 1 1
10 1 * *
2 3

F2
x1 x2
x3 x4 00 01 11 10
00 1 * 1
01 * 1
11 * * 1
10 * *
2 3 1

F3 1
x1 x2
x3 x4 00 01 11 10
00 1 *
01 * 1 1
11 * * 1
10 1 1 * *
2

F4
x1 x2
x3 x4 00 01 11 10
00 1
01 * 1
11 * * 1
10 1 * *
1 2

In rezultatul minimizarii au fost obtinute urmatoarele functii logice:


f1= x1x3x4 V x3x4 V x2x3 V x1x2
f2=x1x2x3 V x2x3x4 V x2x3x4
f3=x2 V x3x4
f4=x1x2 V x2x3
Schema circuitului convertorului de cod 8 4 2 (-5)  5 3 2 (-1)

Diagrama in timp

Concluzie
In urma elaborarii raportului am insusit mai bine temele de minimizarea functiilor logice prin doua
metode:
-metoda diagramelor Veitch Karnaugh
-metoda Quine-McCluskey.
Alte teme insusite sunt conversia numerelor in diferite sisteme; inmultirea in virgula fixa;
impartirea,scaderea si inmultirea in virgula mobila.Deasemenea am efectuat sinteza convertorului de cod a unor
coduri binar-zecimale.

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