La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sintesi Reti Combinatorie Corso di Architetture degli Elaboratori Sintesi di Reti Combinatorie.

Presentazioni simili


Presentazione sul tema: "Sintesi Reti Combinatorie Corso di Architetture degli Elaboratori Sintesi di Reti Combinatorie."— Transcript della presentazione:

1 Sintesi Reti Combinatorie Corso di Architetture degli Elaboratori Sintesi di Reti Combinatorie

2 RETI LOGICHE2 Problema della sintesi 1 Data una funzione combinatoria f Il problema della sintesi di reti combinatorie Si vuole individuare una rete logica (a due livelli) Che implementi f Che abbia costo minimo Funzione di costo: Numero di porte A parità di numero di porte, numero di morsetti di ingresso

3 RETI LOGICHE3 Problema della sintesi 2 Esempio x3x3 x2x2 x1x1 y Prima rappresentazione: y= ¬x 1 ¬x 2 x 3 +¬x 1 x 2 +x 1 x 2 ¬x 3 ¬ x 1 x2x2 x3x3 y x1x1 ¬ x 2 ¬ x 3

4 RETI LOGICHE4 Problema della sintesi 3 Esempio x3x3 x2x2 x1x1 y Altra rappresentazione: y= ¬x 1 x 3 +x 2 ¬x 3 ¬ x 1 x2x2 x3x3 y x1x1 ¬ x 2 ¬ x 3

5 RETI LOGICHE5 Mappe di Karnaugh 1 Mappa di Karnaugh MK(f) per una funzione f di n variabili Mappe di Karnaugh Tabella di 2 n elementi in {0,1}, uno per ogni assegnamento di verità sulle n variabili. Due assegnamenti di verità adiacenti (differenti su una sola variabile) corrispondono ad elementi contigui nella tabella. Si assume che la tabella sia chiusa su sé stessa.

6 RETI LOGICHE6 Struttura delle MK 1 Struttura delle mappe di Karnaugh x1x1 x2x2 n= x 1 x 2 x3x3 n= x 3 x 4 n= x 1 x 2

7 RETI LOGICHE7 Struttura delle MK 2 Struttura delle mappe di Karnaugh 0100 x 1 x 2 x 3 x 4 n= x 1 x 2 x 3 x x 5 =0x 5 =1 Una MK di n variabili è composta da due MK di n-1 variabili

8 RETI LOGICHE8 Rappresentazione di funzioni su MK 1 Rappresentazione di funzioni su mappe di Karnaugh Una funzione f di n variabili è rappresentata da un MK su n variabili dove un elemento di MK ha valore 1 se e solo se corrisponde ad un assegnamento di verità per il quale la funzione ha valore 1. x3x3 x2x2 x1x1 y x 1 x 2 x3x3 1011

9 RETI LOGICHE9 Funzioni prodotto 1 Funzioni prodotto Funzione prodotto f : rappresentata da un AND di k  n termini (variabili vere o negate). Su una MK su n variabili, l’insieme degli elementi per cui f ha valore 1 è un insieme rettangolare (sottocubo) di 2 k elementi adiacenti, corrispondente ad una sottomappa con elementi 1.

10 RETI LOGICHE10 Funzioni prodotto 2 Funzioni prodotto x 1 x 2 x 3 x ¬ x 1 x 3 ¬ x 1 ¬ x 2 x 3 ¬ x 4 ¬ x 1 x 2 ¬ x 1 ¬ x 2 ¬ x 3 x 1 x x 3 x ¬x 3

11 RETI LOGICHE11 Funzioni prodotto 3 Funzioni prodotto Una funzione combinatoria, essendo rappresentabile in forma SP, e quindi mediante un insieme di funzioni prodotto, corrisponde su MK ad un insieme di regioni rettangolari. Problema della sintesi su MK Data una funzione rappresentata su MK, trovare l’insieme più piccolo di rettangoli che copra esattamente gli elementi di valore 1.

12 RETI LOGICHE12 Funzioni somma 1 Funzioni somma Funzione somma f: rappresentata da un OR di k  n termini (variabili vere o negate). Su una MK su n variabili, l’insieme degli elementi per cui f ha valore 0 è un insieme rettangolare di 2 n-k elementi adiacenti, corrispondente ad una sotto-mappa con elementi 0.

13 RETI LOGICHE13 Funzioni somma 2 Funzioni somma x 1 x 2 x 3 x x 1 +¬x 3 x 1 +x 2 +¬x 3 +x 4 x 1 +¬x 2 x1+x2+x3x1+x2+x x 1 x 2 x 3 x x3x3

14 RETI LOGICHE14 Funzioni somma 3 Funzioni somma Una funzione combinatoria, essendo rappresentabile in forma PS, e quindi mediante un insieme di funzioni somma, corrisponde su MK ad un insieme di regioni rettangolari. Problema della sintesi su MK Data una funzione rappresentata su MK, trovare l’insieme più piccolo di rettangoli che copra esattamente gli elementi di valore 0.

15 RETI LOGICHE15 Rappresentazione di funzioni su MK 2 Rappresentazione di funzioni su MK x3x x3x x3x SP PS y = (x 1 +x 2 )(¬x 1 +¬x 3 ) x 1 x 2 y = ¬x 1 x 2 +x 1 ¬x 3

16 RETI LOGICHE16 1 Implicanti primi Data una funzione booleana f ed un suo implicante p: p è primo se non esiste p’  f tale che p  p’ Su una MK p è primo se e solo se il sottocubo corrispondente non è incluso in un sottocubo più grande x 1 x 2 x 3 x ¬x 1 x 2 x 4 non primo (x 2 x 4 ) x 1 ¬x 2 ¬x 3 primo

17 RETI LOGICHE Implicati primi Data una funzione booleana f ed un suo implicato p: p è primo se non esiste p’, f  p’, tale che p’  p Su una MK p è primo se e solo se il sottocubo corrispondente non è incluso in un sottocubo più grande x 1 x 2 x 3 x x 1 +x 2 +¬x 4 non primo (x 1 +x 2 ) ¬x 3 +x 4 primo

18 RETI LOGICHE18 Rappresentazione con implicanti primi Rappresentazione di funzione mediante implicanti primi 0100 x 3 x ¬x 2 ¬x 3 primo x 1 x 2 x 2 x 4 primo ¬x 3 x 4 primo y=¬x 1 ¬x 2 ¬x 3 ¬x 4 +¬x 1 ¬x 2 ¬x 3 x 4 +¬x 1 x 2 ¬x 3 x 4 +¬x 1 x 2 x 3 x 4 +x 1 x 2 ¬x 3 x 4 +x 1 x 2 x 3 x 4 +x 1 ¬x 2 ¬x 3 ¬x 4 +x 1 ¬x 2 ¬x 3 x 4 y=¬x 2 ¬x 3 +x 2 x 4 +¬x 3 x 4 Non tutti gli implicanti primi sono necessari: y=¬x 2 ¬x 3 +x 2 x

19 RETI LOGICHE19 Rappresentazione con implicati primi Rappresentazione di funzione mediante implicati primi 0100 x 3 x ¬x 2 +x 4 primo x 1 x 2 ¬x 3 +x 4 primo x 2 +¬x 3 primo y=(x 1 +¬x 2 +x 3 +x 4 )(¬x 1 +¬x 2 +x 3 +x 4 )(x 1 +x 2 +¬x 3 +¬x 4 ) (¬x 1 +x 2 +¬x 3 +¬x 4 )(x 1 +x 2 +¬x 3 +x 4 )(x 1 +¬x 2 +¬x 3 +x 4 ) (¬x 1 +¬x 2 +¬x 3 +x 4 )(¬x 1 +x 2 +¬x 3 +x 4 ) y=(¬x 2 +x 4 )(¬x 3 +x 4 )(x 2 +¬x 3 ) Non tutti gli implicati primi sono necessari: y=(¬x 2 +x 4 )(x 2 +¬x 3 )

20 RETI LOGICHE20 Implicanti primi essenziali Un implicante primo essenziale deve necessariamente comparire in qualunque rappresentazione della funzione mediante implicanti primi Un implicante primo essenziale copre un assegnamento di verità (avente valore 1) non coperto da altri implicanti primi x 3 x ¬x 2 ¬x 3 essenziale x 1 x 2 x 2 x 4 essenziale ¬x 3 x 4 non essenziale

21 RETI LOGICHE Implicati primi essenziali Un implicato primo essenziale deve necessariamente comparire in qualunque rappresentazione della funzione mediante implicati primi Un implicato primo essenziale copre un assegnamento di verità (avente valore 0) non coperto da altri implicati primi x 3 x ¬x 2 +x 4 essenziale ¬x 3 +x 4 non essenziale x 2 +¬x 3 essenziale

22 RETI LOGICHE22 11 Costruzione di rappresentazione SP minima 1 Costruzione di rappresentazione SP minima y=¬x 2 ¬x 3 +x 2 x 4 Individuare iterativamente un implicante primo essenziale (se esiste) fino alla copertura di tutti gli assegnamenti di verità (1) x 3 x ¬x 2 ¬x 3 essenziale x 1 x 2 x 2 x 4 essenziale 1

23 RETI LOGICHE23 Costruzione di rappresentazione SP minima 2 Costruzione di rappresentazione SP minima Coperture cicliche Non sempre il procedimento funziona x 3 x ¬x 2 ¬x 3 x 4 ¬x 1 ¬x 2 x 4 ¬x 1 x 3 x 4 ¬x 1 x 2 x 3 x 2 x 3 ¬x 4 x 1 x 2 ¬x 4 x 1 ¬x 3 ¬x 4 x 1 ¬x 2 ¬x 4 x 1 x 2

24 RETI LOGICHE24 Costruzione di rappresentazione SP minima 3 Costruzione di rappresentazione SP minima Nel caso di coperture cicliche: selezionare un implicante primo nella copertura. fare l’ipotesi che l’implicante faccia parte della rappresentazione e procedere fino a derivare una rappresentazione fare l’ipotesi che l’implicante non faccia parte della rappresentazione e procedere fino a derivare una rappresentazione Selezionare la rappresentazione migliore tra le due.

25 RETI LOGICHE25 Costruzione di rappresentazione SP minima 4 Costruzione di rappresentazione SP minima 0100 x 3 x Risultato: y=¬x 2 ¬x 3 x 4 +¬x 1 x 3 x 4 +x 2 x 3 ¬x 4 + x 1 ¬x 3 ¬x 4 x 1 x 2 Ipotesi: ¬x 2 ¬x 3 x 4 nella rappresentazione

26 RETI LOGICHE26 Costruzione di rappresentazione SP minima 5 Costruzione di rappresentazione SP minima Risultato: y= ¬x 1 ¬x 2 x 4 +¬x 1 x 2 x 3 +x 1 x 2 ¬x 4 + x 1 ¬x 2 ¬x 4 Ipotesi: ¬x 2 ¬x 3 x 4 non nella rappresentazione 0100 x 3 x In questo caso le due soluzioni sono equivalenti Le stesse considerazioni valgono per rappresentazioni PS

27 RETI LOGICHE27 Costruzione di rappresentazione SP minima 6 Costruzione di rappresentazione SP minima Metodo alternativo: metodo di Petrik ¬x 2 ¬x 3 x 4 : A 1 ¬x 1 ¬x 2 x 4 : A 2 ¬x 1 x 3 x 4 : A 3 ¬x 1 x 2 x 3 : A 4 x 2 x 3 ¬x 4 : A 5 x 1 x 2 ¬x 4 : A 6 x 1 ¬x 3 ¬x 4 : A 7 x 1 ¬x 2 ¬x 4 : A 8 Associamo ad ogni implicante primo una variabile booleana che assume valore 1 se l’implicante compare bella rappresentazione

28 RETI LOGICHE28 Costruzione di rappresentazione SP minima 7 Costruzione di rappresentazione SP minima Ad ogni mintermine viene associata una espressione Booleana pari all’OR di tutte le variabili corrispondenti a Implicanti che lo coprono. Queste espressioni sono messe in AND, a rappresentare il fatto che tutti i mintermini devono essere coperti. (A 1 +A 2 ) (A 2 +A 3 ) (A 3 +A 4 ) (A 4 +A 5 ) (A 5 +A 6 ) (A 6 +A 7 ) (A 7 +A 8 ) (A 8 +A 1 ) = … A 1 A 3 A 5 A 7 + A 2 A 4 A 6 A 8 …

29 RETI LOGICHE29 Condizioni don’t care 1 Condizioni don’t care In molti casi la funzione non è definita per alcuni assegnamenti di verità, che ad esempio non possono manifestarsi in input x 3 x x 1 x **** ** Per le condizioni don’t care si possono assumere a piacere i valori 0 o 1

30 RETI LOGICHE30 Condizioni don’t care 2 Condizioni don’t care Considerando i soli valori x 3 x x 1 x **** ** Risultato: y= ¬x 1 ¬x 2 ¬x 3 ¬x 4 +x 1 x 2 ¬x 3 ¬x 4 +¬x 1 x 2 ¬x 3 x 4 + x 1 ¬x 2 ¬x 3 x 4 + ¬x 1 x 2 x 3 ¬x 4

31 RETI LOGICHE31 Condizioni don’t care 3 Condizioni don’t care Considerando i valori 1 e le condizioni don’t care 0100 x 3 x x 1 x **** ** Risultato: y= ¬x 1 ¬x 2 ¬x 3 ¬x 4 +x 1 x 2 ¬x 4 +¬x 1 x 2 x 4 +x 1 ¬x 2 x 4 +x 2 x 3 *

32 RETI LOGICHE32 Condizioni don’t care 4 Condizioni don’t care Individuare iterativamente un implicante primo (per 1 e *) che sia essenziale (se esiste) per i valori 1, fino alla copertura di tutti gli assegnamenti di verità (1). Nel caso di coperture cicliche (sugli 1) si applica lo stesso metodo già esposto.

33 RETI LOGICHE33 Metodo di Quine-McCluskey 1 Metodo di Quine-McCluskey Fornisce un procedimento più rigoroso (algoritmo) delle MK. Si applica per n (numero di variabili) qualunque. Il metodo opera su due fasi: Individuazione implicanti primi Costruzione copertura minima

34 RETI LOGICHE34 Metodo di Quine-McCluskey 2 Individuazione implicanti primi ¬x 1 ¬x 2 ¬x 3 ¬x 4 ¬x 1 ¬x 2 ¬x 3 x 4 ¬x 1 x 2 ¬x 3 x 4 ¬x 1 x 2 x 3 x 4 x 1 x 2 ¬x 3 x 4 x1x2x3x4x1x2x3x4 x 1 ¬x 2 ¬x 3 ¬x 4 x 1 ¬x 2 ¬x 3 x

35 RETI LOGICHE35 Metodo di Quine-McCluskey 3 Individuazione implicanti primi

36 RETI LOGICHE36 Metodo di Quine-McCluskey 4 Individuazione implicanti primi y=¬x 2 ¬x 3 +x 2 x 4 +¬x 3 x

37 RETI LOGICHE37 Metodo di Quine-McCluskey 5 Costruzione copertura minima y=¬x 2 ¬x 3 +x 2 x XXXX 10--XXXX 1-1-XXXX Tabella implicanti primi essenziali

38 RETI LOGICHE38 Minimizzazione di reti a più uscite 1 Minimizzazione di reti a più uscite Sintesi di una rete combinatoria (a due livelli) che calcoli più funzioni booleane date utilizzando il minimo numero di porte logiche. E’ necessario considerare eventuali implicanti multipli, che implichino cioè più di una funzione.

39 RETI LOGICHE39 Minimizzazione di reti a più uscite 2 Minimizzazione di reti a più uscite x3x3 x2x2 x1x1 y1y1 y2y x 2 ¬x 3 è un implicante multiplo (non primo per y 1 ) ¬x 1 x 2 x 3 è un implicante multiplo (non primo né per y 1 né per y 2 )

40 RETI LOGICHE40 Minimizzazione di reti a più uscite 3 Minimizzazione di reti a più uscite Procedimento  Trovare gli implicanti primi (multipli o meno) dell’insieme di funzioni. Gli implicanti multipli vengono individuati mediante la rappresentazione MK (o l’applicazione della prima fase di Quine-McCluskey) agli AND delle funzioni.  Selezionare un sottoinsieme minimo degli implicanti trovati, applicando la seconda fase di Quine-McCluskey.

41 RETI LOGICHE41 Minimizzazione di reti a più uscite 4 Minimizzazione di reti a più uscite y 1 =  =  y 2 =  =  y 3 =  =  y 1 y 2 =  =  y 1 y 3 =  =  y 2 y 3 =  =  y 1 y 2 y 3 =  =  Un implicante primo multiplo viene considerato una volta, quando implica l’AND più esteso.

42 RETI LOGICHE42 Minimizzazione di reti a più uscite 5 Minimizzazione di reti a più uscite A 123 =  B 13 =  C 13 =  D 12 =  E 12 =  F 1 =  G 1 =  H 2 =  K 2 =  L 3 =  M 3 =  Ridenominazione implicanti: y 1 =  = B 13  F 1  A 123  G 1 y 2 =  = H 2  K 2  A 123 y 3 =  = L 3  M 3  C 13 y 1 y 2 =  =D 12  A 123  E 12 y 1 y 3 =  = B 13  A 123  C 13 y 2 y 3 =  = A 123 y 1 y 2 y 3 =  = A 123

43 RETI LOGICHE43 Minimizzazione di reti a più uscite 6 Minimizzazione di reti a più uscite Tabella implicanti primi essenziali y1y1 y2y2 y3y L3L3 2XXXX A 123 3XXXXXX B 13 3XXXX F1F1 3XX G1G1 3XX H2H2 3XX K2K2 3XX C 13 4XX D 12 4XX E 12 4XX M3M3 3XX

44 RETI LOGICHE44 Minimizzazione di reti a più uscite 7 Minimizzazione di reti a più uscite Tabella implicanti primi essenziali y1y1 y2y2 y3y L3L3 2XXXX A 123 3XXXXXX B 13 3XXXX F1F1 3XX G1G1 3XX H2H2 3XX K2K2 3XX C 13 4XX D 12 4XX E 12 4XX M3M3 3XX

45 RETI LOGICHE45 Minimizzazione di reti a più uscite 8 Minimizzazione di reti a più uscite Tabella implicanti primi essenziali y1y1 y2y2 y3y L3L3 2XXXX A 123 3XXXXXX B 13 3XXXX F1F1 3XX G1G1 3XX H2H2 3XX K2K2 3XX C 13 4XX D 12 4XX E 12 4XX M3M3 3XX

46 RETI LOGICHE46 Minimizzazione di reti a più uscite 9 Minimizzazione di reti a più uscite Tabella implicanti primi essenziali y1y1 y2y2 y3y L3L3 2XXXX A 123 3XXXXXX B 13 3XXXX F1F1 3XX G1G1 3XX H2H2 3XX K2K2 3XX C 13 4XX D 12 4XX E 12 4XX M3M3 3XX

47 RETI LOGICHE47 Minimizzazione di reti a più uscite 10 Minimizzazione di reti a più uscite Tabella implicanti primi essenziali y1y1 y2y2 y3y L3L3 2XXXX A 123 3XXXXXX B 13 3XXXX F1F1 3XX G1G1 3XX H2H2 3XX K2K2 3XX C 13 4XX D 12 4XX E 12 4XX M3M3 3XX

48 RETI LOGICHE48 Minimizzazione di reti a più uscite 11 Minimizzazione di reti a più uscite  F 1 +D 12  G 1 +E 12  H 2 +D 12  H 2 +K 2  K 2 +E 12   F 1 G 1 H 2 K 2 + F 1 H 2 E 12 + H 2 D 12 E 12 + G 1 K 2 D 12 + K 2 D 12 E 12 Resta una situazione ciclica: metodo di Petrik. Costi delle selezioni F 1 G 1 H 2 K =12 F 1 H 2 E =10 H 2 D 12 E =11 G 1 K 2 D =10 K 2 D 12 E =11 Le migliori selezioni sono quindi F 1 H 2 E 12 e G 1 K 2 D 12

49 RETI LOGICHE49 Minimizzazione di reti a più uscite 12 Minimizzazione di reti a più uscite {A 123,B 13,C 13,M 3,F 1,H 2,E 12 } Selezione di implicanti risultante ¬x 1 x2x2 x3x3 y2y2 x1x1 ¬x 2 ¬x 3 x4x4 ¬x 4 y1y1 y3y3


Scaricare ppt "Sintesi Reti Combinatorie Corso di Architetture degli Elaboratori Sintesi di Reti Combinatorie."

Presentazioni simili


Annunci Google