Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Studenti:
Sferrazza Giovanni
Docente:
Corso:
INTRODUZIONE:
Il progetto di un sistema digitale pu essere affrontato a diversi livelli di astrazione: idealmente, si pu considerare un completo flusso di progettazione di tipo top-down che parte cio dal livello di astrazione pi elevato per giungere a quello fisico. Ad ogni passaggio, da un livello al successivo, corrisponde un operazione di sintesi che non solo una trasformazione da un livello ad un altro, ma comporta anche un eventuale modifica o aggiunta delle informazioni, cosa che possibile vedere come la trasformazione da una specifica (iniziale o intermedia) a un implementazione (completa o intermedia). Nel corso del passaggio si compiono delle scelte (ad es, il tipo di forma logica scelta, la famiglia di porte logiche, le fasi di ottimizzazione e le relative scelte di merito) che corrispondono ad altrettanti incrementi di informazione. Durante la nostra esperienza di laboratorio ci siamo focalizzati sul passaggio dal livello logico technology independent a quello technology dependent, cercando una correlazione tra i due livelli e come questa incida su un eventuale fattore di merito. Visto lo scopo puramente didattico di tale esperienza, abbiamo assunto larea come unico fattore di merito della rete technology dependent, trascurando altri possibili fattori quali ad esempio il ritardo, il consumo di potenza e la collaudabilit, ci siamo quindi concentrati sulle variazioni dellarea in funzione dei diversi modelli utilizzati per descrivere la rete technlogy independent. Per eseguire la sintesi dal livello logico technology independent ci siamo avvalsi del programma SIS dellUniversit di Berkeley, applicato ad un campione di 15 benchmark, della libreria LGSynth89, con dimensioni ( intese come costo in termini di letterali) che spaziano da 256 a 7412, in modo tale da poter generalizzare il pi possibile i risultati ottenuti, evitando quindi di cadere in una sottoclasse di circuiti. Su tutti i benchmark sono stati applicati gli script: boolean, algebraic e rugged, ottenedo 3 ottimizzazioni diverse per ogni circuito, e successivamente stata eseguita loperazione di mapping con la libreria tecnologica mcnc.genlib. Da notare che gli script sono stati eseguiti una sola volta sul singolo circuito, in quanto non siamo interessati a valutare lefficacia del singolo script ma bens alleffetto che hanno le ottimizzazioni eseguite al livello logico technology independent sul livello di astrazione sottostante. Di seguito sono riportati i dati raccolti durante le fasi precedentemente illustrate.
Multi-Level Examples
NAME
Function Count Ones
In
no script no script rugged rugged Out Gates no map map no map map
boolean no map
boolean map
algebraic no map
algebraic map
9symml
43 43 277 277 4,98 117 393 351 351 18 234 286 4,33 78 253 213 213 16 125 98 3,53 151 395 363 363 52 331 205 3,44 230 733 576 599 79 467 415 3,32 544 1069 1069 1096 162 560 552 4,28 541 1573 1412 1412 162 866 732 2,41 798 2221 2067 2105 240 2186 1296 3,64 1257 3609 3329 3363 380 1857 1734 2,43 876 2815 2228 2287 711 2000 1769 1799 370 1269 942 974 244 770 634 689 227 684 563 581 133 303 286 289 58 162 140 141 102 307 270 270 19 285 234 6,63 14 178 131 5,44 53 347 240 3,49 70 488 427 3,64 162 560 554 2,1 159 999 761 2,42 233 2413 1306 3,89 367 1964 1786 3,43 915 2915 2317 2361 700 1969 1772 1805 372 1220 942 974 222 685 612 705 214 678 570 586 130 370 317 326 73 222 190 190 128 380 344 344 58 267 267 4,28 44 159 159 3,36 62 252 252 3,39 116 473 473 3,28 174 670 670 2,55 206 840 840 2,04 433 1486 1486 2,97 512 2008 2008 3,01 977 3051 2473 2509 687 1972 1741 1761 407 1393 1041 1064 294 791 790 823 233 749 590 606 133 372 323 332 76 220 191 192 122 380 331 332
f51m
Arithm etic
C432
Priority Decoder
36
160
C880
Control
60 26
C1355
Er ror Correcting41
32
C2670
140
C3540
22
C5315
Selector
178 123
32 16-bit Multiplier
32
2406 2416 4800 4800 1,99 2341 4722 4693 4723 934 3348 3295 2,6 1738 4847 4367 4427 524 3255 2315 2,66 2612 9393 8003 8003 590 3638 3472 3,62 452 1151 1079 1090 167 854 671 3,27 86 220 207 208 32 169 125 3,5 485 1234 1151 1163 147 819 741 4,33 171 436 404 407 65 266 245 3,38 150 347 330 332 444 1093 1036 1043 86 194 184 190 448 1036 955 965 1887 5055 4781 4881 1175 3424 2952 3029 1862 4674 4419 4631 932 3555 3494 2,81 505 2852 2315 2,71 533 4093 3590 3,74 156 938 716 3,69 26 197 124 4,04 147 896 771 4,52 58 289 248 3,83 147 359 337 338 436 1197 1060 1077 86 196 186 190 452 1110 1016 1026 1938 5381 4989 5040 1192 3480 2970 3016 1684 4501 4246 4457 1416 3787 3787 2,65 694 2584 2584 2,53 745 3816 3816 3,74 242 803 803 2,96 46 140 140 2,9 210 854 854 3,79 86 286 286 3,08 165 401 365 369 476 1190 1121 1127 79 181 174 176 451 1106 1013 1024 1974 5353 5045 5138 1269 3672 3157 3202 1723 2536 4094 4304
C7552
108
3512 3466 6098 6098 1,75 4000 681 7412 6101 5,51
des
rot
Logic
135 107
b9
Logic
41 21
apex6
Logic
135 99
apex7
Logic
49 37
Per rappresentare tutti i punti stata utilizzata una scala logaritmica per entrambi gli assi.
Osservando il grafico, si nota come, eccetto qualche circuito, lo script algebraic sia quello che ha ridotto maggiormente il numero di letterali mentre lo script che ha dato risultati peggiori sia stato il boolean, resta poi lo script rugged che ha fornito risultati intermedi. Utilizzare un diverso script, in realt comporta lassunzione di un diverso modello matematico per descrivere, e quindi anche per manipolare, la rete. Il modello matematico che meglio si presta a rappresentare una generica rete combinatoria lalgebra booleana, tuttavia negli strumenti CAD questo modello tende ad essere sostituito a favore di quello algebrico a causa delleccessivo carico computazionale che ne impedisce una efficace manipolazione. Di fatto sfruttare una rappresentazione di funzioni booleane mediante espressioni algebriche comporta la perdita di alcune propriet tipiche dellalgebra booleana, tra cui le condizioni dindifferenza, a favore di una pi facile verificabilit delle propriet, cosa che si ripercuote positivamente sullefficienza dellottimizzazione, giustificando oltretutto il grafico precedentemente esposto. Notoriamente efficace, lutilizzo di un livello d astrazione intermedio ai due precedentemente esposti, implementato in SIS tramite lo script rugged.
Anno Accademico 2009/2010
Bisogna comunque tenere in considerazione altri fattori che direttamente o indirettamente incidono sullarea del circuito technology dependent, quali fan-in e numero di nodi della rete technology independent. Il successivo grafico mostra landamento del numero di nodi ottenuti con ogni script, al variare della dimensione dei circuiti.
Si vuole ricordare che lo scopo degli script quello di minimizzare il numero di letterali, ovviamente alterando anche il numero di nodi; vediamo infatti come questultimo sia drasticamente diminuito dopo lapplicazione di uno qualsiasi degli script, questo perch il generico script per ridurre il costo della rete sfrutta il fan-out. Non verr preso in considerazione il fan-out per via della difficolt a stimarlo, ci nonostante non significa che sia un fattore marginale nel determinare lefficienza del mapping. Un ulteriore parametro significativo il fan-in medio poich indice della dimensione dei singoli nodi; nel seguente grafico si osserva per ogni script landamento del fan-in in funzione del numero di letterali del circuito di partenza.
Nonostante il grafico a prima vista risulti confusionario, si pu osservare un aumento del fan-in per qualunque script; accentuato nel caso del boolean mentre di entit minore nel caso dellalgebraic. Da questa breve analisi, si evince che lo script algebraic minimizza il numero di letterali pi degli altri, ottenendo anche un numero di nodi maggiore con un fan-in medio minore, cosa che intuitivamente ci farebbe attendere anche un circuito migliore, in termini di area, dopo il mapping, sempre se le nostre considerazioni non siano state troppo semplicistiche. Tenendo presente i dati ottenuti per le reti technology independent, ci accingiamo ad eseguire lanalisi delle reti technology dependent, ottenute a partire dalle precedenti mediante loperazione di mapping. In questo nuovo livello dastrazione il parametro di merito pi importante indiscutibilmente larea, ed proprio questultima che graficata di seguito in funzione di alcuni parametri tipici del livello technology independent, al fine di comprendere al meglio la correlazione tra i due livelli.
Il grafico cui sopra mostra landamento dellarea in funzione del numero di letterali iniziali del circuito, e diversamente da quello che ci saremmo aspettati, mostra come un circuito al quale stato prima applicato lo script rugged e successivamente stato eseguito il mapping, risulta avere un minor costo in termini di area, anche se questo nella fase intermedia non presentava enormi vantaggi in termini di numero di letterali. Nel grafico successivo in cui presente landamento dellarea in funzione del numero di letterali ottenuto per ogni script, si evidenzia come non sempre aver raggiunto un numero minore di letterali con un certo script comporta un effettivo vantaggio per larea.
I 3 punti allinterno dello stesso cerchietto, sono lo stesso circuito sintetizzato con script diversi
Al fine di scoprire il fenomeno al quale imputare il comportamento inaspettato appena illustrato, ci siamo cimentati a tracciare i due seguenti grafici, in cui si relaziona laera sia al numero di nodi che al fan-in medio dei circuiti sintetizzati con i diversi script.
Sebbene il fan-in sia un indice della dimensione dei singoli nodi, e quindi anche di quanto risulti efficace loperazione di mapping, relazionandolo con laerea non ci fornisce informazioni significative.
Anno Accademico 2009/2010
I 3 punti allinterno dello stesso cerchietto, sono lo stesso circuito sintetizzato con script diversi
Anche da questo grafico non ci sono informazioni rilevanti, a parit di letterali, avere un numero maggiore di nodi con un fan-in medio pi basso, dovrebbe rappresentare la situazione migliore per il mapping, ma valutando il costo in termini di area non risulta cos. Visto che la dipendenza area-letterali risulta la pi forte, ci siamo focalizzati a comprendere in che misura loperazione di mapping modifica la scomposizione del circuito trovata dopo la minimizzazione, al fine di eseguire il matching con gli elementi della libreria.
Il precedente grafico mostra landamento del numero di letterali sia della rete technology independent sia di quella dependent. Essendo di fatto pi interessati allincremento del numero di letterali a causa del mapping, il seguente grafico risulta pi significativo.
Si vede che lo script che comporta un maggiore incremento del numero dei letterali durante loperazione di mapping lalgebraic
CONCLUSIONI:
Dal punto di vista della rete technology independent la rete con minor costo sembra essere quella ottenuta attraverso lo script algebraic, tuttavia restituisce una rete che molto meno, rispetto le altre due, si presta ad essere mappata, rendendola quella peggiore in termini di area. Durante loperazione di mapping tecnologico, come pi volte stato ribadito, la rete iniziale viene modificata per permettere il matching con gli elementi di libreria, in quanto questi introducono anche nuovi limiti progettuali ( basti pensare ad esempio ai limiti imposti sul massimo fan-in e fan-out ), modifica che comporta un costo in termini di letterali e che si traduce direttamente in un costo inteso come area. Ecco che sfruttare in maniera intensiva il fan-out al fine di ridurre il numero di letterali, genera circuiti in cui i coni della rete sono poco disgiunti, andando a gravare sul mapping oltre che su uneventuale collaudo; logicamente si deduce che il fan-out deve essere sfruttato fin tanto che gli oneri del mapping rimangono contenuti, ed proprio in virt di questo nuovo ragionamento che il rugged risulta il migliore. Sebbene questa sia solo unesperienza di laboratorio pu essere tratta come spunto per ulteriori indagini, ad esempio rimane da verificare, la dipendenza dellarea con il fan-out, oppure lutilizzo di diverse librerie e cosa non meno importante sarebbe tener conto anche dei vincoli sui ritardi.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License. Anno Accademico 2009/2010