Documente Academic
Documente Profesional
Documente Cultură
Fizic - Informatic an II
gasner@uaic.ro
2. Circuite logice
Copyright Paul GASNER 1
Cuprins
Funcii booleene Pori logice Circuite combinaionale
codoare i decodoare multiplexoare i demultiplexoare regitri de deplasare sumatoare
Circuite secveniale
circuite flip/flop circuite flip-flop J/K master-slave contor binar codat zecimal (BCD)
Copyright Paul GASNER 2
Analogic i digital
Semnal analogic
variaie continu n timp spectru continuu de valori
Semnal digital
variaie brusc (discontinu) n timp spectru discret de valori imensa majoritate a calculatoarelor utilizeaz semnal digital cu 2 niveluri logic binar
Conversia analogic-digital se realizeaz cu modem modulator-demodulator (semnalele analogice sunt utilizate la transmisia la distan a semnalelor digitale)
x 0 1
Copyright Paul GASNER
x 0 0 1 1
y 0 1 0 1
F0 0 0 0 0
F1 0 0 0 1
F2 0 0 1 0
F3 0 0 1 1
F4 0 1 0 0
F5 0 1 0 1
F6 0 1 1 0
F7 0 1 1 1
F8 1 0 0 0
F9 1 0 0 1
F10 1 0 1 0
F11 1 0 1 1
F12 1 1 0 0
F13 1 1 0 1
F14 1 1 1 0
F15 1 1 1 1
Axiome i teorii
Operaiile calculatorului
la nivel logic elementar, operaiile circuitelor de baz sunt operaiile logicii booleene se efectueaz operaiile aritmetice n baza 2 funciile booleene sunt implementate la nivel logic cu circuite combinaionale
Operaiile calculatorului
este utilizat tensiunea electric pentru reprezentarea celor dou valori discrete 1 i 0, cu care se formeaz numerele binare tensiunea electric este utilizat i la reprezentarea valorilor logice 'adevrat' (true) i 'fals' (false) Volts pentru simplicitate:
0 este 'fals' (false)
1.8
True False
aceast interpretarea este utilizat pentru implementarea funciilor speciale n hardware i la efectuarea diverselor calcule
Exprimarea funciilor
i funciile logice pot fi exprimate n dou modaliti:
O expresie boolean. finit, dar nu unic tabel de adevr unic i finit
O expresie este finit dar nu unic f(x,y) = = = = 2x + y x+x+y 2(x + y/2) ...
x
x 0 1 NOTx 1 0
10
Expresie: Poarta:
Tabela de adevr:
x 0 0 1 1
y 0 1 0 1
xy 0 0 0 1
x 0 0 1 1
y 0 1 0 1
x+y 0 1 1 1
x 0 1
NOTx 1 0
11
Pori i expresii
Orice expresie boolean poate fi convertit ntr-un circuit prin combinarea porilor elementare
x yz xyz
12
Expresii booleene
Operaiile de baz por fi utilizate deci pentru a forma expresii complicate: f(x,y,z) = (x + y')z + x' Not:
f este numele funciei (x,y,z) sunt variabilele de intrare (1 sau 0) complementul se noteaz x'= NOT x
Ordinea operaiilor:
NOT urmat de AND, apoi OR. paranteze (de ex. expresia de mai sus):
13
Tabele de adevr
O tabel de adevr prezint toate valorile posibile pentru intrrile i ieirile funciei
Deoarece exist doar un numr finit de valori (1 and 0), tabela de adevr este i ea finit O funcie cu n variabile are 2n combinaii posibile are intrrilor
= = = = = = = =
(0 (0 (0 (0 (1 (1 (1 (1
+ + + + + + + +
+ + + + + + + +
1 1 1 1 0 0 0 0
= = = = = = = =
1 1 1 1 0 1 0 1
14
Expresii i circuite
Expresia booleean este convertit ntr-un circuit cu pori logice Diagrama de mai jos prezint intrrile i ieirile pentru fiecare poart Ordinea operaiilor este explicit n circuit (x + y)z + x
15
Analiza circuitului...
Analiza de circuit explic modul de funcionare a circuitelor din punct de vedere logic
Fiecare circuit calculeaz o funcie care poate fi descris ca o expresie booleean sau prin tabela de adevr Scopul este deci de a gsi o expresie echivalent sau tabela de adevr a circuitului
1. n primul rnd trebuie stabilite clar mrimile de intrare i de ieire pentru circuit
16
...ecuaiile algebrice...
2. Se scriu expresiile la ieirea fiecrei pori, n funcie de intrrile sale
Se ncepe de la inputs i se termin la outputs E preferabil efectuarea de simplificri algebrice
Exemplu:
Apare o mic simplificare la poarta AND de sus Se observ c circuitul calculeaz f(x,y,z) = xz + yz + xyz
17
18
Simularea circuitului...
Circuitul poate fi simulat la mn sau cu un program de simulare i se gsesc strile ieirilor pentru fiecare combinaie posibil a intrrilor De exemplu, cnd xyz = 101, ieirile porilor vor arta astfel:
Se utilizeaz tabelele de adevr pentru AND, OR i NOT pentru a gsi ieirile porilor Ieirea final este f(1,0,1) = 1
1 0 1 1 1 1 1 0
0 0
x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1
z 0 1 0 1 0 1 0 1
19
20
21
Determinarea inputs/outputs
23
Simplificarea expresiilor
Expresia boolean se poate simplifica:
xy + xyz + xy = x(y + y) + xyz (Distributivitatea: xy + xy = x(y + y) ) = x1 + xyz = x + xyz = 1 (x + yz) = x + yz ( y + y = 1 ) ( x1 = x ] ( x + x = 1 )
24
Circuite echivalente
Expresia boolean are aadar dou circuite echivalente Circuitul optim este circuitul cu cel mai puine pori:
este mai ieftin consum mai puin energie este mai fiabil
25
26
Se poate negarea fiecrui termen din duala funciei: duala funciei f este x + (y + z)(y + z) complementarea fiecrei variabile conduce la x + (y + z)(y + z) i deci f(x,y,z) = x + (y + z)(y + z)
27
Not: porile NOT sunt implicite iar variabilele apar de mai multe ori la intrare
Copyright Paul GASNER 28
Mintermeni
Un mintermen este un produs special de variabile n care fiecare variabil apare o singur dat O funcie cu n variabile are 2n mintermeni Fiecare mintermen este adevrat pentru o singur combinaie de intrri:
Mintermen Adevrat dac xyz x=0, y=0, z=0 xyz x=0, y=0, z=1 xyz x=0, y=1, z=0 xyz x=0, y=1, z=1 xyz x=1, y=0, z=0 xyz x=1, y=0, z=1 xyz x=1, y=1, z=0 xyz x=1, y=1, z=1
Copyright Paul GASNER
Notaie m0 m1 m2 m3 m4 m5 m6 m7
29
Suma de mintermeni
Orice funcie poate fi scris ca o sum de minitermeni Notaia este unic pentru o funcie Dac avem tabela de adevr pentru o funcie, suma de mintermeni poate fi scris lund n considerare doar liniile care au 1 la output
x 0 0 0 0 1 1 1 1 y 0 0 1 1 0 0 1 1 z f(x,y,z) f(x,y,z) 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1
f = xyz + xyz + xyz + xyz + xyz = m0 + m1 + m2 + m3 + m6 = m(0,1,2,3,6) f = xyz + xyz + xyz = m4 + m5 + m7 = m(4,5,7) f' conine mintermenii care nu se gsesc n f
30
31
Maxtermeni
Un maxtermen este o sum de variabile n care fiecare input apare o singur dat O funcie cu n variabile are 2n maxtermeni Fiecare maxtermen este fals pentru o singur combinaie de inputs:
Maxtermen x+y+z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z x + y + z
Copyright Paul GASNER
Fals dac x=0, y=0, z=0 x=0, y=0, z=1 x=0, y=1, z=0 x=0, y=1, z=1 x=1, y=0, z=0 x=1, y=0, z=1 x=1, y=1, z=0 x=1, y=1, z=1
Notaie M0 M1 M2 M3 M4 M5 M6 M7
32
Produs de maxtermeni
Orice funcie poate fi scris ca un produs unic de maxtermeni Dat tabela de adevr a unei funcii, expresia funciei n notaia se obine lund liniile din tabel care au 0 la output
f = (x + y + z)(x + y + z)(x + y + z) = M4 M5 M7 = M(4,5,7) f = (x + y + z)(x + y + z)(x + y + z) (x + y + z)(x + y + z) = M0 M1 M2 M3 M6 = M(0,1,2,3,6)
x 0 0 0 0 1 1 1 1
y 0 0 1 1 0 0 1 1
z f(x,y,z) f(x,y,z) 0 1 0 1 1 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 0 1 0 1
33
n general, se nlocuiesc mintermenii cu maxtermenii, utiliznd numerele de maxtermeni care nu apar n suma de mintermeni n mod analog se procedez la conversia din produse de maxtermeni la sum de mintermeni
Copyright Paul GASNER 34
Concluzii
Algebra Bool ajut la simplificare expresiilor i circuitelor, garantnd obinerea unui circuit echivalent cu cel original Este necesar o metod de optimizare mai simpl
35