Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati...

48
Maurizio Palesi 1 Minimizzazione di Reti Minimizzazione di Reti Logiche Combinatorie Logiche Combinatorie Multi-livello Multi-livello Maurizio Palesi

Transcript of Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati...

Page 1: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 1

Minimizzazione di Reti Minimizzazione di Reti Logiche Combinatorie Logiche Combinatorie

Multi-livelloMulti-livello

Maurizio Palesi

Page 2: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 2

IntroduzioneIntroduzioneObiettivo della sintesi logica: ottimizzazione

delle cifre di merito area e prestazioniPrestazioni: valutate di norma come il ritardo

di propagazione lungo il percorso criticoReti combinatorie a due livelli: si riducono

contemporaneamente areae ritardoReti combinatorie a più livelli: area e ritardo non

procedono nella stessa direzione

Page 3: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 3

IntroduzioneIntroduzione I circuiti logici combinatori sono molto spesso

realizzati come reti multi-livello di porte logicheAumento dei gradi di libertà per l’ottimizzazione

Sfruttamento del trade-off area/ritardoSoddisfare i vincoli tecnologici

Difficoltà di modeling e ottimizzazioneMetodi esatti: praticamente non attuabiliEuristiche (2 passi)

– Ottimizzazione trascurando i vincoli (semplici modelli per area e prestazioni)

– I vincoli sono presi in considerazione (library binding)

Fattorizzazione

Page 4: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 4

FattorizzazioneFattorizzazione

f = xyzv + xyzv + xyzv + xyzv + xyzv + xyzv + xyzv + xyzv

Corrispondente ad un circuito costituito da 8 porte AND a 4 ingressi e 1 porta OR a 8 ingressiRaramente disponibili in una libreriaCaratterizzati da ritardi elevati

Costo: 31 porte a 2 ingressi

Ritardo: 5

Page 5: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 5

FattorizzazioneFattorizzazione

f = xy(zv + zv) + xy(zv + zv) + xy(zv + zv) + xy(zv + zv)

Riapplicando nuovamente la stessa proprietà

Applicando la proprità distributiva del prodotto rispetto alla somma

f = xyzv + xyzv + xyzv + xyzv + xyzv + xyzv + xyzv + xyzv

f = (xy + xy)(zv + zv) + (xy + xy)(zv + zv)

Ricordando che (ab + ab)’=(ab + ab)i = (xy + xy)j = (zv + zv)f = ij + ij

Page 6: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 6

FattorizzazioneFattorizzazione Costo della rete ancora di 9 porte logiche

Ma tutte le porte sono a 2 ingressi

Numero di letterali da 32 a 12Costo: 9 porte a 2 ingressi

Ritardo: 4

Page 7: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 7

FattorizzazioneFattorizzazione La tecnica di fattorizzazione, se applicata

manualmente, implica una certa misura di intuito (o di fortuna) da parte del progettistaDeve sapere scegliere nel modo migliore i termini

rispetto a cui fattorizzare e l’ordineSpesso occore effettuare una fase di espansione

(Teorema di Shannon) prima di fattorizzare

Utilizzo di strumenti di progettazione automatica

Page 8: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 8

Esempio (1/3)Esempio (1/3) Si supponga di disporre di porte con un massimo di

3 ingressi (ritardo uniforme τ)

f = l’ + c’*g*h’ + a*b’*k’ + g*k’ +a’*b’*c’*d’*e’ + a*d’*e’*f’ + e’*g’*i’ + e’*j’

La porta AND a cinque ingressi è realizzata come cascata di due AND a tre ingressi; l’OR a otto ingressi realizzato con tre OR in parallelo seguiti da un OR finale

Costo: 23 letterali

Ritardo: 5

Page 9: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 9

Esempio (2/3)Esempio (2/3) Si proceda ora a fattorizzare k’ fra il 3° e il 4° termine

f = l’ + c’*g*h’ + k’(a*b’+ g) + a’*b’*c’*d’*e’ +a*d’*e’*f’ + e’*g’*i’ + e’*j’;

Si applichi ancora la fattorizzazione – questa volta rispetto a e’, per i termini dal 4° all’ultimo

f = l’ + c’*g*h’ + k’(a*b’+ g) + e’*(a’*b’*c’*d’ +a*d’*f’+g’*i’+j’);

Costo: 22 letterali

Ritardo: 5

Costo: 19 letterali

Ritardo: 6

Page 10: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 10

Esempio (3/3)Esempio (3/3) Infine, si applichi iterativamente la fattorizzazione entro la

seconda parentesi, questa volta rispetto a d

f = l’ + c’*g*h’ + k’*(a*b’+ g) + e’*(d’*(a’*b’*c’+ a*f’)+g’*i’+j’)

Costo: 18 letterali

Ritardo: 7

17 18 19 20 21 22 23 244

4.5

5

5.5

6

6.5

7

7.5

Area

Rita

rdo

Page 11: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 11

Obiettivi della SintesiObiettivi della Sintesi Nella realizzazione di reti combinatorie a più livelli,

più che ricercare un ottimo (che non è sempre definibile in maniera univoca), si cerca una soluzione accettabile in termini di area e ritardo

Sarebbe più corretto parlare di sintesi invece che di ottimizzazione. La sintesi può prevedereMinimizzazione dell'area (con vincolo sul ritardo)Minimizzazione del ritardo (con vincolo sull'area)

Page 12: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 12

Criteri Guida (1/2)Criteri Guida (1/2)Si pone il problema di scegliere rispetto a

quale/quali variabili fattorizzare a ogni passoQuali variabili raccogliere a fattor comune?Fra quali termini?

Si ricorre a semplici criteri-guida

Page 13: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 13

Criteri Guida (2/2)Criteri Guida (2/2) Partendo da una forma iniziale (tipicamente, una forma

a due livelli) si costruisce una tabella in cuiA ogni riga corrisponde uno dei termini prodotto (implicanti)

presenti nella espressionePer ogni variabile si introducono due colonne – una

corrispondente alla forma naturale, una alla forma complementata;

In ogni casella si scrive 1 se il letterale compare nell’implicante, 0 altrimenti

Nell’ultima riga della tabella, colonna per colonna, si inserisce la somma aritmetica dei termini della colonna Un semplice indicatore di quanto “sia presente” il letterale nei

diversi implicanti

Page 14: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 14

Esempio 1 (1/5)Esempio 1 (1/5) Si consideri

f = a*c*d + a’*b*c’ + a’*b*d’ + b’*c*d

Si faccia riferimento a porte a 3 ingressi con ritardo uniforme

Costo: 12 letterali

Ritardo: 3

Page 15: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 15

Esempio 1 (2/5)Esempio 1 (2/5) I letterali di maggior peso sono a’, b, c, d Si nota inoltre che c e d compaiono nelle stesse righe

Il termine cd è quindi un buon candidato per la fattorizzazione

Si estraggono due tabelleUna costituita dalle righe in cui compaiono sia c sia d

(estraendo cd dai rispettivi implicanti) e dalle colonne relative alle variabili residue

L’altra “residua” costituita da tutte le righe restanti

La tabella completa (cioè la funzione) è la somma logica delle due

Page 16: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 16

Esempio 1 (3/5)Esempio 1 (3/5)

Page 17: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 17

Esempio 1 (4/5)Esempio 1 (4/5) Dalla tabella di sinistra non

risultano ulteriori possibilità di fattorizzazioneLa tabella corrisponde alla

somma dei due termini prodotto che marcano le righe (quindi ad a+b’)

La tabella di destra porta a un’ulteriore fattorizzazione rispetto al prodotto a’bAnche in questo caso si estrae

una tabella residua

Page 18: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 18

Esempio 1 (5/5)Esempio 1 (5/5)Dalla sequenza di passi ora visti si ottiene la

forma fattorizzata

f = d*c*(a+b’) + a’*b*(c’+d’)

Costo: 8 letterali

Ritardo: 3

Page 19: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 19

Esempio 2Esempio 2

Page 20: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 20

Esempio 3Esempio 3

Page 21: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 21

Modelli di Reti LogicheModelli di Reti Logiche Una rete logica non gerarchica rappresentata dal grafo

Gn(V,E) è costituita da:Un insieme di vertici V partizionato in 3 sotto-insiemi

VI vertici relativi a ingressi primari e ni = |VI| numero degli ingressi primari

VO vertici relativi a uscite primarie e no = |Vo| numero delle uscite primarie

VG vertici interni e ng = |VG| numero dei vertici interni

Ogni vertice è etichettato da una variabile

Un insieme di funzioni booleane combinatorie scalari associate ai vertici interni

Gli invertitori sono impliciti nel modello e non sono rappresentati. In pratica, ogni vertice può fornire segnali di entrambe le polarità (rete logica a doppia polarità)

Page 22: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 22

Modelli di Reti LogicheModelli di Reti LogicheEsempioEsempio

Si consideri la rete logica con variabili di ingresso primarie {a,b,c,d,e}, variabili di uscita primarie {w,x,y,z} descritta dalle seguenti equazioni

p = ce + d eq = a + br = p + a's = r + b't = ac + ad + bc + bd + eu = q'c + qc' + qcv = a'd + bd + c'd + ae'w = vx = sy = tz = u

Page 23: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 23

Modelli di Reti LogicheModelli di Reti LogicheEsempio - RappresentazioneEsempio - Rappresentazione

Costo associato alla rete logica = (8 + 8 + 9 +8) letterali = 33 letterali

Page 24: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 24

Stima dell’AreaStima dell’Area L’area occupata da una rete logica multi-livello è

proporzionale al numero di porte logiche e alle interconnessioni (wiring)L’area delle porte logiche è definibile una volta che si

conosca la libreria tecnologicaValutabile parametricamente in base al numero di ingressiIn base al numero di porte logiche equivalenti (NAND2) che

implementano la corrispondente funzionalità logica e al numero di letterali

L’area dovuta ai collegamenti è molto più difficile da stimareProporzionale al numero di letterali

Page 25: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 25

Stima del RitardoStima del Ritardo Ritardo proporzionale al numero di livelli logici e alle

interconnessioniNel caso di bounded network (reti mappate su una libreria

tecnologica), il ritardo di ogni singola porta logica è specificatoAltrimenti il ritardo è stimato in base al ritardo associato ad ogni

vertice (es. ritardo unitario per ogni vertice)

Modelli di ritardo più sofisticati tengono conto del fan-out e delle interconnessioni associati ai vertici

Ottimizzazione in timing = Ridurre il ritardo associato al percorso più lungo detto percorso critico

Page 26: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 26

Ottimizzazione Multi-livello: MetodiOttimizzazione Multi-livello: Metodi

Metodi esattiElevata complessità computazionaleNon applicabili ai casi reali

Metodi approssimatiMetodi euristici basati sull’applicazione iterativa di

trasformazioni che preservano il comportamento di I/OL’esecuzione di trasformazioni in qualunque sequenza

salvaguarda l’equivalenza della rete logicaMetodi che differiscono per

Tipo delle trasformazioniSelezione e ordine delle trasformazioni

Page 27: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 27

Ottimizzazione Multi-livelloOttimizzazione Multi-livello

Problema della sintesi multi-livelloTrovare un’appropriata sequenza di

trasformazioni da applicare alla rete logicaUna rete logica viene dichiarata ottima in area e

ritardo rispetto ad un insieme di trasformazioni quando l’aplicazione di queste non può più migliorare la funzione di costo

Page 28: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 28

Ottimizzazione Multi-livelloOttimizzazione Multi-livello Le trasformazioni

Si valutano utilizzando delle cifre di merito In modo da scartare le trasformazioni non convenienti

Si applicano in modo iterativo Il procedimento termina quando nessuna ulteriore applicazione di

queste la migliora

Per ogni trasformazione è definito un algoritmoDove la trasformazione può essere applicata?Termina quando nessuna trasformazione dello stesso tipo può essere

applicabileGli algoritmi legati a trasformazioni diverse vengono applicati in

sequenza

Sequenze di applicazione diversa portano a risultati diversi Script di sintesi

Page 29: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 29

Trasformazioni AlgebricheTrasformazioni AlgebricheSweepEliminazioneDecomposizioneEstrazioneSemplificazioneSostituzione

Page 30: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 30

SweepSweepElimina dalla rete

I nodi con un solo ingressoI nodi le cui funzioni danno valore costante

Viene richiamata a valle di altre trasformazioni

Page 31: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 31

EliminazioneEliminazione L’eliminazione di un vertice interno è la sua rimozione dalla rete. La variabile

corrispondente al vertice è rimpiazzata dalla corrispondente espressione in tutte le sue occorrenze nella rete logica

Eliminazione

Page 32: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 32

Eliminazione (cont.)Eliminazione (cont.)

Page 33: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 33

DecomposizioneDecomposizione La decomposizione di un vertice interno è la sostituzione del vertice con due (o

più) vertici che formano una sottorete equivalente al vertice originale

Decomposizionev = (a’ + b’ + c’)d + ae’j = a’ + b’ + c’v = jd + ae’

Page 34: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 34

Decomposizione (cont.)Decomposizione (cont.)

Page 35: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 35

EstrazioneEstrazione Una sotto-espressione comune a due funzioni associate a due vertici può

essere estratta creando un nuovo vertice associato alla sottoespressione

t = (c + d)(a + b) + e

p = (c + d)e k = c + dp = ket = ka + kb + e

Page 36: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 36

Estrazione (cont.)Estrazione (cont.)

Page 37: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 37

SemplificazioneSemplificazione Una funzione è ridotta in complessità sfruttando le proprietà della sua

rappresentazione. Se la funzione è rappresentata nella forma a due livelli allora le tecniche di ottimizzazione a due livelli possono essere utilizzate. Se l’insieme di supporto non cambia allora la trasformazione si dice locale

u = q + c

Trasformazione locale

Page 38: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 38

SostituzioneSostituzione Una funzione è ridotta in complessità utilizzando un ingresso addizionale che

non appartiene all’insieme di supporto. La trasformazione richiede la creazione di una dipendenza ma può anche portare ad eliminarne altre

t = k(a + b) + e

Page 39: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 39

Sostituzione (cont.)Sostituzione (cont.)

Page 40: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 40

Risultato delle TrasformazioniRisultato delle Trasformazioni

Costo associato alla rete logica trasformata = (7 + 4 + 5 +8) letterali = 24 letterali

Page 41: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 41

Risultato delle TrasformazioniRisultato delle Trasformazioni

k = c + dq = a + bs = ke + a' + b't = kq + eu = q’c + qc’ + qcv = jd + ae'w = vx = sy = tz = u

Rispetto alla rete logica di riferimento il numero totale dei letterali è stato ridotto da 33 a 24

Page 42: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 42

Trasformazioni BooleaneTrasformazioni BooleaneIdea di base

Associare ad ogni nodo della reteNon solo la funzione booleana locale…ma anche un insieme di condizioni di indifferenza

locali– Si considerano le relazioni tra il singolo nodo e l’intera rete

Condizioni di indifferenza esterneDi controllabilità di ingressoDi osservabilità di uscita

Page 43: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 43

Condizioni di Indifferenza EsterneCondizioni di Indifferenza Esterne

Di controllabilità di ingressoControllability don’t care (CDCin)

Configurazioni di ingresso che non vengono mai prodotte dall’ambienteE quindi non vengono mai presentate agli ingressi primari

CDCin = x1x2x3x4+x1x2+x1x3+x1x4+x2x3 +x2x4 +x3x4

Page 44: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 44

Condizioni di Indifferenza EsterneCondizioni di Indifferenza Esterne

Di osservabilità in uscitaObservability don’t care (ODCout)

Configurazioni di ingresso corrispondenti a situazioni in cui l’uscita non verrà osservata

ODCout = [x1 x1 x4 x4]T

Page 45: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 45

Condizioni di Indifferenza EsterneCondizioni di Indifferenza Esterne

Insieme complessivo delle condizioni d’indifferenza esterne External don’t care (DCext)

DCext = CDCin ∪ ODCout

CDCin = x1x2x3x4+x1x2+x1x3+x1x4+x2x3 +x2x4 +x3x4

ODCout = [x1 x1 x4 x4]T

DC ext=CDC inODCout=[x1x2x3x4

x1x2x3x4

x4x2x3x1

x 4x2x3x1]

Page 46: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 46

Insiemi Locali di Condizioni di Insiemi Locali di Condizioni di IndifferenzaIndifferenza

Mappa di Karnaugh per y

Page 47: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 47

Insiemi Locali di Condizioni di Insiemi Locali di Condizioni di IndifferenzaIndifferenza

Non può mai essere x≠ a+b E’ possibile definire le seguenti condizioni di indifferenza di controllabilità

CDC=x⊕ ab =x axbxa b¿

Page 48: Minimizzazione di Reti Logiche Combinatorie Multi-livello...Metodi euristici basati sull’applicazione iterativa di trasformazioni che preservano il comportamento di I/O L’esecuzione

Maurizio Palesi 48

Insieme di SoddisfacibilitàInsieme di SoddisfacibilitàL’uscita di una funzione non può mai essere

diversa dalla valutazione della funzione stessa

Per l’intera rete G(V,E) si può calcolare l’insieme di soddisfacibilità

x è l’uscita del generico nodo vx

fx è la funzione che genera x

SDC= ∑v x∈V

x⊕ f x