Argomento03_Circuiti logici, algebra booleana_modified

FondamentidiInformatica
AlgebradiBoole eCircuitiLogici
P ro f. C h r i st i a n E s p o s i to
C o rs o d i L a u re a i n I n g e g n e r i a M e c ca n i ca e G e st i o n a l e ( C l a s s e I )
A.A.2016/17
AlgebradiBoole eCircuitiLogici
L’AlgebradiBoole – 1/4
• Unpo’distoria
• IlmatematicoingleseGeorgeBoole nel1847fondòuncampodellamatematicae
dellafilosofiachiamatologicasimbolica
• Shannon perprimoapplicòlalogicasimbolicaaicircuitinel1939
• L’algebradiBoole ècaratterizzatada
• Variabilibooleane(obinarie): variabiliicuivaloripossonoessere0oppure1
• Maanche:vero/falso,on/off,si/no
• Operazioni(ofunzioni)booleane: funzioniicuiinputedoutputsonovariabili
booleane
• Relazioneconicircuitilogici
• Sistudial’algebrabooleanapoichélesuefunzionisonoisomorfeaicircuiti
digitali:uncircuitodigitalepuòessereespressotramiteun’espressione
booleanaeviceversa
• Levariabilibooleanecorrispondonoasegnali
• Lefunzionibooleanecorrispondonoacircuiti
AlgebradiBoole eCircuitiLogici
02/52
L’AlgebradiBoole – 2/4
• Comevariabilicontemplasoloduecostanti:0 e1 (falso evero)
• Corrispondonoaduestatichesiescludonoavicenda
• Possonodescriverelostatodiaperturaochiusuradiungenerico
contattoodiuncircuitoapiùcontatti
0
1
• Sullevariabilibooleanesidefinisconolefunzioni(odoperazioni)
AND,OR,NOT
• Edaltredefiniteapartiredaesse
AlgebradiBoole eCircuitiLogici
03/52
L’AlgebradiBoole – 3/4
• LeoperazioniAND eOR sonooperazionibinarie (agiscono
sudueoperandi),l’operazioneNOT èunaria
• Nellavalutazionedelleespressionibooleaneesisteuna
relazionediprecedenzafraglioperatori NOT,ANDeOR,
nell’ordineincuisonostatielencati
• Peralteraretalerelazionebisognausareleparentesi
• Talvoltausatesolopermaggiorechiarezza
AlgebradiBoole eCircuitiLogici
04/52
L’AlgebradiBoole – 4/4
• Glioperatori dell’algebrabooleanapossonoessererappresentatie
descrittiinvarimodi
• SpessosonodescrittisemplicementecomeAND,OReNOT
• Tavolediverità
• Nelladescrizionedeicircuitiappaionosottoformadiportelogiche
AlgebradiBoole eCircuitiLogici
05/52
Operatore(ofunzione)OR
• Sommalogica(OR): ilvaloredellasommalogicaèilsimbolo1 seil
valoredialmenounodeglioperandièilsimbolo1
Tavoladi
verità
x1
x2
F(x1,x2)=x1+x2
0
0
0
0
1
1
1
0
1
1
1
1
• Ingenerale,daten variabilibinarie,lalorosommalogica(OR)èdatada
1 se almeno una xi vale 1, π‘π‘œπ‘›1 ≤ 𝑖 ≤ 𝑛
x1+ x2+ …+ xn =
0 se x1= x2= …= xn = 0
AlgebradiBoole eCircuitiLogici
06/52
OperatoreOR:Possibili
Rappresentazioni
• x|y<- UsatoinMATLAB
• or(x,y)<- UsatoinMATLAB
• x#y
• xory
• x+y
• x∪ π’š
• x∨ π’š
AlgebradiBoole eCircuitiLogici
07/52
Operatore(ofunzione)AND
• Prodottologico(AND): ilvaloredelprodottologicoèilsimbolo1seil
valoredituttiglioperandièilsimbolo1
x1
x2
F(x1,x2)=x1× x2
0
0
0
0
1
0
1
0
0
1
1
1
• Ingenerale,daten variabilibinarieindipendenti,illoroprodottologico
(AND)èdatoda
x1´ x2´ …´ xn =
0 se almeno una xi vale 0, π‘π‘œπ‘›1 ≤ 𝑖 ≤ 𝑛
1 se x1= x2= …= xn = 1
AlgebradiBoole eCircuitiLogici
08/52
OperatoreAND:Possibili
Rappresentazioni
• x&y <- UsatoinMATLAB
• and(x,y) <- UsatoinMATLAB
• xandy
• x∧ π’š
• x∩ π’š
• x×π’š
• x*y
• xy
AlgebradiBoole eCircuitiLogici
09/52
Operatore(ofunzione)NOT
• Operatoredinegazione(NOT): inverteilvaloredellacostantesucuiopera
• Notoanchecomeinverter
1=𝟏
𝟎
1=𝟎
𝟏
4 =0
𝟎
4 =1
𝟏
• Ingenerale,lanegazionediunavariabileπ‘₯ è
π‘₯Μ… = 0 se x = 1
π‘₯Μ… = 1 se x = 0
• L’elementoπ‘₯Μ… =NOT(x)vienedettocomplemento dix
• Ilcomplementoèunico
AlgebradiBoole eCircuitiLogici
10/52
OperatoreNOT:Possibili
Rappresentazioni
• y=~x<- UsatoinMATLAB
• y=not(x)<- UsatoinMATLAB
• y=!x
• y=not x
• y=x’
• y=¬π’™
1
• y=𝒙
AlgebradiBoole eCircuitiLogici
11/52
AlgebradiBoole:Alcune
Identità
Funzione AND
Funzione OR
Funzione NOT
0×0=0
0+0=0
x+π‘₯Μ… = 1
0×1=0
0+1=1
x×π‘₯Μ… = 0
1×0=0
1+0=1
π‘₯ΜΏ = π‘₯
1×1=1
1+1=1
x×0=0
x+0=x
0×x=0
0+x=x
x×1=x
x+1=1
1×x=x
1+x=1
x×x=x
x+x=x
Legge
dell’idempotenza
AlgebradiBoole eCircuitiLogici
12/52
AlgebradiBoole:Proprietàe
Leggi
Proprietà Commutativa
π‘₯1π‘₯2 = π‘₯2π‘₯1
π‘₯1 + π‘₯2 = π‘₯2 + π‘₯1
Proprietà Distributiva
π‘₯1 π‘₯2 + π‘₯3 = π‘₯1π‘₯2 + π‘₯2π‘₯3
π‘₯1 + π‘₯2π‘₯3 = π‘₯1 + π‘₯2 + (π‘₯1 + π‘₯3)
Proprietà Associativa
π‘₯1 π‘₯2π‘₯3 = (π‘₯1π‘₯2)π‘₯3
π‘₯1 + π‘₯2 + π‘₯3 = π‘₯1 + π‘₯2 + π‘₯3
Leggi di Assorbimento
π‘₯1 + π‘₯1π‘₯2 = π‘₯1
π‘₯1(π‘₯1 + π‘₯2) = π‘₯1
Leggi di De Morgan
π‘₯1 + π‘₯2 = π‘₯11×π‘₯12
π‘₯1×π‘₯2 = π‘₯11 + π‘₯12
Altre Note
π‘₯1 + π‘₯11π‘₯2 = π‘₯1 + π‘₯2
π‘₯1(π‘₯11 + π‘₯2) = π‘₯1π‘₯2
AlgebradiBoole eCircuitiLogici
13/52
LeggidiDeMorgan– 1/4
• Ilcomplementodiunasommadivariabiliè
ugualealprodottodeicomplimentidelle
variabili
• Ilcomplementodidueopiùvariabili
posteinORèugualeall’ANDdei
complimentidellesingolevariabili
Leggi di De Morgan
π‘₯1 + π‘₯2 = π‘₯11×π‘₯12
π‘₯1×π‘₯2 = π‘₯11 + π‘₯12
AlgebradiBoole eCircuitiLogici
14/52
LeggidiDeMorgan– 2/4
• Ilcomplementodiunprodottodivariabiliè
ugualeallasommadeicomplimentidelle
variabili
• Ilcomplementodidueopiùvariabili
posteinANDèequivalenteall’ORdei
complimentidellesingolevariabili
Leggi di De Morgan
π‘₯1 + π‘₯2 = π‘₯11×π‘₯12
π‘₯1×π‘₯2 = π‘₯11 + π‘₯12
AlgebradiBoole eCircuitiLogici
15/52
LeggidiDeMorgan– 3/4
• Osservazione: π‘₯ΜΏ = π‘₯(Eq. 1)
• Legge1diDeMorgan: π‘₯1 + π‘₯2 = π‘₯11×π‘₯12 (Eq.2)
• Utilizzando(Eq.1) possoscrivere(Eq.2) comesegue:π‘₯1 + π‘₯2 = π‘₯11×π‘₯12
• Utilizzandoancora(Eq.1) ottengocheπ‘₯1 + π‘₯2 = π‘₯11×π‘₯12
• L’ORfrax1 ex2 puòessereespressointerminidellesoleoperazioniAND
eNOT
• Ognivoltacheinun’espressionebooleanatroviamounOR,lopossiamosostituire
conlaappropriatacombinazionediANDeNOT
• OgniespressionepuòessereespressainterminidellesoledueoperazionilogicheANDe
NOT
AlgebradiBoole eCircuitiLogici
16/52
LeggidiDeMorgan– 4/4
• Osservazione: π‘₯ΜΏ = π‘₯(Eq. 1)
• Legge2diDeMorgan: π‘₯1×π‘₯2 = π‘₯11 + π‘₯12 (Eq.3)
• Utilizzando(Eq.1) possoscrivere(Eq.3) comesegue:π‘₯1×π‘₯2 = π‘₯11 + π‘₯12
• Utilizzandoancora(Eq.1) ottengocheπ‘₯1×π‘₯2 = π‘₯11 + π‘₯12
• L’ANDfrax1 ex2 puòessereespressointerminidellesoleoperazioniOR
eNOT
• Ognivoltacheinun’espressionebooleanatroviamounAND,lopossiamosostituire
conlaappropriatacombinazionediOReNOT
• OgniespressionepuòessereespressainterminidellesoledueoperazionilogicheORe
NOT
AlgebradiBoole eCircuitiLogici
17/52
AlcuneOsservazioni
• Identità,proprietàeleggivistefinoadorasono
generalmenteapplicatenelletrasformazionidifunzioni
booleaneinaltreequivalenti,madipiùfacilerealizzazione
circuitale
• DalleleggidiDeMorgansievincechelasceltadelle
funzioniOR,ANDeNOT,comefunzioniprimitive,è
ridondante
AlgebradiBoole eCircuitiLogici
18/52
FunzioniLogiche(oBooleane)
– 1/5
• Daten variabilibooleane
indipendentix1,x2,…,xn,queste
possonoassumere2n configurazioni
distinte
x1
x2
x3
F(x1,x2,
x3)
0
0
0
0
0
0
1
0
• Ogniriga(inrosso)mostrailvalore
restituitoapartiredauna
particolareconfigurazionedell’input
0
1
0
0
0
1
1
1
• Unaconfigurazionespecificaè
individuataunivocamentedaun
ANDdituttelevariabili,dovequelle
corrispondentiaivalori0compaiono
negate
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
• Adesempiopern =3 sihanno8
configurazioni
• Prodottofondamentaleoprodotto
minimo(minterm)
010
AlgebradiBoole eCircuitiLogici
x 1x 2x 3
19/52
FunzioniLogiche(oBooleane)
– 2/5
x1
x2
x3
Configurazioni
π‘₯11π‘₯12π‘₯13
F(x1,x2,
x3)
0
0
0
0
π‘₯11π‘₯12π‘₯3
0
0
1
0
π‘₯11π‘₯2π‘₯13
0
1
0
0
π‘₯11π‘₯2π‘₯3
0
1
1
1
π‘₯1π‘₯12π‘₯13
1
0
0
0
π‘₯1π‘₯12π‘₯3
1
0
1
1
π‘₯1π‘₯2π‘₯13
1
1
0
1
π‘₯1π‘₯2π‘₯3
1
1
1
1
• 011indicatrale23=8configurazioni
possibili,quellaincuiπ‘₯1 vale0,π‘₯2
vale1eπ‘₯3 vale1
• Questaconfigurazionesiscrive
semplicementeconilprodotto
π‘₯11π‘₯2π‘₯3
• Seinunaconfigurazioneuna
variabilecomparecon1,siassumeil
valorediretto,seinvececomparecon
uno0,siassumeilvalorenegato
AlgebradiBoole eCircuitiLogici
20/52
FunzioniLogiche(oBooleane)
– 3/5
• Unavariabileyèfunzione dellen variabiliindipendentix1,x2,…,xn,
quandoesisteuncriteriochefacorrispondereinmodounivocoad
ognunadelle2n configurazionidix undeterminatovalorey (ovviamente
0o1)
y=F(x1,x2,…,xn)
• Unarappresentazioneesplicitadiunafunzioneèlatavoladiverità,in
cuisielencanotuttelepossibilicombinazionidix1, x2,…,xn, con
associatoilvalorediy
x1 x2
y
y = x1+ x2
0
0
1
1
0
1
0
1
AlgebradiBoole eCircuitiLogici
0
1
1
1
21/52
FunzioniLogiche(oBooleane)
– 4/5
• Sipuòspecificarel’outputdiognifunzionebooleanaesprimendo,
tramiteun’espressionebooleana,qualicombinazionidellevariabilidi
inputdeterminanol’output1
• Piùprecisamente,perpassaredalla
rappresentazionemediantetavoladiverità
allanotazionetramiteespressionebooleanaè
necessario
1. Identificaretuttelerighedellatavoladiverità
chedanno1inoutput
2. Perognirigaconun1inoutput,scriverela
configurazionedellevariabilichela
definiscono
3. CollegaretramiteORtutteleconfigurazioni
ottenute
π‘₯11π‘₯2π‘₯3 +π‘₯1π‘₯12π‘₯3 + π‘₯1π‘₯2π‘₯13 +π‘₯1π‘₯2π‘₯3
x1
x2
x3
F(x1,
x2,x3)
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
AlgebradiBoole eCircuitiLogici
22/52
FunzioniLogiche(oBooleane)
– 5/5
• 𝐹 π‘₯1, π‘₯2, π‘₯3 = π‘₯11π‘₯2π‘₯3 + π‘₯1π‘₯12π‘₯3 + π‘₯1π‘₯2π‘₯13 + π‘₯1π‘₯2π‘₯3
• Conl’usodeiminterm possiamodeterminare
l’espressionealgebricadiunafunzione
booleanaapartiredallatavoladiverità
• L’espressionealgebricatrovatasichiama
formacanonica dellafunzioneesiottienecon
unosviluppoinminterm
• Unasomma(OR)diprodotti(AND)
• Seunminterm assumevalore1anchela
funzioneF assumeilvalore1
x1
x2
x3
F(x1,
x2,x3)
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
1
AlgebradiBoole eCircuitiLogici
23/52
Esempio1:laFunzione
Exclusive OR(XOR)– 1/2
• Ilcomportamento dellafunzioneExclusive OR puòesseredescritto
comesegue
• F =“L’outputdeveessere1(vero)sesolounodeisuoiinputè1,manonse
entrambigliinputsono1”
• Questopuòessererifrasato comesegue
• F =“L’outputè1se(x1 ORx2)è1,ANDse(x1 ANDx2)sonoNOT1(falso)”
• Chepuòesserescrittocome
• 𝑭 = π’™πŸ + π’™πŸ ×(π’™πŸπ’™πŸ)
AlgebradiBoole eCircuitiLogici
24/52
Esempio1:laFunzione
Exclusive OR(XOR)– 2/2
• LafunzioneXORverificaladisuguaglianzadiduevariabili
x1
0
0
1
1
x2
0
1
0
1
XOR
0
1
1
0
Si può scrivere la funzione
come somma logica (OR)
delle configurazioni
corrispondenti agli 1
• L’espressionecomesommadiprodottièquindi
XOR(x1,x2) = π‘₯11×π‘₯2 + π‘₯1×π‘₯12
Forma canonica: somma di prodotti (OR di AND)
N.B. tutte le funzioni logiche si possono scrivere in questa forma
AlgebradiBoole eCircuitiLogici
25/52
Esempio2:dallaTavoladi
VeritàallaFunzione
x
y
z
F
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
1
1
0
0
0
1
0
1
1
1
1
0
1
1
1
1
0
• Problema: datetrevariabilibooleane
(π‘₯, 𝑦, 𝑧),siscrivalafunzioneF chevale1
quandosoloduediessehannovalore1
Si può scrivere la funzione come
somma logica (OR) delle
configurazioni corrispondenti agli 1
𝐹 π‘₯, 𝑦, 𝑧 = π‘₯Μ… yz + x𝑦L𝑧 + π‘₯𝑦𝑧̅
Forma canonica: somma di prodotti (OR di AND)
N.B. tutte le funzioni logiche si possono scrivere in questa forma
AlgebradiBoole eCircuitiLogici
26/52
Esempio3:dallaTavoladi
VeritàallaFunzione
x
y
z
F
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
• Problema: datetrevariabilibooleane
(π‘₯, 𝑦, 𝑧),siscrivalafunzioneF chevale1
quandoilnumerodi1èdispari
Si può scrivere la funzione come
somma logica (OR) delle
configurazioni corrispondenti
agli 1
𝐹 π‘₯, 𝑦, 𝑧 = π‘₯Μ… 𝑦Lz + π‘₯Μ… 𝑦𝑧̅ + π‘₯𝑦L𝑧̅ + xyz
Forma canonica: somma di prodotti (OR di AND)
N.B. tutte le funzioni logiche si possono scrivere in questa forma
AlgebradiBoole eCircuitiLogici
27/52
Esempio4:dallaFunzionealla
TavoladiVerità
• Vediamounesempioperla
funzione
• 𝐹 = π‘₯×(𝑦 + 𝑧)
x
y
z
F
0
0
0
0
0
0
1
0
0
1
0
0
0
1
1
0
1
0
0
1
1
0
1
0
1
1
0
0
1
1
1
0
AlgebradiBoole eCircuitiLogici
28/52
x1
x2
z1
z2
Circuit
xm
Outputs
Inputs
CircuitoLogico
Digital Logic Circuits
zn
• Ilcuore diunsistemadigitale èilcircuitologico digitale
• Progettatoapartiredaportelogiche
•• The
heart of a digital system is usually a digital
Collegatetraloroperformarecircuitipiùgrandi
circuit
• Combinatiperrealizzarecircuitidigrandeimportanzapratica
nell’architetturadelcomputer
AlgebradiBoole eCircuitiLogici
logic
29/52
PorteLogiche
• Buildingblock utilizzatipercrearecircuitidigitali
• Qualsiasicircuitopuòessereimplementatousandosoloportelogiche
elementari(AND,OReNOT)
• Lecosesifannocomplicatequandosihannonumerosiinputedoutput
• Dispositivielettronicicheimplementanosemplicifunzionibooleane
• Ciascunaportahailpropriosimbolologicochepermetteafunzioni
complessediessererappresentatemedianteundiagrammalogico
• Lafunzionediciascunaportapuòessererappresentatadaunatabella
diveritàoutilizzandolanotazionebooleana
AlgebradiBoole eCircuitiLogici
30/52
FunzioneOR:TavoladiVeritàe
An OR-Gate and a NOT-Ga
PortaLogica
x1
x2
0
0
0
1
x1 ORx2
0
0
00
0
1
11
0
1
1
An
OR-Gate 0and a NOT-Gate
1
1
1
1
0
0
0
1
0
1
0
1
1
10
1
1
1
0
1
1
AlgebradiBoole eCircuitiLogici
CS126
1
0
11-7
31/52
FunzioneAND:TavoladiVerità
ePortaLogica
x1
x2
x1 ANDx2
0
0
0
0
1
0
1
0
0
1
An AND-Gate
1
1
0
0
1
0
0
0
1
0
0
1
1
1
AlgebradiBoole eCircuitiLogici
• A smallest useful circuit is a logic gate
32/52
FunzioneNOT:TavoladiVerità
ePortaLogica
An OR-Gate and a NOT-Gate
x
NOTx
0
1
1
1
0
0
0
0
1
1
0
1
1
0
1
1
0
1
1
1
AlgebradiBoole eCircuitiLogici
33/52
PortaNAND
AlgebradiBoole eCircuitiLogici
34/52
PortaNOR
AlgebradiBoole eCircuitiLogici
35/52
PortaXOR
AlgebradiBoole eCircuitiLogici
36/52
PortaExclusive NOR
AlgebradiBoole eCircuitiLogici
37/52
Esempio5:dallaFunzioneal
Circuito
X = A + BC
AlgebradiBoole eCircuitiLogici
38/52
Esempio6:dallaFunzioneal
Circuito
C= (𝐴 + 𝐡) O (𝐴𝐡)
PortaNAND
AlgebradiBoole eCircuitiLogici
39/52
Esempio7:dallaFunzioneal
Circuito
X = A BC + A BC + AB C
AlgebradiBoole eCircuitiLogici
40/52
Esempio8:dallaFunzioneal
Circuito
Y = AB + CD
PortaNOR
AlgebradiBoole eCircuitiLogici
41/52
Esempio9:dalCircuitoalla
Funzione– 1/2
AlgebradiBoole eCircuitiLogici
42/52
Esempio9:dalCircuitoalla
Funzione– 2/2
• Procedereprogressivamentedagliinputversol’outputaggiungendoa
turnoleespressionilogicheall’outputdiciascunaportalogica
AlgebradiBoole eCircuitiLogici
43/52
Esempio10:Funzione=>
TavoladiVerità=>Circuito
• Siconsiderilaseguentefunzione:A(B + C)
AlgebradiBoole eCircuitiLogici
44/52
Ricapitolando…
• Abbiamovistocheunafunzionelogica (maancheuncircuitologico)
puòessereespressainduemodi
• TavoladiVerità
• PorteLogiche
• Perchéabbiamobisognodituttequestediverserappresentazioni?
•
•
•
•
Alcunesonopiùfacilidialtrepercominciareaprogettareuncircuito
Disolitosicominciaconlatavoladiverità
Siderivaun’espressionebooleanadaessa(magariesemplificata)
Sitrasformal’espressionebooleanainuncircuito
AlgebradiBoole eCircuitiLogici
45/52
Esercizio1:determinarelafunzione
espressadallaseguentetavoladiverità
A B
C
X
0
0
0
0
1
1
1
1
0
1
0
1
0
1
0
1
0
1
0
0
0
1
1
0
0
0
1
1
0
0
1
1
AlgebradiBoole eCircuitiLogici
46/52
Esercizio2:trovarel’outputdel
seguentecircuito(tavoladiveritàe
funzione)
x
y
y
AlgebradiBoole eCircuitiLogici
47/52
Esercizio3:trovarel’outputdel
seguentecircuito(tavoladiveritàe
funzione)
x
y
AlgebradiBoole eCircuitiLogici
48/52
Esercizio4:trovarel’outputdel
seguentecircuito(tavoladiveritàe
funzione)
AlgebradiBoole eCircuitiLogici
49/52
Esercizio5:trovarel’outputdel
seguentecircuito(tavoladiveritàe
funzione)
AlgebradiBoole eCircuitiLogici
50/52
Esercizio6:progettareilcircuitoper
ciascunadelleseguentiespressioni
• π‘₯Μ… + 𝑦
•(π‘₯ + 𝑦)π‘₯
• ScriverelafunzioneXORusandoAND,OReNOT
AlgebradiBoole eCircuitiLogici
51/52
Riferimenti
• Libroditesto
• Capitolo3
• Paragrafo4
• Altririferimenti
• http://www.di.unito.it/~piccolo/teach/AA1516/Lezioni/Lezione2.pdf
• http://liceocuneo.it/basteris/wp-content/uploads/sites/3/CIRCUITI20DIGITALI1.pdf
• http://bias.csr.unibo.it/maltoni/arc/Dispense/LogicaDigitale.pdf
• http://people.unipmn.it/bobbio/DIDATTICA/ARCH1_00/ALDISP_00/varbol00.pdf
AlgebradiBoole eCircuitiLogici
52/52