Haz una pregunta
  Foros de Electrónica » Diseño digital » Interfaces y Programación
Foros Registrarse ¿Olvidaste tu contraseña?

Temas similares

15/02/2011 #1


Raiz cuadrada en VHDL
Alguien sabe como puedo sacar una raiz cuadrada en VHDL?..
He encontrado en internet que existe un paquete llamado ieee math_real que se supone que tiene definido el comando sqrt, pero cuendo se incluye el encabezado del paquete y se trata de usar la funcion bota un error en la linea en la que se llama a la funcion sqrt.

Para usar el paquete coloco en los encabezados:

use IEEE.math_real.all;

y la libreria incluso esta en las carpetas que se instalan cuando se instala el softare..

Les agradesco por adelantado.
15/02/2011 #2

Avatar de Ferny

Es una operación muy compleja de realizar en código sintetizable (*), tienes que buscarte un algoritmo que converja hacia la raiz cuadrada e implementarlo. Buscando un poco por google recomiendan usar un cordic modificado o el algoritmo Dijkstra. Me parece bastante complejo.

Una alternativa es hacerte un contador e ir sumando de uno en uno y calculando el cuadrado, hasta conseguir que te dé el valor que tienes... en ese caso la raiz cuadrada sería el valor del contador. Con un poco de maña lo haces para que te "genere decimales". Es un algoritmo lento, pero dado que la FPGA es un dispositivo muy rápido, puede ser viable.


(*) Digo códido sintetizable porque al final lo que estás creando es un circuito eléctrico que calcula la raiz cuadrada, no un "programa", por eso la mayoría de funciones de math_real no son sintetizables (raiz cuadrada, logaritmos, división, exponencial, y algunas más). Todas esas funciones no tienen problemas en código no sintetizable (el que se usa para simulación, por ejemplo).
Respuesta
¿Tienes una mejor respuesta a este tema? ¿Quieres hacerle una pregunta a nuestra comunidad y sus expertos? Registrate

Buscar más temas sobre:
Lupa Interfaces y Programación

Lenguajes de programación, gestión y manejo de puertos

Cerrar
Foros de Electrónica » Diseño digital » Interfaces y Programación

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.