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.
Signo | Exponente | Mantiza |
---|
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 :
Este comentário foi removido pelo autor.
ResponderExcluirHola. Tendrás la librería?, los enlaces no funcionan
ResponderExcluirHola. Tendrás la librería?, los enlaces no funcionan
ResponderExcluirpodrian proporcionarme la librería?
ResponderExcluir