Università degli studi di Parma Dipartimento di Ingegneria dell’Informazione Politecnico di Milano © 2001/02 - William Fornaciari Sintesi di reti a più livelli Lezione 3.3 Introduzione Docente: prof. William FORNACIARI
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari- 2 - Obiettivo della sintesi combinatoria Ridurre Area-tempo Reti combinatorie a due livelli Area e tempo sono ridotti contemporaneamente. Reti combinatorie a più livelli Area e tempo non procedono nella stessa direzione area ritardo area ritardo due livellipiù livelli
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari- 3 - Problemi Nella minimizzazione di reti combinatorie multi-livello è importante Minimizzazione dell'area con vincolo sul ritardo Minimizzazione del ritardo con vincolo sull'area
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari- 4 - Approcci Ottimizzazione a più livelli Vantaggi Più efficiente in termini di area e prestazioni Permette di utilizzare elementi di libreria Svantaggi Maggiore complessità della ottimizzazione Metodi di ottimizzazione Esatti Complessità computazionale estremamente elevata Euristici
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari- 5 - Due passi a) Si ignorano i vincoli di realizzazione (quali fan_in, fan_out, elementi di libreria...) b) Si raffina il risultato considerando i vincoli strutturali (library mapping) Risultato dell'ottimizzazione è di inferiore qualità rispetto ad una ottimizzazione che considera contemporaneamente i punti a) e b) ma risulta computazionalmente più semplice Si analizzerà il solo punto a) Euristica del problema di ottimizzazione
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari- 6 - Un circuito combinatorio è rappresentato mediante un grafo orientato aciclico (DAG - Direct Acyclic Graph) Grafo per reti combinatorie È un grafo orientato G(V,E) aciclico V: insieme dei nodi E: insieme degli archi V è partizionato negli insiemi nodi di ingresso V I (Primary Inputs - PI) nodi di uscita V O (Primary Outputs - PO) nodi interni V G : Sono moduli della rete combinatoria a cui è associata una funzione combinatoria scalare (una uscita) Modello
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari- 7 - E' un modello comportamentale/strutturale Strutturale: connessioni Comportamentale: ad ogni nodo è associata una funzione. Nel modello considerato, ogni funzione è a due livelli Il modello è bipolare e non gerarchico Bipolare: Ogni arco può assumere valore 0 o 1 i1i1 i2i2 i3i3 a= i 1 i 2 c= i 1 + i 3 b= a i 3 + i 2 o2o2 d= b c o1o1 Modello tipico
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari- 8 - Trasformazioni per reti logiche Metodi euristici Realizzano un miglioramento iterativo della rete logica mediante trasformazioni logiche che conservano il comportamento di I/O Due tipi di trasformazioni Locali Modificano localmente la funzione non toccando la struttura della rete Globali Modificano anche la struttura della rete (es. la cancellazione di un nodo)
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari- 9 - Le trasformazioni logiche modificano sia l'area che le prestazioni Poiché modificano numero dei letterali le funzioni locali le connessioni Sono usate cifre di merito per valutare le trasformazioni Trasformazioni non convenienti sono rifiutate Le trasformazioni sono applicate in modo iterativo La rete è considerata ottimale rispetto ad un insieme di operatori quando nessuno di questi la migliora Trasformazioni per reti logiche
Sintesi multilivello: introduzione© 2001/02 - William Fornaciari L’approccio tipicamente utilizzato è quello algoritmico (Viene utilizzato in SIS) Consiste nel definire un algoritmo per ogni tipo di trasformazione L'algoritmo determina dove può essere applicata la trasformazione, attua la trasformazione stessa e la mantiene se porta benefici e termina quando nessuna trasformazione di quel tipo è ulteriormente applicabile Il maggior vantaggio dell'approccio algoritmico è che trasformazioni di un dato tipo sono sistematicamente applicate alla rete Algoritmi legati a differenti trasformazioni sono applicati in sequenza Approcci alla ottimizzazione multi-livello