DIFFERENZA TRA ANALOGICO E DIGITALE. La prima cosa da conoscere è la differenza tra
quantità analogiche e quantità digitali.
• Analogica, è una grandezza che varia con continuità: una variabile analogica può assumere
un numero infinito di valori (ad esempio la distanza tra due punti nello spazio può assumere
un numero infinito di valori).
• Digitale, è una grandezza discreta che varia “a salti”: una variabile digitale può assumere
solo un numero finito di valori (come la durata di un giorno). (Per passare da una grandezza
analogica a digitale, bisogna campionare la grandezza analogica e associare ogni punto ad
un bit)
Perché trasformare un dato da analogico a digitale: il digitale è il sistema che risulta più
efficiente nel trasmettere e ricevere i dati (quali colori, suoni, immagini, ecc…). Salvare infatti,
su un supporto, un segnale analogico richiederebbe più spazio e memoria. Le sequenze di bit,
d’altro canto, possono essere compresse senza perdita d’informazione.
INFORMAZIONE. L’informazione all’interno di un
circuito digitale viene trasmessa tramite impulsi elettrici,
letti come un codice binario: 0 per bassa tensione
(low), 1 per alta tensione (high).
▪ Viene detto impulso l’alterazione di un flusso di energia elettrica da bassa tensione ad alta.
Questo esempio di impulso, che presenta il fronte di
salita e il fronte di discesa, è un segnale ideale, che
tuttavia in natura non sempre è tale poiché esistono
delle interferenze che vanno ad agire su quest’ultimo.
Infatti, gli impulsi dei circuiti reali non sono come quelli
ideali, ma sono caratterizzati da tempo di salita (rise
time), tempo di discesa (fall time), ampiezza (amplitude),
e tanti altri fenomeni.
▪ Viene detto periodo (T) l’intervallo temporale
in cui un impulso si ripete con le stesse
caratteristiche (in formula: T=1/f) e quindi
comprende un lasso di tempo in cui il
segnale è alto e un altro in cui è basso.
▪ Viene detta frequenza (f) la quantità di
impulsi che si hanno in un secondo (f=1/T, unità di misura 1/s);
▪ Viene detta ampiezza (A) la distanza tra il valore minimo e il valore massimo dell’impulso;
▪ Viene detta dimensione ( ) la larghezza di un impulso;
▪ /).
Viene detto duty cicle il rapporto tra ampiezza e dimensione (
Per far capire meglio un’onda periodica, si può
osservare quello che è il clock di un semplice
circuito digitale:
DIAGRAMMI TEMPORALI
I diagrammi temporali mostrano le relazioni
esistenti tra due o più forme d’onda.
TRASMISSIONE SERIALE E PARALLELA
o La trasmissione seriale è una modalità di comunicazione tra dispositivi digitali nella quale i
bit sono trasferiti lungo un canale di comunicazione uno di seguito all'altro e giungono
sequenzialmente al ricevente nello stesso ordine in cui li ha trasmessi il mittente (USB).
o La trasmissione parallela indica la trasmissione di dati in cui tutti i bit sono trasferiti
contemporaneamente lungo canali separati di un mezzo di comunicazione (ad esempio:
bus dati, bus indirizzi, bus controllo).
CIRCUITI. Un circuito logico programmabile (PLD), nell'elettronica digitale, è un circuito
integrato programmabile largamente utilizzato nei circuiti digitali. A differenza di una porta
logica, che implementa una funzione logica predefinita e non modificabile, un PLD, al momento
della fabbricazione, non è configurato per svolgere una determinata funzione logica e dunque
prima di poterlo utilizzare in un circuito è necessario programmarlo. Ovvero, possiamo
realizzare una funzione d’uscita attivando o disattivando connessioni esistenti tra porte
logiche.
CIRCUITI COMBINATORI E SEQUENZIALI
▪ Un circuito combinatorio è un circuito il cui:
→ L’output è in funzione degli input correnti. La relazione tra
output e input è descritta da una funzione logica, realizzata
tramite l’utilizzo delle porte logiche.
→ Non vi è presente alcuna informazione di stato;
→ Non vengono memorizzate le informazioni.
▪ Il circuito sequenziale è un tipo di circuito il cui:
→ L’output in un determinato istante è in funzione sia
degli input correntie sia, di quelli degli stati precedenti,
registrati in memoria.
→ Possiedono informazioni di stato;
→ Avviene una memorizzazione delle informazioni (attraverso i flip-flop);
CIRCUITI SINCRONI E ASINCRONI
▪ Un circuito sincrono ha le seguenti caratteristiche:
→ È guidato da un clock;
→ Tutti i flip-flop, usando lo stesso clock, cambiano stato sui suoi fronti di salita/discesa;
▪ Un circuito asincrono ha le seguenti caratteristiche:
→ Non è coordinato da un clock;
→ Possono cambiare in qualunque istante;
→ In teoria, sono più rapidi (non devono attendere il clock), ma subiscono ritardi variabili.
PORTE LOGICHE. Tuttavia, ora vediamo le porte logiche, che sono predefinite e non
programmabili. La porta logica è in grado di leggere dei segnali in input e restituire output
diverso (in base al tipo di input e al tipo di porta); le porte logiche lavorano secondo i principi
dell’algebra booleana.
Esistono diversi tipi di porte logiche:
o Porta NOT (inverter) è la porta logica che ci consente di invertire Input Output
1 0
il valore in input. Ossia: 0 1
- Quando l’input è LOW, l’output è HIGH
- Quando l’input è HIGH, l’output è LOW
‾,
Notazione usata nelle espressioni: Overbar ¬,‘. input output
o Porta AND: produce un output HIGH quando tutti gli input sono HIGH, 0 0 0
altrimenti l’output è LOW. 0 1 0
∧,
Notazione usata nelle espressioni: · e tra le variabili 1 0 0
poste in AND (può essere omesso). 1 1 1
o Porta OR: input Output
- Produce un output HIGH se almeno un input è HIGH 0 0 0
- Produce LOW se tutti gli input sono LOW 0 1 1
∨.
Notazione usata nelle espressioni: +, 1 0 1
1 1 1
o Porta NAND: input output
- Produce LOW quando tutti gli input sono HIGH 0 0 1
- Produce HIGH se almeno un input e LOW 0 1 1
̅̅̅̅̅̅̅ ̅̅̅̅
·
Notazione usata nelle espressioni: (o: ) 1 0 1
I vantaggi nell’utilizzare la porta NAND sono: 1 1 0
❖ Efficiente realizzazione dal punto di vista fisico, perché realizzo circuiti integrati
composti dallo stesso tipo di componente
❖ Porta universale perché posso realizzare altre porte usando la porta NAND.
o Porta NOR: input Output
- Produce un output LOW se almeno un input è HIGH. 0 0 1
- Produce HIGH se tutti gli input sono LOW. 0 1 0
̅̅̅̅̅̅̅̅
+
Notazione usata nelle espressioni: 1 0 0
1 1 0
input output
o Porta XOR: Produce HIGH soltanto quando gli input assumono valori 0 0 0
opposti (uno LOW e l’altro HIGH). 0 1 1
⊕.
Notazioni usata nelle espressioni: 1 0 1
1 1 0
o Porta XNOR Produce un output HIGH soltanto quando il livello di A e input Output
B è lo stesso (entrambi LOW o entrambi HIGH) 0 0 1
Notazione usata nelle espressioni: o. 0 1 0
1 0 0
1 1 1
ALGEBRA BOOLEANA. Viene detta Algebra Boolena la parte di matematica che interagisce con
un sistema di numerazione binario.
▪ Viene detta variabile booleana una variabile che può assumere soltanto due stati (0 o 1).
▪ Viene detto literal una variabile o il suo opposto.
TABELLE DI VERITÀ. Le espressioni logiche vengono formate attraverso un mapping tra la
funzione logica, i circuiti logici e i gate logici. Ciascun gate implementa un’operazione presente
nell’espressione. Gli input dei gate sono le variabili e costanti (come, ad esempio, valori alti e
bassi, la tensione, la terra, ecc…) coinvolte nelle espressioni logiche. Per poter però creare un
circuito di una espressione logica, è necessario tener conto di tutte le
possibili combinazioni degli ingressi, sostituendo 0 ed 1 all’interno delle
tabelle di verità. Per creare una tabella di verità è necessario tener conto che
2
per un’espressione a n variabili la tabella avrà righe.
Procedimento: si parte dall’ultima variabile inserendo alternativamente 0 e
2
1 per volte. La penultima variabile verrà composta da coppie di 0 e di 1
1
2
(2 ) alternativamente per volte; la terzultima variabile verrà composta da
2
2
gruppi da di 0 e di 1. Si procede con questo algoritmo a seconda del numero n di variabili.
Equivalenza di espressioni booleane. Due espressioni sono equivalenti se assumono lo stesso
valore per tutte le combinazioni di valori delle variabili coinvolte. Per verificare l’equivalenza di
due espressioni booleane, è possibile seguire due strade:
o Utilizzando la tabella di verità (hanno tabelle uguali);
o Utilizzando le proprietà dell’algebra booleana.
Semplificando un’espressione booleana è possibile ottenere espressioni equivalenti che
coinvolgono meno literal (notazione per rappresentare un valore fisso nel codice sorgente)
delle espressioni originali. Il circuito risultante sarà più economico/efficiente in quanto userà un
numero minore di porte logiche.
Teoremi :
→ Proprietà distributiva. Una variabile in comune tra due AND messi in OR (SOP=somma di
+ = ( + ).
prodotti) può essere messa a fattor comune:
Applicando la proprietà distributiva ad un POS (prodotti di somme) otteniamo:
( + ) ( + ) = + ( + ) ∗ ( + ) = + + + =
. Dimostrazione:
+ + + = (1 + + ) + = + .
→ Teorema dell’adiacenza logica.
̅ ̅ ̅)
+ = . + = ( + = .
Dimostrazione:
̅) ̅ ̅ ̅
( + )( + = . + + + = (1 + + ) + 0 = .
Dimostrazione:
→ Teorema dell’assorbimento.
+ = . + = (1 + ) = .
Dimostrazione:
( + ) = . ( + ) = + = + = .
Dimostrazione:
→ Teorema delle semplificazioni.
̅) ̅) ̅
( + = . ( + = + = + 0 = .
Dimostrazione:
̅ ̅ ̅)
+ = + . + = ( + )( + = ( + )1 = + .
Dimostrazione:
→ Teorema del consenso, che risulta utile per la semplificazione di espressioni Booleane. Il
termine che viene eliminato è detto termine di consenso.
̅ ̅ )(̅ )(̅
→ ( (
+ + = + + )( + + ) = + + ). Dati 2
termini tali che una variabile appare in un termine e il suo complemento nell’altro termine,
il termine di consenso è ottenuto moltiplicando (POS) o sommando (SOP) la restante parte
dei 2 termini. Dimostrazione:
Tuttavia, l’ordine con cui si applica il teorema del consenso potrebbe variare l’esito della
semplificazione finale. Ad esempio:
Le proprietà dello
XOR:
PROGETTAZIONE DI CIRCUITI COMBINATORI. Ciascun tipo di circuito richiede una
progettazione alla base. I passi fondamentali per la costruzione “logica” del circuito sono:
1. Individuazione degli input a disposizione e degli output che si vogliono ottenere (specifiche
del circuito);
2. Costruzione della tabella di verità per ciascuna combinazione degli input;
3. Ricavo della funzione booleana associata tramite espansione in mintermini (forma SOP) o
maxtermini (forma POS);
4. Semplificazione della funzione booleana (ricerca dell’espressione equivalente a costo
minore);
5. Costruzione fisica del circuito.
FORME SOP E POS. Le espressioni Booleane possono essere scritte come somme di prodotti
(Sum of Products - SOP) o prodotti di somme (Products of Sums - POS). L’utilizzo di SOP e POS,
risulta utile nel semplificare l’implementazione dei circuiti.
o Forma canonica SOP. Nelle SOP in forma standard, ciascuna variabile (positiva o negativa)
̅
+
deve apparire in ciascun termine. Ad esempio: è una forma SOP standard
̅ +
(CANONICA); è una forma SOP, ma non standard;
Tuttavia, quando una variabile manca in un termine, la si può aggiungere come somma della
variabile stessa e del suo complemento.
̅̅
= +
ESEMPIO: Convertiamo in forma standard: Notiamo che il primo termine
̅
non include la variabile C. Quindi, moltiplichiamo tale termine per (C + ) che sappiamo
̅ ̅ ̅
̅ ̅
= ( + ) + = +
essere uguale ad 1. Ciò che alla fine si otterrà sarà:
̅ ̅
̅ + .
Ciascun termine della forma SOP viene detto mintermine. L’insieme dei mintermini si
ottiene dalla tabella di verità della funzione (si considerano solo le combinazioni di variabili
che restituiscono 1; per ogni combinazione il mintermine si costruisce prendendo la variabile
stessa se all’interno della combinazione ha valore 1, altrimenti il suo complemento).
=0
∑
La formula generale dell’espansione in mintermini è dove è il valore del singolo
mintermine nella funzione (0 o 1), mentre è il mintermine costituito dai literal. La
∑ (0,2,4,6,8)
notazione dei mintermini indica che essi sono stati trovati alle seguenti
posizioni: 0,2,4,6,8.
o Forma canonica POS. Nella forma standard POS, ciascuna variabile deve apparire in ciascun
termine somma. Espressioni non canoniche possono essere ricondotte a forme standard
aggiungendo il prodotto della variabile mancante e del suo complemento, e infine
applicando la proprietà distributiva.
(̅ ̅)(
= + + + )
ESEMPIO: Convertiamo in forma standard. La prima somma
̅ (̅ ̅
̅
∗ : = + + ∗ )( + +
non include la variabile C. Quindi, aggiungiamo
). + = ( + )( + )
A questo punto applichiamo la proprietà distributiva: e
(̅ ̅ (̅
̅ ̅
= + + )( + + ) = + +
otteniamo la seguente espressione:
)(̅ ̅
̅
+ + )( + + ).
Ciascun termine della forma POS viene detto maxtermine. L’insieme dei maxtermini si
ottiene dalla tabella di verità della funzione (si considerano solo le combinazioni di variabili
che restituiscono 0; per ogni combinazione il maxtermine si costruisce prendendo la
variabile stessa se all’interno della combinazione ha valore 0, altrimenti il suo
=0
∏ +
complemento). La formula generale dell’espansione in maxitermini è .
∏ (1,3,5,7)
La notazione dei maxitermini indica che essi sono stati trovati alle seguenti
posizioni: 1,3,5,7.
Realizzazione di un circuito utilizzando l’espansione in
̅̅̅ ̅ ̅
= + +
mintermini. Data la funzione :
Realizziamo lo stesso circuito utilizzando però la porta
logica NAND:
- Sostituiamo gli AND con NAND
- Aggiungiamo un NOT in ingresso all’OR, in modo da annullare il NOT dei NAND
- Infine, possiamo realizzare i NOT e l’OR mediante NAND (1° CASO)
- Oppure, visto che ho negato gli ingressi della OR per annullare il NOT dei NAND, ogni
̅̅̅̅̅̅̅
̅ ̅ ()
OR sarà del tipo + , che corrisponde ad e quindi a una NAND (2° CASO)
Circuito con 1’ caso Circuito con 2’ caso
FUNZIONI NON COMPLETAMENTE SPECIFICATE. Una funzione è completamente specificata
se il suo valore (0 o 1) è definito per tutte le combinazioni delle variabili d’ingresso. Una
funzione booleana viene detta non completamente specificata se, per alcune combinazioni,
non risulta necessario definire il valore di output. Tali combinazioni sono definite come “don’t
care”. Si utilizzano il simbolo X o d al posto di 0 o 1 nelle righe per le quali la funzione non è
specificata. Quando una tabella di verità presenta delle combinazioni don’t care, affinché
possa essere espressa come espansione di mintermini o maxtermini, è necessario definire tutte
i vari risultati che si ottengono dando un valore (tra 0 e 1) ad ogni don’t care.
Esempio:
Da ciò si può notare che in base al valore che
la X assume, l’espansione ci fornisce un
risultato diverso. In questi casi anche la
formula generale cambia, infatti:
MINIMIZZAZIONI. Nei circuiti combinatori, gli output (in maniera statica), sono funzione solo
degli input. Quindi il circuito non ha memoria (stato) e tutte le funzioni possono essere scritte
tramite tabelle di verità o variabili booleane.
Come sappiamo l’espansione in maxtermini o mintermini non corrisponde necessariamente al
circuito meno costoso (minor numero di porte, stesso tipo
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.
-
Riassunto esame Progettazione digitale
-
Esercizio di progettazione digitale Tozzi Villa progettazione orologio
-
Progettazione di Sistemi Digitali
-
Esercizio di progettazione digitale, prof. Tozzi - progettazione misuratore di riflessi