La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

1 RETI LOGICHE Daniele Manzaroli Esercitazione: mappe di Karnaugh Quartus II: segnali di ingresso Codice Binario: Rappresentazione.

Presentazioni simili


Presentazione sul tema: "1 RETI LOGICHE Daniele Manzaroli Esercitazione: mappe di Karnaugh Quartus II: segnali di ingresso Codice Binario: Rappresentazione."— Transcript della presentazione:

1 1 RETI LOGICHE Daniele Manzaroli dmanzarli@arces.unibo.it Esercitazione: mappe di Karnaugh Quartus II: segnali di ingresso Codice Binario: Rappresentazione e Calcolo Codice BCD e trascodifica Codice 7 segmenti ed esercitazione Half adder, Full adder

2 Esempio: codifica delle cifre decimali zero uno due tre quattro cinque sei sette otto nove Cifre decimali 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 BCD 1000000000 0100000000 0010000000 0001000000 0000100000 0000010000 0000001000 0000000100 0000000010 0000000001 uno su dieci Alcuni codici binari per le cifre decimali 1111110 0110000 1101101 1111001 0110011 1011011 0011111 1110000 1111111 1110011 7 segmenti abcdefg

3 Codice a 7 segmenti g a f b ec d

4 Conversione da base 2 a base 10 e viceversa (N) 10 = b n-1.2 n-1 + b n-2.2 n-2 + …+ b 0.2 0 Dato un numero binario naturale a n bit B = b n-1 b n-2 … b 0, il suo valore decimale corrispondente N è dato da: Dato un numero naturale N espresso in base 10, la corrispondente rappresentazione in base 2 B = b n-1 b n-2 … b 0 può essere ottenuta attraverso il seguente processo iterativo di divisione per 2: (N) 10 = b n-1.2 n-1 + b n-2.2 n-2 + …+ b 0.2 0 : 2 (N) 10 = b n-1.2 n-2 + b n-2.2 n-3 + …+ b 1.2 0 = resto b0b0 : 2 resto b1b1 ……………….. (N) 10 = b n-1.2 + b n-2 : 2 resto b n-2 = (N) 10 = b n-1 : 2 resto b n-1

5 Somma fra numeri naturali S = A + B Somma fra due numeri da un bit 0 + 0 = 0 ; 1 + 0 = 1 ; 0 + 1 = 1 ; 1 + 1 = 0 con riporto (C) di 1 Somma “colonna per colonna” fra due numeri da n bit c i a i b i c i+1 s i 0 0 000 0 0 101 0 1 001 0 1 110 1 0 001 1 0 110 1 1 010 1 1 111 a n-1 aiai a1a1 a0a0 b n-1 bibi b1b1 b0b0 + c n-1 cici c1c1 0 s n-1 sisi s1s1 s0s0 = cncn

6 Calcolare 90 10 + 150 10 A = 90 10 = 01011010 2 = 5A 16 B = 150 10 = 10010110 2 = 96 16 Esempio di somma 10 01011010 10010110 A B Risultato Riporto 0 0 0 11 00 1 1 0 1 0 1 0 1

7 Sottrazione fra numeri naturali D = A - B (A  B) Sottrazione fra due numeri da un bit 0 - 0 = 0 ; 1 - 0 = 1 ; 1 - 1 = 0 ; 0 - 1 = 1 con prestito (P) di 1 Sottrazione “colonna per colonna” fra due numeri da n bit p a bPD 0 0 000 0 0 111 0 1 001 0 1 100 1 0 011 1 0 110 1 1 000 1 1 111 a n-1 aiai a1a1 a0a0 b n-1 bibi b1b1 b0b0 - p n-1 pipi p1p1 0 d n-1 didi d1d1 d0d0 =

8 Calcolare 198 10 – 108 10 A = 198 10 = 11000110 2 B = 108 10 = 01101100 2 Esempio di sottrazione 0 11000110 01101100 A B Risultato Prestiti 0 0 1 00 10 11 1 1 0 1 1 0 0

9 Numeri relativi: rappresentazione segno-valore assoluto N  [ -(2 n-1 - 1), +(2 n-1 - 1) ] b n-1 b n-2 b1b1 b0b0 n bit segno (0: positivo, 1: negativo) valore assoluto |N| = ( b n-2.2 n-2 + …+ b 0.2 0 ) Valore decimale Valore binario -3111 -2110 101 0100 0000 1001 2010 3011 (n = 3) 1)Doppia rappresentazione per lo 0 2)Simmetria tra valore positivo massimo e valore negativo minimo

10 Numeri relativi: rappresentazione in complemento a 2 Dato un numero binario B a n bit rappresentato in complemento a 2, allora: N = - b n-1.2 n-1 + b n-2.2 n-2 + …+ b 0.2 0 N  [-2 n-1, +(2 n-1 - 1)] b n-1 b n-2 b1b1 b0b0 n bit N.B. - anche nella rappresentazione in complemento a 2 il bit più significativo indica il segno (0:positivo, 1:negativo). N  0 : segno-valore assoluto N < 0 : 2 (-N) con (-N) espresso in segno-valore assoluto Valore decimale Valore binario in complemento a 2 Valore binario in modulo e segno -4100x -3101111 -2110 111101 0000000 e 100 1001 2010 3011 1)Unica rappresentazione per lo 0 2)Asimmetria tra valore positivo massimo e valore negativo minimo

11 Esercizio 11 Si esprimano in decimale ed esadecimale i seguenti numeri binari relativi in complemento a due: 101001, 101101, 11110, 01010, 11001. 101001-2 5 + 2 3 + 2 0 = -231110 1001 = E9 101101-2 5 + 2 3 + 2 2 + 2 0 = -191110 1101 = ED 11110-2 4 + 2 3 + 2 2 + 2 1 = -21111 1110 = FE 11001-2 4 + 2 3 + 2 0 = -71111 1001 = F9

12 Esercizi 12 Nel caso di n=5 bit +12 10 = 01100 2 -12 10 = 2 (12 10 ) = 2 (01100 2 ) = 10011 2 +1 = 10100 2 4 10 = 00100 2 Riporto 01000 A +-1210100+ B =+400100= Risultato+811000 Risultato: -12 4 + 12 3 + 02 2 + 02 1 + 02 0 = -8 10 -1 10 = 2 (1 10 ) = 2 (00001 2 ) = 11110 2 +1 = 11111 2 Riporto 111000 A +-1210100+ B =11111= Risultato-1310011 Risultato: -12 4 + 02 3 + 02 2 + 12 1 + 12 0 = -13 10 (-12) + (+4) (-12) + (-1)

13 Esercizi 13 Nel caso di n=5 bit -12 10 = 2 (12 10 ) = 2 (01100 2 ) = 10011 2 +1 = 10100 2 Prestito 00000 A +-1210100- B =-1210100= Risultato000000 -1 10 = 2 (1 10 ) = 2 (00001 2 ) = 11110 2 +1 = 11111 2 Riporto 111000 A +-1210100+ B =+1201100= Risultato000000 (-12) - (-12) (-12) + (+12)

14 Esercizi 14 Nel caso di n=5 bit -12 10 = 2 (12 10 ) = 2 (01100 2 ) = 10011 2 +1 = 10100 2 Riporto 101000 A +-1210100+ B =-1210100= Risultat o 01000 Prestito 011110 A ++1010100- B =+500101= Risultat o -1510111 (-12) + (-12) (-12) - (+5) Overflow Reti Logiche A.A. 2009-10

15 15 Not(156 10 ) utilizzando 8 bit A = 2 8 – 1 = 255 10 = 11111111 2 B = 156 10 = 10011100 2 C = 110011 2 = 2 5 + 2 4 + 2 + 1 = 99 10 NOT(B) = (2 n -1) - B 0 11111111 10011100 A = 2 n - 1 B C = NOT(B) Prestiti 1 0 1 00 00 00 0 0 1 0 1 0 0

16 16 Complemento a 2 di un numero naturale N di n bit CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO 2 N = 2 n - N Calcolo di 2 N senza la sottrazione 2 N = 2 n - N = (2 n - 1) - N + 1 = not (N) + 1 2 N = not(N) + 1 1 N 0 0 0 0 2N2N

17 Calcolatori Elettronici A.A. 2008-0917 Calcolare il complemento a 2 di 7 10 e 5 10, utilizzando n=4 bit N=7 2 7  2 n -N = 2 4 -7 = 16-7 = 9 10 = 1001 2 oppure, senza la sottrazione 2 7  NOT(N)+1 = NOT(0111)+1 = 1000+1 = 1001 2 N=5 2 5  2 n -N = 2 4 -5 = 16-5 = 11 10 = 1011 2 oppure, senza la sottrazione 2 5  NOT(N)+1 = NOT(0101)+1 = 1010+1 = 1011 2 Esempio

18 Proprietà della rappresentazione in complemento a 2 A +-31101-41100-41100 B =-41100+30011+50101 Risultato-710011111+10001 2 A = -A A+B = somma algebrica fra A e B Siano A e B due numeri rappresentati in complemento a 2 A - B = A + 2 B Per sommare o sottrarre due numeri relativi espressi in complemento a 2 è sufficiente un addizionatore. A+10001-71001 1110 + 10110 + 1 2A2A1111+70111 A = 3 ; B = 4 (in complemento a 2 con 4 bit) A = 0011 B = 0100 A – B = 0011 + 2 (0100) = 0011 + 1100 = 1111

19 Somma e sottrazione di numeri espressi in complemento a 2 CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO Siano A e B due numeri binari espressi in complemento a 2 CI 4 BIT a 0 ADDER a 1 a 2 a 3 s 0 s 1 s 2 s 3 b 0 b 1 b 2 b 3 CO A B A + B B 1 A A - B SOMMASOTTRAZIONE

20 Calcolatori Elettronici A.A. 2008-0920 Calcolare 7 10 -5 10 utilizzando il complemento a 2, nel caso di n=4 bit 7 10 = 0111 2 5 10 = 0101 2 A–B = A + 2 B = A + [NOT(B)+1] 7 10 -5 10 = 0111 2 + [NOT(0101 2 )+1] = 0111 2 + [1010 2 +1] = 0111 2 + [1011 2 ] = 11110 r 0111 + 1011 = -------- 0010 = 0010 = 2 10 Esempio

21 Calcolare 6 10 -3 10 utilizzando il complemento a 2, nel caso di n=4 bit 6 10 = 0110 2 3 10 = 0011 2 A–B = A + 2 B = A + [NOT(B)+1] 6 10 -3 10 = 0110 2 + [NOT(0011 2 )+1] = 0110 2 + [1100 2 +1] = 0110 2 + [1101 2 ] = 0110 + 1101 = -------- 0011 = 3 10 Esercizi (1)

22 Nel caso di n=4 bit, Rappresentare +5 e –6 in‘segno valore assoluto’ +5 10 = 0101 2 -6 10 = 1110 2 Rappresentare +5 e –6 in ‘complemento a 2’ +5 10 = 0101 2 -02 3 + 12 2 + 02 1 + 12 0 = +5 10 -6 10 = 2 (6 10 ) = 2 (0110 2 ) = 1001 2 +1 = 1010 2 -12 3 + 02 2 + 12 1 + 02 0 = -6 10 Esercizi (2)

23 Esercizi 23 Nel caso di n=5 bit +12 10 = 01100 2 -12 10 = 2 (12 10 ) = 2 (01100 2 ) = 10011 2 +1 = 10100 2 4 10 = 00100 2 Riporto 01000 A +-1210100+ B =+400100= Risultato+811000 Risultato: -12 4 + 12 3 + 02 2 + 02 1 + 02 0 = +8 10 -1 10 = 2 (1 10 ) = 2 (00001 2 ) = 11110 2 +1 = 11111 2 Riporto 111000 A +-1210100+ B =11111= Risultato-1310011 Risultato: -12 4 + 02 3 + 02 2 + 12 1 + 12 0 = -13 10 (-12) + (+4) (-12) + (-1)

24 Esercizi 24 Nel caso di n=5 bit -12 10 = 2 (12 10 ) = 2 (01100 2 ) = 10011 2 +1 = 10100 2 Prestito 00000 A +-1210100- B =-1210100= Risultato000000 -1 10 = 2 (1 10 ) = 2 (00001 2 ) = 11110 2 +1 = 11111 2 Riporto 111000 A +-1210100+ B =+1201100= Risultato000000 (-12) - (-12) (-12) + (+12)

25 Esercizi 25 Nel caso di n=5 bit -12 10 = 2 (12 10 ) = 2 (01100 2 ) = 10011 2 +1 = 10100 2 4 10 = 00100 2 -4 10 = 2 (4 10 ) = 2 (00100 2 ) = 11011 2 +1 = 11100 2 Riporto 111000 A +-1210100+ B =-411100= Risultato-1610000 10 10 = 01010 -5 10 = 2 (5 10 ) = 2 (00101 2 ) = 11010 2 +1 = 11011 2 Riporto 110100 A ++1001010+ B =-511011= Risultato-1500101 (-12) + (-4) (+10) + (-5)

26 Half adder, full adder, n bit adder ABSC 0000 0110 1010 1101 Half adder ABCISCO 00000 00110 01010 01101 10010 10101 11001 11111 A B S C HA Full addern bit adder A[0..n-1] B[0..n-1] S[0..n-1] A S HA B C A S HA B C CI A B S CO FA CI S FA A B CO CI S FA A B CO CI S FA A B CO … CI A0 B0 B1 A1 An-1 Bn-1 S0 S1 Sn-1 CO


Scaricare ppt "1 RETI LOGICHE Daniele Manzaroli Esercitazione: mappe di Karnaugh Quartus II: segnali di ingresso Codice Binario: Rappresentazione."

Presentazioni simili


Annunci Google