Например TDA7294

Форум РадиоКот :: Просмотр темы - Табличный метод расчета функций (Vhdl)
Форум РадиоКот
https://radiokot.ru/forum/

Табличный метод расчета функций (Vhdl)
https://radiokot.ru/forum/viewtopic.php?f=60&t=125368
Страница 1 из 1

Автор:  Rotor.h1kobra [ Вс янв 03, 2016 14:43:12 ]
Заголовок сообщения:  Табличный метод расчета функций (Vhdl)

Надо посчитать например Ln, корень и тригонометрические функции, как это делать через таблицы? Как забить уже посчитанные значения в ПЗУ?
Например: есть сигнал A std_logic_vector (7 downto 0), от него надо посчитать ln.
Прочитал, что можно посчитать все значения, а можно таблица+интерполяция (если таблица редкая)
Мои проедположения- это что-то вроде дешифратора.

Хотелось бы пример,любой функции, что бы въехать. Таблица забивается в отдельный файл (если да, то как)?

Автор:  igor48 [ Вс янв 03, 2016 20:26:53 ]
Заголовок сообщения:  Re: Табличный метод расчета функций (Vhdl)

Ну, например в библиотеке DSP от STM32 используется метод: таблица + линейная аппроксимация между табличными точками. Количество точек выбирается исходя из необходимой точности вычислений. Для периодических функций аргумент вначале приводится в диапазон первого периода.
Как забить массив констант во flash – зависит от архитектуры МК. В AVR – через макрос «PROGMEM», в STM32 достаточно указать компилятору классификатор «const».

Автор:  uldemir [ Вс янв 03, 2016 20:57:08 ]
Заголовок сообщения:  Re: Табличный метод расчета функций (Vhdl)

Код:
with arg(7 downto 0) select
   data  <= 123   when "00000000",
            234   when "00000001",
...
            (others => '-') when others;

Именно дешифратор. А вообще в среде проектирования есть примеры. В ISE кнопка на которой нарисована лампочка.

Автор:  l)im@3 [ Чт фев 11, 2016 21:04:41 ]
Заголовок сообщения:  Re: Табличный метод расчета функций (Vhdl)

Всем привет. Вставлю свои 5 копеек )))
Для вывода заранее посчитанных значений из таблицы, я бы заюзал ROM ресурсы ПЛИСины. Записать их туда через функцию. В Квартусе есть примеры описания памяти.
Т.е. выделяем количество памяти в соответствии с количеством значений входных данных. Данные используем как адрес для памяти, а в ячейки записать (предварительно через функцию) рассчитанные значения для этих же входных данных.
А вообще, табличный способ наиболее простой, и его стоит использовать что ли для тригонометрических функций. Логарифм и корень квадратный можно посчитать, находил в нете описание алгоритмов расчётов этих функций.

Страница 1 из 1 Часовой пояс: UTC + 3 часа
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/