Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
FondamentidiInformaticaAlgebra d i Boo le e C i rcu i t i Log ic i
P ro f. XXX
A .A . 2016 /17
FondamentidiInformaticaAlgebradiBoole eCircuiti Logici
Prof. ArcangeloCastigl ioneA.A.2016/17
L’AlgebradiBoole – 1/3• Unpo’distoria• IlmatematicoingleseGeorgeBoole nel1847fondòuncampodellamatematicaedellafilosofiachiamatologicasimbolica• Shannon perprimoapplicòlalogicasimbolicaaicircuitinel1939
• L’algebradiBoole ècaratterizzatada• Variabilibooleane(obinarie): variabiliicuivaloripossonoessere0oppure1• Maanche:vero/falso,on/off,si/no• Operazioni(ofunzioni)booleane: funzioniicuiinputedoutputsonovariabilibooleane
AlgebradiBoole eCircuitiLogici
L’AlgebradiBoole – 2/3• Relazioneconicircuitilogici• Sistudial’algebrabooleanapoichélesuefunzionisonoisomorfeaicircuitidigitali• Uncircuitodigitalepuòessereespressotramiteun’espressionebooleanaeviceversa• Levariabilibooleanecorrispondonoasegnali• Lefunzionibooleanecorrispondonoacircuiti
AlgebradiBoole eCircuitiLogici
L’AlgebradiBoole – 3/3• Unoperando puòessere• Variabilebooleana• Valorebooleano(1o0)
• SullevariabiliedivaloribooleanisidefinisconoglioperatoriOR,AND eNOT• Edaltridefinitiapartiredaessi
• GlioperatoriOR eAND sonooperatori binari:agisconosudueoperandi• L’operatoreNOT èunoperatore unario: agiscesuunsolooperando• Nellavalutazionedelleespressionibooleaneesisteunarelazionediprecedenzafraglioperatori NOT,AND eOR,nell’ordineincuisonostatielencati• Peralteraretalerelazionebisognausareleparentesi
AlgebradiBoole eCircuitiLogici
GliOperatori(oFunzioni)• Glioperatori(ofunzioni)• OR• AND• NOT
AlgebradiBoole eCircuitiLogici
GliOperatori(oFunzioni)• Glioperatori(ofunzioni)• OR• AND• NOT
AlgebradiBoole eCircuitiLogici
OR– SommaLogica• Ilrisultato dell’operatore(ofunzione)ORè 1 sealmenounodeglioperandivale1.Ilrisultatoè0 neglialtricasi
• Daten variabilibinarie,lalorosommalogica(OR)èdatada
x1+ x2+ …+ xn =1 se almeno una xi vale 1, 𝑐𝑜𝑛1 ≤ 𝑖 ≤ 𝑛
0 se x1= x2= …= xn = 0
𝑥) 𝑥* 𝐹 𝑥), 𝑥* = 𝑥) + 𝑥*0 0 00 1 11 0 11 1 1
Tavoladiverità
AlgebradiBoole eCircuitiLogici
OR:PossibiliRappresentazioni• x|y<- UsatainMATLAB
• or(x,y)<- UsatainMATLAB
• x#y
• xory
• x+y
• x∪ 𝒚
• x∨ 𝒚
AlgebradiBoole eCircuitiLogici
GliOperatori(oFunzioni)• Glioperatori(ofunzioni)• AND• OR• NOT
AlgebradiBoole eCircuitiLogici
AND– ProdottoLogico• Ilrisultato dell’operatore(ofunzione)ANDè 1 seilvaloredientrambiglioperandiè1.Ilrisultatoè0 neglialtricasi
• Daten variabilibinarieindipendenti,illoroprodottologico(AND)èdatoda
x1´ x2´ …´ xn =0 se almeno una xi vale 0, 𝑐𝑜𝑛1 ≤ 𝑖 ≤ 𝑛
1 se x1= x2= …= xn = 1
𝑥) 𝑥* 𝐹 𝑥), 𝑥* = 𝑥)×𝑥*0 0 00 1 01 0 01 1 1
Tavoladiverità
AlgebradiBoole eCircuitiLogici
AND:PossibiliRappresentazioni• x&y <- UsatainMATLAB
• and(x,y) <- UsatainMATLAB
• xandy
• x∧ 𝒚
• x∩ 𝒚
• x×𝒚
• x*y
• xy
AlgebradiBoole eCircuitiLogici
GliOperatori(oFunzioni)• Glioperatori(ofunzioni)• AND• OR• NOT
AlgebradiBoole eCircuitiLogici
NOT– Negazione• L’operatore(ofunzione)NOT, inverteilvaloredell’operandosucuiopera,perquestotalvoltavienedettoinverter
• Doppianegazione
• L’elemento�̅� vienedettocomplementodix
𝑥) 𝐹 𝑥) = 𝑥)0 11 0
AlgebradiBoole eCircuitiLogici
NOT:PossibiliRappresentazioni• y=~x<- UsatoinMATLAB
• y=not(x)<- UsatoinMATLAB
• y=!x
• y=not x
• y=x’
• y=¬𝒙
• y=𝒙8
AlgebradiBoole eCircuitiLogici
AlgebradiBoole:AlcuneIdentitàFunzione AND Funzione OR Funzione NOT
0 × 0 = 0 0 + 0 = 0 x+�̅� = 10 × 1 = 0 0 + 1 = 1 x×�̅� = 01 × 0 = 0 1 + 0 = 1 �̿� = 𝑥1 × 1 = 1 1 + 1 = 1x × 0 = 0 x + 0 = x0 × x = 0 0 + x = xx × 1 = x x + 1 = 11 × x = x 1 + x = 1x × x = x x + x = x
AlgebradiBoole eCircuitiLogici
AlgebradiBoole:AlcuneIdentitàFunzione AND Funzione OR Funzione NOT
0 × 0 = 0 0 + 0 = 0 x+�̅� = 10 × 1 = 0 0 + 1 = 1 x×�̅� = 01 × 0 = 0 1 + 0 = 1 �̿� = 𝑥1 × 1 = 1 1 + 1 = 1x × 0 = 0 x + 0 = x0 × x = 0 0 + x = xx × 1 = x x + 1 = 11 × x = x 1 + x = 1x × x = x x + x = x
ProdottoLogico
AlgebradiBoole eCircuitiLogici
AlgebradiBoole:AlcuneIdentitàFunzione AND Funzione OR Funzione NOT
0 × 0 = 0 0 + 0 = 0 x+�̅� = 10 × 1 = 0 0 + 1 = 1 x×�̅� = 01 × 0 = 0 1 + 0 = 1 �̿� = 𝑥1 × 1 = 1 1 + 1 = 1x × 0 = 0 x + 0 = x0 × x = 0 0 + x = xx × 1 = x x + 1 = 11 × x = x 1 + x = 1x × x = x x + x = x
SommaLogica
NOTA:1+1=1
AlgebradiBoole eCircuitiLogici
AlgebradiBoole:AlcuneIdentitàFunzione AND Funzione OR Funzione NOT
0 × 0 = 0 0 + 0 = 0 x+�̅� = 10 × 1 = 0 0 + 1 = 1 x×�̅� = 01 × 0 = 0 1 + 0 = 1 �̿� = 𝑥1 × 1 = 1 1 + 1 = 1x × 0 = 0 x + 0 = x0 × x = 0 0 + x = xx × 1 = x x + 1 = 11 × x = x 1 + x = 1x × x = x x + x = x
Legge dell’idempotenza
AlgebradiBoole eCircuitiLogici
AlgebradiBoole:ProprietàeLeggiProprietà Commutativa Leggi di Assorbimento
Proprietà Distributiva Leggi di De Morgan
Proprietà Associativa Altre Note
𝑥1𝑥2 = 𝑥2𝑥1𝑥1 + 𝑥2 = 𝑥2 + 𝑥1
𝑥1 + 𝑥1𝑥2 = 𝑥1𝑥1(𝑥1 + 𝑥2) = 𝑥1
𝑥1 𝑥2 + 𝑥3 = 𝑥1𝑥2 + 𝑥1𝑥3𝑥1 + 𝑥2𝑥3 = 𝑥1 + 𝑥2 ×(𝑥1 + 𝑥3)
𝑥1 𝑥2𝑥3 = (𝑥1𝑥2)𝑥3𝑥1 + 𝑥2 + 𝑥3 = 𝑥1 + 𝑥2 + 𝑥3
𝑥1 + 𝑥2 = 𝑥18×𝑥28𝑥1×𝑥2 = 𝑥18 + 𝑥28
𝑥1 +𝑥18 𝑥2 = 𝑥1 + 𝑥2𝑥1(𝑥18 + 𝑥2) = 𝑥1𝑥2
AlgebradiBoole eCircuitiLogici
Leggi di De Morgan
LeggidiDeMorgan– 1/4
𝑥1 + 𝑥2 = 𝑥18×𝑥28𝑥1×𝑥2 = 𝑥18 + 𝑥28
• Ilcomplementodiunasommadivariabilièugualealprodottodeicomplementidellevariabili• Ilcomplementodidueopiùvariabili
posteinORèugualeall’ANDdeicomplementidellesingolevariabili
AlgebradiBoole eCircuitiLogici
Leggi di De Morgan
LeggidiDeMorgan– 2/4
𝑥1 + 𝑥2 = 𝑥18×𝑥28𝑥1×𝑥2 = 𝑥18 + 𝑥28
• Ilcomplementodiunprodottodivariabilièugualeallasommadeicomplementidellevariabili• Ilcomplementodidueopiùvariabili
posteinANDèequivalenteall’ORdeicomplementidellesingolevariabili
AlgebradiBoole eCircuitiLogici
LeggidiDeMorgan– 3/4• Osservazione: �̿� = 𝑥(Eq. 1)• Legge1diDeMorgan: 𝑥1 + 𝑥2 = 𝑥18×𝑥28 (Eq.2)
• Utilizzando(Eq.1) possoscrivere(Eq.2) comesegue:𝑥1 + 𝑥2 = 𝑥18×𝑥28• Utilizzandoancora(Eq.1) ottengoche𝑥1 + 𝑥2 = 𝑥18×𝑥28• L’ORfrax1 ex2 puòessereespressointerminidellesoleoperazioniANDeNOT• Ognivoltacheinun’espressionebooleanatroviamounOR,lopossiamosostituireconlaappropriatacombinazionediANDeNOT• OgniespressionepuòessereespressainterminidellesoledueoperazionilogicheANDeNOT
AlgebradiBoole eCircuitiLogici
LeggidiDeMorgan– 4/4• Osservazione: �̿� = 𝑥(Eq. 1)• Legge2diDeMorgan: 𝑥1×𝑥2 = 𝑥18 +𝑥28 (Eq.3)
• Utilizzando(Eq.1) possoscrivere(Eq.3) comesegue:𝑥1×𝑥2 = 𝑥18 +𝑥28• Utilizzandoancora(Eq.1) ottengoche𝑥1×𝑥2 = 𝑥18 +𝑥28• L’ANDfrax1 ex2 puòessereespressointerminidellesoleoperazioniOReNOT• Ognivoltacheinun’espressionebooleanatroviamounAND,lopossiamosostituireconlaappropriatacombinazionediOReNOT• OgniespressionepuòessereespressainterminidellesoledueoperazionilogicheOReNOT
AlgebradiBoole eCircuitiLogici
AlcuneOsservazioni• Identità,proprietàeleggidell’algebrabooleanasonogeneralmenteapplicatenelletrasformazionidifunzionibooleaneinaltreequivalenti,madipiùfacilerealizzazionecircuitale
• DalleleggidiDeMorgansievincechelasceltadellefunzioniOR,ANDeNOT,comefunzioniprimitive,èridondante
AlgebradiBoole eCircuitiLogici
FunzioniLogiche(oBooleane)– 1/5• Daten variabili booleaneindipendentix1,x2,…,xn,questepossonoassumere2n configurazionidistinte• Adesempio,pern =3 sihanno8configurazioni
• Configurazione: ANDdituttelevariabili,dovequellecorrispondentiaivalori0compaiononegate• Prodottofondamentaleoprodottominimo(minterm)
• Ogniriga(inrosso)mostrailvalorerestituitoapartiredaunaparticolareconfigurazionedell’input
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
x1x2x3010
AlgebradiBoole eCircuitiLogici
FunzioniLogiche(oBooleane)– 2/5
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
𝑥18 𝑥28 𝑥38𝑥18 𝑥28 𝑥3𝑥18 𝑥2𝑥38𝑥18 𝑥2𝑥3𝑥1𝑥28 𝑥38𝑥1𝑥28 𝑥3𝑥1𝑥2𝑥38𝑥1𝑥2𝑥3
Configurazioni
• 011indicatrale23=8configurazionipossibili,quellaincui• 𝑥1=0• 𝑥2 = 1• 𝑥3 = 1
• Questaconfigurazionesiscrivesemplicementeconilprodotto𝑥18 𝑥2𝑥3
AlgebradiBoole eCircuitiLogici
FunzioniLogiche(oBooleane)– 3/5• Una variabile y è funzione delle n variabili indipendenti x1, x2,…, xn, seesiste un criterio che fa corrispondere in modo univoco ad ognuna delle2n configurazioni delle variabili xi (i=1,…,n) un valore di y (ovviamente0 oppure 1)
• Una rappresentazione esplicita di una funzione è la tavola (o tabella) diverità, in cui si elencano tutte le possibili combinazioni di x1, x2, …, xn,con associato il valore di y
𝑦 = 𝐹(𝑥1, 𝑥2, … , 𝑥𝑛)
y = x1+ x2
𝑥) 𝑥* 𝑦0 0 0
0 1 1
1 0 1
1 1 1
AlgebradiBoole eCircuitiLogici
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
𝑥18 𝑥2𝑥3
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
𝑥18 𝑥2𝑥3 𝑥1𝑥28 𝑥3
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
𝑥18 𝑥2𝑥3 𝑥1𝑥28 𝑥3 𝑥1𝑥2𝑥38 𝑥1𝑥2𝑥3
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
AlgebradiBoole eCircuitiLogici
𝑥18 𝑥2𝑥3 𝑥1𝑥28 𝑥3 𝑥1𝑥2𝑥38 𝑥1𝑥2𝑥3
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
𝑥18 𝑥2𝑥3 +𝑥1𝑥28 𝑥3 + 𝑥1𝑥2𝑥38 +𝑥1𝑥2𝑥3
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
FunzioniLogiche(oBooleane)– 4/5• Oltre che mediante tavola di verità, ogni funzione booleana può essererappresentata tramite la sua espressione booleana (forma canonica)• Per passare dalla rappresentazione mediante
tavola di verità alla notazione tramiteespressione booleana è necessario1. Identificare tutte le righe della tavola di verità
che danno 1 in output2. Per ogni riga con un 1 in output, scrivere il
minterm della configurazione delle variabiliche la definiscono
3. Collegare tramite OR tutti i minterm ottenuti
𝑥18 𝑥2𝑥3 +𝑥1𝑥28 𝑥3 + 𝑥1𝑥2𝑥38 +𝑥1𝑥2𝑥3
AlgebradiBoole eCircuitiLogici
𝐹(𝑥1, 𝑥2, 𝑥3)
FunzioniLogiche(oBooleane)– 5/5• 𝐹 𝑥1, 𝑥2, 𝑥3 = 𝑥18 𝑥2𝑥3 + 𝑥1𝑥28 𝑥3 + 𝑥1𝑥2𝑥38 + 𝑥1𝑥2𝑥3
• Usando i minterm possiamo determinarel’espressione booleana di una funzionebooleana a partire dalla tavola di verità
• L’espressione booleana trovata si chiamaforma canonica della funzione
• Tutte le funzioni logiche possono essereriportate in forma canonica
• Se un minterm assume valore 1 anche lafunzione F assume il valore 1
AlgebradiBoole eCircuitiLogici
𝑥1 𝑥2 𝑥3 𝐹(𝑥1, 𝑥2, 𝑥3)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
Esempio1:dallaTavoladiVeritàallaFunzione𝑥 𝑦 𝑧 𝐹0 0 0 00 0 1 00 1 0 00 1 1 11 0 0 01 0 1 11 1 0 11 1 1 0
𝐹 𝑥, 𝑦, 𝑧 = �̅�yz + x𝑦J𝑧 + 𝑥𝑦𝑧̅Forma canonica: somma di prodotti (OR di AND)N.B. tutte le funzioni logiche si possono scrivere in questa forma
• Problema: datetrevariabilibooleane(𝑥, 𝑦, 𝑧),siscrivalafunzioneF chevale1quandosoloduediessehannovalore1
Si può scrivere la funzione come somma logica (OR) delle configurazioni corrispondenti agli 1
AlgebradiBoole eCircuitiLogici
Esempio2:dallaTavoladiVeritàallaFunzione𝑥 𝑦 𝑧 𝐹0 0 0 00 0 1 10 1 0 10 1 1 01 0 0 11 0 1 01 1 0 01 1 1 1
𝐹 𝑥, 𝑦, 𝑧 = �̅�𝑦Jz + �̅�𝑦𝑧̅ + 𝑥𝑦J𝑧̅ + xyzForma canonica: somma di prodotti (OR di AND)N.B. tutte le funzioni logiche si possono scrivere in questa forma
• Problema: datetrevariabilibooleane(𝑥, 𝑦, 𝑧),siscrivalafunzioneF chevale1quandoilnumerodi1èdispari
Si può scrivere la funzione come somma logica (OR) delle configurazioni corrispondenti agli 1
AlgebradiBoole eCircuitiLogici
CircuitoLogico
• Ilcuore diunsistemadigitale èilcircuitologico digitale• Progettatoapartiredaportelogiche• Porte collegatetraloroperformarecircuiti• Circuiti checombinatitralororivestonograndeimportanzapraticanell’architettura delcomputer
CS126 11-4 Randy Wang
Digital Logic Circuits
•The heart of a digital system is usually a digital logiccircuit
Circuit
x1x2
xm
Inpu
ts
z1z2
zn
Outputs
AlgebradiBoole eCircuitiLogici
PorteLogiche• Elementibaseutilizzatipercrearecircuitilogici• Qualsiasicircuitopuòessereimplementatousandosoloportelogiche• AND,OReNOT
• Dispositivielettronicicheimplementanosemplicifunzionibooleane
• Ciascunaportahailpropriosimbolologicochepermetteafunzionicomplessediessererappresentatemedianteundiagrammalogico
• Lafunzionediciascunaportapuòessererappresentatadaunatavoladiveritàoutilizzandolanotazionebooleana
AlgebradiBoole eCircuitiLogici
FunzioneOR:TavoladiVeritàePortaLogica𝑥1 𝑥2 𝑥1𝑂𝑅𝑥20 0 00 1 11 0 11 1 1
CS126 11-7 Randy Wang
An OR-Gate and a NOT-Gate
00 0
01 1
10 1
11 1
0 1
1 0CS126 11-7 Randy Wang
An OR-Gate and a NOT-Gate
00 0
01 1
10 1
11 1
0 1
1 0
AlgebradiBoole eCircuitiLogici
Portalogica
Tavoladiverità
FunzioneAND:TavoladiVeritàePortaLogica𝑥1 𝑥2 𝑥1𝐴𝑁𝐷𝑥20 0 00 1 01 0 01 1 1
CS126 11-6 Randy Wang
An AND-Gate
•A smallest useful circuit is a logic gate•We will connect these small gates into larger circuits
00 0 0
1 0
10 0 1
1 1
AlgebradiBoole eCircuitiLogici
Portalogica
Tavoladiverità
FunzioneNOT:TavoladiVeritàePortaLogica𝑥 𝑁𝑂𝑇𝑥0 11 1
CS126 11-7 Randy Wang
An OR-Gate and a NOT-Gate
00 0
01 1
10 1
11 1
0 1
1 0
AlgebradiBoole eCircuitiLogici
Portalogica
Tavoladiverità
AltrePorteLogiche:PortaNAND
AlgebradiBoole eCircuitiLogici
NAND=NOTAND
AltrePorteLogiche:PortaNOR
AlgebradiBoole eCircuitiLogici
NOR=NOTOR
AltrePorteLogiche:PortaXOR
AlgebradiBoole eCircuitiLogici
Esempio3:dallaFunzionealCircuito• Circuitoperlafunzione�̅�y
• Circuitoperlafunzione𝑥𝑦J
AlgebradiBoole eCircuitiLogici
Esempio4:dallaFunzionealCircuito• Circuitoperlafunzione�̅� + 𝑦
• Circuitoperlafunzione𝑥 +𝑦J
AlgebradiBoole eCircuitiLogici
Esempio5:dallaFunzionealCircuito• Circuitoperlafunzione�̅�𝑦J
• Circuitoperlafunzione�̅� + 𝑦J
AlgebradiBoole eCircuitiLogici
Esempio6:dallaFunzionealCircuito
CBAX +=
AlgebradiBoole eCircuitiLogici
Esempio7:dallaFunzionealCircuito
C= (𝐴 + 𝐵) R (𝐴𝐵)
PortaNAND
AlgebradiBoole eCircuitiLogici
Esempio8:dallaFunzionealCircuito
CBACBACBAX ++=
AlgebradiBoole eCircuitiLogici
Esempio9:dallaFunzionealCircuito
DCBAY +=
PortaNOR
AlgebradiBoole eCircuitiLogici
Esempio10:dalCircuitoallaFunzione– 1/2
AlgebradiBoole eCircuitiLogici
Esempio10:dalCircuitoallaFunzione– 2/2• Procedereprogressivamentedagliinputversol’outputaggiungendoaturnoleespressionilogicheall’outputdiciascunaportalogica
AlgebradiBoole eCircuitiLogici
Esempio11:Funzione=>TavoladiVerità=>Circuito• Siconsiderilaseguentefunzione:A(B + C)
AlgebradiBoole eCircuitiLogici
Ricapitolando…• Abbiamovistocheunafunzionelogica (maancheuncircuitologico)puòessereespressainduemodi• TavoladiVerità• PorteLogiche
• Perchéabbiamobisognodituttequestediverserappresentazioni?• Alcunesonopiùfacilidialtrepercominciareaprogettareuncircuito• Disolitosicominciaconlatavoladiverità• Siderivaun’espressionebooleanadaessa(magariesemplificata)• Sitrasformal’espressionebooleanainuncircuito
AlgebradiBoole eCircuitiLogici
Esercizio1:determinarelafunzioneespressadallaseguentetavoladiverità
A B C X0 0 0 00 0 1 10 1 0 00 1 1 01 0 0 01 0 1 11 1 0 11 1 1 0
AlgebradiBoole eCircuitiLogici
Esercizio2:ricavarelatavoladiveritàrelativaallaseguentefunzioneF• Vediamounesempioperlafunzione• 𝐹 = 𝑥×(𝑦 + 𝑧)
𝑥 𝑦 𝑧 𝐹0 0 0 ?
0 0 1 ?
0 1 0 ?
0 1 1 ?
1 0 0 ?
1 0 1 ?
1 1 0 ?
1 1 1 ?
AlgebradiBoole eCircuitiLogici
Esercizio3:trovarel’outputdelseguentecircuito
xyxyy
AlgebradiBoole eCircuitiLogici
Esercizio4:trovarel’outputdelseguentecircuito
x
y
AlgebradiBoole eCircuitiLogici
Esercizio5:trovarel’outputdelseguentecircuito
AlgebradiBoole eCircuitiLogici
Esercizio6:trovarel’outputdelseguentecircuito
AlgebradiBoole eCircuitiLogici
Esercizio7:trovarel’outputdelseguentecircuito
AlgebradiBoole eCircuitiLogici
Esercizio8:trovarel’outputdelseguentecircuito
AlgebradiBoole eCircuitiLogici
Esercizio9:progettareilcircuitoperciascunadelleseguentiespressioni• �̅� + 𝑦
•(𝑥 + 𝑦)𝑥
• ScriverelafunzioneXORusandoAND,OReNOT
AlgebradiBoole eCircuitiLogici
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