Gabriele Mittica, CEO @Corley Cloud – “Come creare un’azienda “nativa in clou...
Reti Logic
1.
2. Il segnale campionato v(nT c ) si ottiene moltiplicando v(t) per un treno d’impulsi quello che si ottiene è una sequenza di valori campionati negli istanti nT c con n = 0, 1, 2 ......., N, tali valori continui rappressentano l’altezza dei gradini di base T c . L’informazione associata al segnale compreso in un generico intervallo [( n-1 ) T c , nT c ] viene completamente persa, rimane traccia dell’informazione originaria nella gradinata ottenuta con la procedura sample & hold. Segnale campionato t v (nT c ) T c 2T c nT c SAMPLE & HOLD
3. QUANTIZZAZIONE La dinamica dei campioni v(nT c ) può assumere un’infinità di valori, per ridurre la complessità del sistema si può procedere alla discretizzazione dell’asse delle ordinate imponendo un ulteriore vincolo sui campioni: la dinamica di v(t) può assumere soltanto un numero finito di valori. t v (nT c ) T c 2T c nT c v (nT c )= v [n]+ e q [n] v (nT c ) segnale campionato v [n] segnale quantizzato e q [n] errore di quantizzazione v [n] T c = periodo di campionamento F c = 1/T c frequenza di campionamento
4. Caratterizzazione Statistica dell’Errore di Quantizzazione e q 2 2 N-1 - -2 -2 N-1 0 Un qualsiasi campione del segnale che cade nell’intervallo [0, ] verrà settato al valore di per cui l’esursione dell’errore di quant. va da 0 a . passo di quantizzazione 2 N livelli di quant. 1/ P(e q ) e q P(e q )= densità di probabilita di e q uniformemente distribuito tra 0 e V.M. = valor medio = /2 Potenza del rumore = 2 /12
5. Schema a blocchi di un sistema di conversione Analogico-Digitale F T Filtro antialiasing Sample & Hold Quantizz. Passo Codificatore b bit u (t) û (t) û (nT c ) û [n] Sequenza di b bit ADC ADC = Analogic Digital Converter N.B. Il filtro antialising serve per una corretta riconversione da digitale ad analogico
6. Codifica PCM Supponiamo che i livelli di quantizzazione siano 256 (128 per i valori positivi e 128 per quelli negativi) per codificare il segnale con la tecnica PCM (Pulse Code Modulation) occorrerano 8 bit (2 8 =256 configurazione distinte a cui Corrisponderanno 256 livelli diversi del Quantizzatore) Level 10 Level 15 Level 128 Level 256 Level 138 Level 143 Il I° campione pos. Codificato => 00001010 Il II° campione pos. Codificato=> 00001111 Il I° campione neg. Codificato => 10001010 Il II° campione neg. Codificato=> 10001111
7. 0 0 0 0 0 1 1 0 0 0 0 1 1 1 1 Codifica PCM del segnale vocale t Supponiamo che il segnale vocale venga campionato con una frequenza F c pari a 8kHz ( 8000 campioni al secondo T c = 1/8000 sec) se ogni campione viene Codificato con la tecnica PCM (8 bit a campione ) la bit-rate, velocità con cui vengono trasmessi i bit (bit/sec), è 8bit 8000/sec=64Kbit/sec Quindi la durata di un impulso rettangolare ideale è T=1/64000 sec.
8.
9. Considerazioni Tecnologiche L’obiettivo è ridurre il poichè si riducono i tempi di transizione (salita e discesa) Più il segnale è ripido più si sale in frequenza di conseguenza a parità di tempo si incrementa la bit-rate cioè il numero di bit trasferibili nell’unità di tempo (aumento della capacità di informazione trasferibile). Quindi il è un parametro di progetto e dipende dai processi tecnologici utlizzati dal costruttore. Nella teoria delle reti logiche non vengono trattati aspetti tecnologici ma si assumerà =0. 1 0 Segnale binario = asume solo 2 valori (High, Low) { 0, 1 }
10. RETI LOGICHE Le reti logiche si classificano in reti combinatorie e reti sequenziali Le reti combinatorie (RC) ricevono in ingresso segnali elettrici (tensioni V o intensità di corrente I) li elaborano attraverso circuiti elettrici e producendo dei segnali d’uscita rilevabile a valle del dispositivo elettrico. Per le reti RC i segnali d’uscita dipendono esclusivamente dai segnali d’ingresso (reti senza memoria) Rete Combinatoria x N x 1 z 1 z M ( x 1 , x 2 ,...., x N ) segnali d’ingresso ( z 1 , z 2 ,...., z M ) segnali d’uscita
11. Funzioni Logiche RC x 1 x 2 x N z 1 =f 1 ( x 1 , x 2 ,........,x N ) z 2 =f 2 ( x 1 , x 2 ,........,x N ) z M =f M ( x 1 , x 2 ,........,x N ) Il nostro obiettivo in generale sarà di progettare una rete combinatoria avente M uscite espresse da M funzioni f logiche dipendenti da N variabili binarie Deascrizione a parole delle specifiche Modello funzioni logiche Scelta espressioni logiche di una funzione Schema logico Schema circuitale Realizzazione fisica Processo di Sintesi I step II step III step IV step VI step VI step
12.
13. Forme sp e ps delle funzioni logiche Supponiamo ci venga fornita la T.V(tabella di verità). L’obiettivo sarà di trovare l’espresione della funzione corrispondende che la implementa. Forma sp (somma di prodotti). Si evidenziano le uscite poste a 1 e si scrive il prodotto delle variabili corrispondenti alla configurazione d’ingresso. Forma ps ( prodotti di somme). Si evidenziano le uscite poste a 0 e si scrive la somma delle variabili negate corrispondenti alla configurazione d’ingresso. 0 111 1 110 1 101 0 100 0 011 1 010 1 001 0 000 z x 3 x 2 x 1
14. Forma SP Utilizzeremo la forma SP per implementare le funzioni logiche: x 3 x 2 x 1 z NOT Schema logico L’insieme di operatori funzionalmente {AND,OR, NOT} è completo, cioè con esso si possono implementare tutte le funzioni logiche. Si cercherà di trovare un insieme funzionale completo più piccolo
15. Legge di DE MORGAN Si traforma l’OR in una configurazione AND NOT Si traforma l’AND in una configurazione OR NOT x 1 x 2 z x 1 x 2 z x 1 x 2 z x 1 x 2 z Si è ridotta la complessità circuitale in quanto abbiamo eliminato uno tra l’AND o l’OR {AND, NOT} e {OR, NOT} sono insiemi di operatori funzionalmente completi.
16. NAND x 1 x 2 z z=x 1 x 2 NOT x x=x x x { NAND } operatore funz. completo x 1 x 2 z NOR z=x 1 x 2 x x x=x x NOT { Nor } operatore funz. completo 0 1 1 1 1 0 1 0 1 1 0 0 z x 2 x 1 0 1 1 0 1 0 0 0 1 1 0 0 z x 2 x 1
17. MULTIPLEXER (MUX) 2 n ingressi Programmabili n ingressi di selezione o selettori Z uscita MUX n:2 n (1) (2) * * * (2 n ) x 0 x 1 x n-1 Principio di funzionamento In base alla configurazione delle variabili di selezione, uno solo degli ingressi verrà selezionato e riportato in uscita (processo di multiplexing). Poichè il n° di selettori è n (n var binarie => 2 n configuarazioni disinte ) il numero di ingressi programmabili del Mux sarà 2 n
18. MUX 2:4 (0) (1) (2) (3) x 0 x 1 z 0 0 1 1 T.V. Il multiplexer realizza la funzione Logica rappresentata in T.V. (0) (1) (2) (3) x 0 x 1 0 0 1 1 (0) (1) (2) (3) z Un multiplexer n:2 n composto da 2 n AND ed un OR MUX 2:4 1 1 1 1 1 0 0 0 1 0 0 0 z x 1 x 0
19. Multiplexer in cascata Data una f logica di n variabili per realizzarla fisicamente bisogna utilizzare un MUX n:2 n . Ci sono limiti strutturali per i MUX, in quanto il numero max di ingressi di selezione che supporta un mux sono 5 o 6. Risoluzione del problema utilizzando più MUX in cascata. MUX 3:8 => 2MUX 2:4 + MUX 1:2 (0) (1) (2) (3) (4) (5) (6) (7) x 2 x 1 x 0 z 3:8 MUX 1 1 0 1 0 0 1 0 (0) (1) (2) (3) (0) (1) (2) (3) 1 1 0 1 0 0 1 0 x 2 x 1 x 2 x 1 x 0 (0) (1) z 2:4 2:4 MUX MUX 1:2 MUX
20. Codifica 1/n Si utilizzano n variabili binarie per codificare n valori decimali { z 0 , z 1 ,...,z n } {0,1,2,3,.,n} poichè da n var. binarie si ottengono 2 n configurazioni distinte, si considerano solo n config. e le rimanenti (2 n -n) nonverrano utilizzate per la codifica. Enable x 1 x 0 0 1 2 3 0 1 2 3 Decoder 2:4 Dec x 0 x 1 (0) (1) (2) (3) Enable { x 0 x 1 }={0 0} (0) (1) (2) (3) Enable= {1} 1 0 0 0 Dec 0001 1 1 0010 1 0 0100 0 1 1000 0 0 z 1 z 2 z 3 z 4 x 1 x 0
21. Schema logico di una funzione utilizzando un Dec (0) (1) (2) (3) (4) (5) (6) (7) x 2 x 1 x 0 3:8 Dec Enable 0 111 1 110 1 101 0 100 0 011 1 010 1 001 0 000 z x 2 x 1 x 0
22. Decoder abilitato Se il segnale di Enable vale 0 il Dec è disabilito cioè tutte le uscite del Dec sono nulle, altrmenti Se vale 1 il Dec funziona correttamente. Vediamo come sfruttando il segnale di Enable come possiamo ottenere un Dec 3:8 avendo a disposizione ad esmpio un Dec 1:2 e 2 Dec 2:4 0 1 2 3 2:4 Dec 0 1 2 3 2:4 Dec E E x 0 x 1 x 2 x 1 x 2 0 1 1:2 Dec 1 Uno dei due Dec 2:4 sarà sempre abilitato Grazie al Dec 1:2 che pilota i due Dec in uscita
23. Espressione Minima Fino adesso ci siamo impegnati a realizzare le reti logiche utilizzando la tabella della verità realizzando forme SP canoniche utilizzando multiplexer e decoder senza tener presente i costi realizzativi che sono proprzionali al numero delle porte logiche(AND, OR, NOT) utilizzate. Cercheremo una tecnica che permette di trovare la forma minima di una f logica e di conseguenza l’utilizzo del numero minimo di porte logiche. Metodo grafico “Mappe di Karnaugh” x 2 x 1 x 0 f 0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 0 x 0 x 1 x 2 00 01 11 10 0 1 1 1 1 0 0 0 0 0
24. x 0 x 1 0 1 0 1 x 0 x 1 x 2 00 01 11 10 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 x 4 = 0 x 4 = 1 2 var. 4 var. 3 var. 5 var. Mappe di Karnaugh
25. Mappe di Karnaugh Per ordinare l’etichettazione delle righe e delle colonne delle M. K. bisogna soddisfare il vincolo che le righe (e le colonne) devono essere adiacenti cioè nel passare dall’una all’altra riga (colonna) le configurazioni devono essere adiacenti o meglio la variazione tra due righe (colonne) consecutive e di un solo bit questo vale anche per la prima e l’ultima riga (colonna) che devono essere anch’esse adiacenti tra di loro. 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 La cella 0101 ha quattro celle adiacenti 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 x 4 = 0 x 4 = 1 La cella 0101 ha cinque celle adiacenti
26. Raggruppamenti Rettangolari R.R. DEF: Un R.R. Di ordine p è un insieme di 2 p celle di una mappa di Karnaugh ed ogni cella del R.R. Ha p celle adiacenti ad essa. 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 p=2 p=2 p=1 p=0 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 x 4 = 0 x 4 = 1 5 var. p=3 p=2 p=1 L’obiettivo è quello di cercare raggruppamenti rettangolari di ordine max di soli 1 con i quali ottenere una copertura della mappa di Karnaugh.
27. Esempi di copertura 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0 00 01 11 10 00 01 11 10 x 0 x 1 x 2 x 3 1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
28. Comparatore Siano A= {a 1 , a 2 }2 B={b 1 , b 2 } due numeri binari un comparatore confronta le 2 n (4) Configurazioni, restitusce 1 se sono uguali altrimenti 0. a 1 a 2 b 1 b 2 0 0 0 0 1 0 1 0 1 1 0 1 0 1 1 1 1 1 1 1 f 0 1 2 3 0 1 2 3 a 1 a 2 b 1 b 2 f Dec 2:4 MUX 2:4
29. Comparatore di config. di n bit Prima di parlare di un comparatore a n bit introduciamo 2 nuove porte logiche: Ex-Or, Ex-Equivalence x 0 x 1 z x 0 x 1 z Ex-Or x 0 x 1 = z Ex-EQ x 0 x 1 = z x 1 x 0 Ex-or 00 0 01 1 10 1 11 0 x 1 x 0 Ex-eq 00 1 01 0 10 0 11 1 comparatore n bit n bit A B z a n b n a n-1 a n-1 a 1 a 1 z
30. SOMMATORE Progettiamo una rete combinatoria (R.C.) che in ingresso abbia 2 configurazione a 3bit e in uscita la somma + A B S C A=( a 2 , a 1 , a 0 ) B=( b 2 , b 1 , b 0 ) S=( s 2 , s 1 , s 0 ) 4 situazioni possibili Riporto per lo stadio successivo s 0 Ex-Or a 0 b 0 = s 0 a 0 b 0 Ex-or 00 0 01 1 10 1 11 0 AND : a 0 • b 0 = r 0 r 0 a 0 b 0 a 0 b 0
31. Half Adder L’Half Adder è il componente logico che mi da la somma di 2 bit s 0 a 0 b 0 r 0 HALF ADDER a 0 b 0 s 0 r 0 Componete logico che implementa la somma più il riporto S 1 ’ = a 1 b 1 r 1 ’ = a 1 b 1 S 1 =S 1 ’ r 0 r 1 ’’ = S 1 ’ r 0 r 1 = r 1 ’ + r 1 ’’ Somma allo stadio successivo S 1 ’ a 1 b 1 r 0 s 1 r 1 ’’ r 1 ’ r 1 H.A H.A
32. FULL ADDER Half Adder Half Adder a 1 b 1 r 0 S 1 ’ r 1 ’ r 1 ’’ S 1 r 1 a 1 b 1 r 0 r 1 S 1 Full Adder Full Adder n- bit Adder: componente che esgue la somma di n bit C i = 0 a 1 b 1 S 1 r 1 Full Adder S 2 Full Adder S n Full Adder a 2 b 2 a n b n r n-1 C o =Carry out= riporto d’uscita A B S C o N-bit ADDER C i =0 r 2
33. Schema per un addizionatore I 2 I 1 n n B A n 1 C o S C i 1 I 1 = {I 1,1 , I 1,2 ,....,I 1,n }bit I 2 = {I 2,1 , I 2,2 ,....,I 2,n }bit Unità base utilizzata per strutture più complesse I 2 I 1 n n B A n C o S C i 0 1 Mux x 0 Un Mux a n uscite non esiste, ma lo schematico Sintetizza n Mux ognuno dei quali gestisce un solo bit d’ingresso della sequenza I 2 0 1 Mux 0 1 Mux 0 1 Mux I 2,1 I 2,2 I 2,n b 1 b 2 b n x 0 n_bit Adder n_bit Adder
34. I 2 I 1 n n A n C o S C i 0 1 Mux x 0 B Analisi dello schematico x 0 C i S 0 0 A+B 0 1 A+B+1 1 0 A+B 1 1 A+B+1 Se alla precedente analisi aggiungiamo il tipo di codifica utilizzato le operazioni si trasformano Codifica complemento a 2 0=000 1=001 2=010 3=011 4=100 -1=111 -2=110 -3=101 -B=(B) 2 =B+1 x 0 C i S 0 0 A+B Add 0 1 A+B+1 Add+ 1 0 A-B-1 Diff- 1 1 A-B Diff n_bit Adder
35. I 2 I 1 n n A n C o S C i 0 1 Mux x 0 B x 1 x 1 a 1 a 2 a n I 1,1 I 1,2 I 1,n N-And I segnali di controllo x 0 ,x 1 e C i determinano Il tipo di operazione Che effettua l’unità Aritmetica U.A x 0 x 1 C i C i x 0 x 1 A B S C o Unità Aritmetica U.A 8 operazioni n_bit Adder A-B -B A+B+1 B+1 1 A-B-1 -B-1 A+B B 0 11 10 01 00
36. Ulteriore evoluzione dell’U.A. I 2 I 1 n A n C o C i x 1 n_bit Adder n S n n B x 0 x 2 16 operazioni implementabili con 4 Segnali di controllo x 0 x 1 x 2 C i Unità Aritmetica A B x 0 x 1 x 2 M S C 0 C i U.A. M segnale di modalità cioè segnale di controllo che determina la modalità dell’UA o aritmetica o logica A 0 A-B -B 11 A-1 -1 A-B-1 -B-1 10 A+B+1 B+1 A+1 1 01 A+B B A 0 00 11 10 01 00
37.
38. I 2 I 1 n A n C o C i x 1 n_bit Adder n S n n B x 0 x 2 M S ’ x 3 x 0 x 1 x 2 x 3 =0 M=0 x 0 x 1 x 2 x 3 =1 M=1 A 11.1 A B B 1 A B B A 00..0 0 11 10 01 00 A+B 11.1 A B A+B 1 A+B B A AB 0 11 10 01 00