Conclusioni
Il presente lavoro di tesi ha avuto come obiettivo la realizzazione, mediante linguaggio VHDL, di un coprocessore matematico che lavorasse sui numeri in formato floating point (FPU). La FPU è stata realizzata per essere interfacciata al LEON, un processore realizzato in VHDL dall’Agenzia Spaziale Europea (oggi mantenuto dalla Gaisler Research, Svezia) che è disponibile in open source e può essere utilizzato per realizzare il core all’interno di sistemi embedded.
Si è iniziato studiando il LEON e concentrando l’attenzione sull’interfaccia predisposta per fargli lavorare in parallelo un coprocessore.
Sono stati poi studiati i modi che vengono utilizzati per rappresentare i numeri nei sistemi di elaborazione dell’informazione e lo standard IEEE per la rappresentazione dei numeri in virgola mobile.
È stata quindi studiata l’aritmetica in virgola mobile, in particolare si sono studiati gli algoritmi per le operazioni base e lo standard IEEE.
Dopo aver fatto lo studio delle poche FPU presenti in letteratura sono state scelte le specifiche e l’architettura della FPU.
La FPU è stata realizzata in VHDL e :
• Lavora in Singola Precisione (32-bit).
• Realizza le operazioni di :
o Addizione, Sottrazione, Moltiplicazione, Divisione Radice quadrata, Valore assoluto e Negazione.
• È conforme allo standard IEEE-754 e ne contempla sia i 4 tipi di
arrotondamento, sia le eccezioni previste.
Conclusioni pag. 101
Dopo questa fase la FPU è stata sottoposta alla verifica del UCBTEST, un test che esamina il comportamento dei dispositivi che utilizzano l'aritmetica in virgola mobile con lo standard IEEE 754 sviluppato a Berkeley presso la University of California che consiste nel mandare in ingresso alla FPU degli operandi prestabiliti ed il tipo di arrotondamento voluto e nel verificare che l'uscita sia identica a quella che ci si attende.
Tenendo conto della predisposizione del LEON è stata realizzata l’interfaccia per connettergli la FPU.
Infine la FPU e l’Interfaccia sono state sintetizzate con il programma Design Compiler di Synopsys in tecnologia CMOS 0,18 µm standard cell, con libreria tecnologica HCMOS8DLL (Device Low Leakage), progettata per minimizzare il consumo di potenza e che può essere alimentata con una tensione che va da 1,2 V a 1,95 V. Al compilatore è stato indicato di utilizzare le condizioni operative “worst case commercial” (1,55 V e 85°C).
Facendo la sintesi dei singoli blocchi della FPU è si è ottenuto :
Blocco Area occupata Gate equivalenti
ESEGUI 647,16 µ m
253
VSI-INGRESSO 5054,46 µ m
2412
ADD-SUB 5010263,74 µ m
2407670
MUL 368644,12 µ m
229996
DIV 722173,75 µ m
258762
SQRT* 5732437,49 µ m
2466431
ABS-NEG 2387,96 µ m
2195
SINCRONIZZA 212,99 µ m
218
VSI-USCITA 2473,98 µ m
2202
*valore stimato
Sintesi della FPU (vincoli: Max Area = 0.0, T clock = 50 ns)
L’occupazione totale di area della FPU è 11844295,65 µ m
2pari a 963735
gate equivalenti e il cammino critico di 227,12 ns è interno al blocco DIV.
Conclusioni pag. 102
Per ridurre l’occupazione d’area è stato semplificato il blocco ADD-SUB introducendo un errore relativo di 0 , 0000000596
1 2
24