реклама на сайте
подробности

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> Цифровой фильтр, Можно ли получить приемлемый исходник на HDL с помощью MathLab?
Мур
сообщение Apr 19 2018, 10:32
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



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

Прошу подсказку в простом вопросе.
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, что обнуляет ценность исходника для прямого применения.

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

Что я пропустил?...
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 19 2018, 11:06
Сообщение #2


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Мур @ Apr 19 2018, 13:32) *
В чем же секрет?

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


Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 19 2018, 11:20
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Acvarif @ Apr 19 2018, 15:06) *
С помощью Матлаб можно получить коэффициенты фильтра.
Если фильтр предполагается использовать в ПЛИС то лучше код написать самостоятельно, подставив в него коэфф из матлаб.
Проверено. Работает.


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

Древние методы постепенно уходят в историю. Или вы утверждаете, что все это просто рюшечки и бантики?
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 19 2018, 11:52
Сообщение #4


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Мур @ Apr 19 2018, 14:20) *
Сие известно...
Только последние версии MATLAB претендуют на сквозное проектирование, когда математическая формальность может иметь прямой выход на поведенческое\архитектурное описание на HDL . Причем синтезабельное!...

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

Не могу утверждать. Не проверял.
Если там real то код точно не для ПЛИС. real это вроде плавающий формат со знаком.
Прежде чем применить такой код нужно будет обеспечить ему на входе нужный формат данных.
Тоесть входные данные конвертировать из std_logic_vector в real.
А это уже химия. Хотя можно попробывать...
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 19 2018, 12:02
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(Acvarif @ Apr 19 2018, 15:52) *
Не могу утверждать. Не проверял.
Если там real то код точно не для ПЛИС. real это вроде плавающий формат со знаком.
Прежде чем применить такой код нужно будет обеспечить ему на входе нужный формат данных.
Тоесть входные данные конвертировать из std_logic_vector в real.
А это уже химия. Хотя можно попробывать...

Это понятно. Вопрос ведь в корректности применения инструментария. Такой ломовой метод ,похоже, ошибочен. Его можно применять в тестировании, как часть бенча. Но нуждаюсь я в том, чтобы меня направили на путь истинный. Он наверняка есть, но надо выдерживать некие каноны этапности и выборочности в Симулинке определенных библиотечных компонент. Надо усвоить прежде всего химию Матлаба, чтобы всю мощь его иметь в друзьях, а не во врагах.
Go to the top of the page
 
+Quote Post
Acvarif
сообщение Apr 19 2018, 12:14
Сообщение #6


Знающий
****

Группа: Участник
Сообщений: 998
Регистрация: 27-08-08
Пользователь №: 39 850



Цитата(Мур @ Apr 19 2018, 15:02) *
Это понятно. Вопрос ведь в корректности применения инструментария. Такой ломовой метод ,похоже, ошибочен. Его можно применять в тестировании, как часть бенча. Но нуждаюсь я в том, чтобы меня направили на путь истинный. Он наверняка есть, но надо выдерживать некие каноны этапности и выборочности в Симулинке определенных библиотечных компонент. Надо усвоить прежде всего химию Матлаба, чтобы всю мощь его иметь в друзьях, а не во врагах.

Про друзья это да.
В свое время тоже пробовал генерить для Xilinx. Также наткнулся на real и все...
Думаю если такой механизм заложен то не для рюшечек. Очевидно придется изучать матчасть..
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Apr 19 2018, 12:18
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643



Приветствую!
Цитата(Acvarif @ Apr 19 2018, 15:14) *
Про друзья это да.
В свое время тоже пробовал генерить для Xilinx. Также наткнулся на real и все...
Думаю если такой механизм заложен то не для рюшечек. Очевидно придется изучать матчасть..
Скорее всего нужно формат входов/выходов правильно указывать - для этого надо добавлять в simulink модель соответствующие конвертеры после/перед портами. Ну и при дизайне фильтра указывать параметры fixed point формата.

Успехов! Rob.

Go to the top of the page
 
+Quote Post
petrov
сообщение Apr 19 2018, 12:56
Сообщение #8


Гуру
******

Группа: Свой
Сообщений: 2 220
Регистрация: 21-10-04
Из: Balakhna
Пользователь №: 937



Цитата(Мур @ Apr 19 2018, 13:32) *
В чем же секрет?


Начните с чего-нибудь попроще в симулинке, например с сумматора, умножителя, сдвигового регистра с отводами, как с fixed point типом данных работать, с синхронным режимом enabled подсистем.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 19 2018, 13:27
Сообщение #9


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(petrov @ Apr 19 2018, 16:56) *
Начните с чего-нибудь попроще в симулинке, например с сумматора, умножителя, сдвигового регистра с отводами, как с fixed point типом данных работать, с синхронным режимом enabled подсистем.

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

Копаюсь в кубиках...
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 20 2018, 07:39
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



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

Просто предварительно(после того как станет понятно какой фильтр подходит). Следует в filterbuilder в Data Types выставить галочку Arithmetic -> Fixed point
...а дальше все как обычно, что я описывал
Go to the top of the page
 
+Quote Post
syoma
сообщение Apr 26 2018, 08:13
Сообщение #11


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Мур, я так понимаю, что Вы свою задачу решили. Просто хотел сказать, что да - получить приемлемый исходник на HDL с помощью MathLab можно. В том числе для fixed point.
Go to the top of the page
 
+Quote Post
Мур
сообщение Apr 27 2018, 07:52
Сообщение #12


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(syoma @ Apr 26 2018, 12:13) *
Мур, я так понимаю, что Вы свою задачу решили. Просто хотел сказать, что да - получить приемлемый исходник на HDL с помощью MathLab можно. В том числе для fixed point.


Да. Все в порядке. Кроме одного,- предельная частота исполнения 45МГц. Меня это устраивает, но напрягает...
Go to the top of the page
 
+Quote Post
syoma
сообщение Apr 30 2018, 06:07
Сообщение #13


Профессионал
*****

Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368



Цитата(Мур @ Apr 27 2018, 09:52) *
Да. Все в порядке. Кроме одного,- предельная частота исполнения 45МГц. Меня это устраивает, но напрягает...

Это от того, что вы еще не разобрались полностью с времянками и как их настраивать в Матлабе. У нас все это бегает на частотах до 250Мгц без особого напряга.
Go to the top of the page
 
+Quote Post
Мур
сообщение May 2 2018, 11:24
Сообщение #14


Знающий
****

Группа: Свой
Сообщений: 815
Регистрация: 7-06-06
Из: Харьков
Пользователь №: 17 847



Цитата(syoma @ Apr 30 2018, 10:07) *
Это от того, что вы еще не разобрались полностью с времянками и как их настраивать в Матлабе. У нас все это бегает на частотах до 250Мгц без особого напряга.


Есть ли локализованное место, где бы эти вопросы были бы освещены?
...Я встречал одно видео по поводу бабочки FFT, где лихо шаманят с быстродействием. Я понял, что это с опытом приходит...
Go to the top of the page
 
+Quote Post
Hale
сообщение Aug 2 2018, 23:28
Сообщение #15


Знающий
****

Группа: Свой
Сообщений: 735
Регистрация: 11-10-11
Пользователь №: 67 667



Про HDL не знаю, но те к-ты сверх-узкополосных полосовых фильтров Чебышева, что я считал в Октаве (бесплатный аналог Матлаба), идеально работают в наших ФПГА. Так что не вижу на что жаловаться.
А вот тот код что вы кинули... это что? Симулинк?
Многие люди путают сам Матлаб и Симулинк, к нему прилагающийся.
Да, и обходился я пакетом Signal. По мануалу, плюс код минимизации, потому что у Чебышева частота отсечки неявная, и ее надо подгонять.
Go to the top of the page
 
+Quote Post

2 страниц V   1 2 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th April 2024 - 23:13
Рейтинг@Mail.ru


Страница сгенерированна за 0.01841 секунд с 7
ELECTRONIX ©2004-2016