VHDL - XILINX CORDIC Алгоритм

Мне нужно рассчитать арктан в VHDL. Для этого я собираюсь использовать Cilinx IP Core "Cordic V4.0". Это таблица данных:

https://www.xilinx.com/support/documentation/ip_documentation/cordic_ds249.pdf

Я читал, что для вычисления арктана нужны входные значения от -1 до 1.

Мои значения имеют диапазон 2^32 бит (целое число, без дроби).

Нужно ли конвертировать мои входные значения, прежде чем вводить их в Cordic-Algorithm?

Если да, как они должны быть преобразованы?

С уважением, Эрик

1 ответ

В спецификации Xilinx написано:

"Входной вектор (Xin, Yin) и выходной вектор (Xout, Yout) выражаются в виде пары чисел дополнения с фиксированной точкой 2 с целочисленной шириной 2 бита (формат 1QN). Угол поворота входа, Радиусы выводов также выражаются как число дополнения с фиксированной точкой 2, но с целочисленной шириной 3 бита (формат 2QN)."

Так что если вы используете вектор шириной 32 бита, то 2 старших разряда будут использоваться как целочисленная часть, а остальные 30 - как десятичная часть.

Если вы не знаете, как работают числа с фиксированной точкой, я советую вам немного прочитать об этом:

https://en.wikipedia.org/wiki/Fixed-point_arithmetic

Другие вопросы по тегам