digital logic designย ยท 2020. 10. 21.ย ยท numar cifre semnificative in baza 10 ๐10 =numar cifre...
TRANSCRIPT
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