1 votos

Diferencia entre el algoritmo cordal y los métodos basados en tablas para el cálculo de funciones elementales

En este Desde el punto de vista computacional, supongo que el método basado en la tabla suele ser más rápido, aunque probablemente requiera más recursos, mientras que el método Cordic es probablemente más lento, pero probablemente consume menos recursos (si mi comprensión es correcta, debe ser una instancia específica del algoritmo de desplazamiento y suma). Pero, ¿hay otros beneficios / inconvenientes en ambos enfoques? Supongo que también el CORDIC no sufre del dilema del fabricante de tablas, aunque en general requiere una LUT.

1voto

user44635 Puntos 4308

Reconfigurando ligeramente los sumadores entre registros, el hardware básico de CORDIC puede calcular rotaciones, rotaciones inversas, recíprocos y un montón de otros. Como hay pocos coeficientes, el algoritmo se puede distribuir desde múltiples iteraciones utilizando registros en serie (muy lentos y muy pequeños) hasta múltiples filas de registros anchos en un pipeline (un resultado por ciclo de reloj del sistema, grande y rápido) y todas las compensaciones intermedias.

Poner unos cuantos bits más para aumentar la precisión es sencillo, se necesita otro ciclo por bit y un aumento lineal del coeficiente y del almacenamiento de trabajo. Hacer lo mismo con un enfoque basado en tablas podría requerir un aumento polinómico del tamaño de las tablas.

Hoy en día, cuando la mayoría de las FPGAs tienen multiplicadores dedicados, la decisión de cuál emplear puede ser tomada a menudo por la mezcla de recursos que te queda cerca del final del diseño. Si hay algunos multiplicadores de sobra, entonces se utiliza la serie Taylor o algo similar, porque más gente lo conoce y es fácil de sintetizar. Si no hay ninguno, entonces implementa CORDIC en el tejido.

1voto

krgrant Puntos 11

Tal vez usted está perdiendo la ventaja de CORDIC frente a la tabla de búsqueda que es el hecho de que el esfuerzo crece sólo logarítmicamente con precisión con CORDIC (tiempo de ejecución) frente a linealmente con tablas de búsqueda (tamaño).

Es decir, si quieres aumentar la precisión de \$n\$ bits a \$n+1\$ bits

  • con CORDIC sólo tienes que hacer otro paso frente a

  • con la tabla de búsqueda se necesita una tabla que tenga el doble de tamaño.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X