quinta-feira, 8 de maio de 2014

Ejemplo 3 : Uso de numeros con punto flotante (float)

Para usar numeros con punto flotante, usaremos una libreria creada por David Bishop, el link sigue a continuación:

http://www.vhdl.org/fphdl/Float_ug.pdf

Vamos a explicar el funcionamiendo de ese algoritmo.

Segun el padrón IEEE 754, existe unas reglas para representar numeros de punto flotante en bits.

SignoExponenteMantiza

Ejemplo1: Representar el valor de 1/3 usando 15 bits con signo.
La variable será almacenada en un vector como sigue:


Aplicando la formula de conversion para float será
Como vemos esta representación de bits del numero 1/3 es la correcta porque en el link de arriba se equivocaron de valor.

Ejemplo2: Representar el valor de 1/2 usando 15 bits con signo.

A simple vista para "n" igual a zero, "m" debe ser 14.

Si "n" es igual a zero entonces la mantiza debe ser : 0000000000

Si "m" es igual a 14 entonces exponente debe ser : 01110

Como es positivo el bit de signo es : 0

Contruyendo el vector  (5 downto -10) = [ 0 ] [ 01110 ] [ 0000000000 ]  = 0011100000000000

Usando programación VHDL para sumar dos numeros punto flotante

Como estaba en el link de arriba, descarguen la libreria de punto flotante de: 


Adicionar los archivos a la carpeta de su programa para que pueda reconocer el "package".

El siguiente programa suma los valores de 1/2  e 1/3



La simulacion sería : 


En la simulacion el resultado de la suma seria : 0011101010101010

Y sería correcto porque :




4 comentários: