Proiectare Logica Digital Logic Design 1
Proiectare Logica Digital Logic Design
1
Recapitulare
β’ Mr. Smith Problem (utilitatea algebrei booleene),
β’ Operatii logice: simboluri si notatii
β’ Algebra booleana: Teoreme Simple; Asociativitate, Comutativitate si Distributivitate; Reguli de simplificare; Principiul dualitatii, Teoremele De Morgan; Termeni de consens
β’ Demonstrarea identitatilor folosind teoremele aglebrei booleene sau tabela de adevar
2
NOT Y=A' AND Y=AΒ·B OR Y=A+B
3
George Boole (1815-1864)
If I do not take the car then I will take the umbrella if
it is raining or the weather forecast is bad.
I will take an umbrella with me if
it is raining or the weather forecast is bad.
Bad Forecast
NOT
OR
AND
Rain
Car
Take umbrella
Operatii logice: simboluri si notatii
4
Operatie Tip Op Notatie Simbol clasic Simbol IEEE
wronex
NOT unar
π΄ , A' sau Β¬A
AND binar π΄ β π΅
OR binar π΄ + π΅
XOR binar π΄π΅
Teoreme Simple:
(π¨β²)β² = π¨ : Dubla negatie == afirmatie
π¨ β π¨β² = π: O propozitie SI negatia sa FALSA
π¨ + π¨β² = π : O propozitie SAU negatia sa ADEV.
5
Asociativitate, Comutativitate si Distributivitate
Asociativitate: π¨ β π© β πͺ = π¨ β π© β πͺ = π¨ β π© β πͺ π¨ + π© + πͺ = π¨ + π© + πͺ = π¨ + π© + πͺ
Comutativitate: π¨ β π© = π© β π¨ π¨ + π© = π©+ π¨
Distributivitate: π¨ β π© + πͺ = π¨ β π© + π¨ β πͺ
π¨ + π© β πͺ = (π¨ + π©) β (π¨ + πͺ) Ciudata
6
Reguli de simplificare Idempotenta: π¨ β π¨ = π¨ π¨ + π¨ = π¨ In care apar constantele booleene: π¨ β π = π π¨ β π = π¨ : 1 = elem. neutru fata de " β " π¨ + π = π¨ : 0 = elem. neutru fata de " + " π¨ + π = π Grupul cel mai larg de reguli de simplificare: π¨ + π¨ β π© = π¨ si duala sa π¨ β π¨ + π© = π¨ π¨ + π¨ β π©β² = π¨ si duala sa π¨ β π¨ + π©β² = π¨
7
Principiul dualitatii β Dualitatea De Morgan
Daca intr-o identitate booleana interschimbam constantele
π β π
si operatorii " β " β "+"
atunci obtinem o noua identitate, numita identitatea duala.
Exemple:
π¨ β π = π si duala sa π¨ + π = π
8
Teoremele De Morgan Un exemplu remarcabil al principiului dualitatii il reprezinta teoremele De Morgan
π¨ β π© β² = π¨β² +π©β² (π¨ + π©)β² = π¨β²π©β²
Nota: In locul operatorului NOT notat cu (') β single quote (de ex. π¨β²) se mai foloseste simbolul Β¬, adica Β¬π¨. La fel de uzitata este si notatia cu bara deasupra: π¨ .
9
Termen de consens Teorema de consens: Fie functia π = π¨ β πͺ + π© β πͺβ². Un termen de consens este format din cele doua variabile diferite de C, adica π¨ β π©. Functia formata pin adaugarea acesti termen nu difera de cea initiala pentru orice valoare parametrilor: Adica π¨ β πͺ + π© β πͺβ² β‘ π¨ β πͺ + π© β πͺβ² + π¨ β π© Prin definitie un termen de consens este un termen
a carei prezenta nu schimba valoarea functiei. πͺ + π¨π©πͺβ² + π¨π© = πͺ + π¨π©πͺβ² Scopul introducerii acestor termeni de consens este simplificarea. Expresia de mai sus se simplifica: πͺ + π¨π©πͺβ² = πͺ + π¨π©
10
Demonstrarea identitatilor A+AB=A
Se poate face folosind teoremele
sau tabela de adevar
11
A B AB A+AB
0 0 0 0
0 1 0 0
1 0 0 1
1 1 1 1
12
Numere in virgula mobila
Numerele reale sunt reprezentate in sistemele de calcul sub forma numerelor in virgula mobila.
Cel mai cunoscut si raspandit standard este IEEE -754 lansat in 1985. El a impus reprezentarea numerelor pe 32 si 64 biti (respectiv numere in simpla si dubla precizie)
Acest standard a fost revizuit in 2008 si a devenit standard international cu numele ISO/IEC/IEEE 60559:2011 (se poate cumpara cu ~ 700 lei).
1. IEEE - Institute of Electrical and Electronics Engineers
2. ISO - International Organization for Standardization
3. IEC - International Electrotechnical Commission
13
IEEE 754 Formatul IEEE contine un set de reprezentari ale
valorilor numerice si impune simboluri precum NaN, +/-Inf si altele.
Un numar real in acest format este reprezentat prin 3 numere intregi
β’ s β semnul (0 sau 1 nr + sau -)
β’ e β exponent
β’ m β mantisa (significand in EN). Ea memoreaza cifrele semnificative.
mai este precizat un numar
β’ b β baza de numeratie (2 sau 10) 14
π = βπ π ΓπΓ ππ
Formatele IEEE - 754 Cele mai raspandite sunt binari32 si binari64,
respectiv in simpla si dubla precizie (vezi aici)
15
Nume Nume usual
Baza nr biti
mantisa
Nr cifre semnif in baza 10
Nr. biti exp.
Exp. bias
E min E max
binary16 Half precision
2 11 3.31 5 24β1 = 15 β14 +15
binary32 Single precision
2 24 7.22 8 27β1 = 127 β126 +127
binary64 Double precision
2 53 15.95 11 210β1 = 1023
β1022 +1023
binary128 Quadruple precision
2 113 34.02 15 214β1 = 16383
β16382 +16383
binary256 Octuple precision
2 237 71.34 19 218β1 = 262143
β262142 +262143
Bitul cel mai semnificativ al mantisei este omis in reprezentare. Ex. in binary64 : 1s+11e+(53-1)m=64biti
Binary64 online
Pentru reprezentarea in dubla precizie (binary64) exista o pagina online unde se poate vizualiza acest format (si aici pe cnic.ro).
binary64 foloseste 1 bit de semn, 11 biti pentru exponent si 52 biti pentru mantisa (NCM-1; adica se omite bitul cel mai semnificativ din mantisa deoarece acesta este intotdeauna 1)
Exemplu: β0.567810 se reprezinta astfel
16
Numar cifre semnificative in baza 10
ππΆπ10 =Numar cifre semnificative in baza 10 NCE = Numar cifre binare exponent ππΆπ = Numar cifre binare mantisa
π΅πͺπΊππ = π₯π¨π ππ ππ΅πͺπ΄ β π΅πͺπ΄Γ πππππ π
Ex: β’ binary32 ππΆπ10 = 24 log10 2 β 24 Γ 0.301 β 7.22 β’ binary64 ππΆπ10 = 53log10 2 β 15.95
17
Nume NCM NCE NCS10
binary16 11 5 3.31
binary32 24 8 7.22
binary64 53 11 15.95
binary128 113 15 34.02
binary256 237 19 71.34
Numar cifre semnificative in baza 10
ππΆπ10 = Numar cifre semnificative in baza 10
ππΆπ = Numar cifre in baza b al mantisei
π΅πͺπΊππ = π₯π¨π ππ π
π΅πͺπ΄ β π΅πͺπ΄Γ πππππ π
18
Algoritm conversie in virgula mobila Se extrage semnul: if(x>=0)semn=0;else semn=1 Se calculeaza deplasarea: offset=ππ΅πͺπ¬βπ β π .
De ex. in binary64: NCE=11 offset=210 β1=1023
Se calculeaza exponentul real: er=[lg(|x|)/lg(2)] adica er=partea intreaga din
log10 π₯
log10 2
Se determina exponentul: exp=er+offset Se determina partea fractionara ce intra in mantisa:
man=|π|/πππ β π Se trece in baza 2 aceasta parte fractionara pe π΅πͺπ΄β π biti
EXCEPTIE cand x=0 semn=0;exp=0;man=0
19
Algoritm conversie in virgula mobila
Exemplu x=-12.0625 semn=1
in binary64: offset=210 β 1=1023
Se calculeaza exponentul real: er=partea intreaga
din log10 π₯
log10 2=3
exponentul: exp=er+offset=102610=100000000102
partea fractionara a mantisei: man=|π|/πππ βπ=0.507812510=0.10000010β¦02 Se trece in baza 2 aceasta parte fractionara pe π΅πͺπ΄β π =52 biti
20
Algoritm conversie in virgula mobila
Exemplu x=-12.0625 semn=1
= β1 Γ (23 + 22 + 2-4)
= β11 Γ 23 Γ (20 + 2-1 + 2-7)
= β11 Γ 21026β1023 Γ (1 + 2-1 + 2-7)
1100000000101000001000β¦0
Alte exemple β21.375; 47.9375; 7.6875 etc (local)
21
mantisa 52 biti exponent 11 biti
semn 1 bit
Functii booleene: forme de reprezentare
Forma disjunctiva FD:
β’ π(π΄, π΅, πΆ, π·) = π΄π΅πΆ + πΆπ· + π΅
Suma de produse
Forma conjunctiva FC:
β’ g(A, B, C, D) = (A + B + C)(πΆ +π· )(A + B)
Produs de sume
22
Forme canonice
Forma canonica disjunctiva FCD:
β’ π π΄, π΅, πΆ = π0π΄β²π΅β²πΆβ² + π1π΄
β²π΅β²πΆ + π2π΄β²π΅πΆβ² +β―+
π7π΄π΅πΆ = ππππ23β1π=0 , unde ππ se numeste
mintermenul i.
Forma canonica conjunctiva FCC:
β’ g(A, B, C) =(π0+π΄ + π΅ + πΆ) β (π1 + π΄ + π΅ + πΆβ²) +
β―+ (π7 + π΄β² + π΅β² + πΆβ²) = ππ23β1π=0 , unde ππ se
numeste maxtermenul i.
23
π β π¨ = π; π + π¨ = π¨ dispar termenii pentru care ππ = π
π + π¨ = π; π β π¨ = π¨ dispar factorii pentru care ππ = π
De Morgan ππ π¨ + π© + πͺ = π¨β²π©β²πͺβ² β² ππ π¨ + π© + πͺβ² = π¨β²π©β²πͺ β²
Sum
a d
e p
rod
use
P
rod
us
de
su
me
Tabele de adevar - mintermeni
Forma analitica
β’ π π΄, π΅, πΆ, π· = π΄ π΅ πΆ + π΄ π΅πΆ + π΄ π΅πΆ + π΄π΅ πΆ = π1 +π2 +π3 +π5
Tabelul de adevar
24
Mintermeni
Mintermen Notatie A B C f
A B C π0 0 0 0 0
A B C π1 0 0 1 1
A BC π2 0 1 0 1
A BC π3 0 1 1 1
AB C π4 1 0 0 0
AB C π5 1 0 1 1
ABC π6 1 1 0 0
ABC π7 1 1 1 0
Forme canonice: exemplu
25
Fie functia f definita de tabelul: i A B C f mintermeni ππ Maxtermeni π΄π
Minfactori
0 0 0 0 1 A'B'C' A+B+C
1 0 0 1 0 A'B'C A+B+C'
2 0 1 0 0 A'BC' A+B'+C
3 0 1 1 1 A'BC A+B'+C'
4 1 0 0 1 AB'C' A'+B+C
5 1 0 1 0 AB'C A'+B+C'
6 1 1 0 1 ABC' A'+B'+C
7 1 1 1 1 ABC A'+B'+C'
FCD: π = π¨β²π©β²πͺβ² + π¨β²π©πͺ + π¨π©β²πͺβ² + π¨π©πͺβ² + π¨π©πͺ = π π, π, π, π, π FCC: π = (π¨ + π© + πͺβ²)(π¨ + π©β² + πͺ)(π¨β² + π© + πͺβ²) = π΄ π, π, π
Diagrame Venn
Diagrama in teoria multimilor
26
Diagrama Venn
Diagrame Veitch: reprezentari canonice
2 variabile
3 variabile
27
π π¨,π© π¨ π¨
π© π¨ π© π¨π©
π© π¨ π© π¨π©
π¨β¨π© π¨ = π π¨ = π
π© = π π π
π© = π π π
π π¨,π© = π¨β¨π© = π¨π© + π¨ π©
π π¨,π©, πͺ π¨ π© π¨ π© π¨π© π¨π©
πͺ π¨ π© πͺ π¨ π©πͺ π¨π©πͺ π¨π© πͺ
πͺ π¨ π© πͺ π¨ π©πͺ π¨π©πͺ π¨π© πͺ
π¨
π©
πͺ
π¨
π© π©
πͺ π¨ π©
πͺ
Diagrame Veitch: reprezentari canonice
3 variabile
28
π π¨,π©, πͺ π¨ π© π¨ π© π¨π© π¨π©
πͺ π¨ π© πͺ π¨ π©πͺ π¨π©πͺ π¨π© πͺ
πͺ π¨ π© πͺ π¨ π©πͺ π¨π©πͺ π¨π© πͺ
π¨
π©
πͺ
π¨
π© π©
πͺ
π π¨,π©, πͺ π¨ π© π¨ π© π¨π© π¨π©
πͺ π π π π
πͺ π π π π
π π¨,π©, πͺ = π© + πͺ
Diagrame Veitch: reprezentari canonice
4 variabile
29
π π¨,π©, πͺ, π« π¨ π© π¨ π© π¨π© π¨π©
πͺ π« π¨ π© πͺ π« π¨ π©πͺ π« π¨π©πͺ π« π¨π© πͺ π«
πͺ π« π¨ π© πͺ π« π¨ π©πͺ π« π¨π©πͺ π« π¨π© πͺ π«
πͺπ« π¨ π© πͺπ« π¨ π©πͺπ« π¨π©πͺπ« π¨π© πͺπ«
πͺπ« π¨ π© πͺπ« π¨ π©πͺπ« π¨π©πͺπ« π¨π© πͺπ«
π¨
π©
πͺ
π¨
π© π©
πͺ
π«
π«
π«
1
2 3
4
5
6 7 8 9 10 11 12
13 14 15
16
De ce este incorecta diagrama Venn?
30
1
2 3
4
5
6 7 8 9 10 11 12
13 14 15
16
π¨ π© πͺ π« 13 π¨ π©πͺ π« π¨π©πͺ π« π¨π© πͺ π« 11
π¨ π© πͺ π« π¨ π©πͺ π« π¨π©πͺ π« π¨π© πͺ π«
π¨ π© πͺπ« π¨ π©πͺπ« π¨π©πͺπ« 10 π¨π© πͺπ«
π¨ π© πͺπ« π¨ π©πͺπ« π¨π©πͺπ« π¨π© πͺπ«
A
B C
D
De ce este incorecta ACEASTA diagrama Venn?
Diagrame Venn: reprezentari canonice
4 variabile
31
π π¨,π©, πͺ, π« π¨ π© π¨ π© π¨π© π¨π©
πͺ π« 0 1 1 0
πͺ π« 0 1 1 0
πͺπ« 1 0 0 1
πͺπ« 1 1 1 1
π¨
π©
πͺ
π¨
π© π©
πͺ
π π¨,π©, πͺ, π« = π©πͺ + π© πͺ + πͺπ«
π«
π«
π«
Tema de antrenament
Problemele 2.1-2.14 de la pagina 41 din cursul de referinta : B. Holdsworth and R.C. Woods, Digital Logic Design, 4th Edition, 1999
32