Funzioni e Reti Logiche -...
Transcript of Funzioni e Reti Logiche -...
![Page 2: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/2.jpg)
[email protected] Architetture degli Elaboratori 1 – I 2
Funzioni circuitali • I circuiti elettronici non sono in grado di svolgere
operazioni complesse o algebriche • Le funzioni base che si riescono a svolgere con
logica basata su commutatori bistabili (transistor) sono operazioni logiche (AND, OR, EX-OR) tra bit
• Dobbiamo imparare a maneggiare le funzioni logiche
• Per semplicità grafica useremo i simboli algebrici (+) al posto di OR e (·) al posto di AND, se non ci sono ambiguità (·) può venire omesso
![Page 3: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/3.jpg)
[email protected] Architetture degli Elaboratori 1 – I 3
Operatori logici • AND (·) – ha le stesse proprietà della
moltiplicazione nell’algebra convenzionale, in particolare 1 · X = X
• OR (+) – la le stesse proprietà della somma nell’algebra convenzionale, inoltre 1+X = 1, da cui deriva ovviamente 1+1 = 1
• Negazione (x) – inverte il valore della variabile • EX-OR ( ) – può essere espresso come una
somma di prodotti x y = xy+yx e assume valore 1 quando uno solo degli ingressi è uno
![Page 4: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/4.jpg)
[email protected] Architetture degli Elaboratori 1 – I 4
Funzioni logiche • Le funzioni logiche sono combinazioni di AND, OR,
EX-OR e negazioni di variabili logiche • Es.
– f1(x,y) = xy+yx – f2(x,y,z) = xy+x+z – f3(x,y,z) = x+y(x+z) – f4(x,y,z,w) = xw yz
![Page 5: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/5.jpg)
[email protected] Architetture degli Elaboratori 1 – I 5
Funzioni logiche e mappe di verità • Una combinazione logica (funzione) di variabili xi porta
alla definizione di una mappa di verità • Es.
• Dove si riconosce – f1(x1 , x2) = x1 + x2 – f2(x1 , x2) = x1 · x2
1 1 1 1 0 1 0 1 0 1 1 0
0 0 0 0 f2 f1 x2 x1
![Page 6: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/6.jpg)
[email protected] Architetture degli Elaboratori 1 – I 6
Accendiamo una lampadina ...
supply
Light
Pos ition 0
Position 1
Position 0
Position 1
Common ground
Power bulb Switch x
1
Switch x 2
tipica configurazione per l’accensione di una lampadina da due punti
![Page 7: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/7.jpg)
[email protected] Architetture degli Elaboratori 1 – I 7
Accendiamo una lampadina ...
0 0 1
1 1 1 1 1 1
1 0
0 0 0 0
1
0
0
1
1
1 1
x 1
x 2
f x 1
x 2
, ( ) x 1
x 2
+ = x 1
x 2
Configurazione degli interruttori in OR
![Page 8: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/8.jpg)
[email protected] Architetture degli Elaboratori 1 – I 8
Accendiamo una lampadina ...
1 0 0 0 0 0
0 0 1
1 1 1
1 1
0 0
x 1
x 2
x 1
x 2
f x 1
x 2
, ( ) x 1
x 2
·=
configurazione degli interruttori in AND
![Page 9: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/9.jpg)
[email protected] Architetture degli Elaboratori 1 – I 9
Accendiamo una lampadina ...
1 1 0 1 1
0
0 0 0 0
0 1
1 1 1 1 1 1
1 0
0 0
x 1 x 2
x 1
x 2
f x 1
x 2
, ( ) x 1
x 2
⊕ =
configurazione degli interruttori in EX-OR
![Page 10: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/10.jpg)
[email protected] Architetture degli Elaboratori 1 – I 10
Porte logiche • Le operazioni logiche elementari vengono svolte da
circuiti elettronici realizzati appositamente per effettuare la funzione, che vengono in genere chiamate “porte” o “gate” in inglese
• Ogni funzione ha una sua porta ... porta AND, porta OR, ...
• L’uscita della porta ha il valore della funzione logica implementata
![Page 11: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/11.jpg)
[email protected] Architetture degli Elaboratori 1 – I 11
Porte logiche
Rappresentazione standard delle porte logiche più comuni
Ai fini della sintesi di un circuito che realizza una funzione logica è uso dare una rappresentazione grafica delle porte
Le porte possono essere collegate tra loro per realizzare reti logiche, che sono la base di tutti i circuiti, siano essi integrati o a componenti discreti
![Page 12: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/12.jpg)
[email protected] Architetture degli Elaboratori 1 – I 12
Negazione degli ingressi
è uso rappresentare gli ingressi negati con un semplice pallino sull’ingresso
anzichè con la porta NOT
Le porte logiche possono anche avere più di 2 ingressi
![Page 13: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/13.jpg)
[email protected] Architetture degli Elaboratori 1 – I 13
Torniamo alle mappe di verità • Una mappa di verità contiene tante righe quante sono
le possibili combinazioni delle variabili, cioè 2n dove n è il numero di variabili.
• Ciascuna riga della colonna corrisponde per cui la funzione vale 1 corrisponde all’AND logico di una data combinazione delle variabili o delle variabili negate
• La funzione logica complessiva è definita dall’OR logico di tutte le combinazioni che danno per risultato 1
• La mappa di verità definisce una funzione somma (OR) di prodotti (AND)
![Page 14: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/14.jpg)
[email protected] Architetture degli Elaboratori 1 – I 14
Esempio
x1 x2 x3
x1 x2 x3
x1 x2 x3
x1 x2 x3 1 1 0 0
1 1 1 0
0 1 0 1
0 1 1 1 1 0 1 1
1 0 0 1
0 0 1 0
0 0 0 0 f x3 x2 x1
f(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3
![Page 15: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/15.jpg)
[email protected] Architetture degli Elaboratori 1 – I 15
Sintesi di reti logiche • Una rete logica può essere sintetizzata
direttamente dalla tavola di verità, ovvero dalla sua forma “somma di prodotti”
• Risulta una rete a due stadi, il primo di porte AND, il secondo con una sola porta OR
• Qualche esempio ...
![Page 16: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/16.jpg)
[email protected] Architetture degli Elaboratori 1 – I 16
Sintesi di reti logiche
• rete che realizza una funzione XOR tra due ingressi
![Page 17: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/17.jpg)
[email protected] Architetture degli Elaboratori 1 – I 17
Un’altra funzione
x1 x2 x3
x1 x2 x3
x1 x2 x3
x1 x2 x3
1 1 0 0
1 1 1 0
0 1 0 1
1 1 1 1 0 0 1 1
0 0 0 1
0 0 1 0
1 0 0 0 f1 x3 x2 x1
f(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3
![Page 18: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/18.jpg)
[email protected] Architetture degli Elaboratori 1 – I 18
Sintesi di reti logiche
• Possiamo realizzarla con un numero minore di porte?
![Page 19: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/19.jpg)
[email protected] Architetture degli Elaboratori 1 – I 19
Costo di una rete logica
• Per COSTO di una rete logica si intende normalmente la somma del numero di porte e del numero di ingressi della rete (indipendentemente dal fatto che siano positivi o negati)
5 porte più
16 ingressi ⇒ costo 21
![Page 20: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/20.jpg)
[email protected] Architetture degli Elaboratori 1 – I 20
Minimizzazione di funzioni logiche • Data una funzione logica esistono molte reti logiche
diverse per realizzarla ... non tutte equivalenti dal punto di vista del costo
• Dalla tavola di verità si ottiene una rete logica a due stadi, non necessariamente quella a costo minimo
• Esiste un modo per minimizzare la una funzione logica in modo che il suo costo implementativo sia minimo?
![Page 21: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/21.jpg)
[email protected] Architetture degli Elaboratori 1 – I 21
Minimizzazione di funzioni logiche • Una espressione logica si dice minima quando il
costo della rete logica che la realizza è minimo • È possibile che una rete minima abbia più di due
stadi, cioè l’espressione corrispondente non è in forma somma-di-prodotti
• Le configurazioni con più di due stadi hanno applicazioni limitate perché introducono un ritardo maggiore nell’elaborazione (propagazione dei segnali dagli ingressi delle porte alle uscite delle porte e quindi agli ingressi dello stadio successivo)
![Page 22: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/22.jpg)
[email protected] Architetture degli Elaboratori 1 – I 22
Identità e regole algebriche booleane
x = 1•x x = 0+x
0 = 0•x 1 = 1+x x + y = x•y x•y = x + y De Morgan
yx = xy y+x = x+y commutativa
x(yz) = (xy)z x+(y+z) = (x+y)+z associativa
xy+xz = x(y+z) (x+y)(x+z) = x+yz distributiva
0 = xx 1 = x + x complemento
x = xx x = x+x identità o idempotenza
AND (•) OR (+) nome
![Page 23: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/23.jpg)
[email protected] Architetture degli Elaboratori 1 – I 23
f(x1,x2,x3) = x2 + x1x3
Minimizzazione di funzioni logiche • La minimizzazione di alcune espressioni logiche è
banale, in altri casi è necessario applicare le regole definite prima in modo “furbo”
• Es.
f(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3
f(x1,x2,x3) = x2 + x1x2x3 furbo (costo 7)
più furbo (costo 6)
![Page 24: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/24.jpg)
[email protected] Architetture degli Elaboratori 1 – I 24
Esercizi • Realizzare in forma canonica (somma di prodotti) la
funzione XOR negata, cioè la coincidenza • Dimostrare che
– (a b) c = abc + abc + abc +abc – x + wx = x – xy + yw + xw = xy + xw usando sia le manipolazioni algebriche che le mappe di
verità delle funzioni
![Page 25: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/25.jpg)
[email protected] Architetture degli Elaboratori 1 – I 25
Minimizzazione metodo “grafico” • La minimizzazione algebrica di funzioni logiche non
è un processo semplice e diretto • Per poche variabili è possibile usare una forma
particolare delle mappe di verità che consente una minimizzazione “a vista” della rete implementativa molto semplice
• Mappe di Karnaugh
![Page 26: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/26.jpg)
[email protected] Architetture degli Elaboratori 1 – I 26
Mappe di Karnaugh (MdK) • Una MdK è una tabella a due
dimensioni che riporta le variabili logiche come indici delle righe e delle colonne e come valore nelle caselle il valore della funzione
• L’idea di base per la minimizzazione con le MdK è sfruttare l’adiacenza dei valori positivi, che indicano una possibile fattorizzazione o aggregazione dei termini moltiplicativi della tavola di verità
1 0
0 0
A 0 1 B 0
1
0 1
1 0
A 0 1 B 0
1
MdK di AB
MdK di A B
1 1
0 0
A 0 1 B 0
1
MdK di B
![Page 27: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/27.jpg)
[email protected] Architetture degli Elaboratori 1 – I 27
MdK a 3 variabili • è una tabella di 8 elementi • In genere si mettono 2 variabili
nelle colonne • Si noti la codifica delle coppie
di bit tipo “gray”
• f = x1x2+x1x2x3+x1x3
1
10 11 01 0
00 x1x2
x3
1 1 0 0 1 0 10
1 11
0 01
0 0 00
x1x2
x3
![Page 28: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/28.jpg)
[email protected] Architetture degli Elaboratori 1 – I 28
MdK a 4, 5, 6, ... variabili • Con 4 variabili è una tabella di
16 elementi • Con 5 di 34 • Con 6 di 64 • ....
• Si noti ancora la codifica delle coppie di bit tipo “gray” che è fondamentale per la minimizzazione
01
10 11 01 00
00 x1x2
x3x4
11 10
![Page 29: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/29.jpg)
[email protected] Architetture degli Elaboratori 1 – I 29
Uso delle MdK • L’idea chiave è che “1” adiacenti nelle MdK corrispondono a
termini che differiscono per una sola variabile e indicano quindi una possibile semplificazione algebrica
• Una MdK, disegnata sul piano, va interpretata come ripiegata su un toroide ⇒ le celle sui bordi sono adiacenti a quelle sul bordo opposto
![Page 30: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/30.jpg)
[email protected] Architetture degli Elaboratori 1 – I 30
Uso delle MdK • Raggruppando gli “1”
adiacenti si trovano dei termini prodotto
• Più è grande il gruppo meno variabili ci sono nel termine
• Lo stesso “1” può far parte di diversi gruppi
1 1 0 0 1 0 10
1 11
0 01
0 0 00
x1x2
x3
1 1 0 0 1 1 10
1 11
0 01
0 0 00
x1x2
x3
1 1 0 0 1 0 10
1 11
0 01
0 0 00
x1x2
x3
x1x2
x1
x1x2
x1x3
![Page 31: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/31.jpg)
[email protected] Architetture degli Elaboratori 1 – I 31
Esempio
x1 x2 x3
x1 x2 x3
x1 x2 x3
x1 x2 x3 1 1 0 0
1 1 1 0
0 1 0 1
0 1 1 1 1 0 1 1
1 0 0 1
0 0 1 0
0 0 0 0 f x3 x2 x1
f(x1,x2,x3) = x1x2x3 + x1x2x3 + x1x2x3 + x1x2x3
data la funzione a fianco minimizzarla usando le MdK
![Page 32: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/32.jpg)
[email protected] Architetture degli Elaboratori 1 – I 32
Esercizi • Disegnare le MdK delle seguenti funzioni e trovarne una
espressione minima
![Page 33: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/33.jpg)
[email protected] Architetture degli Elaboratori 1 – I 33
Condizioni di “don’t care” • Esistono situazioni in cui il valore di una variabile o
di un gruppo di variabili non ha importanza per una funzione, cioè può assumere un valore “d”. Es: – x = d – xyz = d
• Le MdK consentono di tenere conto di queste situazioni, perchè si può assegnare le caselle “d” a gruppi di “1”, che generano un termine nella funzione oppure lasciarle a “0”
![Page 34: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/34.jpg)
[email protected] Architetture degli Elaboratori 1 – I 34
MdK con “don’t care”
• f = x1x4 + x2x3x4 + x2x3x4
01
10 11 01
1 d 0 0 0 d 0 0 00
00 x1x2
x3x4
d d 1 0 d d 0 1 11
10 x2x3x4
x1x4
x2x3x4
![Page 35: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/35.jpg)
[email protected] Architetture degli Elaboratori 1 – I 35
Altri esercizi ... • Usando le MdK si trovi una realizzazione a costo minimo
della funzione f(x1,x2,x3,x4) che assume valore “1” quando uno o due degli ingressi assumono valore “1” e zero altrimenti
• Derivare tutte le possibili forme minime delle seguenti funzioni
– Vi sono più forme minime equivalenti?
– Ve ne sono di “preferibili”? – Giustificare le risposte
0 1 d d d 1 1 0 f4
1 1 0 d 1 0 1 d f3
1 0 0 0 1 1 1 1 f2
1 1 0 0
0 1 1 0
0 1 0 1
1 1 1 1 1 0 1 1
1 0 0 1
0 0 1 0
1 0 0 0 f1 x3 x2 x1
![Page 36: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/36.jpg)
[email protected] Architetture degli Elaboratori 1 – I 36
Altri esercizi ... • Si consideri la seguente condizione di “don’t care”
d = x1x2(x3x4+x3x4) + x1x3x4
Data la funzione f = x1(x2x3+x2x3+x2x3x4) + x2x4(x3+x1)
se ne trovi la realizzazione come somma di prodotti di costo minimo
• La realizzazione è unica?
![Page 37: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/37.jpg)
[email protected] Architetture degli Elaboratori 1 – I 37
Altre porte logiche • Qualsiasi funzione logica si può realizzare con porte AND e
OR • Esistono però molti altri tipi di porte logiche: l’EX-OR ne è un
esempio • Nella pratica ingegneristica le porte più usato sono le porte
NAND e NOR, cioè delle funzioni AND e OR con negazione dell’uscita
• La ragione è la facile realizzazione in tecnologia c-mos delle suddette porte
• In generale i circuiti integrati mettono a disposizione del progettista solo due tipi di porte, una per “moltiplicare” e una per “sommare”
![Page 38: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/38.jpg)
[email protected] Architetture degli Elaboratori 1 – I 38
Porte NAND e NOR
• Qualsiasi funzione realizzabile con AND e OR può essere realizzata con NAND e NOR ... solo che la “logica inversa” è un po’ meno intuitiva
![Page 39: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/39.jpg)
[email protected] Architetture degli Elaboratori 1 – I 39
Reti con reazione e memoria • Le funzioni logiche e le relative reti di
implementazione visto fino ad ora sono note come “reti combinatorie”
• Le reti combinatorie non hanno una nozione “esplicita” del tempo e non hanno memoria del passato: in ogni istante di tempo l’uscita dipende solamente dagli ingressi nell’istante considerato
• In molte applicazioni è necessario introdurre memoria nel sistema ...
• In realtà si dà sempre per scontato che un elaboratore sia in grado di memorizzare informazioni
![Page 40: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/40.jpg)
[email protected] Architetture degli Elaboratori 1 – I 40
Reti con reazione e memoria • La memoria in una rete logica si ottiene con una
“reazione” cioè alimentando l’uscita di alcune porte sugli ingressi di porte del medesimo stadio in modo da formare un anello in cui gli ingressi dipendono dalle uscite (e viceversa)
• La reazione complica in modo significativo l’analisi e la sintesi di una rete logica
• La memoria deriva dal fatto che gli ingressi “ricordano” il passato della rete attraverso il valore delle uscite passate
![Page 41: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/41.jpg)
[email protected] Architetture degli Elaboratori 1 – I 41
Elemento base di
memoria (latch)
realizzazione con due porte NOR
e schema di “temporizzazione”
della tavola di verità
![Page 42: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/42.jpg)
[email protected] Architetture degli Elaboratori 1 – I 42
Analogia Fisica
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Vin
V1V2
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Vin
VinV2
Equilibrio 0!
Equilibrio 1!
Metastabile!
Stabile left Stablie destra
. Metastabile
![Page 43: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/43.jpg)
[email protected] Architetture degli Elaboratori 1 – I 43
Memorizzare un bit
Q+!
Q–!
R!
S!
R-S Latch!
Q+
Q–
R
S
Q+
Q–
R
S
Reset!1
0
1 0
0 1
Q+
Q–
R
S
Q+
Q–
R
S
Set!0
1
0 1
1 0
Q+
Q–
R
S
Q+
Q–
R
S
Memorizzare!0
0
!q q
q !q
Elemento Bistabile!
Q+!
Q–!
q
!q
q = 0 or 1!
![Page 44: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/44.jpg)
[email protected] Architetture degli Elaboratori 1 – I 44
Stati indecidibili e temporizzazione • Dato che i segnali non si propagano in tempo nullo, l’effetto
del cambio di un ingresso di propaga in tempo finito sulle uscite
• Se le uscite sono reazionate questo può creare problemi di indecidibilità dello stato di una rete con memoria
• Gli elementi di memoria sono quindi sempre temporizzati, cioè sono governati da un segnale speciale chiamato “clock”
• Un elemento base di memoria temporizzato viene normalmente indicato come “gated latch”
![Page 45: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/45.jpg)
[email protected] Architetture degli Elaboratori 1 – I 45
• Il clock viene inserito come “ingresso di abilitazione” attraverso porte AND: se ck è a zero la rete reazionata ha gli ingressi forzati a zero e non può cambiare stato
• Quando ck è a uno la gli ingressi della rete reazionata sono gli ingressi R ed S del circuito
• Circuiti di questo tipo hanno rappresentazione grafiche “standard”
![Page 46: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/46.jpg)
[email protected] Architetture degli Elaboratori 1 – I 46
Realizzazione di un latch con porte NAND
Qual’è la tavola di verità di questo circuito?
![Page 47: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/47.jpg)
[email protected] Architetture degli Elaboratori 1 – I 47
Elementi di memoria “reali” celle D e flip-flop
• Le reti viste prima sono note come latch S-R (Set-Reset)
• Hanno il difetto di avere uno stato indecidibile (cioè l’uscita non può essere nota con certezza) quanto entrambi gli ingressi sono a uno
• In molti casi questo è inaccettabile
• Si può rimediare?? – latch-D (data) – flip-flop
![Page 48: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/48.jpg)
[email protected] Architetture degli Elaboratori 1 – I 48
latch tipo “D”
• Gli ingressi al circuito base sono ottenuti da una unica variabile
• Non vi può essere ambiguità
• Il circuito è abilitato durante tutta la fase positiva del clock
![Page 49: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/49.jpg)
[email protected] Architetture degli Elaboratori 1 – I 49
flip-flop master-slave D Q
Q
Master Slave
D
Clock
Q
Q
D Q
Q
Q m Q s
D
Clock
Q m
Q Q s =
D Q
Q
(a) Circuit
(b) Timing diagram
(c) Graphical symbol
Clk Clk
• Configurazioni più complesse (come questa) consentono ad esempio di ottenere che l’uscita del circuito commuti esattamente al termine dell’impulso di clock
![Page 50: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/50.jpg)
[email protected] Architetture degli Elaboratori 1 – I 50
Registri
– Impiegati per registrare delle word di dati – Collezione di latch edge-triggered – Caricano gli input sul fronte in salita del clock
I! O!
Clock!
D!C! Q+!
D!C! Q+!
D!C! Q+!
D!C! Q+!
D!C! Q+!
D!C! Q+!
D!C! Q+!
D!C! Q+!
i7!i6!i5!i4!i3!i2!i1!i0!
o7!
o6!
o5!
o4!
o3!
o2!
o1!
o0!
Clock!
Structure!
![Page 51: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/51.jpg)
[email protected] Architetture degli Elaboratori 1 – I 51
Operazioni su registri
– Memorizzano bit – La maggior parte delle volte operano come una barriera
tra input e output – Sul fronte in salita del clock memorizzano l’input
State = x"Rising"clock""
Output = x"Input = y"x" "
State = y"
Output = y"y"
![Page 52: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/52.jpg)
[email protected] Architetture degli Elaboratori 1 – I 52
Esempio di macchina a stati
– Circuito accumulatore
– A ogni ciclo carica l’input e lo accumula
Comb. Logic!
A"L"U"
0"
Out!MUX"0"
1"
Clock!
In!Load!
x0" x1" x2" x3" x4" x5"
x0" x0+x1" x0+x1+x2" x3" x3+x4" x3+x4+x5"
Clock!
Load!
In!
Out!
![Page 53: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/53.jpg)
[email protected] Architetture degli Elaboratori 1 – I 53
flip-flop tipo “T”
• “T” sta per “toggle” cioè “oscillatore”
• Commuta lo stato dell’uscita ad ogni colpo di clock se l’ingresso è positivo
• Molto usato per realizzare contatori
• Perchè?
![Page 54: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/54.jpg)
[email protected] Architetture degli Elaboratori 1 – I 54
flip-flop “J-K”
• Combina le proprieta` dei flip-flop di tipo T con i latch S-R
• è un circuito versatile perchè può memorizzare dati o realizzare contatori
![Page 55: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/55.jpg)
[email protected] Architetture degli Elaboratori 1 – I 55
flip-flop master-slave con preset e clear
• Consente di “forzare” delle particolari configurazioni sulle uscite (zero o uno) indipendentemente dalla “storia” del circuito
![Page 56: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/56.jpg)
[email protected] Architetture degli Elaboratori 1 – I 56
Qualche esempio di circuiti “reali”
Shift register (registo a scalamento) di 4 bit
D Q
Q Clock
D Q
Q
D Q
Q
D Q
Q
In Out
F 1 F 2 F 3 F 4
• Sapete realizzare uno shift register ciclico?
Registers
![Page 58: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/58.jpg)
[email protected] Architetture degli Elaboratori 1 – I 58
Contatore a tre bit
• Conta in su (up-counter) o conta in giù (down-counter)?
T Q
Q Clock
T Q
Q
T Q
Q
1
Q 0 Q 1 Q 2
(a) Circuit
Clock
Q 0
Q 1
Q 2
Count 0 1 2 3 4 5 6 7 0
(b) Timing diagram
![Page 59: Funzioni e Reti Logiche - disi.unitn.itdisi.unitn.it/~palopoli/courses/Arch/RetiLogiche_lect3_a.pdf · palopoli@dit.unitn.it Architetture degli Elaboratori 1 – I 2 Funzioni circuitali](https://reader031.fdocument.pub/reader031/viewer/2022021722/5c6698f309d3f20f218c7ff7/html5/thumbnails/59.jpg)
[email protected] Architetture degli Elaboratori 1 – I 59
Decodificatore per display BCD a sette
segmenti
• Sapreste progettare un decodificatore per display a 7 segmenti che presenta le lettere dell’alfabeto (maiuscole) nello stesso modo dei numeri?