1. Operazioni in logica binaria e porte logiche Espressione di un numero in base 10 (notare a pedice p.es del numero 21); ˙0 2110=2 10˙ 1+1 10 527,9810=5⋅ 102 +2⋅ 101 +7⋅ 10 0+ 9⋅ 10− 1 +8⋅ 10− 2 407,56310=4⋅ 102+ 0⋅ 101 +7⋅ 100 +5⋅ 10− 1 +6⋅ 10− 2+3⋅ 10− 3 riflettendo per esprimere un qualsiasi numero in base 10 occorrono 10 coefficenti numerici delle potenze del 10 usate nelle espressioni sopra per definire centinaia decine e unità, decimi, centesimi e millesimi; tali coefficienti sono 0,1,2,3,4,5,6,7,8,9 cioè vanno da 0 a 10-1. Se indichiamo con B la base Il teorema di numerazione si esprime nel modo seguente Un qualsiasi numero si esprime come somma di potenze intere decrescenti della base B aventi ognuna coefficente moltiplicativo (intero) che può assumere valori che vanno da 0 a B-1. In base B=2 un numero si può rappresentare come somma di potenze intere decrescenti del 2 ognuna delle quali può avere coefficiente moltiplicativo (intero) da 0 a 1: 2110=1 2̇4 +0 2̇3 +1 2˙2+0 2˙1 +1 2̇0=101012 allostesso risultato si poteva arrivare per divisioni successive per duedel numero dato 21:2 1 10:2 0 5:2 1 2:2 0 1 =MSB (most significative bit) ed al medesimo risultato si poteva arrivare sommando 16 a 5 convertiti in binario 1610=1 2̇4 +0 2̇3 +0 2̇2 +0 2̇1 +0 2̇0=100002 510=0 2˙4 + 0 2˙3 +1 2̇2 +0 2̇1+1 2˙0 =001012 10000 + 00101 10101 la somma parte dalla colonna più a destra; ricordare 0+0=0 ; 1+0=1 e 1+1=0 con il riporto di 1 a sinistra. 11 111+ 110 1101 facendo infatti fiferimento alle potenze del due convertite in binario che sono semplici da ricordare: x 2 =1 seguito da x zeri2 ; x+1 bit 20=110=1⋅ 20 =12 2 =210=1⋅ 2 +0⋅ 2 =102 1 1 0 22=410=1⋅ 22 +0⋅ 21+ 0⋅ 20=100 2 ......................................................... 25=3210=1⋅ 25 +0⋅ 24 +0⋅ 23+ 0⋅ 22 +0⋅ 21 +0⋅ 20=1000002 (6 bit) ...................................................................................... 210=100.0000 .00002=1 K (11 bit) e fondamentali per stabilire immediatamente il numero di bit necessari per effettuare una codifica per esempio quella degli alunni di una classe: per es N=29 per poter codificare ciscuno è come assegnare ad ugnuno un numero, e in sostanza come riuscire a contare da 0 a 28 che osservando le potenze del 2 sopra espresse si riesce a fare con 5 bit. Se invece si considerasse una classe di 37 elementi la codifica siriesce a fare utilzzando 6 bit e lasciando inutilizzati tutti numeri dal 37 fino al 63 compresi. 2n °bit − 1≥ n°elementi dellacodifica; In generale (ovviamente n°bit il più piccolo possibile). n°bit è il numero di bit necessari per effettuare la codifica; n° elementi della codifica sono per es glialunni da numerare. Se per esempio il numero degli alunni da codificare è 16 (basterà saper contare da 0 a 15) e si utilizzeranno 4 bit infatti dec bin ESA 0 0000 0 1 0001 1 2 0010 2 3 0011 3 4 0100 4 5 0101 5 6 0110 6 7 0111 7 8 1000 8 9 1001 9 10 1010 A 11 1011 B 12 1100 C 13 1101 D 14 1110 E 15 1111 F per convertire in base 16 esadecimale un numero binario p.es. 1011.0111.1110.0001 una parola "word" di 16 bit si scompone a gruppi di 4 bit partendo dal LSB (bit meno significativo) e se ne legge la codifica esadecimale riportata in tabella cosi il codice binario diventa B7E1 in base 16 il byte 1010.1111 diventa AF in base 16. Le operazioni in logica binaria sono dette Booleane e sono la somma logica (OR) e il prodotto logico (AND) Queste operazioni sono definite attraverso la cosiddetta tabella di verità. Le tabelle di verità della porta AND e OR sono le seguenti A B AND U A B U(AND) 0 0 0 1 0 0 0 1 0 1 1 1 A B U(OR) 0 0 0 1 0 1 0 1 1 1 1 1 Per ottenere l'espressione e l'operazione logica rappresentata da una certa tabella di verità si applica il teorema di De Morgan riguardante la prima espressione canonica detta somma di prodotti, oppure la seconda espressione canonica detta prodotti di somme. Per quanto riguarda la prima espressione canonica si selezionano le righe in cui l'uscita è pari a 1 (nel caso della Tab porta AND solo l'ultima riga), si fa il prodotto degli ingressi (nel ns caso A e B) mettendo A se nella riga considerata A=1 e mettendo Ā se nella riga considerata A=0 e poi si sommano fra loro i prodotti di tutte le righe (vedi calcolo porta OR); risulta per la porta AND la prima espressione canonica A⋅ B (Espressione algebrica porta AND detto prodotto logico) Per la porta OR la prima espressione canonica risulta A⋅ B+ A⋅ B+ A⋅ B difficile da semplificare; in quest caso meglio utilizzare la seconda forma dell'espressione canonica detta prodotti di somme: si selezionano le righe in cui l'uscita è pari a 0 (nel caso della Tab porta OR solo la prima riga), si fa la somma degli ingressi (nel ns caso A e B) mettendo A se nella riga considerata A=0 e mettendo Ā se nella riga considerata A=1 e poi si fa il prodotto delle somme di ogni riga; per la porta OR la seconda forma della espressione canonica è A + B (Espressione algebrica porta OR detta somma logica) Porta XOR A⋅ B+ A⋅ B= A . XOR . B A B U(XOR) 0 0 0 1 0 1 0 1 1 1 1 0 Porta NOT Ᾱ A A U(NOT) 0 1 1 0 Vi sono poi le porte NAND, NOR e XNOR o EXNOR che sono le porte che danno uscita negata N rispetto alle porte AND, OR e XOR il loro schema è il seguente: esercizio 1. In una classe sono contenuti 16 studenti realizzare un circuito digitale con porte logiche che faccia accendere un led (suonare uno speaker ecc...) da 1.2 Volt e 10 mA di corrente nominale quando due studenti sono fuori posto. Si osserva che lo studio riguarda sia la realizzazione del circuito elettrico riguardante l'accensione del led in questo caso è il circuito attuatore, sia del circuito elettronico combinatorio di porte logiche senza elementi di memoria in cui l'uscita al rempo t dipende solo sallo stato degli ingressi al tempo t, sia del circuito trasduttore che è costituito ad esempio da interruttori a bottone monostabili normalmente aperti (NA) inseriti sulla sedia del banco di ogni studente: quando lo studente è seduto si schiaccia l'interuttore (è come l'interuttore del campanello) chiudendo il circuito ad esso collegata . Si osserva che il sistema in esame è molto simile all'es. Di pag 136 del libro di testo vol 1 e la cui soluzione è riportata sul sito nella parte delle esercitazioni. Ci sarà bisogno ovviamente di componentistica con un numero maggiore di ingressi con classi per es di 30 studenti e a cui si devolve allo studente il compito di identificare i chip o le architetture idonee previste nella vasta gamma di scelte. con U1= interuttori monostabili NA ; X1 Encoder (codificatore) decimale-binario; X2 porta NOT; X5 decoder Decodificatore binario display sette segmenti; X6 Decoder binario decimale. Per risolvere espressioni di tabelle di verità in molte variabili di ingresso e composte da molti monomi di semplificare è necessario conoscere il metodo di minimizzazione delle espressioni di Karnaugh; Di seguito si riporta la tabella di verità dell'esercizio 1 (uscita 1 quando 2 studenti sono in piedi): A B C D U 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 1 0 1 0 0 0 0 1 0 1 1 0 1 1 0 1 0 1 1 1 0 1 0 0 0 0 1 0 0 1 1 1 0 1 0 1 1 0 1 1 0 1 1 0 0 1 1 1 0 1 0 1 1 1 0 0 1 1 1 1 0 AB CD+C D( A B+B A)+AB CD + DC ( A B+B A)= ABCD + ABCD +( A B+ B A)(C D+ DC ) che si può scrivere [(A-AND-B) -XOR- (C-AND-D )]OR[(A-XOR-B)AND(C-XOR-D) Esercizio 2 Si considerino i numeri da 1 a 15 e si realizzi un circuito che accenda un led con le caratteristiche dell'es.1 quando il decimale codificato in binario corrisponde ad un numero primo. d AB CDU 0 0 0 0 0 0 1 0 0 0 1 1 2 0 0 1 0 0 3 0 0 1 1 1 4 0 1 0 0 0 5 0 1 0 1 1 6 0 1 1 0 0 7 0 1 1 1 1 8 1 0 0 0 0 9 1 0 0 1 0 10 1 0 1 0 0 11 1 0 1 1 1 12 1 1 0 0 0 13 1 1 0 1 1 14 1 1 1 0 0 15 1 1 1 1 0 si possono eseguire raggruppamenti di 2,4 ,8,16... celle adiacenti orizzontalmente o verticalmente, si osserva che le colonne terminali sono da considerarsi adiacenti come se il piano fosse in realtà un cilindro con asse verticale rispetto al foglio e unito attraverso gli estremi delle colonne iniziale e finale. I tre raggruppamenti (uno da 4 elementi e due da 2 elementi )originano la seguente espressione della tabella di verità proposta nell'es.2 B CD + A D+ B C D= A D+D(B C+C B) che si può scrivere (NOT A -AND-D) OR [D-AND-(B -XOR-C)] es-3 Progettare un circuito combinatorio con 8 ingressi numerati da 0 a 7 tale che in uscita si abbia la codifica binaria corrispondente all'ingresso considerato che viene all'istante alimentato. NB solo un ingresso per volta. Disegno dello schema funzionale es 3 Disegno dello schema funzionale es 4 CE (chip Enable) N0 N1 N2 N3 N4 N5 N6 N7 Codificatore decimale binario U0 U1 U2 MSB 1 U0 0 U1 0 U2 LSB CE N0 ..... ..... ..... N4 ..... ..... N7 Decodificatore Binario Decimale Esercizio 4 Progettare il circuito che esegua l'operazione opposta rispetto all'esercizio precedente ossia un sistema combinatorio con tre ingressi che quando corrispondono alla codifica binaria della linea in uscita corrispondente al numero decimale codificato, attiva tale uscita Esercizio 5 Multiplexer digitale Progettare un circuito combinatorio tale da avere 8 ingressi sui quali può essere presente o meno un segnale 5V o GND (in logica diretta rispettivamente 1 e 0 logico) ed una sola linea di uscita U Il circuito deve essere tale, mediante delle linee di selezione in codice binario dell'ingresso desiderato numerato decimale, da collegare tale ingresso con l'uscita(Multiplexer digitale). Esercizio 6 Demultiplexer digitale Progettare il circuito che svolge l'operazione inversa ossia 1 solo ingresso e mediante canali di selezione binari metterlo in collegamento con l'uscita desiderata numerata in decimale (Demultiplexer Digitale) Disegno dello schema funzionale es 5 Disegno dello schema funzionale es 6 CE (chip Enable) N0 N1 N2 N3 N4 N5 N6 N7 MSB S0 S1 S2 1 1 0 CE N0 ..... U I ..... ..... N4 ..... ..... N7 MSB S0 S1 S2 1 0 0