rchitettura dei calcolatori e delle Reti Lezione 4 I circuiti digitali: dalle funzioni logiche ai circuiti Proff.. orghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano.. 25/6 L 3 /32 Sommario! Funzioni logiche! Dall espressione logica al circuito. Semplificazione algebrica.! Dalla tabella della verità al circuito: la prima forma canonica: SOP.! Implementazione circuitale mediante PL o ROM.! riteri di ottimalità... 25/6 L 3 2/32
Porte logiche! Rappresentano circuiti che forniscono in uscita il risultato di operazioni logiche elementari sui valori delle variabili in ingresso # Le variabili in ingesso possono essere più di due! Sono funzioni logiche elementari Y and and and D D D Y.. 25/6 L 3 3/32 Funzione logica / circuito logico! Funzione logica: f: {,} n " {,}; y f(x, x 2, x n ) # funzione booleana di n variabili booleane # Può essere rappresentata come un opportuna combinazione di operatori elementari (not, and, or)! ircuito logico (porta logica) # Uscita (booleana) funzione logica di n ingressi (variabili) booleane # Può essere realizzata come un opportuna combinazione di porte logiche elementari (not, and, or, nand, nor)! La funzione uscita è definita per tutte le 2 n combinazioni delle variabili (ingressi) # Tabella di verità (Truth Table, TT).. 25/6 L 3 4/32
Funzione / circuito / tab. verità 3 ingressi: F f (,,) " 2 3 8 combinazioni and and not () F.. 25/6 L 3 5/32 Sommario! Dall espressione logica al circuito. Semplificazione algebrica! Dalla tabella della verità al circuito: la prima forma canonica: SOP! Implementazione circuitale mediante PL o ROM! riteri di ottimalità.. 25/6 L 3 6/32
Semplificazione di funzioni! Espressioni equivalenti # 2 espressioni si dicono equivalenti se hanno la stessa tabella di verità! Quale è la migliore? # La più semplice # La più veloce! Metodi di semplificazione # Sfruttando le proprietà dell algebra booleana Tecniche automatiche o semi-automatiche.. 25/6 L 3 7/32 Proprietà degli operatori logici ND OR Identità x x x x Elemento nullo x x Idempotenza x x x x x x Inverso x ~x x ~ x ommutativa x y y x x y y x ssociativa (x y) z x (y z) (xy) z x (yz) ND rispetto OR OR rispetto ad ND Distributiva x (y z) x yx z x y z (xz) (xy) ssorbimento x (x y) x x x y x De Morgan xy x y x y x! y.. 25/6 L 3 8/32
Proprietà di assorbimento I: ( ) Dim: () c.v.d. II: ~ Dim: Proprietà distributiva di OR / ND: ~ ( ~) ( ) Sviluppando il prodotto: ( ) ( ~) ~ ~ ~ Raccogliendo : ( ~) c.v.d... 25/6 L 3 9/32 Esempio di semplificazione algebrica F " " " " " " - raccolgo : " ( ) " " " " - inverso : " " " " - identità : (" ) " " "!.. 25/6 L 3 /32
L 3 /32.. 25/6 Esempio rappresentazione L D! L D D L 3 2/32.. 25/6 Manipolazione algebrica! " # $ pplichiamo DeMorgan : ) )( )( )( ( ) )( )( )( ( D D D D D D D D L
Esempio rappresentazione 2.. 25/6 L 3 3/32 Rappresentazioni equivalenti.. 25/6 L 3 4/32
Sommario! Dall espressione logica al circuito. Semplificazione algebrica.! Dalla tabella della verità al circuito: la prima forma canonica: SOP.! Implementazione circuitale mediante PL o ROM.! riteri di ottimalità... 25/6 L 3 5/32 Funzione: espressione / tab. verità espressione logica tabella delle verità F ( ND ) OR ( ND NOT()) F F se e solo se: ND ND OR ND ND OR ND ND F!!.. 25/6 L 3 6/32
La prima forma canonica F F!! Implicante: Prodotto delle variabili (in forma naturale o negata) per le quali la funzione vale Mintermine m j : implicante che contiene tutte le n variabili della funzione (e.g. ). Prima forma canonica (SoP) : Q F " m j, Q! 2 j n.. 25/6 L 3 7/32 ircuito della I forma canonica: SOP.. 25/6 L 3 8/32
SOP a più uscite Esercizio: Ricavare la funzione in forma di tabella della verità.. 25/6 L 3 9/32 La prima forma canonica: SOP Prima forma canonica di una funzione: La somma dei suoi mintermini! Qualunque funzione è esprimibile in forma canonica: Z(,,,D) ~~~ ( ~)(D ~D) (~)(D~D) ~~~(D~D) D ~D ~D ~~D D ~D ~D ~~D ~~~~D ~~~D # La stessa espressione si ricaverebbe dalla tabella della verità.. 25/6 L 3 2/32
Prima forma canonica: Sum-of-Products (SoP)! Forma universale mediante la quale è possibile rappresentare qualunque funzione booleana. # Non è una forma ottima, ma un punto di partenza per l ottimizzazione! Si basa su componenti caratterizzanti la struttura della funzione (mintermini), che esprimono le condizioni logiche di verità () della funzione! Mintermine, m i : # Funzione booleana a n ingressi che vale in corrispondenza della sola i-esima configurazione di ingresso # Per n variabili, al più 2 n mintermini # Implementabile mediante un ND ad n ingressi.. 25/6 L 3 2/32 Dalla SOP al circuito! Dalla forma canonica (somma di mintermini) è facile passare al circuito: # Ogni mintermine è un ND # Tutti gli ND entrano in un OR! Implementazione regolare # Solo due livelli di porte # Tempo di commutazione: 2 t GTE! locchi generali personalizzabili (PL, ROM) # purché ci sia un numero sufficiente di componenti elementari.. 25/6 L 3 22/32
Esercizi: a) funzione maggioranza! 3 ingressi, uscita Fa Fa(,, ). ostruzione tabella di verità o espressione logica 2. Trasformazione a forma SOP 3. Eventuale semplificazione! " # ( ) ( ) ( )!() &' $%.. 25/6 L 3 23/32 Uscite indifferenti di una funzione logica! Può accadere che per alcuni ingressi, il valore dell uscita sia INDIFFERENTE # Simbolo: X # RELIZZZIONE: si sceglie il caso che rende il circuito più semplice F X X! F! " $ X! F " $.. 25/6 L 3 24/32
Sommario! Dall espressione logica al circuito. Semplificazione algebrica.! Dalla tabella della verità al circuito: la prima forma canonica: SOP.! Implementazione circuitale mediante PL o ROM.! riteri di ottimalità... 25/6 L 3 25/32 Tipi di circuiti che implementano SOP PL: Programmable Logic rray! Matrici regolari ND e OR in successione, personalizzabili dall utente. ROM: Read Only Memory! ircuiti ad-hoc che implementano una particolare funzione in modo irreversibile... 25/6 L 3 26/32
PL (Programmable Logic rray)! La matrice degli ND ha n linee di ingresso # iascuna porta ha a disposizione 2n segnali: n ingressi n ingressi negati! L utente fornisce la matrice che dice quale linea entra in quale porta ND # rea la matrice dei mintermini, bruciando in ingresso alle porte ND le linee che non servono.! Le uscite della matrice ND entrano nella matrice OR con linee definite dall utente # Matrice di programmazione OR! Si utilizza una porta OR per ogni funzione... 25/6 L 3 27/32 Struttura di una PL.. 25/6 L 3 28/32
Esempio di PL.. 25/6 L 3 29/32 Esercizi sulla PL! Realizzare mediante PL con 3 ingressi: # la funzione maggioranza. # la funzione che vale se e solo se solo bit di ingresso vale # un decoder # la funzione che vale se l input è pari, se dispari # la funzione che calcola i multipli di 3 (con 4 ingressi).. 25/6 L 3 3/32
Rappresentazione circuitale mediante ROM! Read-Only Memory, memoria di sola lettura. # Funge anche da modulo combinatorio a uscita multipla.! n linee di ingresso, m linee di uscita (ampiezza) # a ciascuna delle 2 n (altezza) configurazioni di ingresso (parole di memoria) è associata permanentemente una combinazione delle m linee di uscita # d ogni parola corrisponde un mintermine, definito dal suo indirizzo di memoria! L ingresso seleziona la parola da leggere di m bit # Il contenuto della parola di memoria corrisponde all uscita relativa a tale mintermine. Decoder n! 2 n seguito da una matrice di m porte OR.. 25/6 L 3 3/32 Esempio di ROM! Realizzare con una ROM la funzione descritta dalla seguente tabella di verità: - - -.,, X X X 2 Decoder Z Z.. 25/6 L 3 32/32