Documente Academic
Documente Profesional
Documente Cultură
Proiectare logic
CAPITOLUL 1
1.BAZELE ARITMETICE ALE
CALCULATOARELOR
n acest capitol vom prezenta problemele de baz ale
aritmeticii: sisteme de numeraie , baze de numeraie, conversia
numerelor dintr-o baz n alta pentru numere ntregi i
fracionare, operaiile elementare cu numere n aceeai baz,
pentru a trece apoi la reprezentarea numerelor n calculator i la
codurile pentru reprezentarea informaiei.
1. 1. SISTEME DE NUMERAIE
Un sistem de numeraie este totalitatea regulilor de
reprezentare a numerelor cu ajutorul simbolurilor denumite cifre.
Sistemele de numeraie pot fi poziionale (n care valoarea unei
cifre depinde de poziia ei) i nepoziionale (n care valoarea
cifrei este aceeai n oricare poziie). Sistemul zecimal este
poziional. Sistemul roman este nepoziional , n general, avnd
ns i unele elemente poziionale (anumite cifre plasate naintea
unor alte cifre le micoreaz valoarea
1.1.1.Baza sistemului de numeraie
ntr-un sistem de numeraie cifra este un simbol care
reprezint o cantitate ntreag. Numrul de astfel de simboluri
permise pentru a reprezenta un numr se numete baza
sistemului de numeraie.
Proiectare logic
Exemplu
Sistemul binar (dou cifre) : cifrele 0 i 1;
Sistemul zecimal (zece cifre):cifrele 0,1,2,3,4,5,6,7,8,9.
Reprezentarea numerelor
Un numr raional, format din partea ntreag i partea
fracionar, se poate reprezenta n trei forme, ntr-un sistem cu
baza de numeraie b:
1) reprezentarea poziional n care cifrele sunt scrise
fiecare cu valoarea lor poziional:
a b
im
i i
unde:
b=baza sistemului de numeraie
ai cifre
n 1 numrul de cifre n partea ntreag
m numrul de cifre n partea fracionar
a n cifra cea mai semnificativ
a m =cifra cea mai puin semnificativ
Orice cifr ai trebuie s fie mai mic dect baza b care ,
prin definiie trebuie s reprezinte numrul maxim de simboluri .
Exemple
Un numr ntreg exprimat n baza x va fi:
n
n 1
1
0
a
x
a
x
....
a
x
a
x
n 1
1
0
= n
N(x)
Un numr ntreg exprimat n baza 10 va fi:
Proiectare logic
1234(10)=4.100+3.101+2.102+1,103
1.1.2.Conversia numerelor ntregi dintr-o baz n alta
Conversia numerelor ntregi din baza 10 n baza b
Fie un numr x Z+.
Dac
x<b atunci
x(10)=x(b)
Dac
xb atunci trecerea din baza 10 n baza b se
face n felul urmtor:
Conform teoremei mpririi cu rest , avem sirul de egaliti,
n care semnificaiile sunt: numtrul x, baza b, resturi r i i cturi
qi
x = bq0+r0
q0 = bq1+r1
q1 = bq2+r2
.
..
..
Qk-1= bqk+rk
oprindu-ne la acel k pentru care qk = 0
( adic atunci cnd ctul a devenit mai mic dect baza b).
x(10)=(rk rk-1r1r0)(b)
Algoritmul de conversie presupune, deci, mprirea
numrului la baza b. Se obine un ct i un rest. Noul ct se
mparte la baz i se continu la fel cu cturile succesive.
Algoritmul continu pn cnd se obine un ct 0. Resturile
obinute, n ordine invers, reprezint cifrele numrului iniial n
baza b.
Exemple
S se treac numrul 27(10) din baza 10 n baza 2.
Proiectare logic
27 = 2.13+1
13 = 2.6 + 1
6 = 2.3 + 0
3 = 2.1 + 1
1 = 2.0 + 1
27(10) = 11011(2)
Algoritmul se poate formula i altfel. Ne oprim atunci cnd
ctul devine mai mic dect baza. n acest caz numrul n noua
baz este format din ultimul ct urmat de resturile succesive, de
la ultima mprire la prima.
S se treac numrul 27(10) n baza 8.
27 =8.3 + 3
3 =8.0 + 3
27(10) = 33(8)
Conversia numerelor subunitare din baza 10 n baza b
11
Proiectare logic
0,500.2 = 1
0,375(10) = 0,011(2)
0,375.8 = 3,000
0,375(10) = 0,3(8)
Conversia numerelor reale din baza 10 n baza b.
Fie z R+ . Numrul z se poate exprima sub forma
z=[ z] + z , partea ntreag i partea fracionar a
numrului z.
Se parcurg urmtoarele etape:
1) Se realizeaz conversia prii ntregi.
2) Se realizeaz conversia prii subunitare.
3) Se concateneaz cele dou rezultate, punnd
virgula ntre ultima cifr rezultat din conversia prii
ntregi i prima cifr rezultat din conversia prii
fracionare.
Exemplu
1)S se treac numrul 27,375 din baza 10 n baza 2.
Din exemplele precedente avem:
27(10)=11011(2)
0,375(10) =0,011(2)
Rezult:
11011,011(2)
Conversia numerelor reale din baza b n baza 10
1)Se trece de la reprezentarea poziional a
numrului la reprezentarea algebric n baza b.
2)Se efectueaz calculele n baza 10 i se obine
tocmai reprezentarea poziional n baza 10.
Exemplu S se fac conversia numrului
10101,0110 din baza 2 n baza 10.
10101,0110=1.20 +0.21 +1.22 +0.23 +1.24 +
13
Proiectare logic
N ( 4 ) 123
N 2 321( 4 )
N1 N 2
123 + 321=1110(4)
N1 N 2 = 1110( 4 )
15
Proiectare logic
N1.N 2
123 .321=123+3120+110100=110003(4)
n `general n sistemele de calcul datele sunt reprezentate
n baza 2. Deoarece att instruciunile ct i datele sunt
reprezentate pe 32 , 64 bii sau chiar mai muli bii, este greu de
manipulat n baza doi i atunci se alege baza 16 (hexazecimal).
Fiind o baz de numeraie mai mare dect 10 , trebuie alese
simboluri pentru 10,11,12,13,14, 15, simboluri care sunt:
10A
12C
14E
11B
13D
15F
Tabel 1.1. Primele caractere n bazele 10,16 i 2.
Baza 10
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Baza 16
0
1
2
3
4
5
6
7
8
9
A
B
C
D
E
Baza 2
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
17
Proiectare logic
19
Proiectare logic
0
0
01 010
10 00
1 1
1
1
011
11
0
Soluie: Numerele
fiind date n baza 10 iar
operaiile fiind la nivel
de bit, este necesar ca
numerele s fie trecute n baza 2. Apoi trebuie executate la nivel
de bit operaiile.
N1 1000:16=62 rest 8
62:16=3
rest 14
N1=3E8(h)=0011 1110 1000(2)
N2 5000:16=312 rest 8
312:16=!9
rest 8
19:16=1
rest 3
N2=1388(h)=0001 0011 1000 1000(2)
N1=0000 0011 1110 1000
N2=0001 0011 1000 1000
N1 N2 = 0001 0011 1110 1000
N1 N2 = 0000 0011 1000 1000
N1 N2 = 0001 0000 0110 0000
4)-Pot fi a,b,c laturile unui triunghi dac avem egalitatea
aaax= bbbx+cccx
oricare ar fi baza de numeraie, cu a,b,c, < x ?
Soluie:
a+ax+ax2 = b+bx+bx2 + c+cx+cx2
x2(b+c-a)+x(b+c-a) + b+c-a = 0
(b+c-a)(x2+x+1) = 0
(b+c-a) =0 b+c=a
Ca s fie laturile unui triunghi trebuie ca a>b+c . Cum a=b+c
nu se poate ca a,b,c, s fie laturile unui triunghi.
21
Proiectare logic
23
Proiectare logic
0, N dac N 0
N
1, N dac N 0
Un numr N este
Exemplu:
8=0,1000
-8=1,1000
Dezavantajele acestei reprezentri sunt.
-pentru adunare i scdere se solicit circuite mai complexe;
-exist dou reprezentri pentru valoarea 0
+0 = 0,0000
-0 = 1,0000
Reprezentare n complementul fa de 1
0, N dac N 0
1, N dac N 0
Un numr N este
unde N se obine prin negarea fiecrui bit din N.
Exemplu:
N= 8=0,1000
N = -8=1,0111
Reprezentare n complementul fa de 2
0, N dac N 0
1, C 2 ( N ) dac N 0
Un numr N este:
Unde C2(N), complementul fa de 2 al numruluiN , se obine n
felul urmtor: se exploreaz numrul de la dreapta la stnga pn
la primul 1 i se las aceste cifre neschimbate , apoi se neag
fiecare bit.
Exemplu:
+8 = 0,1000
25
Proiectare logic
-8 1,1000
n calculatoare se utilizeaz de obicei complementul fa de 2
Adunarea n C2
Regula de adunare a dou numere reprezentate n C2 este:
-Se adun numerele bit cu bit, inclusiv bitul de semn, i se ignor
eventualul transport de la bitul de semn.
-Dac apare depire , atunci se semnalaz eroare i rezultatul
este invalidat. n cazul exemplelor urmtoare, cu numere pe patru
bii, depirea apare cnd rezultatul va fi mai mare dect 15(10)
-La adunarea numerelor de acelai semn apare depire dac
i numai dac rezultatul are semn contrar semnului numerelor.
Exemple
Exemplul 1
N1=5
N2=3
Este un caz de adunare a dou numere pozitive a cror sum
este 8<15, deci fr eroare. Reprezentarea lor n binar, cu cifr
de semn i suma lor este:
N1 0,0101+
N2 0,0011
0,1000 = 8(10)
Exemplul 2
N1=10
N2= 9
Este un caz de dou numere pozitive a cror sum este 19 >16,
exist depire, deci eroare.
N1 0,1010
N2
0,1001
1,0011
1depire.
Exemplul 3
N1 = 3
N2 = 9
27
Proiectare logic
29
Proiectare logic
Exemplu
N1 = 8(10)=1000(2) = 0,1000
N2 = 7(2) = 0111(2) = 0,0111
N1N2 = 0,1000 0,0111= 0,1000+1,1001 = 0,0001= 1(10)
1.2.2.
Reprezentarea numerelor n virgul mobil
Aceast form de reprezentare se utilizeaz pentru unii
vectori foarte mari sau foarte mici sau pentru numerele cu parte
fracionar. Fa de reprezentarea n virgul fix, n virgul
mobil exist avantajul de a nu mai exista depiri.
Un numr N poate fi scris n virgul mobil astfel:
N = M2E
unde:
M = mantisa numrului
E = exponentul numrului
M = SMc1 c2.cn
E = SE e1 e2..em
unde:
SM semnul mantisei
SE semnul exponentului
c1 c2.cn cifrele mantisei
e1 e2..em cifrele exponentului
Numrul de cifre ale mantisei i exponentului difer n funcie de
standardul de reprezentare. n standardul IEEE exist:
-format scurt
E-8 bii
M-23 bii
-format lung
E-11 bii M-52 bii
Semnul mantisei i al exponentului:
0 daca numarul este pozitiv
SME
Numrul biilor pentru exponent determin domeniul de mrime
al numerelor reprezentate. Numrul biilor pentru mantis
determin precizia de exprimare a numrului.
n prim faz orice numr N este adus la forma
N = (,f)2e
unde:
N este numrul ce trebuie reprezentat n virgul mobil
f este partea fracionar a lui N
31
Proiectare logic
f=1001 mantisa
31
32
31
24 23 22 21 20
N
2 1 2 2 2 3 2 4 2 5
32
25
0,11111 1,1111.21
N
exponentul
1
N 8
1
2 3 (0,001) 2
N= 8
=.-1,0.2-3
e 3 exponentul
f=0
mantisa
33
Proiectare logic
S=0
f = 1111
C = -1 + 127 = 126 = 01111110
Cuvntul este
32 31
24 23
0 01111110 1111000
Exemplul 3
1
1,0 23
8
S=1
f=0
1
0
35
Proiectare logic
1
0
37
Proiectare logic
C=10000101=133 e=133+127=6
f= 100 1111 0000 1111 0010 0001
N=1,10011110000001000126
=1100111,100001111000010000=103,5296+
1.2.2.3. Operaii n VM
Adunarea i scderea a dou numere n VM se efectueaz astfel:
-Se compar cei doi exponeni pentru a-l determina pe cel mai
mare.
-Se aliniaz mantisa numrului cu exponent mai mic prin
deplasarea virgulei exponentului mai mare.
-Se adun sau se scad mantisele aliniate, pstrnd exponentul
comun.
-Eventual se normalizeaz mantisa, concomitent cu modificarea
rezultatului.
Exemplul 1 (adunare)
3
N1 = 4
N2 =7
S se efectueze N1 +N2
2 2
21 2 2 0,11 1,1.21 0,0011
2
2
N1 =
22
1
N2 = 7=111=1,11.22
N1 +N2 =(0,0011+1,11)=1,111122
Nu este necesar normalizarea.
Exemplul 2 (scdere)
N2 =9 N1 =34
N1 =34=100010=1,0001025
N2 =9=1001=1,00123 =0,0100125
N1 -N2 =(1,00010-0,01001)25 =0,01001.25 =1,1001.24
nmulrea i mprirea n VM se efectueaz astfel:
-Se adun sxau se scad exponenii.
-Se inmulesc sau se mpart mantisele.
-Se normalizeaz rezultatul.
Exemplul 1 (nmulire)
N1 =5
N2 =9
39
Proiectare logic
N1 =5 =101=1,0122
N2 =9=1001=1,00123
N1 N2 =(1,011,001)22+3 =1,0110125=101101=45
Exemplul 2 (mprire)
N1 =5 N2 =10
N1 =101=1,0122
N2 =10=1010=1,01023
N1:N2 = (1,01:1,01)22-3 = 1,02-1 = (0,1)2 = (0,5)10
1.3.
CODURI DE REPREZENTARE A
INFORMAIEI
5
0101
n mod curent simbolurile mulimii A (alfabet) se numesc
caractere, ele cupriznd litere, cifre, semne de punctuaie etc.
Exist o clasificare a codurilor din punct de vedere al
semnelor utilizate:
-coduri NUMERICE- n care sunt reprezentate doar numere:
41
Proiectare logic
N=
a q
i i
unde
ai = {0,1}
qi = reprezint ponderea poziiei corespunztore a codului.
Cel mai cunoscut cod ponderat este codul binar-zecimal,
cunoscut ca CBZ
i 0
43
Proiectare logic
Codul CBZ
n CBZ ponderile sunt 8421 (q0 =0, q1 = 2, q2 =4, q3 =8) , motiv
pentru care este cunoscut sub denumirea de cod 8421.
De exemplu:
7=0111=1.20 +1.21 +1.22 +0.23.
Codul 8421 este numit codul CBZ natural, ntruct
fiecare cifr zecimal este nlocuit cu un grup de 4 cifre binare
corespunztoare numeraiei naturale n sistemul binar
.
Tabelul 1. 2. Coduri ponderate
Nr
8421
2421
4221
5421
7421
642(-1)
0
0000
0000
00000
0000
0000
0000
1
0001
0001
0001
0001
0001
0011
2
0010
0010
0010
0101
0010
0010
3
0011
0011
0011
0010
0011
0101
4
0100
0100
0110
0100
0100
0100
5
0101
1011
1001
1000
0101
0111
6
0110
1100
1100
1001
0110
1000
7
0111
1101
1101
1010
0111
1011
8
1000
1110
1110
1011
1001
1010
9
1001
1111
1111
1100
1010
1101
n structura unitilor centrale exist uniti aritmetice
logice , denumite UAZ, (uniti aritmetice zecimale) care,
utiliznd decodoare binar-zecimale i zecimal-binare, pot s
implementeze toate operaiile aritmeticologice folosite n
binar. Utilizarea UAZ-urilor
duce la o vitez sporit dar i la
un numr de erori mai mare i, implicit, la un cost mai mare.
In tabelul 2 sunt date alte exemple de coduri ponderate:
2421, 4221, 5421, 7421.n aceste coduri ponderate unele numere
se pot exprima n mai multe variante i din aceast cauz este
45
Proiectare logic
47
Proiectare logic
1.3.1.3.
Canal de transmisie
receptor
49
Proiectare logic
canal
Pt Octet transmis
Octet recepionat
Pc
comparare
Pr
Pr
Eroare
51
Proiectare logic
Coduri bit
paritate
00000
00011
00101
00110
00110
01010
01100
01111
10001
10010
Codul 2 din 5
Pentru a putea detecta i un numr par de erori se utilizeaz
codul 2 din 5, deoarece acest cod permite la fiecare numr exact
doar 2 bii de 1. De remarcat c i n cazul acestui cod este
posibil s nu se detecteze eroarea dar rata de apariie a erorilor
este mult mai mic.
Exemplu:
Dac se transmite 7(10001) i dac ultimii doi bii se
recepioneaz eronat, se primete 10010 adic 8. Bitul de
paritate e neschimbat, se primete prin cod un numr valid i
detecia nu apare la dou erori.
Codul CHECK- SUM
Pentru perifericele care stocheaz date la blocuri de mari
dimensiuni, se calculeaz Check-Sum-ul unui bloc prin suma
tuturor cuvintelor fr transport. Check- Sum-ul calculat pentru
blocul de emisie se compar cu cel calculat la recepie i dac
sunt egale nu exist eroare.
53
Proiectare logic
n cuvinte
m bii
BLOC
cu nxm
cuvinte
CSe
emisie
BLOC
Recepionat
CSc
comparare
CSr
eroare
55
Proiectare logic
57
Proiectare logic
59
Proiectare logic
1
3
c
P
1
c
2
c
3
c
1
c
2
c
3
c
-Dac P = P = P =0
61
Proiectare logic
Exemplul 1
Fie de transmis codul 1001 deci:
d1 = 1, d2 =0, d3 = 0. d4 =1
Pc1 =1+0+1 =0
Pc2 =1+0+1=0
Pc3 =0+0+1=1
d r1 1
d r2 0
d r3 0
d r4 1 Rezult la fel ca la codare, deci fr eroare la bii de date.
Biii de paritate recepionai:
Pr1 0
Pr2 0
Pr3 1 Nici la biii de paritate nu s-au recepionat erori
Biii de paritate calculai sunt:
Pc1 = Pr1 d r1 d r2 d r4 =0+1+0+1=0
Pc2 = Pr2 d r1 d r3 d r4 =0+1+0+1=0
Pc3 = Pr3 d r2 d r2 d r4 =1+0+0+1=0
1
2
3
Deoarece Pc Pc Pc sunt 000, nu este eroare.
Exemplul 2
63
Proiectare logic
1
La corecie r
i deci d
=0
3 calculat
Exemplul 3
Presupunem c cuartetul Hamming recepionat este 0111001 deci
b2 este eronat respectiv P2 este eronat.
Biii de paritate sunt;
1
1
1
2
4
. Pc = Pr d r d r d r =0+1+0+1=0
65
Proiectare logic
Codul ASCII
Codul ASCII (American Standard Code for Information
Interchange) este un cod standard de reprezentare a caracterelor
prin valori ntregi pe 7 bii. Acest cod a fost introdus pentru a se
obine o compatibilitate ntre diferitele tipuri de echipamente
utilizate la procesarea datelor. Este compus din:
Codul ASCII STANDARD i
Codul ASCII EXTINS.
Codul ASCII STANDARD
Acest cod a aprut n aniii 60-70 i este un cod pe 7 bii
care const n 128 caractere (27 ) atribuite unor caractere, numere,
semne de punctuaie i celor mai uzuale caractere speciale. Cele
34 caractere de control sunt desemnate prin nume abreviate.
Caracterele de control se utilizeaz pentru transmiterea datelor i
aranjarea textului ntr-un anumit format. Exist trei tipuri de
caractere de control: de formatare, de separare a informaiei i
de control al comunicaiei.
Tabelul 1.5 Codul ASCII (7bii)-STANDARD
b6 b5 b3
b3 b2
000
001 010 011 100 101
b1 b0
0000 NUL DLE
0
P
@
L
0001 SOH DC1
!
1
A
Q
0010
STx DC2
"
2
B
R
0011
ETx DC3
#
3
C
S
0100 EOT DC4
$
4
D
T
0101 ENO NAK %
5
E
U
0110 ACK SYN
&
6
F
V
0111 BEL ETB
*
7
G
W
1000
BS
CAN
(
8
H
X
1001
HT
EM
)
9
I
Y
1010
LF
SUB
:
J
Z
110
111
"
a
b
c
d
e
f
g
h
i
j
q
r
s
t
u
v
w
x
y
z
67
Proiectare logic
1011
1100
1101
1110
1111
VT
FF
CR
SO
SI
ESC
FS
GS
RS
US
+
,
/
:
<
=
>
?
K
L
M
N
O
[
\
]
^
]
k
l
m
n
o
{
|
}
DEL
69
Proiectare logic
71
Proiectare logic
13
sunt
b1
b2
fel
culoare
cup
rou
caro
rou
pic
negru
trefl
Negru
Pentru a
codifica cele
tipuri de cri
necesari 4 bii.
Exemplu de tip
de codificare:
Tabelul 1.7.
b3
b4
b5
b6
carte
10
As
73
Proiectare logic
1
10xxxx
0xxxxx
xx0110
xx1xxx
xx11xx
75
Proiectare logic
CAPITOLUL 2
2.BAZELE LOGICE ALE SISTEMELOR DE
CALCUL
2.1.FORMALISMUL MATEMATIC AL PROIECTRII
LOGICE. ALGEBRA BOOLE.
Bazele algebrei Boole au fost puse de matematicianul i
logicianul englez George Boole (1815-1864). A fost conceput ca
o metod simbolic pentru tratarea funciilor logice dar a fost
dezvoltat i aplicat i n alte domenii ale matematicii. In anul
1938 Claude Shanon a utilizat-o pentru prima dat n analiza i
sinteza circuitelor de comutaie.
n anul 1854 apare la New York, n editura Dover
Publication, lucrarea lui Boole An Investigation of the Laws of
Thought . Aceast lucrare conine introducerea unei algebre (o
structur algebric) intenionat s descrie relaiile logice
complexe ale limbajului natural. Focalizarea acestei lucrri
asupra limbajului natural i relaiilor logice complexe ale
acestuia este deosebit de important dac se privete aceast
abordare prin prisma translatrii unei descrieri, n limbaj natural,
a funcionrii unui circuit (bloc funcional) oarecare, ntr-o
descriere riguroas, ne-ambigu i echivalent funcional
acesteia. n linii mari activitatea de proiectare actual n
77
Proiectare logic
79
Proiectare logic
81
Proiectare logic
83
Proiectare logic
85
Proiectare logic
1 0 1
Este important, de reinut, c ambele elemente ale mulimii B nu
trebuie privite ca fiind numere, sunt doar notate prin dou
numere. La fel de bine se pot utiliza alte dou simboluri distincte,
dar tradiional se utilizeaz 0 i 1. Aceste simboluri corespund,
din punct de vedere tehnologic, unor stri distincte ale unor
dispozitive fizice care implementeaz operatorii acestor algebre.
Se poate remarca cu uurin faptul c algebra Boolean difer,
ca structur algebric, de algebra obinuit prin distributivitatea
ambilor operatori, pe de-o parte, i prin apariia complementului,
pe de-alt parte.
Principiul dual. O privire mai atent asupra postulatelor lui
Huntington relev faptul c anumite postulate sunt grupate n
perechi iar fiecare postulat dintr-o pereche poate fi obinut din
cellalt postulat prin interschimbarea simbolurilor 0 i 1, ca i a
operatorilor + i *. Astfel se poate remarca:
a+ 0 = a, prin interschimbarea amintit devine
a* 1 = a, iar
a+ (b* c)=( a+ b) * (a+ c) se transform n
a* (b+ c) = (a* b) + (a* c).
Oricare teorem care poate fi demonstrat n algebra boolean,
are o teorem dual care este, de asemenea, adevrat. Cu alte
cuvinte, fiecare pas in demonstraia unei teoreme poate fi nlocuit
prin dualul acestuia, producnd astfel demonstraia teoremei
duale.
Teoremele fundamentale ale algebrei Booleene
Enunm principalele teoreme, cele care permit o
manipulare convenabil a algebrei Booleene. Unele dintre
teoreme sunt numite leme deoarece acestea au un rol mai limitat
de aplicabilitate, furniznd relaii utilizate n construcia
demonstraiei unor rezultate cu grad ridicat de generalitate,
teoremele. Att lemele ct i teoremele vor fi enunate dar vor fi
87
Proiectare logic
89
Proiectare logic
Idempotena :
Comutativitatea:
Asociativitatea:
Elementul neutru:
Distributivitatea:
Complementarea:
x+x=x xx=x
x+y=y+x
xy=yx
(x+y)+z=x+(y+z)=x+y+z
(xy)z = x(y.z)=xyz
pentru adunare este 0 x+0=x
pentru nmulire este 1 x1=x
x(y+z) =xy+xz
x+y.z= (x+y ) (x+z)
=0
principiul contradiciei
(complementul mai poate fi notat x)
x y x. y
Generalizare:
i 1
i 1
xi xi
xy x y
n
Generalizare:
x x
i
i 1
i 1
x+xy = x
x+ x y = x+y
forma multiplicativ x(x+y) = x
x( x +y) = xy
Algebre booleene
O algebr Boolean se identific, tradiional, prin numele
mulimii suport, B. Exist, n acest sens, urmtoarele exemple
clasice:Algebra comutatorilor, Algebra submulimilor unei
91
Proiectare logic
Aplicaii
S se aduc la forma cea mai simpl urmtoarele expresii,
utiliznd postulatele algebrei boleene:
1)
E AB( BC A)
Soluie
comutivitate +
idempoten
distrib.
absorbie
E ( A B C )( A.B C )
Soluie:
contradicie+
complementaritate+
comutativitate
distributivitate
A A.B AC BC AB BCC
3)
Soluie:
AC AC BC
E ( AB BC AC AB BC A.( A B C )
E A( B B) B(C C ) C ( A A ( A B C )
contradicie
= ( A B C )( A B C )
teriu exclus+
contradicie
4) E ( A B )( A C )( B C )( A B)( A C )(C A)
Soluie:
93
Proiectare logic
teriu
B( A A) AB B B A A B
6) E ABC ABC ABC ABC ABC
Soluie:
teriul exclus
E A. C ( B B) AB (C C ) ABC
A.C AB ABC C ( A AC ) AB
teriul exclus
absorbie
C ( A C ) A.B
E AC ( B B ) AC ( B B) ABC
absorbie
A.C AC ABC
A) ABC C C A.B C AB
E A B (C D )
Soluie:
E A B C D A B C.D A B C D
E A B C D A B C D
Soluie:
E A B C D A B C D A BC D A B C D
95
Proiectare logic
97
Proiectare logic
99
Proiectare logic
f x
Poarta I (AND)
Funcia I logic are urmtoarea interpretare:
- dac cel puin una din intrri se afl n 0 logic, atunci ieirea va
fi n 0 logic
- dac ambele intrri sunt n 1 logic atunci ieirea va fi n 1 logic.
x
y
f x y
101
Proiectare logic
f x. y
Poarta SAU-EXCLUSIV
Funcia SAU-EXCLUSIV are urmtoarea semnificaie:
-semnaleaz coincidena intrrilor prin ieire fals (0 logic);
-realizeaz suma modulo-2 , .
x
y
f=x y
103
Proiectare logic
105
Proiectare logic
y x1 x2 x3 x4 x5 x6 x7
Implementare cu pori I cu dou intrri i cu inversoare:
xi
y x1 x2 x3 x 4 x5 x6 x7 = x1 x2 x3 x4 x5 x6 x7
i 1
b) Implementare cu pori SAU cu dou intrri i cu inversoare:
107
Proiectare logic
Exemplul 2:
y x x x x x x x x x4 x1 x3 x4
1 2 3
2 3 4
1 2
S se reprezinte expresia
a)cu pori I cu dou intrri i cu inversoare;
b)cu pori SAU cu dou intrri i cu inversoare
a)
y= x1x2x3+x2x3x4+x1x2x4+x1x3x4
b)
109
Proiectare logic
Exemplul 3:
S se implementeze expresia:
y ( x1 x2 x3 )( x2 x3 x4 )( x1 x2 x4 )( x1 x3 x4 )
a)cu pori I cu dou intrri i cu inversoare;
y x1 x2 x3 x2 x3 x4 x1 x2 x4 x1 x3 x4
( x1 x2 x3 )( x2 x3 x4 )( x1 x2 x4 )( x1 x3 4 )
111
Proiectare logic
y x1 x2 x3 x2 x3 x4 x1 x2 x4 x1 x3 x4
( x1 x2 x3 )( x2 x3 x4 )( x1 x2 x4 )( x1 x3 x4 )
(Conform teoremei lui de Morgan.)
113
Proiectare logic
f ( x1 , x2 , x3 ) x1 x2 x3 x1 x2 x3 x1 x2 x3
f ( x1 , x2 , x3 , x4 ) x1 x2 x3 x4 x1 x2 x3 x4 x1 x2 x3 x4
115
Proiectare logic
f ( x1 , x 2 , x3 ) ( x1 x 2 x3 )( x1 x 2 x3 )( x1 x 2 x3 )
f ( x1 , x 2 , x3 , x4 ) ( x1 x2 x3 x 4 )( x1 x2 x3 x4 )( x1 x 2 x3 x4 )
FND este o sum de conjuncii. Numrul variabilelor din fiecare
conjuncie poate fi diferit denumrul termenilor funciei.
FNDeste forma unei funcii la care se ajunge dup minimizare
n forma de minimizare disjunctiv.De exemplu:
f ( x1 , x2 , x3 ) x1 x2 x3
f ( x1 , x2 , x3 , x4 ) x1 x3 x 4
FCD este un produs de disjuncii n care numrul variabilelor
sdin fiecare disjuncie poate diferi .FNC este forma unei funcii
la care se ajunge dup minimizare n forma de minimizare
dijunctiv.
Termenii din FCD se mai numesc i mintermi (m i) iar
termenii din FCC se mai numesc maxtermi (Mi). De exemplu:
Tabelul 2.1
f(x1,x2)
f(x1,x2,x3)
Mintermi
Maxtermi
m0 x1 x2
M 0 x1 x2
m1 x1 x2
M 1 x1 x2
m2 x1 x2
M 2 x1 x2
m3 x1 x2
M 3 x1 x2
m0 x1 x2 x3
m1 x1 x2 x3
m2 x1 x2 x3
m3 x1 x2 x3
m4 x1 x2 x3
m5 x1 x2 x3
m6 x1 x2 x3
m7 x1 x2 x3
m0 x1 x2 x3
m1 x1 x2 x3
m2 x1 x2 x3
m3 x1 x2 x3
m4 x1 x2 x3
m5 x1 x2 x3
m6 x1 x2 x3
m7 x1 x2 x3
117
Proiectare logic
Q Q
k
k 1
FCD= k 1
(legea de Morgan)
Realizarea fizic a Formei Canonice Conjunctive (FCC) se
face dup regula:
FCC a unei funcii se obine prin produsul logic al
disjunciilor corespunztoare valorilor 0 ale funciei.
Notnd cu Dk disjuncia elementar, avem:
FCC
k 1
k 1
Dk Dk
(legea de Morgan)
Exemple:
Exemplul 1
1)S se aduc la forma FCD i FCC expresia
y x1 .x 2 x3
119
Proiectare logic
x .x .x x x x x x x x x x3 x1x2 x3
FCD= 1 2 3 1 2 3 1 2 3 1 2
Forma canonic conjunctiv
FCC=
( x1 x2 x3 )( x1 x 2 x3 )( x1 x 2 x3 )
121
mplul 2: S se
dispozitiv
intrri i o
nct s avem
majoritar de la
2.3.Tabel
de
x1
0
0
0
0
1
1
1
1
Proiectare logic
x2
0
0
1
1
0
0
1
1
x3
0
1
0
1
0
1
0
1
y
0
0
0
1
0
1
1
1
Exe
realizeze
un
numeric cu trei
ieire
astfel
semnalul
intrare
Tabelul
adevr.
Funciile canonicee:
xx x xx x xx x xx x
FCD= 1 2 3 1 2 3 1 2 3 1 2 3
FCC=
( x1 x 2 x3 )( x1 x2 x3 )( x1 x2 x3 )( x1 x2 x3 )
123
Proiectare logic
125
Proiectare logic
Exemplul 3
S se realizeze un dispozitiv numeric care s transforme
codul 8421 n codul Exces 3 pe patru bii.
Soluie:
Dispozitivul numeric va avea 4 intrri i 4 ieiri. Vom scrie
FCD i FCC pentru fiecare coloan n parte, deci de patru ori.
x1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
1
y4
1
0
1
0
1
0
1
0
1
1
1
0
1
0
1
0
127
Proiectare logic
x1x2 x3 x4 x1 x2 x3 x4
129
Proiectare logic
131
Proiectare logic
Grupm
x1x2
x3x4
00
01
11
10
00
01
11
10
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
pe 1 din
obinem
termenul comun
termenul comun
x3.x4 .
y x3.x4 x1
f ( x1 , x2 , x3 x4 )
x1x2
x3x4
00
01
11
10
0
01
11
10
0
x
x
0
x
1
1
x
x
1
1
x
0
x
x
0
00
00
0
1
00
1
1
01
1
x
01
0
x
11
0
1
11
1
1
10
1
x
10
0
1
133
Proiectare logic
01
11
10
1
1
1
1
1
1
x
x
x
x
x
x
0
0
1
0
0
1
0
0
1
1
x
1
f (x , x , x , x x x x x x
1 2 3 4 5
1
5
2 3
Deci:
Pentru forma conjunctiv FNC
Regulele sunt aceleai doar c aici se grupeaz 0-urile iar
00
01
11
10
1
1
1
1
1
1
1
1
0
1
0
0
0
1
0
0
distributi vitate
x1 x3 x4 (ca la FND)
y ( x4 x1 )( x3 x1 )
2)
x1x
2
00 01 11
1
0
x
0
1
x
1
x
x
0
x3x
4
0
0
0
1
11
1
135
Proiectare logic
y x2 x4
3)
x1x2
x3
x4x5
00 00 01 01 11 11 10 10
0 1 1 0 0 1 1 0
1 1 x x 1 1 x 1
1 1 x x 0 0 0 1
1 1 x x 0 0 0 x
1 1 x x 1 x 1 1
y ( x 2 x3 x1 )( x1 x x3 )
distributivitate
( x1 x5 ) x 2 x3
x1
x2
Y1
x3
Y2
x4
DN
Y3
Y4
y
0
0
0
137
Proiectare logic
0
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
1
1
0
0
0
0
1
1
1
1
1
0
0
1
1
0
0
1
1
0
0
1
1
1
0
1
0
1
0
1
0
1
0
1
0
1
1
0
1
1
1
0
1
1
1
1
1
1
1
x1x2
x3x4
00
01
11
10
00
01
11
10
0
0
1
0
0
1
1
1
1
1
1
1
0
1
1
1
yFCD x3 x4 x1 x2 x4 x2 x3 x2 x1 x4 x1 xe
yFCC ( x2 x3 x4 )( x1 x2 x4 )( x1 x2 x3 )( x1 x3 x4 )
Se calculeaz i yFCD i yFCC i apoi se face costul pentru
fiecare form i se alege costul minim.
yFCD ( x1 x2 )( x1 x3 )( x2 x3 )( x3 x4 )( x1 x4 )( x2 x4 )
SAU
NU
139
Proiectare logic
yFCD
12
18
yFCC
12
16
yFCD
12
22
yFCC
12
20
x1
0
0
0
0
0
0
0
0
1
1
1
1
1
1
1
141
Proiectare logic
00 01 11 10
00
01
11
10
0
1
1
0
x3x4
x1x2
00 01 11 10
00
01
10
11
0
0
0
0
1
1
1
1
1
1
1
1
0
1
1
0
T4=x1
T3
1
1
1
1
0
0
0
0
1
1
1
1
T3 x1 x2 x1 x2 x1 x2
T2
x3x4
x1x2
00 01 11 10
00
01
11
10
0
1
1
0
1
0
0
1
1
0
0
1
1
0
0
1
143
Proiectare logic
T2 x2 x4 x1 x2 x1 x2 x4 ( x1 x2 ) x4 ( x1 x2 ).x4 ( x1 x2 ) x4T
T1
x3x4
x1x2
00 01 11 10
00
01
11
10
0
1
0
1
1
1
0
0
1
1
0
0
1
1
0
0
T1 x 2 x 4 x1 x3 x3 x 4 x1 x2 x3 x 4 x3 ( x 4 x 2 x1 ) x3 ( x4 x 2 x1 )
x3 ( x1 x2 x 4 )
Dispozitivul numeric este:
145
Proiectare logic
147
Proiectare logic
00
01
11
10
0
0
x
0
0
x
1
x
x
1
1
1
0
x
1
x
yFCD x1 x2 x3 x4 x2 x4 x2 x3
yFCC ( x3 x4 x1 )( x3 x4 x2 )( x1 x2 x3 )( x1 x2 x4 )
yFCD x1 x2 )( x3 x4 )( x2 x4 )( x2 x3 )
yFCC x1 x3 x4 x2 x3 x4 x1 x2 x3 x1 x2 x4
FCD
FCC
FCD
FCC
I
8
4
4
12
SAU
4
12
8
3
NU
0
O
6
12
cost
12
16
20
24
149
Proiectare logic
w x y z w x y z w y z ( x x)
w y z este un IMPLICANT
w xyz w x yz wx yz wxy
yz ( w x w x wx wx) yz yz este un
IMPLICANT PRIM
151
Proiectare logic
153
Proiectare logic
yz wxy
155
Proiectare logic
157
Proiectare logic
159
Proiectare logic
f ( x) x1 , x2 , x3 , x4 , x5 mi
ik
(FCD):
k 0,3,4,7,8,10,12,14,15,18,19,23,26,28,29,30
Tabelul 2.7
x1 x2 x3 x4 x5
0 0 0 0 0x
x1 x2 x3 x4 x5
0 0 x 0 0x
0 x 0 0 0x
Indici
Indici
0,4
0,8
Subcuburi
2-dimensiuni
Grupa
Subcuburi
1-dimensiune
Grupa
Indici
Grupa
Subcuburi
0-dimensiuni
0,4
8,12
x1 x2 x3 x4 x5
0 x x 0 0
161
1
4
8
3
10
12
18
Proiectare logic
0 0 1 0 0x
0 1 0 0 0x
0
0
0
1
0
1
1
0
0
0
1
0
1
1
0
1
1x
0x
0x
0x
3 7
11
14
19
26
28
0
0
0
1
1
1
0
1
1
0
1
1
1
0
1
0
0
1
1
1
1
1
1
0
1x
1x
0x
1x
0x
0x
4 15
23
29
30
0
1
1
1
1
0
1
1
1
1
1
1
1
1
0
1
1x
1x
1x
0x
4,12
8,10
8,12
0 x 1 0 0x
0 1 0 x 0x
0 1 x 0 0x
3,7
3,11
3,19
10,11
10,14
10,26
12,14
12,28
18,19
18,26
0
0
0
0
0
x
0
x
1
1
7,15
7,23
11,15
14,15
14,30
19,23
26,30
28,29
28,30
0
x
0
0
x
1
1
1
1
0
x
1
1
1
1
1
1
0
x
x
0
1
1
1
0
1
1
1
x
0
0
0
x
0
1
1
0
0
1
1
x
1
1
x
x
1
1
1
0
1
1
1
1
x
0
1
1
1
1
1
1
1
1
1
0
x
1x
1x
1x
xx
0x
0x
0x
0x
xx
0x
0,8
4,12
8,10
12,14
8,12
10,14
3,7
11,15
3,7
19,23
3,11
7,15
3,19
7,23
10,11
14,15
10,14
26,30
10,26
14,30
12,14
28,30
12,28
14,30
(0 x x 0 0)
0 1
x 0
(0 1
x 0)
0 x
x 0
(0 x
x 1
0)
(x 0
1 1)
0 1
x 1
(x
0)
x 1
(x
0)
x
1
1
x
0
x
1x
1x
1x
xx
0x
1x
0x
xx
0x
163
Proiectare logic
Cn g r (n r ),
r 0
n 1
n 1
r 0
r 0
r 0
C p CR p g r (n r ) g r gr (n r 1)
care este minim. n relaia de mai sus, p este numrul
implicanilor primi ai acoperirii. De obicei acoperirea cu numr
minim de elemente satisface att condiia de C n minim ct i
condiia de Cp minim. Algoritmul de obinere a acoperirii cu
165
Proiectare logic
Implican
i primi
Indici
Termeni canonici
O
bs
.
1
x
2
0
1
x
0
0
0
0
0
1
x
1
0
x
x
0
x
0
(18,19)
x 0 1
(18,26)
1 1 0
(28,29)
x x 0
(0,4,8,12)
1 x x
(,8,10,12,14)
x x 1
(3,7,11,15)
0 x 1
(3,7,19,23)
1 x 1
(10,11,14,15)
1 x 1
(10,14,26,30)
1 1 x
(12,14,28,30)
30
*
*
*
29
23
15
28
26
19
14
0 0 1
11
18
1812
10
x1 x2 x3 x4 x5
*
*
*
*
*
*
*
*
*
*
167
Proiectare logic
Nr
.
Implicani
primi
x2 x3 x4 x5
0 0 1 x
x 0 x 0
1 x x 0
x x 1 1
1 x 1 x
1 x 1 0
1
2
3
4
5
6
x1
1
1
0
0
0
x
x 1 1
Indici
10
(18,19)
(18,26)
(8,10,12,14)
(3,7,11,15(
(10,11,14,15)
(10,14,26,30
)
(12,14,28,30
)
Termeni canonici
18
11
14
26
*
*
Obs.
30
*
*
*
*
*
*
*
A
A
x1 x2 x3 x4 , x1 x4 x5 , x2 x4 x5
Dup eliminarea termenilor canonici
acoperii de aceti
implicani primi se obine tabelul implicanior primi neeseniali
2.9. Lund implicanii de pe rndurile marcate cu A,
x1x3 x4 x5 , x1x2 x4 , x2 x4 x5
169
Proiectare logic
M 26 2,6 ; M 30 6,7
b)Se alctuiete cu elementele mulimilor Mi expresia
formal n care suma se interpreteaz ca operaie logic SAU iar
produsul ca operaie logic I
171
Proiectare logic
173
Proiectare logic
CAPITOLUL 3
3. CIRCUITE LOGICE
3.1.CIRCUITE LOGICE COMBINAIONALE
Circuitele combinaionale sunt acele circuite logice
care nu memoreaz rezultatul la ieire. Din categoria lor
fac parte porile logice care stau la baza altor circuite mai
complexe ca: multiplexoarele i demultiplexoarele,
codificatoarele i decodificatoarele, comparatoarele,
circuitele aritmetice combinaionale etc
.
3.1.1. MULTIPLEXOARE
Un circuit multiplexor (MUX) este un circuit care are rolul
de a pune la ieire (E) una dintre cele 2n intrri ( I0 , I1 ,I2n-1)
selectate de cele n intrri de selecie (S 0 , S1 ,.Sn-1). Codul
binar al seleciei S va selecta intrarea ce va fi pus la ieire.
Fig.3.1.Schema bloc
a unui multiplexor.
Selectarea intrrii se face printr-un cuvnt de adres.
175
Proiectare logic
E S I S I
0 0
0 1
Ecuaia de funcionare este:
Fig. 3.2.Schema bloc, schema logic i ecuaia
de funcionare a unui MUX(2:1).
Multiplexor cu patru intrri MUX (22 : 1)
E S 0 S1 I 0 S1 S 0 I 1 S1 S 0 I 2 S1 S 0 I 3
Fig.3.3. Schema bloc i ecuaia de funcionare a unui
MUX (22 : 1)
177
Proiectare logic
E S 2 S1 S 0 I 0 S 2 S1 S 0 I 1 S 2 S1 S 0 I 2 S 2 S 1 S 0 I 3 S 2 S 1 S 0 I 4 S 2 S1 S 0 I 5
S 2 S1 S 0 I 6 S 2 S 1 S 0 I 7
Fig. 3.5. Schema bloc i ecuaia de funcionare
a unui MUX (23 : 1)
179
Proiectare logic
181
Proiectare logic
Exemple de demultiplexoare:
Demultiplexor cu dou ieiri DEMUX (1:2)
E1 S 0 I
E 0 S1 S 0 I
E1 S1 S 0 I
E 2 S1 S 0 I
E 3 S1 S 0 I
183
Proiectare logic
E 4 S 2 S1 S 0 E 5 S 2 S1 S 0 I E 6 S 2 S1 S 0 I E 7 S 2 S1 S1 I
Fig.3.10.Schema bloc i ecuaiile de funcionare ale unui
demultiplexor cu opt ieiri
185
Proiectare logic
187
Proiectare logic
189
Proiectare logic
unde:
S0S1 E0
E1
E2
E3
00
A0
A1
A2
A3
01
B0
B1
B2
B3
10
C0
C1
C2
C3
11
D0
D1
D2
D3
y f ( x1 , x2 , x3 ) x1 x2 x3
Aplicm teorema lui Shanon:
191
Proiectare logic
Aplicm din nou teorema lui Shanon fiecreia dintre cele dou
funcii:
Rezult:
f (0,0, x3 ) 0 0.x3 0
f (0,1, x3 ) 0 1.x3 x3
f (1,0, x3 ) 1 0.x3 1
Vom implementaf (1funcia
3)1cu ajutorul unui MUX
,1, x3 ) f(x
1 1,1x.x2,x
3
(4:1) n care pe selecii punem primele dou variabile iar pe cele
patru intrri punem cele patru funcii rezultate din teorema lui
Shanon.
f ( x1 , x2 , x3 , x4 ) x1 x2 x3 x4
Aplicm teorema lui Shanon:
f ( x1 x 2 x3 x 4 ) f (0,0, x3 , x 4 ) x1 x 2 f (0,1, x3 x 4 ) x1 x 2
f (1,0, x3 x 4 ) x1 x 2 f (1,1, x3 x 4 ) x1 x 2
193
Proiectare logic
f (0,1,0, x 4 ) x1 x 2 x3 f (0,1,1, x 4 ) x1 x 2 x3
f (1,0,0, x 4 ) x1 x 2 x3 f (1,0,1, x 4 ) x1 x 2 x3
f (1,1,9, x 4 ) x1 x 2 x3 f (1,1,1, x 4 ) x1 x 2 x3
unde;
f (0,0,0, x 4 ) x 4
f (1,0,0, x 4 ) 1
f (0,0,1, x 4 ) 1
f (1,0,1, x 4 ) 1
f (0,1,0, x 4 ) 1
f (1,1,0, x 4 ) 1
f (0,1,1, x 4 ) 1
f (1,1,1, x 4 ) 1
3.1.4.CODIFICATOARE
195
Proiectare logic
Ieiri
I1 I2 I3 I4 I5 I6 I7 A2
A1
A0
Iesiri rezultate:
A0 = I1 + I3 + I5 + I7
197
Proiectare logic
A1 = I2 + I3 + I6 + I7
A2 = I4 + I5 + I6 + I7
I1
I2
I3
I4
I5
I6
I7
I8
I9
199
Proiectare logic
A0 Y0 Y1 Y2 Y3
201
Proiectare logic
1
203
Proiectare logic
Tabel de adevr
A
B C D
y0
y1
y2 y3
y4
y5
y6 y7
y8
y9
0 0
0 0
0 0
0 0
0 0
205
Proiectare logic
1 0
1 1
0 0
0 1
1 0
1 1
STRI INTERZISE
207
Proiectare logic
cifra
209
1
Proiectare logic
0
a D A.B A.C AC
211
Proiectare logic
b D A.B C.D
c A B C D
213
Proiectare logic
d A B C A BC AB C
e A B C A BC
215
Proiectare logic
f ( A B C D)( A B )
g ( B C D )( A B C )
3.1.6.COMPARATOARE
Comparatoarele sunt circuite combinaionale care compar
numere cu un anumit numr de bii, furniznd la ieire trei
semnale: A>B A=B A<B
3.1.6.1.Comparatoare pe un bit(C1)
217
A1
0
0
1
1
Proiectare logic
B1
0
1
0
1
A>B
0
0
1
0
(A>B)=
A=B
0
1
0
0
A<B
1
0
0
1
A1 B
(A<B)= A1 B1
(A=B)= A1 B1
219
Proiectare logic
221
Proiectare logic
223
Proiectare logic
Semnalele scoase de
posterior T1 .
A1 B1 T0 R1
0
0
0
0
0
0
1
1
0
1
0
1
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
1
A1 B1 T0
S1
R1 T1
T1 A1 B1 R1T0 A1T0
225
Proiectare logic
227
Proiectare logic
se
obine
rezultatul:
R Rn Rn 1 .........Ri .............R2 R1
transportul; Tn
Fig.3.30. Simbolul sumatorului pe n bii.
229
Proiectare logic
3.1.7.2.MULTIPLICATOARE
Multiplicatorul pe un bit (n=1)
Circuitul combinaional care realizeaz nmulirea a dou
cuvite de 1 bit este multiplicatorul elementar. Poarta logic I
realizeaz nmulirea biilor A1 i B1 iar sumatorul complet de 1
bit adun produsul cu cel realizat de de bitul mai puin
semnificativ.
Fie A=A1
B=B1
231
Proiectare logic
233
Proiectare logic
Rezultatul este: T5 R5 R4 R3 R2 R1
Fig.3.32. Multiplicatorul pe trei bii.
235
Proiectare logic
B=BnBn-1..B2B1
.
.
..
.
Nivelul n
Un sumator S2n-1 pe 2n-1 bii iar primul produs
este deplasat spre stnga cu o poziie i intr ncepnd cu a n-a
ponere a sumatorului S2n-1 .
237
Proiectare logic
239
Proiectare logic
OPERAIE
S3S2S1S0
0000
A B
0001
A B
0010
A B
0011
A B
0100
A
0101
0110
AB
0111
A B
1000
A B
1001
AB
1010
AB
1011
A B
1100
1101
AB
1110
AB
1111
A B
241
Proiectare logic
243
Proiectare logic
245
Proiectare logic
247
Proiectare logic
u x x ........... x
Fig.3.36
249
Proiectare logic
yj
u
k 1
y1 x1 .x 2 x 2 .x3 x1 .x 2 .x3
y 2 x1 .x 2 x1 .x 2 .x3
Se folosesc trei intrri, cinci circuite I i dou circuite
SAU.
Dezavantajul ariilor programabile este acela c, odat
programat aria, coninutul acesteia nu se mai poate terge i nu
se mai poate reutiliza.
251
Proiectare logic
253
Proiectare logic
-modul sincron.
Modul asincron este acelai penru toate tipurile de bistabile.
Circuitele au dou intrri: set (S) i reset ( R ).
255
Proiectare logic
257
Proiectare logic
259
Proiectare logic
Observaii:
Se vede c modul asincron este prioritar modului sincron, n
sensul c atunci cnd pe S sau R avem un nivel de 0 bistabilul va
trece n 1 respectiv 0.
Bistabilul J-K
Bistabilul J-K acioneaz la front negativ (o tranziie de la 1
la 0) i are n mod sincron o funcionare dat de tabelul de mai
jos.
Fig.3.42.Bistabil J-K
Tabel de funcionare
J
Qn-1
Qn
Qn
261
Proiectare logic
263
Proiectare logic
265
Proiectare logic
267
Proiectare logic
269
Proiectare logic
271
Proiectare logic
3.2.2.2. Registre
Registrele sunt o alt aplicaie important a bistabilelor i
sunt de dou mari categorii:
1) Registre de stocare (memorare a informaiei)
2) Registre de deplasare a informaiei.
1). Registrele de stocare (memorare a informaiei) au rolul
de a pstra informaia. Implementarea acestor registre se face cu
bistabile de tip D care sunt cele mai adecvate acestui mod de
funcionare. Fiecare bistabil va memora un bit, deci nunrul de
bistabile necesare va fi dat de lungimea cuvntului memorat. n
figura 3.50 este dat un registru de memorie pe 4 bii.
Fig.3.50.Registru de memorie
Scrierea n registru se face n mod sincron pe intrrile de
date Di (i=numrul de bistabile D). Memorarea informaiei are
loc n momentul frontului pozitiv al ceasului (Ck,clock). Citirea
din registru se face n mod automat prin ieirile Q ale fiecrui
bistabil n parte
Registre de deplasare
273
Proiectare logic
275
Proiectare logic
cea Q1 Q2 Q3 Q4
s
0
0
0
0
0
Ck1 I1
0
0
0
Ck2 I2
I1
0
0
Ck3 I3
I2
I1
0
Ck4 I4
I3
I2
I1
Ck5 I5
I4
I3
I2
Fig.3. 51. Registru de deplasare stnga-dreapta (ST-DR)( schema
bloc i tabelul de funcionare)
Se oserv din tabel c, la fiecare impuls de ceas coninutul
registrului se mut cu cte o poziie spre dreapta. Semnalul de
ieire va fi identic cu del de intrare dar ntrziat cu un numr de
perioade de ceas egal cu numrul de bistabile.
Registru de deplasare n inel
n acest registru ieirea se pune la intrarea serial, astfel
nct informaia se recircul. Un astfel de registru este
caracterizat prin funcia Y=Qintrare ceea ce nseamn c prin
reacie se asigur nscrierea coninutului ultimeimcelule n prima.
Registru combinat (de memorie i deplasare)
ntr-o serie de aplicaii este util ca registrul s aib pe lng
intrarea serie (ca n cazul RD) i intrri paralele (ca n cazul RM).
Un astfel de registru este prezentat n figura 3.52.
277
Proiectare logic
279
Proiectare logic
Fig.3.53.Registru universal.
3.2.2.3.Memorii
Memoria FIFO(First In First Aut)
Caracteristica de baz a unei astfel de memorii este faptul c
primul cuvnt nscris va fi i primul citit. Memoria se poate
realiza cu ajutorul unor registre de deplasare stnga-dreapta.
Numrul registrelor va fi determinat de lungimea cuvntului ce
urmeaz a fi memorat. Capacitatea memoriei(numrul cuvintelor
memorate) va fi dat de lungimea registrului (numrul de celule
binare din care este format registrul). n figura 3.54. este dat
schema unei memorii FIFO pentru cuvinte de patru bii. Dac la
281
Proiectare logic
283
Proiectare logic
3.2.2.4.Convertoare
Convertor paralel serie
n numeroase aplicaii apare necesitate transformrii unor
cuvinte de cod paralel ( cu acces simultan la toate simboluirile
cuvntului) n cuvinte de cod serie (cu acces consecutiv la
simbolurile cuvntului). Un asemenea convertor poate fi realizat
cu un registru combinat aa ca n figura 3.56. Funcionarea se
poate urmri cu ajutorul tabelului i a diagramelor temporale din
figur.
Cuvntul de cod ce urmeaz a fi convertit (x1x2x3x4) se
aplic pe bornele de intrare paralelA iBiCiDi) ale registrului.
Punem CM=1 i la aplicarea unui impuls de tact pe borna T p
cuvntul se va nscrie n registru. Dup aceasta punem CM=0,
ceea ce va nsemna transformarea registrului combinat n registru
de deplasare stnga dreapta , astfel c n ritmul impulsurilor
aplicate de la intrarea Ts va avea loc evacuarea cuvntuluide cod
pe ieirea serie n ordinea x3x2x1x0.
285
Proiectare logic
CM
TS
Tp
1
0
1
0
1
0
1
1
0
0
Q
Q
1
QA QB QC QD
x0 x1 x2 x3
0
x1
x2
x3
x1
x2
x3
1
0
x01
x11
x12
x31
287
Proiectare logic
TS
T
0
T
0
T
0
T
0
T
0
T
0
IS Q
x3 x4
x2 x3
x4
x1 x2
x3
x4
x 14
x1
x2
x3
x4
x31
x 14
x1
x2
x3
x4
comand
L.S.I.
289
Proiectare logic
291
Proiectare logic
293
Proiectare logic
L1
-Nr. de promuri= L
L1
raportului L .
295
Proiectare logic
7
N
2
1
297
Proiectare logic
Exemplul 2
S se extind PROM-ul de 1284 la un PROM de 512 4.
N
29
2
7 2 4
2
N1
N=128=27 , N1 =512=29
Am considerat c CS este activ pentru valoarea de 1 logic.
299
Proiectare logic
301
Proiectare logic
303
Proiectare logic
305
Proiectare logic
CAPITOLUL 4.
APLICAII ALE PROIECTRII LOGICE
n acest capitol prezentm aplicaii att combinaionale ct
i secveniale, aplicaii care fac obiectul acestui curs. Aplicaiile
secveniale nu sunt rezolvate prin metoda automatelor finite ci
numai prin mijloacele expuse n aceast carte de proiectare
logic.
4.1.Cutarea unei valori n registre
S se proiecteze un dispozitiv numeric care s caute o
valoare ntr-un ir de 8 registre i s semnaleze registrul sau
registrele unde se afl valoarea cutat. Lungimea registrului i a
valorii cutate este de 4 bii.
Soluie
Problema face parte din categoria problemelor de cutare
care trebuie transpuse din soft n hard.
Pentru implementare utilizm 9 registre de 4 bii, 8 n care
exist, n fiecare, valorile de cutat i unu n care sunt valorile de
referin.Se mai folosesc 8 comparatoare pe 4 bii iar fiecare
dintre ieirile egal(=) va ataca o locaie a unui registru de 8 bii.
n final, poziiile pe care se gsesc valori de 1 dau numrul
registrelor n care s-agsit egalitatea.
307
Proiectare logic
309
Proiectare logic
Soluie
Avem de aflat maximul dintre 4 numere pe doi bii fiecare.
Algoritmul este de a compara, cu un comparator pe doi bii, 2
numere alturate. Rezultatul din comparatorul a dou numere
este ieirea mai mare (>) care va fi utilizat pe urmtorul nivel
pentru a multiplexa efectiv numrul mai mare.
Mai jos este dat implementarea acestui dispozitiv cu
comparatoare pe doi bii i multiplexoare (2:1) cu seleciile
comandate de ieirile comparatoarelor. Numerele de comparat
sunt:
A=A2A1
B=B2B1
C=C2C1
D=D2D1
311
Proiectare logic
313
Proiectare logic
315
Proiectare logic
4.4.Afiare numeric
S se creeze un dispozitiv numeric care s afieze, cu
ajutorul a dou sisteme de afiare numeric cu 7 segmente, unul
pus pe cifra unitilor i unul pe cifra zecilor, numerele n ordine
cresctoare de la 00 la 99. Aceast afiare se va va desfura
ciclic, adic dup ce se va ajunge la 99 sistemul va ncepe iar s
afieze de la 00.
Soluie
Un sistem de afiare cu 7 segmente are patru intrri (n binar
de la 0000 la 1001) i 7 ieiri reprezentate de cele 7 segmente
care vor decodifica cele 9 cifre de la intrare, afindu-le. n cazul
nostru utilizm un numrtor modulo 10 pentru fiecare dintre
cele dou sisteme de afiare, unul pe cifra unitilor i unul pe
cifra zecilor. Clockul pentru sistemul de afiare pe cifra unitilor
va fi dat de un generator de impulsuri cu T=1sec. Clockul pentru
sistemul de afiare a zecilor este dat atunci cnd numrtorul de
pe cifra unitilor ajunge la a zecea cifr (9). Amndou
numrtoarele sunt resetate asincron dup ce ajung la cifra 9 i
apoi fiecare continu s numere de la 0.
317
Proiectare logic
319
Proiectare logic
321
Proiectare logic
323
Proiectare logic
325
Proiectare logic
327
Proiectare logic
329
Proiectare logic
BIBLIOGRAFIE
1.
2.
3.
4.
5.
6.
7.
8.
331
Proiectare logic
333
Proiectare logic
CUPRINS
Pg.
1
PROIECTARE LOGIC
CAPITOLUL ! BAZELE ARITMETICE ALE CALCULATOARELOR
1.1. SISTEME DE NUMERAIE
1.1.1. BAZA UNUI SISTEM DE NUMERAIE
1.1.2. CONVERSIA NUMERELOR DINTR-O BAZ N ALTA
1.1.3. OPERAII ARITMETICE N BINAR, OCTAL I
HEXAZECIMAL.
1.2. REPREZENTAREA NUMERELOR N CALCULATOR
1.2.1. REPREZENTAREA NUMRELOR N VIRGUL FIX...
1.2.2. REPREZENTAREA NUMERELOR N VIRGUL
MOBIL..
1.2.2.1. REPREZENTAREA N VM SIMPL PRECIZIE
1.2.2.2. REPREZENTAREA N VM DUBL PRECIZIE..
1.2.2.3. OPERAII N VM..
1.3. CODURI DE REPREZENTARE A INFORMAIEI
1.3.1. CODURI NUMERICE
1.3.1.1. CODURI PONDERATE.
1.3.1.2. CODURI NEPONDERATE
1.3.1.3. CODURI PENTRU DETECTAREA I
CORECTAREA ERORILOR..
1.3.2. CODURI ALFANUMERICE..
CAPITOLUL 2. BAZELE LOGICE ALE SISTEMELOR DE CALCUL
2.1. ALGEBRA BOOLE
2.2. FUNCII LOGICE. CIRCUITE LOGICE..
2.2.1. PORI LOGICE..
2.2.2. IMPLEMENTAREA FUNCIILOR LOGICE
2.3. FORMA CANONIC A FUNCIILOR LOGICE
2.4. MINIMIZAREA FUNCIILOR LOGICE---------------------------------2.4.1. METODA KARNAUGH..
2.4.2. METODA QUINE-McKLUSKEI..
CAPITOLUL 3. CIRCUITE LOGICE...
3.1. CIRCUITE LOGICE COMBINAIONALE..
3.1.1.
MULTIPLEXOARE.
3.1.2. DEMULTIPLEXOARE.
3.1.3. APLICAII ALE MULTIPLEXOARELOR I
DEMULTIPLEXOARELOR
3
3
3
5
8
12
12
16
17
19
19
20
22
22
24
25
33
39
39
49
50
53
57
64
64
73
85
85
85
88
92
335
Proiectare logic
3.1.4.
3.1.5.
3.1.6.
3.1.7.
CODIFICATOARE...
DECODIFICATOARE.
COMPARATOARE..
CIRCUITE ARITMETICE COMBINAIONALE.
3.1.7.1. SUMATOARE
3.1.7.2. MULTIPLICATOARE
3.1.7.3. CIRCUITE SAU I I LA NIVEL DE BIT..
3.1.7.4
UNITATE ARITMETICO-LOGIC...
3.1.8. ARII PROGRAMABILE..
3.2. CIRCUITE SECVENIALE..
3.2.1. CIRCUITE BISTABILE..
3.2.2. APLICA II ALE BISTABILELOR.
3.2.2.1. NUMRTOARE.
3.2.2.2. REGISTRE
3.2.2.3. MEMORII
3.2.2.4. CONVERTOARE.
3.2.3. CIRCUITE PROMO
4
CAPITOLUL IV. APLICAII N PROIECTAREA LOGIC.
4.1
CUTAREA UNEI VALORI N REGISTRE
4.2
AFLAREA MAXIMULUI DINTRE MAI MULTE NUMERE
4.3
COMANDA UNUI SEMAFOR..
4.4
AFIARE NUMERIC..
4.5
SIMULAREA UNUI CEAS..
4.6
AFIRE ALFANUMERIC..
BIBLIOGRAFIE
96
99
106
108
108
112
116
117
120
123
123
129
129
132
137
139
143
149
149
150
152
154
155
157
161