[an error occurred while processing this directive]
|
Описать таблицу?
type tabl is array(0 to N) of integer;
constant sin : tabl := (0,…);
Это будет таблица на логике (по умолчанию).
Как описать ее на BRAM - почитайте в описании синтезатора.
В Synplify, например, есть атрибут - сделать таблицу на логике или на BRAM.
Но я им не пользовался.
Сгенерировать sin?
В любой книге по тригонометрии.
Например: sin(x + y) = sin(x)*cos(y) + sin(y)*cos(x);
sin(x),sin(y), cos(x), cos(y) - точные значения из таблиц.
Таким образом набираете необходимую частоту.
При таком методе фаза не "набегает". А точность - это уже реализация.
E-mail: info@telesys.ru