2
Sommario.
SOMMARIO...2
INTRODUZIONE. ...5
1 CONTRIBUTI DI POTENZA IN TECNOLOGIA CMOS...8
1.1 POTENZA DI SWITCHING...8
1.1.1 INFLUENZA DELLA FUNZIONE LOGICA SULLA POTENZA DI SW ITCHING. ... 12
1.1.2 INFLUENZA DELLA FAMIGLIA LOGICA SULLA POTENZA DI SWITCHING. ... 12
1.1.3 INFLUENZA DELLA STATISTICA DEI SEGNALI SU LLA POTENZA DI SWITCHING. 13 1.1.4 INFLUENZA DELLA CORRELAZIONE FRA I SEGNALI SULLA POTENZA DI SWITCHING. ... 14
1.1.5 INFLUENZA DELLA TOPOLOGIA DEL CIRCUITO SULLA POTENZA DI SWITCHING. 14 1.2 POTENZA DI CORTOCIRCUITO... 16
1.3 POTENZA DI LEAKAGE. ... 19
2 PROGETTAZIONE A BASSA POTENZA PER CIRCUITI CMOS. ... 21
2.1 OTTIMIZZAZIONE A LIVELLO TECNOLOGICO... 22
2.2 OTTIMIZZAZIONE A LIVELLO CIRCUITALE E LOGICO... 24
2.2.1 PLACEMENT E ROUTING. ... 24
2.2.2 DIMENSIONAMENTO DEI T RANSISTORI. ... 25
2.2.3 RIDUZIONE DELLA DINAMICA. ... 27
2.2.4 CIRCUITERIA DI SUPPORTO PER IL LOW-VOLTAGE. ... 27
2.2.5 MINIMIZZAZIONE DELLA LOGICA E MAPPAGGIO TECNOLOGICO. ... 28
2.2.6 LIVELLO LOGICO. ... 28
2.3 OTTIMIZZAZIONE A LIVELLO ARCHITETTURALE. ... 32
2.3.1 MODIFICHE ARCHITETTURALI PER IL VOLTAGE SCALING... 33
3
2.3.2 SCELTA DELLA RAPPRESENTAZIONE DEI NUMERI... 36
2.3.3 MODIFICA DELL’ORDINE DELLE OPERAZIONI SUI SEGNALI IN INGRESSO. ... 36
2.3.4 MINIMIZZAZIONE DEL GL ITCH... 38
2.3.5 CONDIVISIONE DELLE RI SORSE. ... 38
2.4 OTTIMIZZAZIONE A LIVELLO ALGORITMICO. ... 41
2.4.1 RIDUZIONE DELLA TENSI ONE DI ALIMENTAZIONE USANDO TRASFORMAZIO NI DELL’ALGORITMO. ... 41
2.4.2 MINIMIZZAZIONE DEL NU MERO DELLE OPERAZIONI... 43
2.4.3 MINIMIZZAZIONE DEL NU MERO DELLE OPERAZIONI: MOLTIPLICAZIONE PER UNA COSTANTE. ... 43
3 BASSA POTENZA CON SYNOPSYS... 44
3.1 PROGETTAZIONE LOW-POWER CON IL TOOL POWER COMPILER. ... 45
3.2 MODELLI UTILIZZATI DA SYNOPSYS PER IL CALCOLO DELLA POTENZA. ... 49
3.3 CALCOLO DELLA POTENZA DI LEAKAGE. ... 50
3.4 CALCOLO DELLA POTENZA INTERNA. ... 51
3.5 CALCOLO DELLA POTENZA DI SWITCHING... 54
4 FLUSSO D’ANALISI: SINTESI E STIMA IN POTENZA. ... 55
4.1 STRUTTURA DELL’AMBIENTE DI LAVORO. ... 55
4.2 SINTESI. ... 56
4.3 STIMA IN POTENZA. ... 61
5 MC8051 IP CORE... 66
5.1 DESCRIZIONE DEL MICRO CONTROLLORE. ... 66
5.1.1 STRUTTURA A BLOCCHI DEL MICROCONTROLLORE. ... 68
5.1.2 PROGETTO GERARCHICO... 70
5.1.3 UN ACCENNO ALL’ ARCHITETTURA. ... 71
5.2 SCELTA DI UN PROGRAMMA DI RIFERIMENTO. ... 75
5.2.1 BREVE DESCRIZIONE DEL DHRYSTONE 1.1... 76
5.2.2 COMPILAZIONE DEL PROGRAMMA... 79
5.2.3 LETTURA DELLE PRESTAZIONI... 82
5.3 ANALISI DELLA CPU ORIGINALE. ... 84
4
5.3.1 INDIVIDUAZIONE DEL BLOCCO CHE CONSUMA PIÙ POTENZA... 88
5.4 TECNICHE DI OTTIMIZZA ZIONE IN POTENZA UTI LIZZATE PER IL BLOCCO I_MC8051_CONTROL... 88
5.5 PRIMA SOLUZIONE: STATE ENCODING. ... 89
5.5.1 DESCRIZIONE DELLA TECNICA UTILIZZATA. ... 89
5.5.2 INTRODUZIONE DELLO ST ATE ENCODING ALL’INTERNO DEL BLOCCO CHE CONSUMA DI PIÙ. ... 91
5.5.3 ANALISI DELLA CPU MODIFICATA. ... 94
5.5.4 CONSIDERAZIONI. ... 100
5.6 SECONDA SOLUZIONE: CLOCK GATING... 101
5.6.1 DESCRIZIONE DELLA TECNICA UTILIZZATA. ... 101
5.6.2 INTRODUZIONE DEL CLOCK GATING ALL’INTERNO DEL BLOCCO CHE CONSUMA DI PIÙ. 113 5.6.3 ANALISI DELLA CPU MODIFICATA. ...121
5.6.4 CONSIDERAZIONI. ... 127
5.6.5 ALTRA SOLUZIONE PER I L CLOCK GATING. ...130
5.7 TERZA SOLUZIONE: OPERAND ISOLATION... 132
5.7.1 DESCRIZIONE DELLA TECNICA UTILIZZATA. ... 132
5.7.2 INTRODUZIONE DELL’OPERAND ISOLATION ALL’INTERNO DEL BLOCCO CHE CONSUMA DI PIÙ. ...136
5.7.3 ANALISI DELLA CPU MODIFICATA. ...140
5.7.4 CONSIDERAZIONI. ... 146
5.8 CPU FINALE. ...149
5.8.1 ANALISI DELLA CPU FINALE. ... 149
CONCLUSIONI... 156
BIBLIOGRAFIA. ... 158