La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Sintesi Reti Combinatorie

Presentazioni simili


Presentazione sul tema: "Sintesi Reti Combinatorie"— Transcript della presentazione:

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

2 Problema della sintesi 1
Il problema della sintesi di reti combinatorie Data una funzione combinatoria f 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 RETI LOGICHE

3 Problema della sintesi 2
Esempio Prima rappresentazione: y= ¬x1¬x2x3+¬x1x2+x1x2¬x3 x3 x2 x1 y 1 ¬ x1 x2 x3 y x1 ¬ x2 ¬ x3 RETI LOGICHE

4 Problema della sintesi 3
Esempio Altra rappresentazione: y= ¬x1x3+x2¬x3 x3 x2 x1 y 1 ¬ x1 x2 x3 y x1 ¬ x2 ¬ x3 RETI LOGICHE

5 Tabella di 2n elementi in {0,1}, uno per ogni assegnamento
Mappe di Karnaugh 1 Mappe di Karnaugh Mappa di Karnaugh MK(f) per una funzione f di n variabili Tabella di 2n 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. RETI LOGICHE

6 Struttura delle mappe di Karnaugh
Struttura delle MK 1 Struttura delle mappe di Karnaugh 01 00 1 x1 x2 x3 n=3 10 11 x1 x2 n=2 1 01 00 x3 x4 n=4 10 11 x1 x2 RETI LOGICHE

7 Struttura delle mappe di Karnaugh
Struttura delle MK 2 Struttura delle mappe di Karnaugh 01 00 x1 x2 x3 x4 n=5 10 11 x5=0 x5=1 Una MK di n variabili è composta da due MK di n-1 variabili RETI LOGICHE

8 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. x3 x2 x1 y 1 1 01 00 x1 x2 x3 10 11 RETI LOGICHE

9 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 2k elementi adiacenti, corrispondente ad una sottomappa con elementi 1. RETI LOGICHE

10 1 1 Funzioni prodotto 01 00 x1 x2 x3 x4 10 11 ¬ x1¬ x2¬ x3 x1 x2 01 00
RETI LOGICHE

11 Una funzione combinatoria, essendo rappresentabile in
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. RETI LOGICHE

12 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 2n-k elementi adiacenti, corrispondente ad una sotto-mappa con elementi 0. RETI LOGICHE

13 Funzioni somma x1 x2 x3 x4 00 01 11 10 00 x1+x2+x3 01 x1 x2 x3 x4 00
x1+x2+x3 01 x1 x2 x3 x4 00 01 11 10 11 x3 00 10 01 x1+¬x2 11 x1+¬x3 10 x1+x2+¬x3+x4 RETI LOGICHE

14 Una funzione combinatoria, essendo rappresentabile in
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. RETI LOGICHE

15 Rappresentazione di funzioni su MK 2
x1 x2 x3 00 01 11 10 1 SP PS 1 x1 x2 x1 x2 x3 00 01 11 10 x3 00 01 11 10 1 1 1 1 y = ¬x1x2+x1¬x3 y = (x1+x2)(¬x1+¬x3) RETI LOGICHE

16 Implicanti primi 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 x1 x2 x3 x4 00 01 11 10 00 1 1 1 1 01 1 1 11 x1¬x2¬x3 primo ¬x1x2x4 non primo (x2x4) 10 RETI LOGICHE

17 Data una funzione booleana f ed un suo implicato p:
Implicati primi 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 x1 x2 x3 x4 00 01 11 10 00 01 11 ¬x3+x4 primo x1+x2 +¬x4 non primo (x1+x2 ) 10 RETI LOGICHE

18 Rappresentazione con implicanti primi
Rappresentazione di funzione mediante implicanti primi x1 x2 x3 x4 00 01 11 10 00 1 1 ¬x2¬x3 primo 1 1 1 1 01 ¬x3x4 primo 1 1 x2x4 primo 11 10 y=¬x1¬x2¬x3¬x4+¬x1¬x2¬x3x4+¬x1x2¬x3x4 +¬x1x2x3x4 +x1x2¬x3x4 +x1x2x3x4 +x1¬x2¬x3¬x4 +x1¬x2¬x3x4 y=¬x2¬x3+x2x4+¬x3x4 Non tutti gli implicanti primi sono necessari: y=¬x2¬x3+x2x4 RETI LOGICHE

19 Rappresentazione con implicati primi
Rappresentazione di funzione mediante implicati primi x1 x2 x3 x4 00 01 11 10 00 ¬x2 +x4 primo 01 x2+¬x3 primo ¬x3+x4 primo 11 10 y=(x1+¬x2+x3+x4)(¬x1+¬x2+x3+x4)(x1+x2+¬x3+¬x4) (¬x1+x2+¬x3+¬x4)(x1+x2+¬x3+x4)(x1+¬x2+¬x3+x4) (¬x1+¬x2+¬x3+x4)(¬x1+x2+¬x3+x4) y=(¬x2+x4)(¬x3+x4)(x2+¬x3) Non tutti gli implicati primi sono necessari: y=(¬x2+x4)(x2+¬x3) RETI LOGICHE

20 Implicanti primi essenziali
Un implicante primo essenziale copre un assegnamento di verità (avente valore 1) non coperto da altri implicanti primi. x1 x2 x3 x4 00 01 11 10 00 1 1 ¬x2¬x3 essenziale 1 1 1 1 01 ¬x3x4 non essenziale 1 1 x2x4 essenziale 11 10 Un implicante primo essenziale deve necessariamente comparire in qualunque rappresentazione della funzione mediante implicanti primi RETI LOGICHE

21 Implicati primi essenziali
Un implicato primo essenziale copre un assegnamento di verità (avente valore 0) non coperto da altri implicati primi. x3 x4 00 01 11 10 00 ¬x2 +x4 essenziale 01 x2+¬x3 essenziale ¬x3+x4 non essenziale 11 10 Un implicato primo essenziale deve necessariamente comparire in qualunque rappresentazione della funzione mediante implicati primi RETI LOGICHE

22 Costruzione di rappresentazione SP minima 1
Individuare iterativamente un implicante primo essenziale (se esiste) fino alla copertura di tutti gli assegnamenti di verità (1). x1 x2 x3 x4 00 01 11 10 00 1 1 ¬x2¬x3 essenziale 1 1 1 1 01 1 1 x2x4 essenziale 11 10 y=¬x2¬x3+x2x4 RETI LOGICHE

23 Costruzione di rappresentazione SP minima 2
Non sempre il procedimento funziona. Coperture cicliche x1 x2 x3 x4 00 01 11 10 ¬x2¬x3x4 ¬x1¬x2x4 ¬x1x3x4 ¬x1x2x3 x2x3¬x4 x1x2¬x4 x1¬x3¬x4 x1¬x2¬x4 00 01 11 10 RETI LOGICHE

24 Costruzione di rappresentazione SP minima 3
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 Selezionare la rappresentazione migliore tra le due. RETI LOGICHE

25 Costruzione di rappresentazione SP minima 4
Ipotesi: ¬x2¬x3x4 nella rappresentazione Risultato: y=¬x2¬x3x4 +¬x1x3x4 +x2x3¬x4 + x1¬x3¬x4 x1 x2 x3 x4 00 01 11 10 00 01 11 10 RETI LOGICHE

26 Costruzione di rappresentazione SP minima 5
Ipotesi: ¬x2¬x3x4 non nella rappresentazione Risultato: y= ¬x1¬x2x4 +¬x1x2x3 +x1x2¬x4 + x1¬x2¬x4 x3 x4 00 01 11 10 00 In questo caso le due soluzioni sono equivalenti 01 11 10 Le stesse considerazioni valgono per rappresentazioni PS RETI LOGICHE

27 Costruzione di rappresentazione SP minima 6
Metodo alternativo: metodo di Petrik Associamo ad ogni implicante primo una variabile booleana che assume valore 1 se l’implicante compare bella rappresentazione ¬x2¬x3x4 : A1 ¬x1¬x2x4 : A2 ¬x1x3x4 : A3 ¬x1x2x3 : A4 x2x3¬x4 : A5 x1x2¬x4 : A6 x1¬x3¬x4 : A7 x1¬x2¬x4 : A8 RETI LOGICHE

28 Costruzione di rappresentazione SP minima 7
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. (A1+A2) (A2+A3) (A3+A4) (A4+A5) (A5+A6) (A6+A7) (A7+A8) (A8+A1) = … A1A3A5A7 + A2A4A6A8 … RETI LOGICHE

29 In molti casi la funzione non è definita per alcuni
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. x1 x2 x3 x4 00 01 11 10 00 1 1 01 1 1 11 * * * * 1 10 * * Per le condizioni don’t care si possono assumere a piacere i valori 0 o 1 RETI LOGICHE

30 Considerando i soli valori 1 x1 x2 x3 x4 00 01 11 10
Condizioni don’t care 2 Condizioni don’t care Considerando i soli valori 1 x1 x2 x3 x4 00 01 11 10 00 1 1 01 1 1 11 * * * * 1 10 * * Risultato: y= ¬x1¬x2¬x3¬x4+x1x2¬x3¬x4+¬x1x2¬x3x4+ x1¬x2¬x3x4+ ¬x1x2x3¬x4 RETI LOGICHE

31 Considerando i valori 1 e le condizioni don’t care x1 x2 x3 x4 00 01
11 10 00 1 1 01 1 1 11 * * * * 1 10 * * * Risultato: y= ¬x1¬x2¬x3¬x4+x1x2¬x4+¬x1x2x4+x1¬x2x4+x2x3 RETI LOGICHE

32 Individuare iterativamente un implicante primo (per 1 e *)
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. RETI LOGICHE

33 Metodo di Quine-McCluskey 1
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 RETI LOGICHE

34 Metodo di Quine-McCluskey 2
Individuazione implicanti primi ¬x1¬x2¬x3¬x4 ¬x1¬x2¬x3x4 ¬x1x2¬x3x4 ¬x1x2x3x4 x1x2¬x3x4 x1x2x3x4 x1¬x2¬x3¬x4 x1¬x2¬x3x4 0000 1000 1010 1110 1011 1111 0001 1001 RETI LOGICHE

35 Metodo di Quine-McCluskey 3
Individuazione implicanti primi 000- -000 10-0 100- -001 101- 1-10 10-1 1-11 111- 0000 1000 0001 1010 1001 1011 1110 1111 RETI LOGICHE

36 Metodo di Quine-McCluskey 4
Individuazione implicanti primi 000- -000 10-0 100- -001 101- 1-10 10-1 1-11 111- 0000 1000 0001 1010 1001 1011 1110 1111 -00- 10-- 1-1- y=¬x2¬x3+x2x4+¬x3x4 RETI LOGICHE

37 Metodo di Quine-McCluskey 5
Costruzione copertura minima Tabella implicanti primi essenziali 0000 1000 1010 1110 1011 1111 0001 1001 -00- X 10-- 1-1- y=¬x2¬x3+x2x4 RETI LOGICHE

38 Minimizzazione di reti a più uscite 1
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. RETI LOGICHE

39 Minimizzazione di reti a più uscite 2
x3 x2 x1 y1 y2 1 x2¬x3 è un implicante multiplo (non primo per y1) ¬x1x2x3 è un implicante multiplo (non primo né per y1 né per y2) RETI LOGICHE

40 Minimizzazione di reti a più uscite 3
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. RETI LOGICHE

41 Minimizzazione di reti a più uscite 4
y1= S(2,4,10,11,12,13)={2,10}+{4,12}+{10,11}+{12,13} y2= S(4,5,10,11,13) ={4,5}+{5,13}+{10,11} y3= S(1,2,3,10,11,12)={2,3,10,11}+{1,3}+{12} y1 y2 = S(4,10,11,13) ={4}+{10,11}+{13} y1 y3 = S(2,10,11,12) ={2,10}+{10,11}+{12} y2 y3 = S(10,11) ={10,11} y1 y2 y3 = S(10,11)={10,11} Un implicante primo multiplo viene considerato una volta, quando implica l’AND più esteso. RETI LOGICHE

42 Minimizzazione di reti a più uscite 5
Ridenominazione implicanti: A123={10,11} B13={2,10} C13={12} D12={4} E12={13} F1={4,12} G1={12,13} H2={4,5} K2={5,13} L3={2,3,10,11} M3={1,3} y1= S(2,4,10,11,12,13)= B13 + F1 + A123 + G1 y2= S(4,5,10,11,13) = H2 + K2 + A123 y3= S(1,2,3,10,11,12)= L3 + M3 + C13 y1 y2 = S(4,10,11,13) =D12+ A123 + E12 y1 y3 = S(2,10,11,12) = B13 + A123 + C13 y2 y3 = S(10,11) = A123 y1 y2 y3 = S(10,11)= A123 RETI LOGICHE

43 Minimizzazione di reti a più uscite 6
Tabella implicanti primi essenziali y1 y2 y3 2 4 10 11 12 13 5 1 3 L3 X A123 B13 F1 G1 H2 K2 C13 D12 E12 M3 RETI LOGICHE

44 Minimizzazione di reti a più uscite 7
Tabella implicanti primi essenziali y1 y2 y3 2 4 10 11 12 13 5 1 3 L3 X A123 B13 F1 G1 H2 K2 C13 D12 E12 M3 RETI LOGICHE

45 Minimizzazione di reti a più uscite 8
Tabella implicanti primi essenziali y1 y2 y3 2 4 10 11 12 13 5 1 3 L3 X A123 B13 F1 G1 H2 K2 C13 D12 E12 M3 RETI LOGICHE

46 Minimizzazione di reti a più uscite 9
Tabella implicanti primi essenziali y1 y2 y3 2 4 10 11 12 13 5 1 3 L3 X A123 B13 F1 G1 H2 K2 C13 D12 E12 M3 RETI LOGICHE

47 Minimizzazione di reti a più uscite 10
Tabella implicanti primi essenziali y1 y2 y3 2 4 10 11 12 13 5 1 3 L3 X A123 B13 F1 G1 H2 K2 C13 D12 E12 M3 RETI LOGICHE

48 Minimizzazione di reti a più uscite 11
Resta una situazione ciclica: metodo di Petrik. 1=(F1+D12) (G1+E12) (H2+D12) (H2+K2)(K2+E12) = = F1 G1 H2 K2 + F1 H2 E12 + H2 D12 E12 + G1 K2 D12 + K2 D12 E12 Costi delle selezioni =12 F1 G1 H2 K2 3+3+4=10 F1 H2 E12 3+4+4=11 H2 D12 E12 3+3+4=10 G1 K2 D12 3+4+4=11 K2 D12 E12 Le migliori selezioni sono quindi F1 H2 E12 e G1 K2 D12 RETI LOGICHE

49 Minimizzazione di reti a più uscite 12
Selezione di implicanti risultante {A123,B13,C13,M3 ,F1,H2,E12} y1 y2 y3 x1 ¬x1 x2 ¬x2 x3 ¬x3 x4 ¬x4 RETI LOGICHE


Scaricare ppt "Sintesi Reti Combinatorie"

Presentazioni simili


Annunci Google