Перейти к содержанию
    

Приветствую знатоков. :1111493779:

 

Прошу подсказку в простом вопросе.

Filter Design & toll в приемлемом варианте фильтра по идее получить исходный код HDL ( Targets -> Generate HDL -> Global Setting-> Ports -> Input data type/Output data type )

 

ENTITY filter IS

PORT( clk : IN std_logic;

clk_enable : IN std_logic;

reset : IN std_logic;

filter_in : IN real; -- ?????

filter_out : OUT real -- ??????

);

END filter;

Хоть тип шин входа и выхода и выбираешь стандартным STD_LOGIC_VECTOR генерация дает почему-то Real, что обнуляет ценность исходника для прямого применения.

 

В чем же секрет?

 

Что я пропустил?...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В чем же секрет?

С помощью Матлаб можно получить коэффициенты фильтра.

Если фильтр предполагается использовать в ПЛИС то лучше код написать самостоятельно, подставив в него коэфф из матлаб.

Проверено. Работает.

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

С помощью Матлаб можно получить коэффициенты фильтра.

Если фильтр предполагается использовать в ПЛИС то лучше код написать самостоятельно, подставив в него коэфф из матлаб.

Проверено. Работает.

 

Сие известно...

Только последние версии MATLAB претендуют на сквозное проектирование, когда математическая формальность может иметь прямой выход на поведенческое\архитектурное описание на HDL . Причем синтезабельное!...

 

Древние методы постепенно уходят в историю. Или вы утверждаете, что все это просто рюшечки и бантики?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Сие известно...

Только последние версии MATLAB претендуют на сквозное проектирование, когда математическая формальность может иметь прямой выход на поведенческое\архитектурное описание на HDL . Причем синтезабельное!...

 

Древние методы постепенно уходят в историю. Или вы утверждаете, что все это просто рюшечки и бантики?

Не могу утверждать. Не проверял.

Если там real то код точно не для ПЛИС. real это вроде плавающий формат со знаком.

Прежде чем применить такой код нужно будет обеспечить ему на входе нужный формат данных.

Тоесть входные данные конвертировать из std_logic_vector в real.

А это уже химия. Хотя можно попробывать...

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не могу утверждать. Не проверял.

Если там real то код точно не для ПЛИС. real это вроде плавающий формат со знаком.

Прежде чем применить такой код нужно будет обеспечить ему на входе нужный формат данных.

Тоесть входные данные конвертировать из std_logic_vector в real.

А это уже химия. Хотя можно попробывать...

Это понятно. Вопрос ведь в корректности применения инструментария. Такой ломовой метод ,похоже, ошибочен. Его можно применять в тестировании, как часть бенча. Но нуждаюсь я в том, чтобы меня направили на путь истинный. Он наверняка есть, но надо выдерживать некие каноны этапности и выборочности в Симулинке определенных библиотечных компонент. Надо усвоить прежде всего химию Матлаба, чтобы всю мощь его иметь в друзьях, а не во врагах.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это понятно. Вопрос ведь в корректности применения инструментария. Такой ломовой метод ,похоже, ошибочен. Его можно применять в тестировании, как часть бенча. Но нуждаюсь я в том, чтобы меня направили на путь истинный. Он наверняка есть, но надо выдерживать некие каноны этапности и выборочности в Симулинке определенных библиотечных компонент. Надо усвоить прежде всего химию Матлаба, чтобы всю мощь его иметь в друзьях, а не во врагах.

Про друзья это да.

В свое время тоже пробовал генерить для Xilinx. Также наткнулся на real и все...

Думаю если такой механизм заложен то не для рюшечек. Очевидно придется изучать матчасть..

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Приветствую!

Про друзья это да.

В свое время тоже пробовал генерить для Xilinx. Также наткнулся на real и все...

Думаю если такой механизм заложен то не для рюшечек. Очевидно придется изучать матчасть..

Скорее всего нужно формат входов/выходов правильно указывать - для этого надо добавлять в simulink модель соответствующие конвертеры после/перед портами. Ну и при дизайне фильтра указывать параметры fixed point формата.

 

Успехов! Rob.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В чем же секрет?

 

Начните с чего-нибудь попроще в симулинке, например с сумматора, умножителя, сдвигового регистра с отводами, как с fixed point типом данных работать, с синхронным режимом enabled подсистем.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Начните с чего-нибудь попроще в симулинке, например с сумматора, умножителя, сдвигового регистра с отводами, как с fixed point типом данных работать, с синхронным режимом enabled подсистем.

Спасибо ...уже!

Просто были ошибочные представления о самом Матлаб. Магия рюшечек сработала, когда делал оценку-прикид в APPS и соблазн привел к некоторому разочарованию.

 

Копаюсь в кубиках...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Там не сложно оказалось...

 

Просто предварительно(после того как станет понятно какой фильтр подходит). Следует в filterbuilder в Data Types выставить галочку Arithmetic -> Fixed point

...а дальше все как обычно, что я описывал

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мур, я так понимаю, что Вы свою задачу решили. Просто хотел сказать, что да - получить приемлемый исходник на HDL с помощью MathLab можно. В том числе для fixed point.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Мур, я так понимаю, что Вы свою задачу решили. Просто хотел сказать, что да - получить приемлемый исходник на HDL с помощью MathLab можно. В том числе для fixed point.

 

Да. Все в порядке. Кроме одного,- предельная частота исполнения 45МГц. Меня это устраивает, но напрягает...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Да. Все в порядке. Кроме одного,- предельная частота исполнения 45МГц. Меня это устраивает, но напрягает...

Это от того, что вы еще не разобрались полностью с времянками и как их настраивать в Матлабе. У нас все это бегает на частотах до 250Мгц без особого напряга.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это от того, что вы еще не разобрались полностью с времянками и как их настраивать в Матлабе. У нас все это бегает на частотах до 250Мгц без особого напряга.

 

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

...Я встречал одно видео по поводу бабочки FFT, где лихо шаманят с быстродействием. Я понял, что это с опытом приходит...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Про HDL не знаю, но те к-ты сверх-узкополосных полосовых фильтров Чебышева, что я считал в Октаве (бесплатный аналог Матлаба), идеально работают в наших ФПГА. Так что не вижу на что жаловаться.

А вот тот код что вы кинули... это что? Симулинк?

Многие люди путают сам Матлаб и Симулинк, к нему прилагающийся.

Да, и обходился я пакетом Signal. По мануалу, плюс код минимизации, потому что у Чебышева частота отсечки неявная, и ее надо подгонять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...