Page 1 of 1

ModelSim e Floating Point

PostPosted: 08 Jan 2014, 19:49
by Leonardo
Salve a tutti,

In Modelsim è possibile visualizzare i segnali come Floating Point secondo standard IEEE 754 floating point?

E' presente nel menù Radix del Wave Editor l'opzione Fixed Point ma manca la sorella per i numeri a virgola mobile e non è tanto comodo fare "debug" passando in continuazione ad un convertitore Hex to IEEE 754 floating point

Grazie
Ciao

Re: ModelSim e Floating Point

PostPosted: 09 Jan 2014, 10:51
by deluca
@Leo,
Ti converrebbe convertirli in reali usando il package per la conversione.

perchè complicarti la vita nella interpretazione?

Re: ModelSim e Floating Point

PostPosted: 09 Jan 2014, 14:18
by Leonardo
Grazie Giovanni per la risposta,
E' una soluzione semplice ed efficace!

Per futura memoria appunto in questo post alcune note, che potranno magari essere utili ai nuovi arrivati

Non utilizzando il package VHDL 2008 (http://www.eda.org/fphdl) ma le MegaFunction di Altera ALTFP_*, etc.. dove ALTFP_CONVERT non permette la conversione al tipo real, pensavo di incorrere in problemi ma..

Il testbench è compilato da ModelSim (nel mio caso v.10.1d) che supporta VHDL 2008 e non da Quartus (v.13.1), l'aggiunta nel testbench di
Code: Select all
use ieee.float_pkg.all;

ha perciò funzionato senza problemi, avendo i valori float in un vettore STD_LOGIC come
Code: Select all
SIGNAL   float_signal : STD_LOGIC_VECTOR(31 DOWNTO 0);

è bastato quindi creare un segnale del tipo real
Code: Select all
SIGNAL   real_signal : real;

e tramite le funzioni di conversione assegnarli il valore del segnale contenente il valore float tramite una conversione a priori verso il tipo float
Code: Select all
real_signal <= To_real( To_float(float_signal) );

Re: ModelSim e Floating Point

PostPosted: 09 Jan 2014, 14:58
by deluca
Perfetto !!

;) efficacissima Leo