Corso di Laurea in Ingegneria dell’Informazione Elettronica Digitale - Lezione 2 - Andrea Gerosa - gerosa@dei.unipd.it Tel. 049-827-7728
Logica binaria e Porte logiche Variabili binarie Operatori logici Operatori logici fondamentali: sono le 3 funzioni logiche AND, OR e NOT. Porte logiche Algebra di Boole
Variabili binarie Valori Esempi di variabili: True/False On/Off Yes/No 1/0 Esempi di variabili: A, B, y, z, o X1 RESET, START_IT, o ADD1
Operatori Logici fondamentali AND (·) OR (+) NOT ( ¯ ), (') o (~) AND 0 · 0 = 0 0 · 1 = 0 1 · 0 = 0 1 · 1 = 1 OR 0 + 0 = 0 0 + 1 = 1 1 + 0 = 1 1 + 1 = 1 NOT 1 =
Tabella di verità Elenco dei valori di uscita di una funzione logica per ogni possibile combinazione degli ingressi binari Funzione di N variabili binarie 2N righe 1 Z = X·Y Y X AND OR X Y Z = X+Y 1 1 X NOT Z =
Regole di precedenza Precedenza degli operatori fondamentali in ordine decrescente: 1. Parentesi 2. NOT 3. AND 4. OR Esempio: F = A(B + C)(C + D)
Porte Logiche Rappresentazione simbolica del circuito che realizza una funzione logica:
Tempo o ritardo di propagazione La commutazione dell’uscita di una porta non può essere istantanea. Il ritardo tra la commutazione dell’ingresso(i) e la commutazione dell’uscita è il tempo o ritardo di propagazione) tp: tp Input Output Time (ns) 1 0.5 1.5 tp = 0.3 ns
Circuiti logici Z Y X F + = Equazione logica Tabella di verità 1 1 1 1 1 1 0 1 0 1 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 X Y Z F = X + Y × Z X Y F Z Circuito logico Tabella di verità, equazione (o espressione) logica e circuito logico descrivono la stessa funzione logica. La tabella di verità è unica; l’equazione e il circuito no.
Algebra di Boole Definisce in modo rigoroso l’algebra con cui operare sulle variabili logiche Definita da George Boole (filosofo) nel 1854 Codificata in 6 postulati da Huntington nel 1904 Ristretta all’algebra commutativa da Shannon nel 1938 2 Approcci: definizione rigorosa a partire da postulati o definizione regole a partire dagli operatori
Algebra di Boole 1. 3. 5. 7. 9. X + 0 = + 1 X + X X = X 2. 4. 6. 8. X . 1 = . 0 X . X 10. 12. 14. 16. X + Y Y + X = (X + Y) Z + X + (Y Z) X(Y + XY XZ X . Y 11. 13. 15. 17. XY YX = (XY) Z X(Y Z) X + YZ (X + Y) (X + Z) X . Y X + Y Commutativa Associativa Distributiva De Morgan
Principio di Dualità Data una generica espressione booleana, si definisce espressione duale quella che si ottiene: Cambiando tutti gli operatori AND in OR e viceversa Cambiando tutti i valori “0” in “1” e viceversa Per il principio di dualità, se un’espressione è vera allora è vera anche la duale.
Principio di dualità
Teoremi dell’algebra di Boole A + A·B = A (Assorbimento) A·(A+B)=A Dimostrazione A + A·B = A · 1 + A · B X = X · 1 = A · ( 1 + B) X · Y + X · Z = X ·(Y + Z) = A · 1 1 + X = 1 = A X · 1 = X
Teoremi dell’algebra di Boole Combinazione o semplificazione Teorema del consenso Justification 1: 1 . X = X Justification 2: X + X’ = 1 = AB + A’C + ABC + A’BC X(Y + Z) = XY + XZ (Distributive Law) = AB + ABC + A’C + A’BC X + Y = Y + X (Commutative Law) = AB . 1 + ABC + A’C . 1 + A’C . B X . 1 = X, X . Y = Y . X (Commutative Law) = AB (1 + C) + A’C (1 + B) X(Y + Z) = XY +XZ (Distributive Law) = AB . 1 + A’C . 1 = AB + A’C X . 1 = X
Teoremi dell’algebra di Boole
Semplificazione di un’espressione Minimizzare il numero di letterali (variabili dirette o negate): = AB + ABCD + A C D + A C D + A B D = AB + AB(CD) + A C (D + D) + A B D = AB + A C + A B D = B(A + AD) +AC = B (A + D) + A C 5 letterali + D C B A
Forme canoniche Tra le possibili espressioni logiche di una data funzione, ne identifichiamo 2 particolari: Somma di mintermini – SOM (Sum of Minterms) Prodotto di maxtermini – POM (Product of Maxterms)
Mintermini - definizioni Data una funzione logica a N variabili: Termine prodotto: qualsiasi prodotto tra letterali Mintermine: termine prodotto che contiene tutte le N variabili (dirette o negate). Per ogni funzione di N variabili, esistono 2N mintermini. Y X XY X Y
Maxtermini - definizioni Data una funzione logica a N variabili: Termine somma: qualsiasi somma tra letterali Maxtermine: termine somma che contiene tutte le N variabili (dirette o negate). Per ogni funzione di N variabili, esistono 2N maxtermini. Y X +
Maxtermini e Mintermini Indici L’indice i corrisponde alla riga della TdV a cui associamo mi e Mi i Mint., mi Maxt., Mi x y x + y 1 2 3
Mintermini e TdV Variabile = 0 Variabile =1 appare negata nel mint. Appare diretta nel mint.
Mintermini e TdV Un solo mint. vale “1” per ogni riga Una funzione logica può essere espressa come OR tra mintermini
Somma di Mintermini F1 = m1 + m4 + m7 F1 = x y z + x y z + x y z x y z index m1 + m4 m7 = F1 0 0 0 = 0 0 0 1 1 = 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7
Maxtermini e TdV Variabile = 0 Variabile =1 appare diretta nel maxt. Appare negata nel maxt.
Maxtermini e TdV Un solo maxt. vale “0” per ogni riga Una funzione logica può essere espressa come AND tra maxtermini
Prodotto di Maxtermini F1 = M0 · M2 · M3 · M5 · M6 ) z y z)·(x ·(x z) (x F 1 + = x )·( ·( x y z i M0 M2 M3 M5 M6 = F1 0 0 0 1 = 0 0 0 1 = 1 0 1 0 2 0 1 1 3 1 0 0 4 1 0 1 5 1 1 0 6 1 1 1 7
Somma canonica Qualsiasi funzione logica può essere espressa come Somma di Mintermini. y x f + = y x ) ( f + = y x xy f + =
Abbreviazioni F = m1+m4+m5+m6+m7
Prodotto canonico y x ) z , ( f + = y x ) (x 1 )(x + = × z y x + = × Qualsiasi funzione logica può essere espressa come Prodotto di Maxtermini. y x ) z , ( f + = y x ) (x 1 )(x + = × ( ) z y x + = ×
Conversione tra forme canoniche ) 7 , 5 3 1 ( z y x F m S = ) 6 , 4 2 ( z y x F m S = ) 7 , 5 3 1 ( z y x F M P =
Altre forme standard Somma di prodotti (SOP) Prodotto di somme (POS) B C A + C · ) B (A B) +
Complessità circuitale Per ogni funzione esiste un’implementazione SOP come somma di tutti i mintermini circuito logico 2 livelli tale che: il primo livello è formato da una schiera di porte AND a N ingressi il secondo livello consiste in una singola porta OR Spesso esistono altre forme SOP a cui corrispondono circuiti meno complessi
Esempio 5 AND a 3 ingressi + 1 OR a 5 ingressi Può essere semplificata: F = A’ B’ C + A (B’ C’ + B C’ + B’ C + B C) = A’ B’ C + A (B’ + B) (C’ + C) = A’ B’ C + A.1.1 = A’ B’ C + A = B’C + A
Esempio
Problema di minimizzazione Le forme canoniche e le altre realizzazioni a SOP o POS differiscono tra loro in termini di complessità L’algebra di Boole è uno strumento per semplificare le espressioni logiche Espressioni logiche più semplici corrispondono a implementazioni meno complesse Problemi Definire un criterio di complessità minima Esiste un’unica soluzione a minima complessità? Necessitiamo di un metodo per individuare la soluzione minima
Terms of Use All (or portions) of this material © 2008 by Pearson Education, Inc. Permission is given to incorporate this material or adaptations thereof into classroom presentations and handouts to instructors in courses adopting the latest edition of Logic and Computer Design Fundamentals as the course textbook. These materials or adaptations thereof are not to be sold or otherwise offered for consideration. This Terms of Use slide or page is to be included within the original materials or any adaptations thereof.