Algebra di Boolee Circuiti Logiciarccas/materiale/lezioni/Lezione_4.pdf · 2016-10-02 ·...

Preview:

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

Recommended