Il livello logico digitale prima parte Introduzione Circuiti combinatori (o reti combinatorie) Il valore dell uscita in un determinato istante dipende unicamente dal valore degli ingressi in quello stesso istante La rete non ha maglie Circuiti sequenziali (reti sequenziali) Il valore dell uscita in un determinato istante dipende sia dal valore degli ingressi in quell istante, sia dal valore degli ingressi in istanti precedenti Reti sincrone, asincrone Per definire il comportamento di un circuito sequenziale è necessario tenere conto della storia passata degli ingressi La rete contiene almeno una maglia
Algebra di Boole Per poter affrontare in modo sistematico lo studio dei sistemi di calcolo, abbiamo inizialmente bisogno di un apparato teorico-formale mediante il quale lavorare su grandezze binarie Lo strumento formale si chiama Algebra di Boole Introdotta nel 874 da George Boole per fornire una rappresentazione algebrica della logica Per questo motivo i circuiti elettronici che lavoro su valori binari assumono il nome di circuiti logici o porte logiche Applicata nel 937 da Claude Shannon allo studio delle reti di interruttori Applicata ai circuiti di commutazione (per questo detta anche algebra di commutazione) Include un insieme di supporto A e gli operatori binari (+ e ) Nel nostro caso A={,}, ma sono possibili altri insiemi Algebra di commutazione Algebra booleana per un insieme di due valori Insieme di elementi A={,} Operatori Fondamentali NOT (unario) => = e = AND (binario) => = = = e = OR (binario) => + = e + = + = + =
Una semplice applicazione Variabile di controllo: X due stati: X= -> interruttore aperto X= -> interruttore chiuso Uscita Due stati: Lampadina spenta (=) Lampadina accesa (=) = X X= = X= = Modello logico AND X X2 = X X2 OR X = X + X2 X2
Funzione di trasmissione Ft=Funzione di trasmissione IN = OUT se Ft=, altrimenti OUT= +5V IN Ft OUT Ft Controllo Ft=xy Ingresso Porta Ft Uscita Porta x y V Transistori MOS Le funzionalità sono simili a quelle del relè: Funzione di trasmissione controllata mediante un ingresso di controllo (gate) +5v X A X A V 5 V ~5 V ~ V
Principali proprietà Funzioni di commutazione Sia x i una variabile di commutazione ed x=(x,x 2,,x n ) il vettore composto da n variabili binarie x i {,}, x {,} n Consideriamo le funzioni y=f(x) (funzione di commutazione) f: {,} n {,} Il numero di n-ple diverse è 2 n Ogni n-pla definisce un assegnazione di verità
Tabelle di verità Una funzione di commutazione può essere definita mediante la tabella di verità. n variabili valori della funzione 2 n assegnazioni di verità x 2 x y... Funzioni unarie x y y y 2 y 3 y : funzione y : negazione (NOT) y 2 : funzione identità y 3 : funzione x y
Funzioni binarie x 2 x y y y 2 y 3 y 4 y 5 y 6 y 7 y 8 y 9 y y 2 y 3 y 4 y 5 NOT x 2 NOT x AND OR OR AND x x 2 y Le principali porte logiche
Comportamento esterno idealizzato Esempio: porta AND, logica positiva A A B B X X Analisi di una rete di porte logiche Ha come obiettivo la descrizione dei valori dell uscita in funzione degli ingressi Analisi statica: data una rete, determinare la tabella di verità X X X + X ( X 3 ) (X + X ) ( X 3 ) X 3 X 3 = (X + X ) ( X 3 )
Esempio Esempio
Numero di funzioni n variabili binarie => m=2 n assegnazioni diverse di valori. funzione = assegnare m valori di verità (,) => 2 m assegnazioni diverse n 2 n 2 2n Forme canoniche Esiste un modo standard (o canonico) per definire una qualunque funzione? Si, 2 forme: Somma di Prodotti (SP) e la duale Prodotto di Somme (PS)
Mintermine Un mintermine m i di n variabili, è una funzione che vale solo in corrispondenza dell assegnamento di verità i m 3= x 4 x 3 x 2 x Qualunque funzione è esprimibile come somma dei mintermini per cui y = f(x,.., x n )= Σ m k k f(k)= Esempio y=f(x,x2,x3) è se e solo se il numero di variabili con valore è pari x 3 x 2 x y 2 3 4 m m 3 y =m +m 3 +m 5 +m 6 =Σ(,3,5,6) 5 6 m 5 m 6 7 f(x,x 2,x 3 ) = x 3 x 2 x + x 3 x 2 x + x 3 x 2 x + x 3 x 2 x
Verifica Banale: Un mintermine vale solo per una particolare assegnazione di valori alle variabili (mi= f(i)=) x 3 x 2 x y m m 3 m 5 m 6 2 3 4 5 6 7 y =Σ(,3,5,6) Sintesi a 2 livelli di una funzione forma canonica SP Una funzione di n variabili espressa come somma canonica può essere realizzata mediante 2 livelli di logica (AND e OR) X X = Σ(,5,6) X X X2 5 X X Rete AND in OR 6
Esempio Disegnare un circuito in forma SP che realizzi la seguente tabella di verità (funzione di maggioranza) Esempio funzione di maggioranza
PLA (Programmable Logic Array)
Maxtermine Un maxtermine Mi di n variabili è una funzione che vale solo in corrispondenza dell assegnamento di verità i M 2= x 4 +x 3 +x 2 +x Una funzione è esprimibile come prodotto dei maxtermini per cui y= f(x,.., x n )= Π M k f(k)= k Esempio y=f(x,x 2,x 3 ) è se e solo se il numero di variabili con valore è pari x 3 x 2 x y 2 3 4 M M 2 M 4 y =M M 2 M 4 M 7 = Π(,2,4,7) 5 6 7 M 7 f(x,x 2,x 3 ) =(x 3 +x 2 + x ) (x 3 + x 2 + x ) ( x 3 + x 2 + x ) ) ( x 3 + x 2 + x )
Verifica Un maxtermine vale solo per una particolare assegnazione di valori alle variabili 2 3 4 5 6 7 x 3 x 2 x y M M 2 M 4 M 7 M M 2 M 4 M 7 y =Π(,2,4,7) Mappe di Karnaugh (MK) Usate per di commutazione a 2,3,4,5,6 variabili Sono simili alle tabelle di verità perché presentano tutti i possibili valori degli ingressi e la corrispondente uscita Facilitano la minimizzazione: le caselle sono numerate in modo che due caselle adiacenti (verticalmente o orizzontalmente) differiscano per un solo bit (la mappa è richiusa su se stessa ) E possibile operare la semplificazione ad occhio : gruppi di caselle adiacenti con valore corrispondono a termini semplificabili φ x + φ x = φ
MK per 2 variabili Esempio A B y B A =AB+AB MK per 2 variabili Esempio di semplificazione A B y =AB+AB = A(B+B)=A B A La forma SP contiene due termini nei quali la variabile B compare sia diretta che negata Sulla MK le celle con valore sono adiacenti La variabile B può essere semplificata
Mappe di Karnaugh per 3 e 4 variabili di commutazione X X X 3 X X Mappe di Karnaugh per 3 e 4 variabili di commutazione X X 3 2 4 5 7 6 X 3 X X 3 2 4 5 7 6 2 3 5 4 8 9
Esercizio Impiego di MK Semplificare il circuito dato mediante MK A B C 2 3 4 5 A B C A B C m 4 m 5 6 7 Tabella di verità A B C m 6 Algebra di commutazione minimizzazione = Σ(,5,6) = /X 3 / /X X + /X 3 /X X + /X 3 X /X X X X X 3 2 4 5 7 6 X 3 2 3 5 4 X 3 8 9 /X 3 X /X /X 3 / /X X + /X 3 /X X = /X 3 /X X. ( + / ) = = /X 3 /X X. = /X 3 /X X = /X 3 /X X + /X 3 X /X somma minima. min(termini prodotto) 2. min(letterali)
Porte universali Con le tre porte (NOT, AND, OR) può essere realizzata qualunque funzione (insieme completo) Non è minimo: l operatore AND (OR) è ridondante Le porte NAND ed NOR solo le (uniche) porte universali poiché mediante esse può essere realizzata qualunque funzione binaria Realizzazione NOT,AND,OR
Sintesi con soli NAND Le porte AND e la OR sono sostituite con NAND Esempio y=σ(,5,6) X X X X X X 5 X X 5 X X 6 Rete AND in OR X X 6 Rete NAND in NAND Sintesi a 2 livelli (forme canoniche) Una qualunque funzione di commutazione può essere realizzata con 2 livelli di porte secondo le seguenti strutture Somma di Prodotti (SP) AND in OR NAND in NAND Prodotti di Somme (PS) OR in AND NOR in NOR
La porta XOR Porta logica XOR X X X X La porta XNOR Porta logica XNOR X X X X
Riepilogo Operatore Simbolo Proprietà NOT y= se e solo se x= y=x AND y=x x 2 y= se e solo se x =x 2 = OR y=x +x 2 y= se e solo se x =x 2 = NAND y=x /x 2 y= se e solo se x =x 2 = NOR y= x x 2 y= se e solo se x =x 2 = XOR y = x x 2 y= se e solo se x x 2 XNOR y= x x 2 y= se e solo se x =x 2 Buffer three-state L uscita può assumere uno stato di alta impedenza elettrica (non e uno stato logico), utile per disconnettere l uscita dagli altri circuiti ad essa collegati.
Buffer three-state Serve per collegare vari le uscite di vari dispositivi ad uno stesso mezzo trasmissivo (bus) Un solo segnale di abilitazione deve essere abilitante, gli altri devono mettere le uscite dei buffer three-state in alta impedenza. OE In In2 OE2 Out OEn Inn