INDICE
Introduzione
Capitolo 1 : Il microporocessore LEON
1.1 Il Microprocessore LEON ………..…………. 1
1.2 Architettura SPARC ………..………….. 2
1.3 Amba BUS ……….………. 3
1.3.a Bus AHB ………..….………. 4
1.3.b Bus APB ………...……….…. 6
1.4 APB bridge ...………... 8
1.5 Architettura del microprocessore LEON ……….... 9
1.5.a L’Integer Unit ……… 10
1.5.b Reset del processore ………... 11
1.5.c Eccezioni ……… 11
1.5.d Memoria cache ………... 13
1.5.e I-Cache ………..………. 14
1.5.f D-Cache ………. 15
1.5.g Il controllore AHB ………. 15
1.5.h APB bridge ………. 15
1.5.i Il controllore delle interruzioni ……….. 17
1.5.l Timer e Watchdog ……….. 18
1.5.m UARTs ………... 19
1.5.n Porta parallela di I/O ……….. 20
1.5.o Il controllore di memoria ………... 20
1.5.p Blocchi di protezione della scrittura ……….. 21
1.5.q Ram AHB ………... 21
1.5.r Interfaccia per FPU e coprocessore ………... 21
Bibliografia del capitolo 1………... 23
INDICE II
Capitolo 2 : Rappresentazione dei numeri nei sistemi di elaborazione dell’informazione
2.1 Codifica dell’informazione numerica: notazione posizionale …. 24
2.2 Rappresentazione dei numeri ..………..………….. 25
2.3 Rappresentazione in modulo e segno ……….. 26
2.4 Rappresentazione in complemento a 2 ……… 27
2.5 Rappresentazione in complemento a 1 ……… 30
2.6 Rappresentazione in virgola fissa e in virgola mobile ………… 32
2.7 Rappresentazione in virgola mobile ……… 33
2.8 Standard IEEE per la rappresentazione dei numeri binari in virgola mobile………. 38
Bibliografia del capitolo 2 ...………... 42
Capitolo 3 : Aritmetica in virgola mobile 3.1 Le operazioni base dell’aritmetica in virgola mobile ………….. 43
3.2 Addizione e sottrazione ………... 45
3.3 Moltiplicazione e divisione ………. 48
3.4 Considerazioni sulla precisione ………... 51
3.5 Lo standard IEEE per l’aritmetica binaria in virgola mobile ….. 54
Bibliografia del capitolo 3 ...………... 57
INDICE III
Capitolo 4 : Realizzazione di una Unità Floating Point (FPU)
4.1 Le FPU presenti in letteratura………. 58
4.2 Specifiche ed architettura della FPU……….. 65
4.3 Il linguaggio VHDL……… 67
4.4 Il blocco per segnalare valori speciali in ingresso……….. 69
4.5 Il blocco per decodificare l’operazione da eseguire (ESEGUI).. 71
4.6 Il blocco per l’addizione o la sottrazione (ADD/SUB)………. 72
4.7 Il blocco per la moltiplicazione (MUL) ……… 75
4.8 Il blocco per la divisione (DIV) ……… 78
4.9 Il blocco per la radice quadrata (SQRT) ………... 81
4.10 Il blocco per il valore assoluto e la negazione (ABS/NEG) …. 84 4.11 Il blocco per segnale valori speciali in uscita ……… 85
4.12 Verifica del funzionamento della FPU con UCBTEST ………. 86
4.13 Interfaccia per connettere la FPU al LEON ………... 87
Bibliografia del capitolo 4 ...………... 90
Capitolo 5 : Sintesi della FPU 5.1 Cosa è la sintesi ………... 91
5.2 Il processo di sintesi ……… 92
5.3 I vincoli ………... 93
5.4 La libreria tecnologica ………. 94
5.5 Come si esegue la sintesi ………. 95
5.6 Sintesi della FPU ………. 96
5.7 Sintesi dell’Interfaccia tra FPU e LEON ……… 99
Bibliografia del capitolo 5 ...………... 99
INDICE IV
Conclusioni ……….. 100 Appendice A : Realizzazione della FPU in VHDL ……… 104 Appendice B : Codice VHDL per test FPU e risultati UCBTEST … 157 Appendice C : Realizzazione dell’interfaccia LEON-FPU in VHDL 182 Appendice D: Script per sintesi della FPU con Synopsys…………. 192 Appendice E: Verifica algoritmo di Newton-Raphson ………. 196
Bibliografia ………. 202 Ringraziamenti ………. 203