Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
X
F (X, Y, Z) = m(2, 3, 4, 5)
Come primo passo, la funzione data, che è già in forma canonica(somma di
mintermini), viene rappresentata su una mappa di karnaugh a tre variabili
segnando un 1 nelle caselle corrispondenti a ogni mintermine presente nella
funzione. Il passo successivo consiste nell’individuare i vari gruppi di celle sulla
mappa, che daranno luogo a somme di prodotti semplificabili.Tali gruppi sono
m
chimati accoppiamenti, gli accoppiamenti sono composte da 2 celle
adiacenti.L’obiettivo è trovare il numero il numero minimo di accoppiamenti
che copra tutti i mintermini marcati con 1, e quindi appartenenti alla
funzione data. 20
Nella mappa della figura,ho individuato due accoppiamenti che coprono tutti
i mintermini, ovvero coprono le quattro celle marcate, nel formare i sotto cubi
è importante individuare quali sono i primi essenziali e quelli non essenziali, in
quanto noi vogliamo riscrivere una forma minimizzata dell’espressione booleana
e se prendiamo anche primi non essenziali cadiamo in errore, perché andremo a
scrivere una forma non minimizzata, se esistono più scelte alternative, si privi-
legiano quelle caratterizzate dal numero minore di letterali.
• Implicanti primi sono degli implicanti che non sono coperti da nessun altro
implicante
• non si parla di implicante primo, quando l’implicante è coperto da un’
altro implicante.
Dato che i due accoppiamenti coprono tutti gli 1 presenti nella mappa, la somma
logica dei relativi prodotti dà la seguente espressione semplificata di F:
F = XY + XY
9.3.1 implicati e implicanti 4 5
Nel caso in cui si vogliano le forme minime SP (o PS si trovano tutti gli impli-
canti(risp. implicati primi della funzione, ossia i più grandi sotto cubi,anche
n
chiamati accoppiamenti di 2 celle adiacenti, che coprono gli 1(risp. gli 0)della
funzione. Quando si vanno a formare i sotto cubi, gli accoppiamenti, anche
i punti di non specificazione(don’t care), i quali vanno considerati in maniera
furba, nel senso che a seconda della condizione decidiamo di assegnare 1 o 0 al
quel punto di non specificazione se è conveniente o no. Si Selezionano, tra gli
Nel caso in cui si vogliano le forme minimeimplicanti (risp. implicati) primi
trovati, quelli essenziali, ossia quelli che sono unici a coprire un 1(risp. 0) Se
esistono più scelte alternative, si privilegiano quelle caratterizzate dal numero
minore di letterali.
• Una funzione prodotto p si dice implicante di una funzione f se f =
1(almeno) in tutti i vertici del sotto cubo relativo ad f.
• una funzione prodotto di dice implicata di una funzione f se f = 0.
4 Somme di prodotti
5 Prodotti di somme 21
9.3.2 Qualche esempio
• implicante primo quando viene effettuata una copertura con numero
massimo di letterali 22
• Implicante primo essenziale quando viene coperto il min termine non
coperto da nessun altro implicante
In questo ultimo esempio sono presenti punti di non specificazione(don’t care),
ovvero sono dei punti che non hanno una loro specifica,possiamo decidere noi
quale specifica assegnargli, a nostra convenienza, in questo caso ad esempio
mi è stato utile assegnare 1 al punto di non specificazione (riga 2 colonna 3)
perché mi permette di fare un accoppiamento amplio. Tutti gli esempio mostrati
sono implicanti in quando i sotto cubi (gli accoppiamenti) presentano tutti
1. Mentre avremmo parlato di implicati all’interno dei sotto cubi fossero stati
formati da tutti 0, in quel caso una volta scritta l’espressione minimizzata dovrà
essere complementata.
9.4 Scelta dell’implementazione
Come omai abbiamo capito una rete combinatoria a 1 uscita è descritta da
più espressioni binarie distinte ma equivalenti, ciascuna della quali definisce
un diverso schema logico della rete, ma anche sostanzialmente ci permette di
arrivare ad un medesimo risultato(se applichiamo i teoremi i maniera corretta).
I diversi schemi logici si diversificano per
• Complessità strutturale
1. Numero e tipologia delle porte logiche impiegate
2. Numero degli ingressi di ciascuna porta
• Ritardi di propagazione
1. Numero e tipo delle porte logiche ciascun segnale d’ingresso attraversa
per raggiungere l’uscita
Questo ci porta a dire che nell’ambito della stessa tecnologia, ovvero nello
stesso ambito di applicazione, i diversi schemi logici hanno costi, consumi en-
ergetici e velocità di elaborazione diversi, da questo possiamo capire che alcuni
schemi logici risulteranno molto più dispendiosi rispetto altri. Noi sappiamo che
le reti combinatorie a 1 uscita possono essere realizzate sempre con forme a
2 livelli(AND-OR, OR-AND, NAND-NAND, NOR-NOR, con al mas-
simo eventuali porte NOT sugli ingressi. Il costo di una rete è tanto più bassi
quanto minore è il numero di porte distinte e, a parità di numero di porte, quanto
6
minore è il numero di ingressi complessivi. Nel caso d’implementazione CMOS
è da preferire l’uso di porte invertenti.Quindi occorre convertire le forme SP e
PS in forme NAND-NAND o NOR-NOR, si possono cosı̀ ottenere a par-
tire dalle implementazioni SP e PS, operando direttamente sugli schemi logici.
6 è un tipo di tecnologia utilizzata in elettronica digitale per la progettazione di circuiti
integrati, alla cui base sta l’uso dell’invertitore a transistor MOSFET.
23
9.5 Implementazione NAND-NAND
Si ottiene da quella AND-OR, sostituendo le porte AND con porte NAND,
ponendo delle bolle d’inversione (porte NOT) di compensazione agli ingressi
della OR, in modo da trasformarla in una NAND
è importante che si faccia una verifica che i due schemi logici siano equivalenti,
per essere sicuri di aver fatto una giusta compensazione.
24
9.6 Implementazione NOR-NOR
Si ottiene da quella OR-AND, sostituendo le porte OR con porte NOR. Questo
chiaramente ci porta a dover fare delle compensazioni, infatti risulterà necessario
porre delle bolle d’inversione (porte NOT) agli ingressi della AND(in modo da
trasformarla in NOR)
• Se un ingresso raggiunge direttamente la porta AND, lo si inverte.
25
10 L’operatore OR esclusivo ⊕
L’operatore OR esclusivo (XOR) si indica con il simbolo ed è definito dalla
seguente operazione logica ⊕
X Y = XY + XY
⊕
In particolare, X Y = 1 se una delle variabili, ma non ambedue, è uguale a 1.
Si esclude quindi, da qui il nome, la condizione in cui ambedue le variabili sono
pari a 1. a b Y
0 0 0
0 1 1
1 0 1
1 1 0 ⊕
Nell’ algebra booleana la proposizione A B è vera soltanto quando la
proposizione A è vera e la proposizione B è falsa, e viceversa.In altri termini,
l’operatore XOR è vero soltanto quando i due operandi (variabili) sono diversi.
In linguaggio comune può essere tradotto come : ”l’uno o l’altro”.
26
11 Le reti iterative
Per i sistemi digitali complessi, invece di applicare la metodologia di proget-
tazione all’interno del sistema, viene utilizzata la progettazione gerarchica,
basata sul motto divide et impera. Il metodo usato,infatti divide iterativa-
mente il problema generale in problemi via via più semplici, fino a raggiungere
un livello di semplificazione adeguato per una progettazione semplice delle sot-
toparti cosı̀ ottenute. Chiaramente seguire questa metodologia produce una
gerarchia di simboli e diagrammi delle diverse sotto parti, chiamate blocchi,
che interconesse tra loro formano il circuito finale.
In una rete iteraticva le celle possono essere sia reti combinatore che sequen-
ziali, adesso vedremo solo quelle formate da moduli combinatori. Ogni cella ha
ingressi e uscite dati e ingressi e uscite di stato, le uscite di stato di una cella
sono connesse agli ingressi di stato della cella seguente, la quale a livello grafico
può trovarsi a sinistra o a desta a seconda di come è stata progettata la rete. E’
importante considerare che reti iterative non sono indicate quando la velocità
di elaborazione deve essere particolarmente elevata, in quanto l’utilizzo di reti
iterative influisce negativamente sulla velocità della rete stessa.
11.1 Il full Adder
il full-adder o sommatore completo è un circuito logico caratterizzato da tre
ingressi e due uscite. Le sue funzionalità è quella di eseguire una somma tra
due numeri espressi in binario. E’ un componente fondamentale dell’elettronica
digitale perché connesso opportunamente con altri full-adder e porte logiche può
dare luogo alle unità di elaborazione ALU(arithmetic Logic Unit) dei proces-
sori. I full-adder sono le fondamenta su cui è basata la costruzione di semplici
calcolatrici. Il full-adder è costituito dall’ insieme di due half-adder e una porta
logica OR, opportunamente collegati.
A + B + Ci = S + Co
→
dove A e B sono gli operanti, Ci il riporto (C carry) in ingresso della prece-
dente somma e S e Co sono la somma e il riporto di uscita. Ogni variabile è un
27
bit (0 oppure 1)
In ingresso sono inseriti i due bit da sommare e l’eventuale bit di riporto; in
uscita vengono forniti la somma ed il riporto. 0 0
Ad esempio, se diamo in ingresso i valori 110 (1 numero, 2 numero, riporto),
il componente restituirà il valore 0 con riporto 1 (corrispondente al valore 10 in
base binaria).
11.2 Componenti combinatori
Nei precedenti capitoli abbiamo parlato di rete combinatoria, ma non ci siamo
ancora soffermati sulle componenti. Prima di entrare nel vivo dell’argomento
ripetiamo cos’è una rete combinatoria, una rete combinatoria, o circuito com-
binatorio è un circuito il cui funzionamento riguarda solo la relazione ingresso-
uscita. Tale relazione è descritta da una funzione logica. Le componenti combi-
7
natorie sono generalmente disponibili come circuiti integrati o sono utilizzati
nella costruzione di circuiti integrati più complessi.
Le categorie di componenti combinatori che tratteremo sono:
• Decodificatori (decoder)
• Selettori (o multiplexer)
11.2.1 Decodificatori
Durante il nostro percorso di studio abbiamo capito che nei sistemi digitali, le
informazioni sono rappresentate mediante codici binari. Un Codice binario a n
n
bit può rappresentare fino a 2 elementi distinti di informazione. L’operazione
di decodifica è la trasformazione da un codice a n bit in ingresso a uno a m bit
n
in uscita, con n <= m <= 2 ed è tale che ciascuna parola di codice in ingresso
produce un’unica parola di codice in uscita. Tale operazione viene svolta da
un circuito combinatorio denominato decodificatore n-m, caratterizzato da n
n
ingressi e m uscite, con m < 2 . Il decoder dotato di n ingressi ed m uscite è
detto decoder n:m 0 n-to-m, il numero d’ingresso è sempre diverso dal numero
n
d’uscita. Un decoder si dice completo se m = 2 , al