Lezione 16.1 (Algebra di Boole e porte logiche) PDF

Summary

Notes from a lecture on Boolean algebra and logic gates. The lecture covers topics from binary systems to logic operations and gate technologies, providing examples and applications.

Full Transcript

LEZIONE N. 16.1 ALGEBRA DI BOOLE E PORTE LOGICHE Sistema binario (richiami) Sistema ottale e decimale (richiami) Conversioni binario-ottale e binario-esadecimale (richiami) Codi...

LEZIONE N. 16.1 ALGEBRA DI BOOLE E PORTE LOGICHE Sistema binario (richiami) Sistema ottale e decimale (richiami) Conversioni binario-ottale e binario-esadecimale (richiami) Codici numerici (richiami) Introduzione all'algebra di Boole: gli operatori logici elementari Funzioni di decisione Porte logiche Proprietà e teoremi dell'algebra di Boole Gruppo di porte universali Tecnologia delle porte Esercizi Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 1/51 e Automazione Elettronica digitale SISTEMA BINARIO L'elettronica digitale si occupa di gestire ed elaborare informazioni di tipo digitale, cioè informazioni che posso essere rappresentate tramite un insieme di numeri. Il termine digitale deriva dal termine inglese digit che, a sua volta, deriva dal latino digitus; nell'italiano corrente, la parola digit è traducibile come cifra, numero (per questo motivo in italiano si parla anche di elettronica numerica). L'elettronica digitale comprende circuiti e sistemi che agiscono sfruttando due possibili stati di funzionamento: due livelli di tensione, oppure due diversi livelli di corrente. Mediante un opportuno insieme di stati è possibile rappresentare simboli, caratteri e altre informazioni. I sistemi a due stati sono detti sistemi binari. Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 2/51 e Automazione Elettronica digitale Nei sistemi binari si utilizza normalmente il sistema numerico “in base 2” detto appunto “sistema numerico binario”. Il sistema numerico binario necessita solo di due simboli per rappresentare i due stati; per convenzione si usano i simboli 0 e 1. La singola cifra binaria è detta BIT (binary digit). (Il sistema numerico decimale, cioè “in base 10”, utilizza dieci simboli, da 0 a 9) Un generico numero binario può essere scritto in forma di stringa, ad esempio: 1001101001011,001011 La prima cifra a sinistra è detta MSB (Most Significant Bit); l'ultima cifra a destra è detta LSB (Least Significant Bit). Il punto separatore (o virgola) è detto punto binario (invece di punto decimale). Una stringa composta da 8 bit è detto byte ( ≈ bite: morso). Una stringa composta da 4 bit è detto nibble (morsettino). Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 3/51 e Automazione Elettronica digitale Conversione binario-decimale Il sistema numerico binario è di tipo posizionale come il sistema decimale, cioè ogni cifra assume un determinato valore in base alla posizione occupata nella stringa numerica: esempi di numeri espressi nel sistema decimale 192634 = 4⋅100 +3⋅101 +6⋅10 2 +2⋅103 +9⋅104 +1⋅105 posizione 5 4 3 2 1 0 73,4901 = 1⋅10−4 +0⋅10−3 +9⋅10−2 +4⋅10−1 +3⋅100 +7⋅101 posizione 1 0 -1 -2 -3 -4 4238,702 = 2⋅10−3 +0⋅10−2 +7⋅10−1 +8⋅100 +3⋅101 +2⋅10 2 +4⋅103 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 4/51 e Automazione Elettronica digitale Si può applicare la stessa regola di scomposizione in base 10 anche ad un numero scritto in binario, con la sola differenza che al posto del “10” si usa la base “2”. Risolvendo la scomposizione si trova il valore nel numero binario espresso nel sistema decimale. Simbologia Esempi nel sistema binario D: decimale (DEC) B: binario (BIN) 101101 B : 1⋅2 0 +0⋅21 +1⋅22 +1⋅23 +0⋅24 +1⋅25 = 1+0+4+8+0+32 = 45 D −3 −2 1 1 −1 51 0 1 2 110,011 B : 1⋅2 +1⋅2 +0⋅2 +0⋅2 +1⋅2 +1⋅2 = + +0+0+2+4 = = 6,375 D 8 4 8 10110B : 0⋅2 0 +1⋅21 +1⋅22 +0⋅23 +1⋅24 = 2+ 4+16 = 22 D −2 −1 0 1 3 1 1 39 101,11B : 1⋅2 +1⋅2 +1⋅2 +0⋅2 +1⋅2 = + +1+8 = = 9,75 D 4 2 4 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 5/51 e Automazione Elettronica digitale Conversione decimale-binario Si divide il numero decimale per 2 fino ad ottenere un resto pari a 0 o 1, quindi il quoziente si divide ancora per 2 e così via fino a che non si ottiene come quoziente 0. Il numero espresso in binario sarà formato da tutti i resti ottenuti essendo l'ultimo resto l'MSB ed il primo resto l'LSB. Esempio: 196 0 98 0 49 1 24 0 quozienti 12 0 resti 6 0 risultato della conversione 3 1 1 1 196 D =11000100 B 0 '' Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 6/51 e Automazione Elettronica digitale Se il numero decimale è con la virgola, la parte intera del numero si converte come spiegato precedentemente; la parte restante (quindi del tipo “0, …”) si converte come segue: si moltiplica il numero per 2; si toglie la parte intera (se c'é); questa costituirà la prima cifra binaria dopo la virgola; si moltiplica quello che rimane per 2; si toglie la parte intera (se c'é); questa costituirà la seconda cifra binaria dopo la virgola; … Nota: la conversione della parte dopo la virgola potrebbe non terminare mai; in questo caso ci si trova in presenza di un numero binario periodico Esempio: 196,125 D (semplice o misto) o irrazionale. 196 D =11000100 B 0,125⋅2 = 0,25 prima cifra binaria dopo la virgola: 0 0,250⋅2 = 0,5 seconda cifra binaria dopo la virgola: 0 0,5⋅2 = 1 terza ed ultima cifra binaria dopo la virgola: 1 risultato della conversione: 196,125 D =11000100,001 B Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 7/51 e Automazione Elettronica digitale SISTEMA OTTALE ED ESADECIMALE I sistemi numerici in base 8 (ottale) e 16 (esadecimale) hanno interesse perché forniscono un modo conveniente per una rapida rappresentazione dei numeri binari multibit. Il sistema numerico ottale necessita di 8 cifre: per comodità si usano come simboli le cifre del sistema decimale che vanno da 0 a 7. Il sistema numerico esadecimale necessita di 16 cifre: per comodità si usano come simboli le cifre del sistema decimale che vanno da 0 a 9 a cui vengono aggiunte altre sei cifre, rappresentate dalle lettere A, B, C, D, E, F (equivalenti a 10, 11, 12, 13, 14, 15 in decimale). Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 8/51 e Automazione Elettronica digitale Le regole di conversione ottale-decimale, esadecimale-decimale e viceversa sono del tutto analoghe a quelle già viste con il sistema binario, con l'unica differenza che in luogo del numero “2” si utilizza l'”8” nel caso ottale e “16” nel caso esadecimale. Esempi Simbologia O: ottale (OCT) Conversione ottale-decimale: H: esadecimale (HEX) 7365,42O : 2⋅8−2 +4⋅8−1 +5⋅80 +6⋅81 +3⋅82 +7⋅83 = 2 4 = + +5+48+192+3584 = 3829,53125 D 64 8 Conversione esadecimale-decimale: 3 BA ,1 CH : 12⋅16−2 +1⋅16−1 +10⋅160 +11⋅161 +3⋅16 2 = 12 1 = + +10+176+768 = 954,109375 D 256 16 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 9/51 e Automazione Elettronica digitale Conversione decimale-ottale: 395,12 D = 395+0,12 395 3 0,12⋅8 = 0,96 prima cifra binaria dopo la virgola: 0 49 1 0,96⋅8 = 7,68 seconda cifra binaria dopo la virgola: 7 6 6 0,68⋅8 = 5,44 terza cifra binaria dopo la virgola: 5 0 ''...... risultato della conversione: 395,12 D = 613,075...O Conversione decimale-esadecimale: 287,32 D = 287+0,32 287 F 0,32⋅16 = 5,12 prima cifra binaria dopo la virgola: 5 17 1 0,12⋅16 = 1,92 seconda cifra binaria dopo la virgola: 1 1 1 0,92⋅16 = 14,72 terza cifra binaria dopo la virgola: E 0 ''...... risultato della conversione: 287,32D = 11 F ,51 E...H Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 10/51 e Automazione Elettronica digitale CONVERSIONE BINARIO-OTTALE E BINARIO-ESADECIMALE Tabella delle corrispondenze tra i vari sistemi dei primi 16 numeri DEC BIN OCT HEX 0 0 0 0 1 1 1 1 Continuando solo con la corrispondenza 2 10 2 2 decimale-esadecimale si ha: 3 11 3 3 4 100 4 4 16D = 10H 5 101 5 5 17D = 11H 6 110 6 6................ 7 111 7 7 26D = 1A H 8 1000 10 8 27D = 1BH 9 1001 11 9 10 1010 12 A................ 11 1011 13 B 31D = 1FH 12 1100 14 C 32D = 20H 13 1101 15 D................ 14 1110 16 E 15 1111 17 F Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 11/51 e Automazione Elettronica digitale Guardando la tabella precedente si osserva che ad BIN HEX una cifra ottale è possibile far corrispondere una 0000 0 stringa binaria composta da 3 bit mentre ad una 0001 1 cifra esadecimale è possibile far corrispondere una stringa binaria composta da 4 bit. 0010 2 Per fare in modo che tutte le stringhe siano composte da 3 bit 0011 3 (ottale) o da 4 bit (esadec.) è necessario aggiungere degli “0” a 0100 4 sinistra per i numeri minori di 4 (caso ottale) e per i numeri minori di 8 (caso esadecimale). 0101 5 0110 6 Per convertire un numero ottale in BIN OCT binario basta sostituire ad ogni cifra la 0111 7 000 0 sua corrispondente stringa binaria a 3 1000 8 001 1 bit. 010 2 1001 9 Per convertire un numero esadecimale 011 3 1010 A in binario basta sostituire ad ogni cifra 1011 B 100 4 la sua corrispondente stringa binaria a 1100 C 101 5 4 bit. 1101 D 110 6 Esempi 1110 E 111 7 563,741O = 101110011,111100001 B 1111 F 5F4,1EH = 010111110100,00011110 B Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 12/51 e Automazione Elettronica digitale Per convertire un numero binario in ottale conviene prima raggruppare i bit a 3 a 3 partendo dalla virgola, andando sia verso sinistra sia verso destra, avendo cura di aggiungere tanti “0” in testa e coda quanto basta per completare le triplette estreme; quindi basta sostituire ad ogni tripletta la corrispondente cifra ottale come da tabella. Per convertire un numero binario in esadecimale conviene prima raggruppare i bit a 4 a 4 partendo dalla virgola, andando sia verso sinistra sia verso destra, avendo cura di aggiungere tanti “0” in testa e coda quanto basta per completare le quartine estreme; quindi basta sostituire ad ogni quartina la corrispondente cifra esadecimale come da tabella. Esempi 11010001,0011 B → 011 010 001 , 001 100 → 321,14 O 10111001111,101101 B → 0101 1100 1111 , 1011 0100 → 5CF,B4 H Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 13/51 e Automazione Elettronica digitale Con due cifre esadecimali si rappresenta un numero binario di 8 bit, cioè un byte. Ad esempio: 11011010B = DA H I numeri esadecimali sono utilizzati per rappresentare gli indirizzi di memoria dei computer. Ad esempio, in un microprocessore i singoli byte di una memoria di 64 kB (kB: kilobyte) sono identificati da un indirizzo a 16 bit, mnemonicamente più facile da ricordare e da confrontare se espresso con 4 cifre esadecimali: 1101100111110011 B = D9F3H Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 14/51 e Automazione Elettronica digitale CODICI NUMERICI Un codice è un modo sistematico di rappresentare un'informazione. Codice binario E' possibile rappresentare 2n differenti messaggi con un puro codice binario di n bit. Un nibble è un codice a 4 bit (16 differenti messaggi). Un byte è un codice di 8 bit (1 byte = 1 B) (256 differenti messaggi). Una word è un codice di 16 bit (2 B) (65536 differenti messaggi). Una dword è un codice di 32 bit (4 B) [d sta per double] Una qword è un codice di 64 bit (8 B) [q sta per quad] Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 15/51 e Automazione Elettronica digitale Codice BCD (Binary Coded Decimal) BCD DEC Si tratta di un codice a 4 bit molto comune, utilizzato 0000 0 per codificare le cifre decimali da 0 a 9 in una 0001 1 rappresentazione assoluta. 0010 2 E' molto utilizzato nei sistemi elettronici che operano 0011 3 direttamente in decimale o per l'uscita dati in 0100 4 decimale verso un'utenza esterna. 0101 5 0110 6 Dato che con 4 bit si hanno 16 possibili combinazioni, 0111 7 6 di queste rimangono inutilizzate (il BCD utilizza solo 1000 8 le prime 10 combinazioni). 1001 9 Un codice a 4 bit che segue la regola del sistema numerico 1010 - binario è detto anche “8421” dove con 8, 4, 2 e 1 si identificano i 1011 - pesi delle posizioni, numerate da 0 a 3, in cui si trovano i 4 bit: 1100 - posizione 3: 23 = 8 1101 - posizione 2: 22 = 4 1110 - posizione 1: 21 = 2 1111 - posizione 0: 20 = 1 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 16/51 e Automazione Elettronica digitale Codice ASCII (American Standard Code for Information Interchange) Il codice ASCII (si pronuncia askii) è il più noto codice di caratteri. Si tratta di un codice a 8 bit (cioè a byte). Con un singolo byte si rappresentano 256 caratteri. Nei primi 128 codici sono contenuti 32 caratteri di controllo (non stampabili), seguiti dai codici relativi alle lettere dell'alfabeto maiuscole e minuscole, alle cifre, alla punteggiatura. Anche il 128° codice non è stampabile. Questi primi 128 caratteri sono fissi in ogni implementazione. Nei restanti 128 codici sono contenuti vari caratteri tutti stampabili che possono cambiare a seconda dell'implementazione. Consultare wikipedia all'indirizzo https://it.wikipedia.org/wiki/ASCII per la tabella delle corrispondenze codice-carattere Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 17/51 e Automazione Elettronica digitale Codice UNICODE Questo codice è in realtà una famiglia di codici in grado di rappresentare la maggior parte dei caratteri utilizzati nelle lingue parlate nel mondo e viene continuamente aggiornato dall'Unicode Consortium (un'associazione internazionale di enti ed aziende). La codifica Unicode probabilmente più utilizzata è la UTF-8 (Unicode Transformation Format, 8 bit) che prevede l'utilizzo da 1 a 4 byte per la codifica di ciascun carattere. Il codice ASCII è in pratica incluso nell'UTF-8. Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 18/51 e Automazione Elettronica digitale INTRODUZIONE ALL'ALGEBRA DI BOOLE GLI OPERATORI LOGICI ELEMENTARI (G. Boole, 1815-1864) Nell'algebra di Boole le variabili possono assumere soltanto due stati indicati generalmente con “1” e “0”. A seconda del problema trattato “1” e “0” possono assumere vari significati: vero o falso, si o no, aperto o chiuso, alto o basso, acceso o spento, buono o cattivo, etc. Le operazioni fondamentali usate nell'algebra di Boole sono: nome simbolo simbolo altri simboli altri nomi operazione principale alternativo possibili prodotto AND ∙ ˄ intersezione logico (et) && congiunzione somma OR + ˅ unione logica (vel) || disgiunzione negazione NOT var var ¬ var complementazione ! var inverter Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 19/51 e Automazione Elettronica digitale Prodotto logico (AND) AND L'amplificatore funziona se è alimentato e ben costruito risultato dell'operazione di AND 2a affermazione 1a affermazione L'affermazione “[l'amplificatore] è alimentato” può essere vera o falsa. L'affermazione “[l'amplificatore è] ben costruito” può essere vera o falsa. E' evidente che l'affermazione “L'amplificatore funziona” è vera solo se entrambe le affermazioni (la 1a e la 2a) sono vere. Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 20/51 e Automazione Elettronica digitale AND L'amplificatore funziona se è alimentato e ben costruito Y A B Associando ad ogni affermazione una variabile logica, che quindi potrà assumere valore vero o falso, e associando a vero il simbolo “1” e a falso il simbolo “0”, è possibile compilare la seguente tabella (detta tabella della verità): A B Y=A∙B tabella della verità 0 0 0 del prodotto 0 1 0 logico AND 1 0 0 1 1 1 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 21/51 e Automazione Elettronica digitale Somma logica (OR) OR Ascolto la radio se c'è un programma musicale o di attualità risultato dell'operazione di OR 2a affermazione 1a affermazione L'affermazione “c'è un programma musicale” può essere vera o falsa. L'affermazione “[c'è un programma] di attualità” può essere vera o falsa. E' evidente che l'affermazione “Ascolto la radio” è falsa solo se entrambe le affermazioni (la 1a e la 2a) sono false. Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 22/51 e Automazione Elettronica digitale OR Ascolto la radio se c'è un programma musicale o di attualità Y A B In analogia a come fatto per il prodotto logico (AND) è possibile compilare la seguente tabella: A B Y=A+B 0 0 0 tabella della verità 0 1 1 della somma 1 0 1 logica OR 1 1 1 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 23/51 e Automazione Elettronica digitale Negazione (NOT) NOT Esco di casa se non piove risultato dell'operazione di NOT affermazione L'affermazione “piove” può essere vera o falsa. E' evidente che l'affermazione “Esco di casa” è vera solo se la negazione dell'affermazione è vera, ossia l'affermazione è falsa. Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 24/51 e Automazione Elettronica digitale NOT Esco di casa se non piove Y A In analogia a come fatto per le precedenti operazioni logiche (AND e OR) è possibile compilare la seguente tabella: A Y=A tabella della verità 0 1 della negazione 1 0 NOT Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 25/51 e Automazione Elettronica digitale Cenni storici L'algebra booleana venne introdotta da Boole nel suo lavoro datato 1854 e intitolato “An investigation into the Laws of Thought, on Which are Founded the Mathematical Theories of Logic and Probabilities”, più noto come semplicemente “The Laws of Thought “ ("Le leggi del pensiero"). Boole ridusse la logica a una semplice algebra, incorporando quindi la logica nella matematica. Circa 70 anni dopo la morte di Boole, il matematico statunitense Claude Shannon (1916- 2001), iniziato all'algebra booleana sin da quando era ancora studente, mostrò come questa potesse essere sfruttata per ottimizzare la progettazione di sistemi di commutazione telefonica. Inoltre, mostrò che i circuiti con relè (dispositivo elettrico comandato dalle variazioni di corrente per influenzare le condizioni di un altro circuito) potevano risolvere problemi di algebra booleana. Boole, grazie anche al contributo di Shannon, viene considerato uno dei fondatori dell'era digitale. Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 26/51 e Automazione Elettronica digitale FUNZIONI DI DECISIONE (Le funzioni di decisione sono dette anche funzioni logiche o funzioni booleane) Le espressioni introdotte precedentemente: Y = A⋅B Y = A+B Y=A sono dette funzioni logiche semplici. Con gli operatori AND, OR e NOT variamente combinati è possibile costruire qualsivoglia funzione di decisione più complessa. Esempi Ya = (A⋅B⋅C+A⋅C)⋅(B+A⋅B⋅C) NOTA: il punto che indica AND Y b = A C+B C( ABC+A) si può omettere Nelle espressioni senza parentesi l'ordine di precedenza per i calcoli è il seguente: NOT, AND, OR. NOTA: scrivere “AB” equivale a scrivere “NOT(AB)”; inoltre AB ≠ A B Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 27/51 e Automazione Elettronica digitale Per verificare quanto vale Y in tutti i casi possibili si costruisce la tabella della verità considerando tutte le variabili in gioco e tutte le possibili combinazioni dei valori che assumono tali variabili. Con riferimento agli esempi precedenti: A B C Ya A B C Yb 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 1 1 1 1 0 Una funzione logica complessa è quindi completamente descrivibile tramite la sua tabella della verità. Esercizi da 1 a 6 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 28/51 e Automazione Elettronica digitale Mintermini Una funzione logica espressa mediante una tabella può essere trasformata in un'espressione algebrica come segue: ad ogni combinazione di bit si fa corrispondere una AND tra le variabili; le variabili corrispondenti ai bit di valore “0” devono essere “negate”. I termini così ricavati sono detti mintermini. Esempio La funzione logica in forma A B C Y mintermini algebrica si ricava mettendo in 0 0 0 0 ABC OR i mintermini corrispondenti a 0 0 1 1 ABC Y=1 0 1 0 1 ABC Y = A B C+A B C+A B C 0 1 1 0 ABC La forma algebrica così ottenuta è anche 1 0 0 0 ABC detta forma canonica della somma logica in quanto in tutti i termini della 1 0 1 0 ABC somma compaiono tutte le variabili (che 1 1 0 1 ABC siano negate o non negate). 1 1 1 0 ABC Esercizi da 7 a 12 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 29/51 e Automazione Elettronica digitale Maxtermini In alternativa al caso precedente una funzione logica espressa mediante una tabella può essere trasformata in un'espressione algebrica come segue: ad ogni combinazione di bit si fa corrispondere una OR tra le variabili; le variabili corrispondenti ai bit di valore “1” devono essere “negate”. I termini così ricavati sono detti maxtermini. Esempio A B C Y maxtermini La funzione logica in forma algebrica si ricava mettendo in 0 0 0 0 A+B+C AND i maxtermini corrispondenti 0 0 1 1 A+B+C aY=0 0 1 0 1 A+B+C Y = ( A +B+C)(A + B+C)( A +B+C) 0 1 1 0 A+B+C ( A +B+C)(A + B+C) 1 0 0 0 A+B+C La forma algebrica così ottenuta è anche 1 0 1 0 A+B+C detta forma canonica del prodotto logico in quanto in tutti i termini del 1 1 0 1 A+B+C prodotto compaiono tutte le variabili (che 1 1 1 0 A+B+C siano negate o non negate). Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 30/51 e Automazione Elettronica digitale PORTE LOGICHE Nell'elettronica digitale le operazioni logiche vengono svolte da appositi circuiti chiamati “porte”. La simbologia utilizzata per rappresentare le porte logiche che svolgono le operazioni di AND, OR e NOT è la seguente: AND A NOT B Y = A∙B∙C∙…∙N Y=A A N OR A B Y = A+B+C+…+N N Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 31/51 e Automazione Elettronica digitale Una banale realizzazione fisica delle porte è costituita da semplici interruttori: ciascun interruttore A B C N implementa una variabile booleana (interruttore aperto “0”, interruttore chiuso “1”) AND A B C OR NOT N A Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 32/51 e Automazione Elettronica digitale Altre porte logiche molto utilizzate: Tabella della verità nel caso di sole due si tratta di una porta AND con NAND in cascata una porta NOT variabili: A B Y=A∙B A 0 0 1 B Y = A∙B∙C∙…∙N 0 1 1 1 0 1 N 1 1 0 Tabella della verità nel caso di sole due si tratta di una porta OR con variabili: NOR in cascata una porta NOT A B Y=A+B A B Y = A+B+C+…+N 0 0 1 0 1 0 1 0 0 N 1 1 0 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 33/51 e Automazione Elettronica digitale OR esclusivo è una OR in cui si esclude il caso in cui entrambe le Tabella della verità XOR variabili siano “alte” contemporaneamente A B Y = A B A 0 0 0 Y = AB = AB + AB 0 1 1 B 1 0 1 1 1 0 Le porte NOT, quando presenti sul lato ingresso di una porta AND o OR (o altre ancora), sono spesso “inglobate” nel simbolo stesso di queste porte come mostrato negli esempi seguenti: A Y = A∙B A Y = A+B B B Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 34/51 e Automazione Elettronica digitale PROPRIETÀ' E TEOREMI DELL'ALGEBRA DI BOOLE Teorema dell'annullamento Teorema dei complementi A A A+ 1 = 1 A+ A= 1 A 1 A 0 A A A·0=0 A·A=0 Teorema di identità Teorema di idempotenza A A A+ 0 =A 0 A+A=A A A 1 A A A·1 =A A·A=A Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 35/51 e Automazione Elettronica digitale Teoremi di De Morgan 1° teorema dell'assorbimento primo A+ B = A B A + AB = A A secondo A B = A + B 1 A B A(A + B) = A A Altre proprietà A B A+ B = B+A commutativa AB = BA 2° teorema dell'assorbimento (A + B) + C = A + (B + C) A + AB = A + B associativa (AB)C = A(BC) A B A AB + AC = A(B + C) distributiva (A + B) (A + C) = A + BC Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 36/51 e Automazione Elettronica digitale tutti i teoremi precedentemente esposti in coppia (incluso De Morgan) sono “duali”: si può passare dall'uno all'altro scambiando AND con OR ed “1” con “0” e viceversa tutti i teoremi precedentemente esposti possono essere verificati con il metodo dell'induzione matematica: si verifica la relazione considerando tutti i valori possibili che possono assumere le variabili (similmente a come visto nell'esempio presentato nelle slide 26 e 27 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 37/51 e Automazione Elettronica digitale GRUPPO DI PORTE UNIVERSALI Si definisce così l'insieme minimo di porte in grado di realizzare ogni tipo di funzione logica. Il primo gruppo è denominato AOI (AND OR INVERTER) costituito dalle 3 porte classiche già introdotte. Altri gruppi utilizzati sono: OR-NOT, AND-NOT, NAND, NOR A Y=A+B=AB OR-NOT porta AND: B A Y=A⋅B=A+B AND-NOT porta OR: B Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 38/51 e Automazione Elettronica digitale NOR porta NOT porta AND A A A AB B porta OR A A+B B NAND porta NOT porta OR A A A A+B B porta AND A AB B Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 39/51 e Automazione Elettronica digitale TECNOLOGIE DELLE PORTE Nei circuiti elettronici digitali si usa assegnare una banda di valori di tensione a ciascuno dei due livelli logici, ad esempio: livello alto, H: 2 - 5 V livello basso, L: 0 – 0,8 V in questo esempio la banda di valori 0,8 – 2 volt è proibita. Si possono avere due casi: logica positiva: “1” ↔ H “0” ↔ L logica negativa: “1” ↔ L “0” ↔ H Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 40/51 e Automazione Elettronica digitale Soluzioni hardware per la realizzazione di porte logiche Le soluzioni si distinguono in “famiglie”. Tra le più importanti (alcune ormai solo per un fatto storico) si hanno: DL (Diode Logic) DTL (Diode-Transistor Logic) RTL (Resistor-Transistor Logic) ECL (Emitter Coupled Logic) TTL (Transistor-Transistor Logic, basata su BJT) CMOS (Complementary Metal–Oxide–Semiconductor) e derivate NMOS (N Metal–Oxide–Semiconductor) PMOS (P Metal–Oxide–Semiconductor) BiCMOS (Bipolar Complementary Metal–Oxide–Semiconductor) Le famiglie logiche DL, DTL, RTL, ed ECL derivano dai circuiti logici usati nei primi computer, inizialmente realizzati tramite componenti discreti. La logica PMOS è invece stata usata per periodi relativamente brevi, in particolare all'interno di circuiti LSI, ed è considerate obsoleta. Le famiglie logiche attualmente più utilizzate nei circuiti integrati sono le ECL, TTL, CMOS, NMOS e BiCMOS. In particolare, la ECL è usata in applicazioni ad elevata frequenza, mentre la logica NMOS è largamente sfruttata nei circuiti VLSI. Seguono alcuni esempi di famiglia Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 41/51 e Automazione Elettronica digitale Famiglia DL VCC Il diodo è utilizzato come interruttore, pilotato dalla tensione VA: VA = 0 V → VY = 0 V il diodo è in conduzione essendo polarizzato direttamente; ne consegue che i morsetti in uscita sono in corto. VA = VCC → VY = VCC il diodo è in interdizione essendo polarizzato inversamente; ne consegue che tra i morsetti in uscita è VA VY presente proprio la tensione VCC Quindi VA è la variabile logica che può assumere valore “0” (0 V) o valore “1” (VCC) Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 42/51 e Automazione Elettronica digitale Porta OR Y = A+B Porta AND VCC A B queste porte sono molto semplici e poco costose la porta NOT non è realizzabile A B Y = AB le porte AND/OR non sono combinabili tra di loro indefinitamente Vcc = 5 V H: 3,5 V – 5 V L: 0 V – 1,5 V Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 43/51 e Automazione Elettronica digitale Famiglia TTL La TTL è una delle famiglie logiche più diffuse (almeno lo era in un recente passato). Utilizza transistor BJT al silicio. Si ricorda che il transistor BJT può essere utilizzato come interruttore facendolo funzionare in saturazione (interruttore chiuso) o in interdizione (interruttore aperto). Dalla lezione 13.1, nel caso di un BJT npn, si ha: ZONA DI FUNZIONAMENTO Legame tra Valori tipici di Valori tipici di IC e IB VBE VCE SATURAZIONE (ON) IC < hFE· IB 0,8 V 0,2 V (≈ 0) INTERDIZIONE (OFF) IC≈ 0 IB≈ 0 0 (con VCB = VCE-VBE) [nel caso di BJT pnp: VCB < 0] Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 44/51 e Automazione Elettronica digitale esempio di porta NAND T1 è un BJT con due emettitori. Può essere interpretato come: Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 45/51 e Automazione Elettronica digitale Famiglia CMOS La lettera C davanti a MOS sta per complementary e indica che il circuito contiene coppie di MOSFET di tipo enhancement complementari (PMOS+NMOS) (si riveda la lezione 13.3). Insieme alla famiglia TTL è stata quella di uso più comune nel recente passato. esempio di porta NAND Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 46/51 e Automazione Elettronica digitale esempio di porta NOR Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 47/51 e Automazione Elettronica digitale ESERCIZI Scrivere la tabella della verità per le seguenti funzioni logiche: 1 ) Y = A B+A C [Risp : Y =1 per ABC=010,011,101,111 ] 2 ) Y = A+B C(A B+B C) [Risp : Y =1 per ABC=100,101,110, 111] 3 ) Y = B BC(A C+B+A B) [Risp : Y =0 sempre] 4 ) Y = (C+B A)⋅(B A+C+B)+A B [Risp : Y =1 per ABC=001,011,100,101,111] 5 ) Y = A A B+A B C( A B+A) [Risp : Y =1 per ABC=011] 6 ) Y = A+B+A C+A C B( A C+BC) [Risp : Y =1 per ABC=110 ] Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 48/51 e Automazione Elettronica digitale 7) Data la tabella della verità qui di fianco, trovare la A B Y forma algebrica della funzione logica in forma canonica del prodotto 0 0 0 [Risp :Y = A B+ A B ] 0 1 1 1 0 0 8) Data la tabella della verità qui di fianco, trovare la forma algebrica della funzione logica in forma 1 1 1 canonica della somma [Risp :Y =( A +B)( A +B)] 9) Data la tabella della verità qui di fianco, trovare la A B C Y forma algebrica della funzione logica in forma 0 0 0 1 canonica del prodotto [Risp :Y = A BC + A B C + A B C + A B C ] 0 0 1 1 0 1 0 0 10) Data la tabella della verità qui di fianco, trovare la 0 1 1 0 forma algebrica della funzione logica in forma canonica della somma 1 0 0 1 [Risp :Y =( A +B+C)( A +B+C)( A +B+C)( A +B+C)] 1 0 1 0 1 1 0 1 1 1 1 0 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 49/51 e Automazione Elettronica digitale 11) Data la tabella della verità qui di fianco, trovare la A B C D Y forma algebrica della funzione logica in forma canonica del prodotto 0 0 0 0 0 [ Risp:Y = A B C D+ A B C D+ A BC D+ A B C D + 0 0 0 1 0 + A B C D + A BC D+ A B C D ] 0 0 1 0 0 0 0 1 1 1 12) Data la tabella della verità qui di fianco, trovare la forma algebrica della funzione logica in forma 0 1 0 0 1 canonica della somma 0 1 0 1 1 [ Risp:Y =( A+ B+C+ D)( A +B+C+ D)( A +B+C+ D) 0 1 1 0 1 ( A +B+C+ D)( A+B +C +D)⋅( A +B+C + D) 0 1 1 1 0 ( A +B+C+ D)( A+B +C +D)( A+B +C +D) ] 1 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 0 1 1 0 1 1 0 0 0 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 50/51 e Automazione Elettronica digitale FINE DELLA LEZIONE N. 16.1 Elettrotecnica, Elettronica Lezione n. 16.1 Ing. Lucio Scarpelli Slide n. 51/51 e Automazione Elettronica digitale

Use Quizgecko on...
Browser
Browser