|
Фильтр из Matlab'a не компилируется в quartus'е |
|
|
|
Aug 27 2011, 17:03
|
Группа: Участник
Сообщений: 10
Регистрация: 20-08-11
Из: Санкт-Петербург
Пользователь №: 66 795

|
С помощью Matlab сделала БИХ-фильтр нижних частот (фильтр Баттерворта). Matlab сгенерировал Verilog HDL, который прекрасно компилируется и работает в ModelSim. Но verilog-код не компилируется в quartusII: "real variable data type are not suppotred", также не поддерживаются директивы $bitstoreal и $realtobits. Правильно я понимаю, что такой код в реальном устройстве работать не будет и следует написать другой код? Где найти примеры (книги, коды) IIR фильтров, которые скомпилируются в квартусе и смогут работать в реальном устройстве?
|
|
|
|
|
 |
Ответов
|
Aug 28 2011, 17:20
|

Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160

|
Цитата(Methane @ Aug 28 2011, 19:59)  Но зрелище получается, душераздирающим... Ага, особенно аккумулятор, но если надо вчера...
|
|
|
|
|
Aug 28 2011, 18:03
|

Гуру
     
Группа: Свой
Сообщений: 3 615
Регистрация: 12-01-09
Из: США, Главное разведовательное управление
Пользователь №: 43 230

|
Цитата(Чиповод @ Aug 28 2011, 20:20)  Ага, особенно аккумулятор, но если надо вчера... Умножители. Они будут ужосом. Но если нада вчера, в очень толстую ПЛИСину, и частота 20мигагерц, устроит, то все нормально. А если оно нада "для галочки", то это вообще самый оптимальный вариант. Вообще, с генережем матлабом верилога, у меня, есть некоторые сомнения. С одной стороны, CIC фильтр, выглядел вполне вменяемым, но я его не пробовал по серьезному в железе тестировать. Для FIR фильтров в квартусе есть готовые макрофункции, куда можно только коэффициенты загрузить. Для IIR скорее всего тоже. Даже плавающая точка в квартусе в общем-то есть.
|
|
|
|
|
Aug 29 2011, 06:22
|

Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 11-01-11
Из: Москва
Пользователь №: 62 160

|
Цитата(Methane @ Aug 28 2011, 22:03)  Умножители. Они будут ужосом. С этим вроде стало полегче. В опциях Матлаба можно настроить, чтобы умножение в HDL коде выполнялось с помощью оператора умножения *. Ну а дальше Квартус или другая среда разложит его на аппаратных умножителях, которые есть в любой современной ПЛИСине. Цитата(Methane @ Aug 28 2011, 22:03)  Даже плавающая точка в квартусе в общем-то есть. Интересно, а в каком виде?
|
|
|
|
Сообщений в этой теме
S.Mishutina Фильтр из Matlab'a не компилируется в quartus'е Aug 27 2011, 17:03 Methane Цитата(S.Mishutina @ Aug 27 2011, 20:03) ... Aug 27 2011, 17:20 Гяук Цитата(S.Mishutina @ Aug 27 2011, 21:03) ... Aug 28 2011, 11:57 Чиповод Цитата(S.Mishutina @ Aug 27 2011, 21:03) ... Aug 28 2011, 15:45 Methane Цитата(Чиповод @ Aug 28 2011, 18:45) Матл... Aug 28 2011, 15:59    S.Mishutina Цитата(ViKo @ Aug 29 2011, 10:46) В Quart... Aug 29 2011, 17:43 Hoodwin Ну, например, как gcc поступает в таких случаях:
... Aug 30 2011, 08:47 S.Mishutina Цитата(Hoodwin @ Aug 30 2011, 12:47) Ну, ... Aug 30 2011, 18:07 Hoodwin Я не думаю, что все так радужно. 16 младших битов ... Aug 30 2011, 19:59 des00 все так, но БИХ фильтры крайне не любят грубого ус... Aug 31 2011, 05:52 S.Mishutina Цитата(des00 @ Aug 31 2011, 09:52) все та... Aug 31 2011, 11:13  des00 Цитата(S.Mishutina @ Aug 31 2011, 05:13) ... Aug 31 2011, 11:26 Hoodwin S.Mishutina
Вот в Filter Designer есть такой инстр... Sep 7 2011, 09:15
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|