Riepilogo Attività Registro del Professore Classe: 4G PROFESSIONALE Anno: 2015/2016 DocentI: DAMIANI NICOLA, MAMMI MARINO Materia:TECNOLOGIE ELETTRICO ELETTRONICHE E APPLICAZIONI Sistemi di numerazione in base 2, 8,10 e 16, conversione numerica da un sistema numerico a un altro, complemento a uno e complemento a due di un numero binario, numeri binari a 8 bit dotati di segno, Addizione binaria, numeri binari dotati di segno. Circuiti combinatori, tabelle della verità delle porte logiche elementari AND, OR, NOT, NAND E NOR e relativi simboli logici. Verifica sperimentale della tabella della verità di una funzione logica combinatoria mediante sistema AOI con ausilio di breadboard. Teoremi e postulati dell'algebra di Boole; Sistemi universali di porte logiche: AOI, NAND e NOR. Prima e seconda forma canonica, Teorema dell'adiacenza e sue applicazioni. Laboratorio Hardware: Verifica sperimentale della universalità della porta NAND. Teorema di De Morgan e sue applicazioni. Mappe di Karnough: minimizzazione di una funzione logica, criteri di minimizzazione. Decoder binario decimale 2 a 4, decoder binario decimale 3 a 8, decoder per generare funzioni, condizioni don't care. Encoder decimale binario 4 a 2, Multiplexer, multiplexer 4 a 1: tabella della verità e circuito logico, funzioni con multiplexer 4 a 1 e multiplexer 8 a 1. Porte logiche XOR e XNOR, Half adder e full adder. Decoder drive BCD 7 segmenti. Laboratorio hardware: decoder binario decimale 2 a 4 Laboratorio hardware: verifica sperimentale multiplexer per generare funzioni. Latch SR a porte NAND e a porte NOR, analisi del circuito, tabella della verità, possibile applicazione: debouncer, diagrammi temporali di un Latch SR, Latch SR con ENABLE, circuito logico e true table, diagramma temporali, latch SR con ENBLE; latch di tipo D, circuito logico e true table, diagramma temporali. Laboratorio hardware: verifica sperimentale di un latch SR. Differenza tra dispositivo sincrono e asincrono, differenza tra dispositivo logico combinatorio e dispositivo sequenziale, Flip Flop SR con PRESET e CLEAR, diagrammi temporali, FF - JK e FF - T tabella della verità è diagrammi temporali. Il materiale presente in questa dispensa intende affiancare e non sostituire gli appunti e le schede esercitative delle lezioni svolte durante l’anno! TECNOLOGIE ELETTRICO ELETTRONICHE E APPLICAZIONI MATERIALE ESTIVO PER IL RECUPERO DEL DEBITO a.s. 2015/2016 I SEGNALI ANALOGICI: I SEGNALI ANALOGICI SONO SEGNALI CHE VARIANO CON CONTINUITÀ NEL TEMPO. I SEGNALI DIGITALI O DISCRETI: I SEGNALI DIGITALI SONO SEGNALI CHE NON VARIANO CON CONTINUITÀ, MA POSSONO ASSUMERE SOLO UN NUMERO DISCRETO DI VALORI. SISTEMI NUMERICI I SISTEMI NUMERICI SONO DEL TIPO POSIZIONALE PESATO, SONO DETTI COSÌ PERCHÉ OGNI CIFRA ASSUME UN VALORE DIVERSO A SECONDA DELLA SUA POSIZIONE NEL NUMERO. SISTEMA DECIMALE LE CIFRE DI UN NUMERO DECIMALE SONO 0,1,2,3,4,5,6,7,8,9 CIASCUNA CIFRA DEL NUMERO VIENE MOLTIPLICATA PER IL SUO PESO CHE È UNA POTENZA DEL 10: LA PRIMA CIFRA A DESTRA VA MOLTIPLICATA PER 100, SPOSTANDOSI A SINISTRA, LA SECONDA CIFRA VA MOLTIPLICATA PER 101, LA TERZA CIFRA VA MOLTIPLICATA PER 102 E COSÌ VIA. SISTEMA BINARIO LE CIFRE DI UN NUMERO BINARIO SONO 0,1 CIASCUNA CIFRA VIENE DETTA BIT DA BINARY DIGIT. IL VALORE DECIMALE DEL NUMERO È DETERMINATO MOLTIPLICANDO CIASCUNA CIFRA DEL NUMERO PER IL SUO PESO CHE È UNA POTENZA DEL 2: LA PRIMA CIFRA A DESTRA VA MOLTIPLICATA PER 20, SPOSTANDOSI A SINISTRA, LA SECONDA CIFRA VA MOLTIPLICATA PER 21, LA TERZA CIFRA VA MOLTIPLICATA PER 22 E COSÌ VIA. UNA NIBBLE È UN GRUPPO DI 4 BIT UN BYTE È UN GRUPPO DI 8 BIT UNA WORD È UN GRUPPO DI 32 BIT UNA DOUBLE WORD È UN GRUPPO DI 64 BIT SISTEMA OTTALE LE CIFRE DI UN NUMERO DECIMALE SONO 0,1,2,3,4,5,6,7 IL VALORE DECIMALE DEL NUMERO È DETERMINATO MOLTIPLICANDO CIASCUNA CIFRA DEL NUMERO PER IL SUO PESO CHE È UNA POTENZA DEL 8: LA PRIMA CIFRA A DESTRA VA MOLTIPLICATA PER 80, SPOSTANDOSI A SINISTRA, LA SECONDA CIFRA VA MOLTIPLICATA PER 81, LA TERZA CIFRA VA MOLTIPLICATA PER 82 E COSÌ VIA. SISTEMA ESADECIMALE LE CIFRE DI UN NUMERO DECIMALE SONO 0,1,2,3,4,5,6,7,8,9, A, B, C, D, E, F IL VALORE DECIMALE DEL NUMERO È DETERMINATO MOLTIPLICANDO CIASCUNA CIFRA DEL NUMERO PER IL SUO PESO CHE È UNA POTENZA DEL 16: LA PRIMA CIFRA A DESTRA VA MOLTIPLICATA PER 160, SPOSTANDOSI A SINISTRA, LA SECONDA CIFRA VA MOLTIPLICATA PER 161, LA TERZA CIFRA VA MOLTIPLICATA PER 162 E COSÌ VIA. CONVERSIONI DA BASE A BASE DA QUALSIASI BASE VERSO LA BASE 10: USIAMO IL METODO DEI PESI 1. (10010110001)2 1 (1201)10 0 0 1 0 1 1 0 0 0 1 10 2 29 28 27 26 25 24 23 22 21 20 sotto a ciascun bit posizioniamo il relativo peso, siamo in binario quindi il peso è una potenza del 2, da destra verso sinistra l'esponente della potenza cresce partendo da 0 mentre la base resta sempre 2, si parte da 20 poi 21 , poi 22 e così via . (10010110001)2 = 1⋅ 210 + 0 ⋅ 29 + 0 ⋅ 28 + 1 ⋅ 27 + 0 ⋅ 26 + 1 ⋅ 25 + 1⋅ 24 + 0 ⋅ 23 + 0 ⋅ 22 + 0 ⋅ 21 + 1⋅ 20 = =1024 + 128 + 32 + 16 + 1 = 1201 Infine si fa la somma di ciascun bit per il relativo peso. 2. (111001101110)2 1 1 11 10 (3694)10 1 0 0 1 1 0 1 1 1 0 2 2 29 28 27 26 25 24 23 22 21 20 sotto a ciascun bit posizioniamo il relativo peso, siamo in binario quindi il peso è una potenza del 2, da destra verso sinistra l'esponente della potenza cresce partendo da 0 mentre la base resta sempre 2, si parte da 20 poi 21 , poi 22 e così via . (10010110001)2 = 1⋅ 211 + 1⋅ 210 + 1⋅ 29 + 0 ⋅ 28 + 0 ⋅ 27 + 1⋅ 26 + 1⋅ 25 + 0 ⋅ 24 + 1⋅ 23 + 1⋅ 22 + 1⋅ 21 + 0 ⋅ 20 = =2048+1024 + 512 + 64 + 32 + 8 + 4 + 2 = 3694 Infine si fa la somma di ciascun bit per il relativo peso. 3. (573)8 (379)10 5 7 3 82 81 80 sotto a ciascuna cifra ottale mettiamo il relativo peso, siamo in ottale quindi il peso è una potenza del 8 da destra verso sinistra la potenza cresce partendo da 80 . ( 573)8 = 5 ⋅ 82 + 7 ⋅ 81 + 3 ⋅ 80 = 5 ⋅ 64 + 7 ⋅ 8 + 3 ⋅1 = 320 + 56 + 3 = 379 Infine si fa la somma di ciascuna cifra ottale per il relativo peso. 4. (FFF1)16 (65521)10 F F F 1 163 162 161 160 sotto a ciascuna cifra esadecimale posizioniamo il relativo peso, siamo in esadecimale quindi il peso è una potenza del 16, da destra verso sinistra l'esponente della potenza cresce partendo da 0 mentre la base resta sempre 16, si parte da 160 poi 161 , poi 16 2 e così via . ( FFF1)16 = 15 ⋅163 + 15 ⋅162 + 15 ⋅161 + 1⋅160 = 15 ⋅ 4096 + 15 ⋅ 256 + 15 ⋅16 + 1 = 61440 + 3840 + 240 + 1 = 65521 Infine per determinare il numero decimale si fa la somma di ciascuna cifra esadecimale per il relativo peso. 5. (A062)16 (41058)10 A 0 6 2 163 162 161 160 sotto a ciascuna cifra esadecimale posizioniamo il relativo peso, siamo in esadecimale quindi il peso è una potenza del 16, da destra verso sinistra l'esponente della potenza cresce partendo da 0 mentre la base resta sempre 16, si parte da 160 poi 161 , poi 162 e così via. ( A062 )16 = 10 ⋅163 + 0 ⋅162 + 6 ⋅161 + 2 ⋅160 = 10 ⋅ 4096 + 6 ⋅16 + 2 ⋅1 = 40960 + 96 + 2 = 41058 Infine per determinare il numero decimale si fa la somma di ciascuna cifra esadecimale per il relativo peso. 6. (110111, 10001)2 (55,53125)10 1 1 0 1 1 1 , 1 4 3 2 1 0 −1 0 0 0 −2 −3 −4 1 2 2 2 2 2 2 2 2 2 2 2 −5 sotto a ciascuna cifra binaria posizioniamo il relativo peso, siamo in binario quindi il peso 5 è una potenza del 2, da destra verso sinistra partendo dalla virgola l'esponente della potenza cresce partendo da 0 mentre la base resta sempre 2, si parte da 20 poi 21 , poi 22 e così via; a destra della virgola l'esponente della potenza decresce partendo da -1 mentre la base resta sempre 2, si parte da 2−1 , poi 2−2 , poi 2−3 e così via. (110111,10001)2 = 1 ⋅ 25 + 1 ⋅ 24 + 0 ⋅ 23 + 1 ⋅ 22 + 1⋅ 21 + 1⋅ 20 + 1⋅ 2−1 + 0 ⋅ 2−2 + 0 ⋅ 2−3 + 0 ⋅ 2−4 + 1⋅ 2−5 = =32 + 16 + 4 + 2 + 1 + 0,5 + 0, 03125 = 55, 53125 Infine per determinare il numero decimale si fa la somma di ciascuna cifra binaria per il relativo peso. DALLA BASE 8 ALLA BASE 16 E VICEVERSA, DALLA BASE 2 ALLE BASI 8 VICEVERSA SI USA IL METODO DEI GRUPPI 7. (736,23)8 E 16 E (1DE,4E)16 7 3 6 , 2 3 ciascuna cifra ottale si decomprime in gruppi di 3 bit 〈1 1 1〉 〈 0 1 1〉 〈1 1 0〉 , 〈 0 1 0〉 〈 0 1 1〉 si raggruppano i bit a quattro a quattro partendo dalla virgola, in testa e in coda si aggiungono gli zeri 〈 0 0 0 1〉 〈1 1 0 1〉 〈1 1 1 0〉 , 〈 0 1 0 0〉 〈1 1 0 0〉 1 D E , 4 C 8. (AD,BC)16 (255,57)8 A D , B C ciascuna cifra esadecimale si decomprime in gruppi di 4 bit 〈1 0 1 0〉 〈1 1 0 1〉 , 〈1 0 1 1〉 〈1 1 0 0〉 si raggruppano i bit a tre a tre partendo dalla virgola, in testa e in coda si aggiungono gli zeri 〈 0 1 0〉 〈1 0 1〉 〈1 0 1〉 , 〈1 0 1〉 〈1 1 1〉 〈 0 0 0〉 2 5 5 , 5 7 0 (524,26)8 9. (101010110,01011)2 101010110, 01011 si raggruppano i bit a tre a tre partendo dalla virgola, in testa e in coda si aggiungono gli zeri 〈1 0 1〉 〈 0 1 0〉 〈1 1 0〉 , 〈 0 1 0〉 〈1 1 0〉 5 2 4 , 2 6 DALLA BASE 10 VERSO QUALSIASI ALTRA BASE SI USA IL METODO DELLE DIVISIONI RIPETUTE PER LA BASE DI ARRIVO 10. (46)10 (101110)2 Q 46 ÷ 2 = 23 23 ÷ 2 = 11 11 ÷ 2 = 5 R 0 ← LSB 1 1 5÷2= 2 2÷2=1 1÷2=0 1 0 1 ← MSB Q = QUOZIENTE DELLADIVISIONE R = RESTO DELLA DIVISIONE LSB = LEAST SIGNIFICATIVE BIT MSB = MOST SIGNIFICATIVE BIT Il numero nella nuova base di arrivo sarà costituito dai resti della divisione, dal MSB (ultimo resto) al LSB (primo resto della divisione), quindi: (46)10 = (101110)2 11. (3956,8)10 (7564,6314)8 Dalla base 10 verso qualsiasi altra base si usa il metodo delle divisioni ripetute per la base di arrivo per la parte intera del numero Q R 3956 ÷ 8 = 494 494 ÷ 8 = 61 4 ← LSB 6 61 ÷ 8 = 7 7÷8= 0 5 7 ← MSB Il numero nella nuova base di arrivo sarà costituito dai resti della divisione, dal MSB (ultimo resto) al LSB (primo resto della divisione) per la parte intera 0,8×8 = 6 ,4 0,4×8 = 3 ,2 0, 2×8 = 1 , 6 0,6×8 = 4 ,8 Per la parte frazionaria applicando il metodo delle moltiplicazioni ripetute ed arrestando lo sviluppo alla quarta cifra dopo la virgola 12. (3956,6)10 (F74,C)16 Dalla base 10 verso qualsiasi altra base si usa il metodo delle divisioni ripetute per la base di arrivo per la parte intera del numero Q R 3956 ÷ 16 = 247 4 ← LSB 247 ÷ 16 = 15 7 15 ÷ 16 = 0 (F) 15 ← MSB Il numero nella nuova base di arrivo sarà costituito dai resti della divisione, dal MSB (ultimo resto) al LSB (primo resto della divisione) per la parte intera; 0,8×16 = 12 ,8 C Per la parte frazionaria applicando il metodo delle moltiplicazioni ripetute. OPERAZIONI ARITMETICHE NEL SISTEMA BINARIO ADDIZIONE BINARIA 0+ 0 = 0 0+ 1 = 1 1+ 0 = 1 1+ 1 = 10 somma Riporto(carry) NUMERI BINARI CON SEGNO DEFINIZIONE: IL COMPLEMENTO A UNO DI UN NUMERO BINARIO (N)2 PUÒ ESSERE OTTENUTO COMPLEMENTANDO LE SINGOLE CIFRE DEL NUMERO BINARIO STESSO, CIOÈ SOSTITUENDO OGNI 0 CON 1 E OGNI 1 CON 0. SUPPONIAMO DI AVERE IL SEGUENTE NUMERO BINARIO: (N)2=(10110011)2 RICAVIAMO ORA IL COMPLEMENTO A 1: 1 0 1 1 0 0 1 1 ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ 0 1 0 0 1 1 0 0 QUINDI IL COMPLEMENTO A 1 DEL NUMERO BINARIO (N)2=(10110011)2 È (N)C1=(01001100)2 ES: DATO IL NUMERO BINARIO A OTTO BIT (N)2 =(10011100)2, DETERMINARNE LA NOTAZIONE IN COMPLEMENTO A 1. RISULTA: ( N )2 = (1 0 1 1 0 0 1 1) ↓ ↓ ↓ ↓ ↓ ↓ ↓ ↓ ( N )C1 = (0 1 0 0 1 1 0 0) NOTAZIONE IN COMPLEMENTO A 2 PER CONVERTIRE IL NUMERO BINARIO (N)2 NELLA NOTAZIONE IN COMPLEMENTO A 2: • Si determina (N)C1, complemento a uno di (N)2; • Si aggiunge 1 al complemento a uno: (N)C2=(N)C1 + 1. LA NOTAZIONE IN COMPLEMENTO A 2 CONSENTE LA RAPPRESENTAZIONE DI NUMERI CON SEGNO. • I numeri positivi sono rappresentati come nel sistema binario, ed hanno uno 0 come cifra più significativa (MSB); • I numeri negativi sono rappresentati nella forma di complemento a 2 dei corrispondenti numeri positivi, ed hanno un 1 come cifra più significativa. RICORDA CHE IN UN NUMERO BINARIO IL MSB (MOST SIGNIFICATIVE BIT) È IL PRIMO BIT A SINISTRA MENTRE IL LSB (LEAST SIGNIFICATIVE BIT) È IL PRIMO BIT A PARTIRE DA DESTRA MSB 1011010101010110 LSB ES: Convertire il decimale -127 in complemento a due. 127 2 63 2 LSB → 1 31 2 1 15 2 1 72 1 32 1 12 1 0 1 ← MSB Quindi (+127)10 = (01111111)2 Determiniamo infine prima il complemento a 1 e poi il complemento a 2 (N)2= (+127)10= (01111111)2 (N)C1 = (10000000)2 (N)C2 = (-127)10 = (10000001)2. ES: Convertire il decimale - 96 in complemento a due con n=8 bit. 96 2 48 2 LSB → 0 24 2 0 12 2 0 62 0 32 0 12 1 0 1 ← MSB Quindi (+96)10 = (01100000)2 aggiungiamo uno 0 in testa per avere un numero di 8 bit che sia positivo. Determiniamo infine prima il complemento a 1 e poi il complemento a 2 (N)2= +(96)10=(01100000)2 (N)C1 = (10011111)2 (N)C2 = (- 96)10 = (10100000)2. OPERAZIONI CON NUMERI DOTATI DI SEGNO CON NUMERI A 8 BIT (+127)10 –( 96)10 = (+127)10 + (-96)10 = (+31)10 1 11 01111111+ 10100000= 1 00011111 Il primo bit a sinistra (il nono bit) va scartato quindi il numero è (00011111)2=(+31)10 , l’ottavo bit (il primo bit a sinistra ) vale 0 per cui il numero è positivo. Proviamo ora a fare la seguente operazione: (+96)10 –(+ 127)10 = (+ 96)10 + (-127)10 = (-31)10 01100000+ 10000001= 11100001 Il numero ottenuto è negativo perché il primo bit è 1, per cui il numero è espresso come complemento a 2 (N)C2=(11100001) (N)C1=(00011110) (00011110)+ 1= (00011111)=(+31) PORTE LOGICHE ELEMENTARI TABELLA DELLA VERITA’ PORTA NOT A Y =A A A 0 1 1 0 TABELLA DELLA VERITA’ PORTA AND A B Y = A⋅ B 0 0 0 0 1 0 1 0 0 1 1 1 TABELLA DELLA VERITA’ PORTA OR A B Y=A+B 0 0 0 0 1 1 1 0 1 1 1 1 TABELLA DELLA VERITA’ PORTA NAND A B Y = A⋅B A B Y=A ⋅ B PORTA NOR A B Y= A+B PORTA XOR 0 0 1 0 1 1 1 0 1 1 1 0 TABELLA DELLA VERITA’ A Y = A⊕B Y = A+B 0 0 1 0 1 0 1 0 0 1 1 0 TABELLA DELLA VERITA’ A PORTA XNOR B B Y = A⊕B 0 0 0 0 1 1 1 0 1 1 1 0 TABELLA DELLA VERITA’ A B Y = A⊕B 0 0 1 1 0 1 0 1 1 0 0 1 MINTERMINI E MAXTERMINI MINTERMINE: PRODOTTI CHE CONTENGONO TUTTE LE VARIABILI DI INGRESSO DI UNA FUNZIONE BOOLEANA; OGNI MINTERMINE SI COSTRUISCE FACENDO IL PRODOTTO DELLE VARIABILI, NEGATE SE ALLA VARIABILE CORRISPONDE UNO 0, NON NEGATE SE ALLA VARIABILE CORRISPONDE UN 1. I MINTERMINI SONO COSÌ DETTI IN QUANTO PER UNA DATA COMBINAZIONE DI VALORI DELLE VARIABILI DI INGRESSO IL MINIMO NUMERO DI TERMINI PRODOTTO È UGUALE AD 1. MAXTERMINE: SOMME CHE CONTENGONO TUTTE LE VARIABILI DI INGRESSO DI UNA FUNZIONE BOOLEANA; OGNI MAXTERMINE SI COSTRUISCE FACENDO LA SOMMA DELLE VARIABILI, NEGATE SE ALLA VARIABILE CORRISPONDE UN 1, NON NEGATE SE ALLA VARIABILE CORRISPONDE UNO 0. I MAXTERMINI SONO COSÌ DETTI IN QUANTO PER UNA DATA COMBINAZIONE DI VALORI DELLE VARIABILI DI INGRESSO È MASSIMO IL NUMERO DI TERMINI SOMMA UGUALE AD 1. FORME CANONICHE NELLA FORMA CANONICA SOMMA DI PRODOTTI INDICATA ANCHE CON SOP (SUM OF PRODUCT), LA FUNZIONE BOOLEANA È ESPRESSA COME SOMMA DEI MINTERMINI, PER CUI LA FUNZIONE VALE 1. NELLA FORMA CANONICA PRODOTTI DI SOMME INDICATA ANCHE CON POS (PRODUCT OF SUM), LA FUNZIONE BOOLEANA È ESPRESSA COME PRODOTTO DEI MAXTERMINI, PER CUI LA FUNZIONE VALE 0. Esempio 1: Data la seguente funzione logica: F = A⋅ B ⋅ C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D a) Scrivere la tabella della verità b) Disegnare il circuito logico combinatorio Svolgimento La tabella della verità si può costruire in due modi in questo caso, il primo modo è quello dell’analisi della funzione e cioè il seguente: A B C D A B C D A⋅ B ⋅C ⋅ D A ⋅ B ⋅C ⋅ D A ⋅ B ⋅C⋅ D F 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 1 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 1 0 1 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 0 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 1 0 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 1 0 0 0 0 1 1 0 0 0 0 1 1 0 1 0 0 1 0 0 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 Il secondo modo molto più rapido è quello di sfruttare la teoria dei mintermini, essendo la funzione espressa con la prima forma canonica allora basta mettere in uscita gli 1 della funzione in corrispondenza della combinazione dei mintermini che costituiscono la funzione. A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 mi A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D F 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 Esempio 2: Data la funzione Y espressa dalla seguente tabella della verità: A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1 D 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 mi Mi A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A⋅ B ⋅C ⋅ D A+ B +C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D A+ B+C + D Y 1 1 1 0 1 1 0 1 1 1 0 1 1 0 1 1 F 0 1 0 0 0 0 1 0 0 0 1 0 0 0 0 0 a) Determinare la funzione Y con la seconda forma canonica e disegnarne il circuito logico combinatorio. b) Determinare la funzione F con la prima forma canonica e disegnarne il circuito logico combinatorio. Svolgimento Per la seconda forma canonica dobbiamo guardare gli 0 della funzione di uscita, in corrispondenza degli 0 consideriamo i maxtermini e infine scrivere la seconda forma canonica come prodotto di quei maxtermini per i quali la funzione vale 0. Risulterà: Y = ( A + B + C + D ) ⋅ ( A + B + C + D) ⋅ ( A + B + C + D ) ⋅ ( A + B + C + D) Per la prima forma canonica dobbiamo guardare gli 1 della funzione di uscita, in corrispondenza degli 1 consideriamo i mintermini e infine scrivere la prima forma canonica come somma di quei mintermini per i quali la funzione vale 1. Risulterà: F = A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D POSTULATI, PROPRIETÀ E TEOREMI NELL’ALGEBRA DI BOOLE POSTULATI Elenchiamo i postulati sui quali si costruisce l’algebra di Boole: 1. Una variabile booleana A può assumere solo due valori: A = 0 oppure A = 1; 2. 0∙0 = 0; 3. 1∙1 = 1 4. 1∙0 = 0∙1 = 0 5. 0 + 0 = 0; 6. 1 + 1 = 1; 7. 1 + 0 = 0 + 1 = 1; 8. 1 = 0 e 0 = 1 . I precedenti postulati sono facilmente verificabili con le definizioni delle operazioni logiche viste prima. PROPRIETÀ 1. Commutativa: A + B = B + A e A∙B = B∙A; 2. Associativa: A+B+C = (A+B)+C = A+(B+C) e A∙B∙C = (A∙B)∙C = A∙(B∙C) 3. Distributiva dell’AND sull’OR: A∙(B + C) = A∙B + A∙C; 4. Distributiva dell’OR sull’AND: A + (B∙C) = (A + B)∙(A + C); 5. Idempotenza: A + A = A e A∙A = A; 6. Involuzione: A = A ; 7. Applicazione: A + A∙B = A e A∙(A + B) = A; 8. Identità: 0 + A = 1∙A = A; 9. Dominanza: 1 + A = 1 e 0∙A = 0; 10. Complementazione: A + A = 1 e A ⋅ A = 0 11. Assorbimento: A + A ∙B = A + B e A∙(A + B) = A∙B TEOREMA DI DE MORGAN Il teorema di De Morgan è di fondamentale importanza sia nell’algebra di Boole sia nella sua applicazione ai circuiti elettronici digitali. Il teorema di De Morgan è enunciato dalle seguenti due espressioni: A + B = A⋅ B A⋅ B = A + B Queste espressioni sono riferite a sole due variabili, ma si possono generalizzare a più variabili come segue: A + B + C = A⋅ B ⋅C A⋅ B ⋅C = A + B + C Il teorema di De Morgan è di fondamentale importanza in quanto, in parole, enuncia il fatto che ogni funzione booleana può essere espressa in termini delle sole operazioni AND e NOT oppure delle sole OR e NOT. Minimizzazione booleana tramite Mappe di Karnaugh Tra le proprietà dell’algebra di Boole, le seguenti consentono di semplificare notevolmente le espressioni booleane: ( A⋅ B + A⋅ B = A⋅ B + B ) ( = A ) A⋅ B ⋅C + B ⋅C + B ⋅C + B ⋅C = A Le mappe di Karnaugh sono una particolare forma di tabella di verità, che consente di individuare immediatamente la possibilità di fare queste semplificazioni. Ad esempio, la seguente tabella di verità della funzione Y = Y(A,B,C) A B C Y 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 Può essere ridisegnata così: Dalla tabella di verità o dalla mappa di Karnaugh è immediato ottenere l’espressione booleana della funzione Y come “somma” di “prodotti”, cioè come OR di tanti termini AND quante sono le caselle in cui la funzione vale 1; ciascuno di questi termini AND (detti mintermini) è costituito dall’AND delle variabili di ingresso, negate oppure no a seconda che il valore della variabile associato a quella casella sia 0 oppure 1. Y = A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C Nel caso di funzioni di 4 variabili, ad es. Z=Z(A,B,C,D), la mappa di Karnaugh ha 4 righe e quattro colonne: Mappa di Karnaugh della funzione Z Nelle mappe di Karnaugh i valori della funzione Z sono scritti dentro le caselle. I valori delle variabili A, B, C, D sono indicati come “coordinate” delle caselle. Esaminando queste “coordinate, si constata che le coppie di valori di A e B (di C e D) associate alle colonne (alle righe) sono ordinate in modo che tra due caselle adiacenti (della medesima riga o della medesima colonna) cambia il valore di una sola delle variabili, mentre quello di tutte le altre rimane lo stesso; questa proprietà vale anche tra le caselle estreme di ciascuna riga e di ciascuna colonna (che, sotto questo aspetto, possono quindi essere considerate “adiacenti”, in senso circolare). Si osserva che, in virtù di questo fatto, a ciascuna coppia di caselle adiacenti contrassegnate con il valore 1 corrispondono, nella espressione booleana, due termini “prodotto” (mintermini) nei quali una variabile è presente negata in una e non negata nell’altra, mentre tutte le altre variabili hanno lo stesso valore. E` allora possibile semplificare l’espressione sostituendo quei due termini con un unico termine nel quale non è più presente la variabile che cambia valore. Ad esempio le ultime due caselle della seconda riga nella mappa della funzione Y portano alla seguente semplificazione: A⋅ B ⋅C + A⋅ B ⋅C = A⋅C Allo stesso modo, quaterne di caselle adiacenti tutte con il valore 1 (sulla stessa riga o sulla stessa colonna) corrispondono a quattro termini che si riducono ad uno; ad esempio le quattro caselle della terza riga nella mappa della funzione Z portano alla seguente semplificazione: C ⋅ D ⋅ ( A⋅B + A ⋅ B + A ⋅ B + A ⋅ B) = C ⋅ D le quattro caselle della terza colonna nella mappa della funzione Z portano alla seguente semplificazione: A ⋅ B ⋅ (C ⋅ D + C ⋅ D + C ⋅ D + C ⋅ D) = A ⋅ B Così pure quaterne adiacenti disposte secondo un quadrato producono un unico termine; ad esempio le quattro caselle in basso a sinistra nella mappa della funzione Z portano alla seguente semplificazione: A ⋅ C ⋅ ( B ⋅ D + B ⋅ D + B ⋅ D + B ⋅ D) = A ⋅ C Analogo discorso vale per gruppi di otto caselle adiacenti tutte con il valore 1. Per semplificare l’espressione booleana di una funzione, si tratta dunque di individuare, nella relativa mappa di Karnaugh, i gruppi di (2 o 4 o 8) caselle adiacenti con il valore 1. Nel far ciò conviene tenere presente la proprietà A+A=A, che consente di utilizzare più volte la stessa casella (ovvero più volte lo stesso mintermine nell’espressione booleana), per formare gruppi diversi, al fine di operare il maggior numero di semplificazioni possibile. Individuando un insieme di gruppi (da 1, 2, 4 o 8) che copre tutte le caselle in cui compare il valore 1, si ottiene una espressione semplificata, costituita dall’OR dei termini corrispondenti a ciascun gruppo. Si devono creare gruppi o raggruppamenti degli 1 che si trovano in celle adiacenti rispettando le seguenti regole: 1) I raggruppamenti si effettuano per rettangoli o quadrati per un numero di celle pari ad una potenza del 2: 1,2,4,8,16... . 2) I raggruppamenti devono comprendere il maggior numero di celle possibili nel rispetto della regola 1). 3) Una o più celle possono appartenere a più raggruppamenti. 4) I raggruppamenti devono ricoprire tutte le celle contenenti un 1; in altre parole, ogni cella con un 1 deve far parte di un raggruppamento, che al limite può essere costituito da una sola cella. 5) Ad ogni raggruppamento corrisponde un prodotto delle variabili d'entrata così strutturato: il prodotto comprende solo quelle variabili che nel raggruppamento in esame non cambiano di stato, complementando quelle che sono allo stato 0. La funzione logica semplificata è data dalla somma dei questi prodotti generati dai raggruppamenti. Riprendendo l’esempio della funzione Z, si possono individuare i gruppi segnati in figura: AB CD 00 01 11 10 1 00 01 1 11 1 10 1 1 1 1 1 1 1 1 Con questi raggruppamenti si ottiene, immediatamente, l’espressione semplificata di Z: Z = A⋅C + A⋅ B + B ⋅ D Nell’esempio si può osservare che si sono considerate adiacenti anche le caselle estreme delle righe o delle colonne. Si osserva che si possono individuare diversi raggruppamenti che coprono tutte le caselle in cui Z vale 1, ciascuno dei quali porta a diverse espressioni di Z equivalenti (più o meno semplificate). Esempio: Esempio: Esempio: ESEMPIO: CONDIZIONI DON’T CARE Una funzione booleana si dice parzialmente definita se il suo valore è specificato solo per alcune combinazioni dei valori delle variabili. Nella pratica si ha a che fare con funzioni booleane parzialmente definite in due casi: o quando le altre combinazioni dei valori delle variabili non si possono verificare mai, oppure quando, anche se si verificano, i corrispondenti valori della funzione non importano (possono essere indifferentemente 0 od 1, perché comunque non vengono usati). Nella tabella di verità (o nella mappa di Karnaugh) di una funzione parzialmente definita, i valori non specificati sono comunemente indicati con una ics e corrispondono a ciò che si chiama “condizioni di indifferenza”, ovvero don’t care conditions (d.c.c.). La presenza delle condizioni don’t care nelle caselle di una mappa di Karnaugh può essere convenientemente sfruttata, sostituendone alcune con il valore 1, al fine di ottenere gruppi (da 2, 4, 8) che portano a semplificare l’espressione della funzione. Ad esempio, considerando la funzione parzialmente definita W la cui tabella di verità è riportata qui sotto insieme con la relativa mappa di Karnaugh: A B C W 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 0 0 1 0 1 1 1 Si possono sostituire due condizioni don’t care con altrettanti 1: e individuare la quaterna che consente di ottenere la seguente espressione semplificata di W: W = B Esempio: ENCODER Gli encoder (codificatori) sono dispositivi elettronici che trasformano una informazione non binaria (ottale, decimale, codice gray, ecc.) in un codice binario. Ad esempio l’encoder di figura codifica una cifra ottale in un numero binario. In figura la configurazione dei bit di uscita è composta da “C B A” (A rappresenta il bit meno significativo o LSB, C rappresenta il bit più significativo o MSB). La tabella di verità del suddetto encoder è la seguente: Quando si vorrà ad esempio codificare il numero (5)8, in ingresso sarà alto l’ingresso 5 e saranno bassi tutti gli altri ingressi, in uscita si presenterà la configurazione (101)2 corrispondente al (5)8 in binario. Sintesi di un encoder Si ricorda che il funzionamento di un encoder è basato sull’ipotesi che, in ogni istante, una e una sola delle variabili di ingresso abbia il valore 1. Si consideri il caso dell’encoder con 4 ingressi e due uscite: Le due funzioni d’uscita Y0 ed Y1 sono, dunque, parzialmente definite perché le combinazioni di valori delle variabili d’ingresso diverse da quelle in cui vi è un solo valore uguale ad 1 non si possono presentare mai (la rete logica a monte sarà tale da produrre valori di Xi che soddisfano questa ipotesi). Delle 16 righe della tabella di verità sono significative solo le 4 nelle quali Y0 ed Y1 sono definite: La corrispondente mappa di Karnaugh per la funzione Y0 è: X0X1 X2X 3 00 01 11 10 00 0 1 X 0 01 1 X X X 11 X X X X 10 0 X X X Sfruttando le condizioni di indifferenza presenti in questa mappa, si possono disegnare i due raggruppamenti da 8 caselle indicati in figura: X0X1 X2X 3 00 01 11 10 00 0 1 X 0 01 1 X X X 11 X X X X 10 0 X X X E ottenere l’espressione semplificata: Y0 = X1 + X3 Analogamente si può ottenere: Y1 = X2 + X3 DECODER Funzione inversa dell’encoder è realizzata dal decoder, cioè trasforma un codice binario in un codice di tipo diverso (ottale, decimale, codice gray, ecc.). In Fig. 2 è riportato lo schema di un decoder da codice binario BCD a cifra decimale. La tabella di verità del suddetto decoder è la seguente: Quando ad esempio in entrata si presenta la configurazione binaria “011”, in uscita sarà alta l’uscita 3 mentre tutte le altre uscite saranno basse. DECODER PER GENERARE FUNZIONI LOGICHE Esempio: Si vuole realizzare la funzione Y = A + A ⋅ B con decoder binario decimale. Svolgimento: Il decoder decimale binario deve avere 2 ingressi e 4 uscite: Il decoder ha la seguente tabella della verità: Le funzioni di uscita sono: I1 I2 I3 A B Io I0 = A ⋅ B 0 0 1 0 0 0 I1 = A ⋅ B 0 1 0 1 0 0 I2 = A ⋅ B 1 0 0 0 1 0 I3 = A ⋅ B 1 1 0 0 0 1 Y = A + A ⋅ B = A ⋅ B + A ⋅ B + A ⋅ B =I3+I2+I1 Esempio: Si vuole realizzare la funzione Y = A ⋅ B ⋅ C + B con decoder binario decimale. Il decoder decimale binario deve avere 3 ingressi e 8 uscite: Il decoder ha la seguente tabella della verità: Le funzioni di uscita sono: A B C Io I1 I2 I3 I4 I5 I6 I7 I0 = A ⋅ B ⋅ C 0 0 0 1 0 0 0 0 0 0 0 I1 = A ⋅ B ⋅ C 0 0 1 0 1 0 0 0 0 0 0 I2 = A ⋅ B ⋅ C 0 1 0 0 0 1 0 0 0 0 0 I3 = A ⋅ B ⋅ C 0 1 1 0 0 0 1 0 0 0 0 I4 = A ⋅ B ⋅ C 1 0 0 0 0 0 0 1 0 0 0 I5 = A ⋅ B ⋅ C 1 0 1 0 0 0 0 0 1 0 0 I6 = A ⋅ B ⋅ C 1 1 0 0 0 0 0 0 0 1 0 I7 = A ⋅ B ⋅ C 1 1 1 0 0 0 0 0 0 0 1 Svolgimento: Y = A⋅ B ⋅C + B = A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C = A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C = = I 6 + I 2 + I3 + I7 ( )( ) Esempio: Si vuole realizzare la funzione Y = A + B + C ⋅ A + B + C con decoder binario decimale. Svolgimento: ( )( ) ( )( ) ( )( ) ( )( ) ( ) Y = A + B + C ⋅ A + B + C = A + B + C ⋅ A + B + C = A⋅ B ⋅C ⋅( A⋅ B ⋅C ) = A⋅ B ⋅C + A⋅ B ⋅C = = I3 + I7 Oppure ( )( ) Y = A + B + C ⋅ A + B + C = A + B + C ⋅ A + B + C = A + B + C ⋅ A + B + C = A⋅ B ⋅C + A⋅ B ⋅C = = I3 + I7 A B C DEC 3 a 8 Bin - Dec I0 I1 I2 I3 I4 I5 I6 I7 Y MULTIPLEXER Un multiplexer è semplicemente una specie di interruttore fisico hardware in grado di connettere l’uscita con uno dei n ingressi, ed in particolare con l’input scelto attraverso appositi segnali di pilotaggio. Nel caso di un multiplexer a 4 ingressi e un’uscita (detto anche mux 4–1) in particolare avrà: • 4 segnali di ingresso; • 2 segnali di pilotaggio, per selezionare l’ingresso 1, 2, 3 oppure 4; Tabella di funzionamento per il multiplexer 4–1: S1 S0 Yout 0 0 I0 0 1 I1 1 0 I2 1 1 I3 L’uscita del MUX sarà la seguente: Yout = S1 ⋅ S0 ⋅ I 0 + S1 ⋅ S0 ⋅ I1 + S1 ⋅ S0 ⋅ I 2 + S1 ⋅ S0 ⋅ I 3 Il circuito che implementa questa funzione è il seguente: Y S0 S1 Nel caso di multiplexer 8 a 1, si avranno 8 ingressi dati, e 3 ingressi di selezione, la tabella della verità risulta e il circuito che implementa il MUX 8 a 1 sono i seguenti: C B A F 0 0 0 D0 0 0 1 D1 0 1 0 D2 0 1 1 D3 1 0 0 D4 1 0 1 D5 1 1 0 D6 1 1 1 D7 Esempio: Realizzare la funzione Y = B ⋅ A + A ⋅ B con un multiplexer: Svolgimento; Useremo un multiplexer 4 a 1 con due ingressi di selezione A e B: A B Yout 0 0 I0 0 1 I1 1 0 I2 1 1 I3 Yout = A ⋅ B ⋅ I 0 + A ⋅ B ⋅ I1 + A ⋅ B ⋅ I 2 + A ⋅ B ⋅ I 3 Con I0=I3=1 e I1=I2=0 otteniamo la funzione desiderata: Esempio: Realizzare la funzione Y = A ⋅ B + A ⋅ C mediante un multiplexer: Svolgimento; Useremo un multiplexer 8 a 1 con tre ingressi di selezione A, B e C: A B C Y 0 0 0 I0 0 0 1 I1 0 1 0 I2 0 1 1 I3 1 0 0 I4 1 0 1 I5 1 1 0 I6 1 1 1 I7 La funzione dell’esempio è Y = A⋅ B + A⋅C = A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C La funzione del multiplexer è: Yout = A ⋅ B ⋅ C ⋅ I 0 + A ⋅ B ⋅ C ⋅ I1 + A ⋅ B ⋅ C ⋅ I 2 + A ⋅ B ⋅ C ⋅ I3 + A ⋅ B ⋅ C ⋅ I 4 + A ⋅ B ⋅ C ⋅ I5 + A ⋅ B ⋅ C ⋅ I 6 + A ⋅ B ⋅ C ⋅ I 7 Y = Yout se e solo se: I1 = I3 = I4 = I5 = 1 e I0 = I2 = I6 = I7 =0 I0 I1 I2 MUX 8 a 1 I3 I4 Y0 I5 I6 I7 A B C Half Adder e Full Adder L'half adder è un circuito logico che somma due bit e fornisce in uscita la somma (S) e il valore del riporto (C). La tabella di verità dell'half adder è la seguente: A B S C 0 0 0 0 0 1 1 0 1 0 1 0 1 1 0 1 Analizzando la tabella è chiaro come l'half adder si componga di una porta XOR e di una porta AND. S = A⊕ B S = A⋅C Una limitazione dell'half adder, che fa sì che non possa essere utilizzato nella somma di numeri binari con più bit, e che non tiene conto in ingresso del riporto generato da una somma precedente. Per superare questa limitazione si introduce il full adder. Il full adder presenta in ingresso anche il riporto della somma dei bit precedenti, quindi è una rete a tre ingressi e due uscite. Il full adder si compone di due half adder in sequenza secondo il seguente schema: Con il primo half adder vengono sommati due bit ottenendo un valore e un riporto. Con il secondo half adder sommo il riporto Cin al valore ottenuto dal primo half adder. In uscita al full adder ottengo il bit valore della somma e il bit di riporto (come OR tra i riporti dei due half adder). Cin è il riporto di una eventuale somma tra due bit precedenti Cout è il riporto generato dalla somma del bit A e del bit B, S è il valore della somma tra A,B e il riporto Cin. Il full adder lavora su una sola coppia di bit, per sommare numeri a n bit ho bisogno di n full adder in sequenza. Ad esempio per numeri a 4 bit avrei la seguente rete: Dove: A0 ... A3 sono i bit del primo numero B0 ... B3 sono i bit del secondo numero. S0 ... S3 sono i risultati delle somme delle coppie di bit C0 ... C4 sono i riporti delle somme delle coppie di bit es: A = 1101; B = 0011 A + B = 1 0000 Decodificatore BCD a 7 segmenti Un decodificatore BCD a 7 segmenti è una rete che ha 4 variabili di ingresso, che vanno interpretate come la codifica in base 2 di una cifra decimale, e produce 7 uscite, che vanno ad accendere i segmenti di un display a cristalli liquidi che illumina la cifra data in ingresso. BCD sta per Binary Coded Decimal, ed è un modo per rappresentare i numeri naturali, tipico delle calcolatrici tascabili con display LCD. Con tale tipo di rappresentazione, ciascuna cifra decimale viene rappresentata su 4 bit. 0 1 2 3 4 5 6 7 8 9 X3 X2 X1 X0 0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 0 0 0 1 0 0 1 a 1 0 1 1 0 1 1 1 1 1 b 1 1 1 1 1 0 0 1 1 1 c 1 1 0 1 1 1 1 1 1 1 d 1 0 1 1 0 1 1 0 1 1 Ricaviamo la funzione e: e = X 3 + X1 ⋅ X 0 + X 2 ⋅ X 0 e 1 0 1 0 0 0 1 0 1 0 f 1 0 0 0 1 1 1 0 1 1 g 0 0 1 1 1 1 1 0 1 1 LATCH LATCH SR Q Q TABELLA DELLA VERITA’ S R Q Q 0 0 Q0 MEMORIA 0 1 0 RESET 1 0 1 SET 1 1 N.V. NON VALIDO LATCH SR CON ENABLE Q Q EN 0 1 1 1 1 TABELLA DELLA VERITA’ S R Q Q X X Q0 MEMORIA 0 0 Q0 MEMORIA 0 1 0 RESET 1 0 1 SET 1 1 N.V. NON VALIDO LATCH D Q Q TABELLA DELLA VERITA’ Q EN D Q 0 X Q0 MEMORIA 1 0 0 1 1 1 FLIP FLOP SR CK S TABELLA DELLA VERITA’ R CLR PRE Q ↑↓ 0 0 0 0 Q0 MEMORIA ↑↓ 0 1 0 0 0 RESET ↑↓ 1 0 0 0 1 SET ↑↓ 1 1 0 0 ↑↓ X X 1 0 0 RESET ↑↓ X X 0 1 1 PRESET ↑↓ X X 1 1 FF - D Q N.V. NON VALIDO N.V. NON VALIDO TABELLA DELLA VERITA’ CK ↑↓ ↑↓ ↑↓ ↑↓ ↑↓ FF - JK CK J D CLR PRE 0 1 X X X 0 0 1 0 1 0 0 0 1 1 Q 0 1 0 1 N.V. TABELLA DELLA VERITA’ K CLR PRE Q Q ↑↓ 0 0 ↑↓ 0 1 ↑↓ 1 0 0 0 0 0 0 0 Q0 0 1 MEMORIA RESET SET ↑↓ 1 1 0 0 Q0 TOGGLE ↑↓ X X ↑↓ X X ↑↓ X X 1 0 1 0 1 1 0 RESET 1 PRESET N.V. NON VALIDO TABELLA DELLA VERITA’ CK T CLR PRE Q ↑↓ 0 0 0 Qo ↑↓ 1 0 0 ↑↓ X ↑↓ X ↑↓ X 1 0 1 0 1 1 Qo 0 1 N.V. ESERCIZI Convertire in decimale i seguenti numeri binari: 11101,01; 10110,101; 110,0101; 1101010,0101. Convertire in decimale i seguenti numeri ottali: 134,2; 102,51; 574,3; 253,4. Convertire in ottale i seguenti numeri binari: 111101,01011; 10101,10101; 101,01010; 110011; 10110,000111. Convertire in decimale i seguenti numeri esadecimali: 1,A; B2,1; 1E,8; F2,D8. Convertire in esadecimale i seguenti numeri binari: 10001,00111; 101001,1010; 101,010101; 11001111; 1010,00101. Effettuare le seguenti conversioni tra sistemi di numerazione: 1) (325,67)8 ( )10 ; (615,45)8 ( 2) (694,75)10 3) (5734,25)10 ( )10 ; (572,42)8 )8 ; (347,03125)10 ( 4) (54C,D2)16 ( ( )16; (145,1875)10 ( )10 ; (243,1)8 )8 ; (749,4375)10 ( )8; (ABC,DE)16 ( ( ( ( )10; )8; )16; (1986,15625)10 )8; (FED,CB)16 ( )16; )8; (1A6,2B)16 ( )8; 5) (524,67)8 ( )16; (342,72)8 ( )16; (461,32)8 ( )16; (2460,06)8 ( )16; 6) (424,05)8 ( )2; (30C,04)16 ( )2; (502,426)8 ( )2; (DFF,0A)16 ( )2; 7) (426,35)8 ( ( )10 ; (223,46)8 )10 ; (173,42)8 ( 8) (874,25)10 9) (3457,03125)10 )8 ; (985,03125)10 ( ( 10) (CA4,B6)16 ( )16; (532,375)10 ( )16; (642,14)8 ( )16; (200,47)8 12) (407,02)8 ( )2; (CED,42)16 ( )2; (236,421)8 13) (426,35)8 ( ( )10 ; (223,46)8 ( 15) (2027,03125)10 )8 ; (345,03125)10 ( 16) (AA4,B6)16 ( ( )16; (532,375)10 ( ( ( ( )8; (A65,FB)16 ( )8; )16; (603,047)8 ( )16; )10 ; (567,7)8 ( )16; (5422,625)10 ( ( )2 ( )10; )8; ( )8; (A25,4A)16 )10; )16; )2; (FAF,BC)16 )8 ; (561,09375)10 ( )8; (CB5,DB)16 ( ( )8; ( )8; (A52,4B)16 ( 14) (704,25)10 ( )16; (8632,625)10 11) (754,34)8 )10 ; (173,42)8 )10 ; (567,7)8 )8 ; (481,09375)10 ( )8; (CE4,DF)16 ( )16; )8; (A5B,FB)16 ( )8; 17) (254,24)8 ( )16; (632,54)8 ( )16; (100,47)8 ( )16; (305,047)8 ( )16; 18) (306,04)8 ( )2; (CCB,31)16 ( )2; (637,531)8 ( )2; (FAD,A5)16 ( )2; 19) Determinare gli equivalenti decimali dei seguenti numeri binari dotati di segno a 8 bit: a) (10101001)2=( )10 ; b) (10000010)2=( )10 ; c) (11100010)2=( )10; d)(01100010)2=( )10; 20) Convertire in binario con parole di 8 bit i seguenti numeri decimali negativi: a) (-38)10 =( )2 ; b) (-10)10=( )2; c) (-17)10=( )2; d) (-107)10=( )2; 21) Eseguire le seguenti somme di numeri binari a) (1010101)2 + (10011)2 = ( b) (10101001)2 + (100010)2 = ( )2 ; )2 ; 22) Eseguire le seguenti moltiplicazioni tra numeri binari a) (10010101)2 x (11)2 = ( )2 ; )2 ; b) (11100001)2 x (101)2 = ( 23) Eseguire le seguenti somme di numeri binari dotati di segno a 8 bit a) (-38)10 + (-67)10 = ( )2 + ( )2 ; )2 + ( )2 ; b) (-17)10 - (-67)10 = ( 24) Determinare gli equivalenti decimali dei seguenti numeri binari dotati di segno a 8 bit: a) (10101001)2=( )10 ; b) (10000010)2=( )10 ; c) (11100010)2=( )10; d)(01100010)2=( )10; 25) Convertire in binario con parole di 8 bit i seguenti numeri decimali negativi: a) (-38)10 =( )2 ; b) (-10)10=( )2; 26) Eseguire le seguenti somme di numeri binari a) (1010101)2 + (10011)2 = ( b) (10101001)2 + (100010)2 = ( c) (-17)10=( )2; d) (-107)10=( )2; )2 ; )2 ; 27) Eseguire le seguenti moltiplicazioni tra numeri binari a) (10010101)2 x (11)2 = ( )2 ; b) (11100001)2 x (101)2 = ( )2 ; 28) Eseguire le seguenti somme di numeri binari dotati di segno a 8 bit a) (-38)10 + (-67)10 = ( )2 + ( )2 ; b) (-17)10 - (-67)10 = ( )2 + ( )2 ; 29) Determinare gli equivalenti decimali dei seguenti numeri binari dotati di segno a 8 bit: a) (10101001)2=( )10 ; b) (10000010)2=( )10 ; c) (11100010)2=( )10; d)(01100010)2=( )10; 30) Convertire in binario con parole di 8 bit i seguenti numeri decimali negativi: a) (-38)10 =( )2 ; b) (-10)10=( 31) Eseguire le seguenti somme di numeri binari a) (1010101)2 + (10011)2 = ( b) (10101001)2 + (100010)2 = ( )2; c) (-17)10=( )2 ; )2 ; 32) Eseguire le seguenti moltiplicazioni tra numeri binari a) (10010101)2 x (11)2 = ( )2 ; b) (11100001)2 x (101)2 = ( )2 ; 33) Eseguire le seguenti somme di numeri binari dotati di segno a 8 bit a) (-38)10 + (-67)10 = ( )2 + ( )2 ; b) (-17)10 - (-67)10 = ( )2 + ( )2 ; )2; d) (-107)10=( )2; Effettuare le seguenti conversioni tra sistemi di numerazione: 34) (256,45)8 35) (654,25)10 36) (2477,03125)10 ( )10 ; (172,05)8 ( ( )10 ; (457,25)8 )8 ; (1234,03125)10 ( ( )16; (1502,375)10 ( )10 ; (371,6)8 )8 ; (3481,09375)10 ( ( )16; (49812,625)10 ( )10; )8; ( )16; 37) Determinare gli equivalenti decimali dei seguenti numeri binari dotati di segno a 8 bit: a) (10011100)2=( )10 ; b) (00001001)2=( )10 ; c) (10100101)2=( )10; d)(01101110)2=( )10; 38) Convertire in binario con parole di 8 bit i seguenti numeri decimali negativi: a) (-28)10 =( )2 ; b) (-16)10=( )2; 39) Eseguire le seguenti somme di numeri binari a) (101010101)2 + (100101)2 = ( b) (1010111001)2 + (111010)2 = ( c) (-105)10=( )2; d) (-93)10=( )2; )2 ; )2 ; 40) Eseguire le seguenti moltiplicazioni tra numeri binari a) (11110101)2 x (11)2 = ( )2 ; )2 ; b) (11100101)2 x (101)2 = ( 41) Eseguire le seguenti somme di numeri binari dotati di segno a 8 bit a) (-28)10 - (-104)10 = ( )2 + ( )2 ; b) (-107)10 - (-47)10 = ( )2 + ( )2 ; 42) Disegnare lo schema del circuito combinatorio corrispondente alla seguente funzione Y = ( A + C ) ⋅ ( B + C ) utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 43) Disegnare lo schema del circuito combinatorio corrispondente alla funzione Y = ( A + C ) ⋅ ( B + C ) + D utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 44) Disegnare lo schema del circuito combinatorio corrispondente alla seguente funzione Y = ( A ⋅ B + C ⋅ D ) ⋅ E utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 45) Determinare Y1 e Y per il circuito di figura: A Y1 = B Y C 46) Determinare Y1, Y2 e Y per il circuito di figura: 47) Determinare Y1, Y2 e Y3 per il circuito di figura: 48) Per la funzione Y dell’esercizio 46 e dell’esercizio 47 determinare le tabelle della verità. 49) Disegnare lo schema del circuito combinatorio corrispondente alla seguente funzione = + ∙ ∙ utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 50) Disegnare lo schema del circuito combinatorio corrispondente alla seguente funzione = ̅ ∙ + + utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 51) Disegnare lo schema del circuito combinatorio corrispondente alla seguente funzione Y = A + ( B + C ) ⋅ D utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 52) Disegnare lo schema del circuito combinatorio corrispondente alla funzione ( ) Y = A ⋅ B + C ⋅ D utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 53) Disegnare lo schema del circuito combinatorio corrispondente alla seguente funzione Y = A ⋅ B + C ⋅ D utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 54) Determinare Y per il circuito di figura: 55) Determinare Y1, Y2 e Y per il circuito di figura: 56) Determinare Y1, Y2 e Y3 per il circuito di figura: 57) Disegnare lo schema del circuito combinatorio corrispondente alla seguente funzione Y = ( A + B + C ) ⋅ ( A + B + C ) utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 58) Per la funzione Y dell’esercizio 54 e dell’esercizio 56 determinare le tabelle della verità. 59) Disegnare lo schema del circuito combinatorio corrispondente alla seguente funzione Y = A+ B +C utilizzando il sistema di porte logiche universali AOI (AND,OR e INVERTER) 60) Data la seguente funzione logica: F = A⋅ B ⋅ C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D a) Scrivere la tabella della verità b) Esprimere la funzione F in forma canonica come somma di prodotti 61) Data la funzione Y espressa dalla seguente tabella della verità: A B C D Y 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 0 1 1 1 1 1 a) Determina la funzione Y con la seconda forma canonica. b) Disegna il circuito logico 62) Data la seguente funzione logica: F = A⋅ B ⋅ C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D a) Scrivere la tabella della verità b) Disegnare il circuito logico combinatorio della 2a forma canonica 63) Data la seguente tabella della verità: A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C D Y F 0 0 1 0 0 1 1 1 1 0 0 0 1 1 1 0 0 0 1 1 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 1 0 0 1 1 0 1 0 0 0 1 1 1 0 a) Determinare la funzione Y con la seconda forma canonica. b) Determinare la funzione F con la prima forma canonica. c) Disegnare il circuito logico combinatorio per i due casi precedenti a) e b). 64) Data la seguente tabella della verità: A 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 B 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1 C D F Y 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 1 0 0 1 1 0 1 0 0 1 0 0 1 1 1 0 1 0 0 1 0 0 1 0 1 1 0 0 1 1 1 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 a) Determinare la funzione F con la prima forma canonica. b) Determinare la funzione Y con la seconda forma canonica. c) Disegnare il circuito logico combinatorio per i due casi precedenti a) e b). 65) Disegnare lo schema del circuito combinatorio corrispondente alla funzione: Y = A⋅ B + D + C ⋅ D ⋅ B ⋅C + D 66) Disegnare lo schema del circuito combinatorio corrispondente alla funzione: Y = ( A + C ⋅ D) ⋅ B + C + D 67) Applicare il teorema di De Morgan alle seguenti funzioni: Y1 = A ⋅ B ⋅ C + D ⋅ E ⋅ A + B ⋅ C Y2 = A + B + C ⋅ D + B ⋅ E ⋅ (C + A ⋅ D ) Y3 = A + ( B ⋅ C + C ⋅ D) ⋅ E Y4 = B + C ⋅ D + A + B ⋅ (C ⋅ D + B ) 68) Applicare il teorema di De Morgan alla seguente funzione F = ( A + BC ) ⋅ D 69) Applicare il teorema di De Morgan alla seguente funzione almeno 2 volte F = ( AC + BC ) 70) Applicare il teorema di De Morgan alla seguente funzione almeno 2 volte F = ( A + C )( B + D) 71) Applicare il teorema di De Morgan alla seguente espressione: F = A⋅ B + A⋅ B ⋅C + A + C si richiedono almeno 2 passaggi 72) Applicare il teorema di De Morgan alla seguente espressione: F = A ⋅ B + A ⋅ B ⋅ C + ( A + B) ⋅ C si richiedono almeno 3 passaggi 73) Realizzare lo schema del circuito combinatorio corrispondente alla seguente funzione: F = ( A + B) ⋅ (C + D ) utilizzando solo porte NOR 74) Realizzare lo schema del circuito combinatorio corrispondente alla seguente funzione: F = A⋅ B + A⋅C ⋅ D utilizzando solo porte NAND 75) Determinare Y1, Y2, Y3 e Y per il circuito di figura: 76) Determinare Y1, Y2, Y3 e Y per il circuito di figura: 77) Data la seguente funzione logica: F = A⋅C + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D + A⋅C ⋅ D + A⋅ B ⋅ D a. esprimere la funzione F in forma canonica b. determinare la tabella della verità di F c. disegnare il circuito logico combinatorio di F solo con porte NAND. 78) Determinare Y per il circuito di figura: A B C D Y1 Y2 Y3 Y 79) Data la seguente tabella della verità: A B C Y1 Y2 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 a) Determinare Y1 con la 1° forma canonica e Y2 con la 2° forma canonica. b) Realizzare lo schema di Y1 usando solo porte NOR e solo porte NAND (devi fare 2 Circuiti Logici). c) Realizzare lo schema di Y2 usando solo porte NOR e solo porte NAND (devi fare 2 Circuiti Logici). d) Determinare Y1min e Y2mincon il metodo delle mappe di Karnaugh 80) Data la seguente funzione logica: F = (A + B + C ) ⋅ ( A + B + C + D ) ⋅ ( A+ B +C + D ) ⋅ (A+C +D ) ⋅ ( B + D ) a. esprimere la funzione F in forma canonica b. determinare la tabella della verità di F c. disegnare il circuito logico combinatorio di F solo con porte NOR. 81) Data la seguente funzione logica: F = (A + C ) ⋅ ( A + B + C + D ) ⋅ ( A + B + C + D ) ⋅ (A + C + D ) ⋅ ( A + B + C + D ) ⋅ ( A + B + C ) a. esprimere la funzione F in forma canonica. b. determinare la tabella della verità di F. c. disegnare il circuito logico combinatorio di F solo con porte logiche NOR. 82) Disegna una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (0,4,5,10,14,15), minimizzare la funzione. R. Y = A ⋅ C ⋅ D + A ⋅ B ⋅ C + A ⋅ B ⋅ C + A ⋅ C ⋅ D 83) Disegna una mappa di Karnough 2x2, posiziona gli 1 nelle caselle (0,1,5,6,7,8,10), determina la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione. R. Y = A ⋅ B ⋅ C + A ⋅ C ⋅ D + A ⋅ B ⋅ C + A ⋅ B ⋅ D 84) Disegna una mappa di Karnough 2x2, posiziona gli 1 nelle caselle (0,2,3,7,8,10,13), determina la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione. R. Y = B ⋅ D + A ⋅ C ⋅ D + A ⋅ B ⋅ C ⋅ D 85) Disegna una mappa di Karnough 2x2, posiziona gli 1 nelle caselle (0,4,5,6,7,8,12,13,15), determina la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione. R. Y = C ⋅ D + B ⋅ D + ⋅ A ⋅ B 86) Disegna una mappa di Karnough 2x2, posiziona gli 1 nelle caselle (1,3,4,6,7,9,11,12,13,14), determina la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione. R. Y = B ⋅ D + B ⋅ D + A ⋅ C ⋅ D + A ⋅ C ⋅ D 87) Disegna una mappa di Karnough 2x1, posiziona gli 1 nelle caselle (0,1,3,5,6), determina la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione. R. Y = A ⋅ B + A ⋅ C + B ⋅ C + A ⋅ B ⋅ C 88) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (0,1,8,10,12,14,15), minimizzare la funzione. R. Y = A ⋅ B ⋅ C + A ⋅ B ⋅ C + A ⋅ D 89) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (0,2,3,4,8,11,13,15), determinare la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione minima. R. Y = A ⋅ C ⋅ D + B ⋅ C ⋅ D + A ⋅ B ⋅ D + A ⋅ C ⋅ D + A ⋅ B ⋅ C 90) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (0,1,2,3,6,8,10,14,15), determinare la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione. R. Y = A ⋅ B + C ⋅ D + A ⋅ B ⋅ C 91) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (1,2,3,4,6,9,10,11,12,14) determinare la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione minima con sole porte NAND. R. Y = B ⋅ D + B ⋅ D + C ⋅ D 92) Disegnare una mappa di Karnough 2x1, posizionare gli 1 nelle caselle (0,2,5,7), determinare la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione minima con sole porte NOR. R. Y = A ⋅ C + A ⋅ C 93) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (1,4,5,6,7,9,12,13,14,15), minimizzare la funzione. R. Y = B + C ⋅ D 94) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (0,2,5,6,7,8,10,12,13,15), determinare la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione minima. R. Y = B ⋅ D + B ⋅ D + A ⋅ B ⋅ C + A ⋅ B ⋅ C 95) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (1,2,3,7,9,11,12,13), determinare la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione. R. Y = B ⋅ C + A ⋅ B ⋅ C + A ⋅ C ⋅ D + A ⋅ B ⋅ C 96) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (1,2,5,9,10,12,13,14,15) determinare la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio che realizza la funzione minima con sole porte NAND. R. Y = A ⋅ B + C ⋅ D + B ⋅ C ⋅ D 97) Disegnare una mappa di Karnough 2x2, posizionare gli 1 nelle caselle (2,3,4,5,6,7,10,11,12,13,14,15), determinare la tabella della verità della funzione, esprimere la funzione con la 1° e la 2° forma canonica, minimizzare la funzione, realizzare il circuito combinatorio. R. Y = C + B + A ⋅ D 98) Data la seguente funzione logica: a) b) c) d) F = (A + B + C ) ⋅ ( B + C + D ) ⋅ ( A +B + C +D ) ⋅ ( A +B+C + D ) ⋅ ( A + B + C + D ) esprimere la funzione F in forma canonica come prodotti di somme disegnare la mappa di Karnaugh corrispondente alla funzione F determinare la funzione F nella sua forma minima Fmin realizzare lo schema di Fmin con sole porte NAND Risultato: Fmin = B ⋅ C + A ⋅ D + A ⋅ C + B ⋅ C 99) Data la seguente funzione logica: F = A⋅ B ⋅C ⋅ D + B ⋅C ⋅ D + A ⋅ B ⋅C ⋅ D + A⋅C ⋅ D + A⋅ B ⋅ D a) b) c) d) esprimere la funzione F in forma canonica come somma di prodotti disegnare la mappa di Karnaugh corrispondente alla funzione F determinare la funzione nella sua forma minima Fmin realizzare lo schema di Fmin con sole porte NOR Risultato: Fmin = A ⋅ D + A ⋅ B ⋅ C + B ⋅ C ⋅ D + A ⋅ B ⋅ C 100) a) b) c) d) Data la seguente funzione logica: F = (A + B + D ) ⋅ ( A + C + D ) ⋅ ( A + B + C ) esprimere la funzione F in forma canonica come prodotti di somme disegnare la mappa di Karnaugh corrispondente alla funzione F determinare la funzione nella sua forma minima Fmin realizzare lo schema di Fmin con sole porte NAND Risultato: Fmin = A ⋅ D + B ⋅ D + A ⋅ C 101) Data la seguente funzione logica: F = A⋅C + B ⋅C ⋅ D + A⋅ B ⋅C + A⋅ B ⋅C ⋅ D + A⋅ B ⋅C ⋅ D a) b) c) d) esprimere la funzione F in forma canonica come somma di prodotti disegnare la mappa di Karnaugh corrispondente alla funzione F determinare la funzione nella sua forma minima Fmin realizzare lo schema di Fmin con sole porte NOR Risultato: Fmin = C ⋅ D + B ⋅ C + A ⋅ C + A ⋅ B ⋅ D 102) Realizzare la seguente funzione utilizzando un multiplexer : Y = A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C 103) Realizzare la seguente funzione utilizzando un multiplexer : ( Y = ( A + B + C) ⋅ A + B + C 104) ) Realizzare la seguente funzione utilizzando un decoder : Y = A ⋅ (B + C) 105) Realizzare la seguente funzione utilizzando un multiplexer: Y = A⋅ B + A⋅C 106) Realizzare la seguente funzione utilizzando un multiplexer: Y = A+ B +C 107) Realizzare la seguente funzione utilizzando un decoder: Y = ( A + B + C) ⋅ ( A + B + C) 108) Realizzare il circuito che implementi la funzione f di uscita di un Decoder Driver BCD-7 Segmenti 109) Realizzare il circuito che implementi la funzione c di uscita di un Decoder Driver BCD-7 Segmenti 110) Realizzare lo schema logico del circuito di un multiplexer 4-a-1 111) Progettare un circuito di codifica da decimale a BCD 112) Realizzare lo schema logico del circuito di un HALF – ADDER 113) Realizzare la seguente funzione utilizzando un decoder : Y = A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C 114) Realizzare la seguente funzione utilizzando un decoder : 115) Y = ( A + B + C )( A + B + C ) Realizzare la seguente funzione utilizzando un multiplexer: Y = A⋅ B + A⋅C 116) Realizzare la seguente funzione utilizzando un multiplexer: Y = A + B ⋅C 117) Realizzare il circuito che implementi la funzione f di uscita di un Decoder Driver BCD-7 Segmenti 118) Realizzare lo schema logico del circuito che realizzi un multiplexer 4-a-1 119) Progettare un circuito di codifica da decimale a BCD 120) Realizzare la seguente funzione utilizzando un multiplexer: Y = A⋅ B ⋅C + C 121) Realizzare la seguente funzione utilizzando un decoder : Y = A⋅ B ⋅ C + A⋅ B ⋅C + B ⋅C 122) Realizzare la seguente funzione utilizzando un multiplexer: Y = A⋅ B + B 123) Realizzare la seguente funzione utilizzando un decoder : Y = ( B + C )( A + C ) 124) Realizzare lo schema logico del circuito che implementi un decoder binario - decimale a 2 ingressi e 4 uscite 125) Realizzare la seguente funzione utilizzando un decoder e un multiplexer: Y = A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C 126) Realizzare la seguente funzione utilizzando un decoder e un multiplexer: Y = A⋅ B ⋅C + A⋅ B ⋅C + A⋅ B ⋅C 127) Realizzare la seguente funzione indicata dalla seguente tabella della verità con un decoder : A B C Y 0 0 0 0 0 0 1 1 0 1 0 1 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 1 128) Realizzare la seguente funzione utilizzando un decoder : Y = (A + B + C) ⋅(A + B + C) 129) Determinare l’evoluzione temporale dell’uscita Q sapendo che essa parte bassa e che entrano dei segnali fatti come riportato di seguito: 130) Determinare l’evoluzione temporale dell’uscita Q sapendo che essa parte alta e che entrano dei segnali fatti come riportato di seguito: 131) Sia dato un Latch SR con ingresso di abilitazione. Determinare l’evoluzione temporale dell’uscita Q sapendo che essa parte bassa e che entrano dei segnali fatti come riportato di seguito: 132) Sia dato un Latch di tipo D. Determinare l’evoluzione temporale dell’ uscita Q sapendo che Q parte alta e che entrano dei segnali fatti come riportato di seguito: 133) Sia dato un Latch SR con ingresso di abilitazione. Determinare l’evoluzione temporale dell’ uscita Q sapendo che Q parte bassa e che entrano dei segnali fatti come riportato di seguito: 134) Sia dato un Latch di tipo D. Determinare l’evoluzione temporale dell’ uscita Q sapendo che Q parte alta e che entrano dei segnali fatti come riportato di seguito: 135) Sia dato un Latch SR con ingresso di abilitazione. Determinare l’evoluzione temporale dell’ uscita Q sapendo che Q parte bassa e che entrano dei segnali fatti come riportato di seguito: EN S R Q 136) Sia dato un Latch SR. Determinare l’evoluzione temporale dell’uscita Q sapendo che essa parte bassa e che entrano dei segnali fatti come riportato di seguito: 137) Sia dato un Latch SR. Determinare l’evoluzione temporale dell’uscita Q sapendo che essa parte alta e che entrano dei segnali fatti come riportato di seguito: 138) Sia dato un Latch SR. Determinare l’evoluzione temporale dell’uscita Q sapendo che essa parte alta e che entrano dei segnali fatti come riportato di seguito: 139) Sia dato un Latch SR. Determinare l’evoluzione temporale dell’uscita Q sapendo che Q parte bassa e che entrano dei segnali fatti come riportato di seguito: 140) Sia dato un Latch SR con ingresso di abilitazione. Determinare l’evoluzione temporale dell’uscita Q sapendo che Q parte bassa e che entrano dei segnali fatti come riportato di seguito: 141) Sia dato un Latch di tipo D. Determinare l’evoluzione temporale dell’uscita Q sapendo che Q parte bassa e che entrano dei segnali fatti come riportato di seguito: 142) Sia dato un Latch SR con ingresso di abilitazione. Determinare l’evoluzione temporale dell’uscita Q sapendo che Q parte alta e che entrano dei segnali fatti come riportato di seguito: 143) Sia dato un Latch di tipo D. Determinare l’evoluzione temporale dell’uscita Q sapendo che Q parte alta e che entrano dei segnali fatti come riportato di seguito: 144) Sia dato un Latch SR. Determinare l’evoluzione temporale dell’uscita Q sapendo che essa parte bassa e che entrano dei segnali fatti come riportato di seguito: 145) Sia dato un Latch SR. Determinare l’evoluzione temporale dell’uscita Q sapendo che essa parte alta e che entrano dei segnali fatti come riportato di seguito: 146) Sia dato un FF- SR negative edge triggered. Determinare l’evoluzione temporale dell’uscita Q: 147) Sia dato un Latch D con ingresso di abilitazione. Determinare l’evoluzione temporale dell’uscita Q: 148) Sia dato un FF- JK negative edge triggered. Determinare l’evoluzione temporale dell’uscita Q: 149) Sia dato un FF- D negative edge triggered . Determinare l’evoluzione temporale dell’uscita Q: 150) Sia dato un FF SR positive edge triggered. Determinare l’evoluzione temporale dell’uscita Q: 151) Sia dato un FF- T positive edge triggered. Determinare l’evoluzione temporale dell’uscita Q: 152) Sia dato un Latch SR con ingresso di abilitazione. Determinare l’evoluzione temporale dell’uscita Q: 153) Sia dato un FF- JK positive edge triggered. Determinare l’evoluzione temporale dell’uscita Q: 154) Sia dato un Latch SR con ingresso di abilitazione. Determinare l’evoluzione temporale dell’uscita Q: 155) Determinare l’evoluzione temporale di Q nel caso di FF - T positive edge triggered: CK CLR t PRE t T t Q t t 156) Determinare il Q per un FF-SR P.E.T.: 157) Determinare il Q per un FF-D N.E.T.: 158) Determinare il Q per un FF-JK N.E.T.: 159) Determinare il Q per un FF-JK P.E.T.: 160) Determinare il Q per un FF-SR P.E.T.: 161) Determinare il Q per un FF-T N.E.T.: 162) Determinare il Q per un FF – D N.E.T.:: 163) Determinare il Q per un FF – SR P.E.T.: