|
FIR фильтр на VHDL с помощью fdatool, проблемы с быстродействием |
|
|
|
Jun 25 2013, 09:36
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 29-04-13
Из: Санкт-Петербург
Пользователь №: 76 668

|
Добрый день!
Столкнулся с такой проблемой: реализую полосовой фильтр на частоту 1 МГц, использую окно Блекмана, на 512 коэффициентов. ПЛИС Altera Cyclone IV E EP4CE115F29C7N. Загвоздка в том, что нужно сделать фильтр с частотой сэмплирования в 40 МГц, но чтобы он работал на тактовой частоте в 240 МГц (для экономии ресурсов, т.е. умножителей). В fdatool все настроил и при генерации VHDL кода, указываю, чтобы структура была каскадная. Все генерируется, но вот работать на частоте тактирования в 240 МГц отказывается, максимум на 120 МГц выходит. Аналогичный фильтр, но в FIR Compiler генерируется, разводится и работает, но у меня нет лицензии на него.
Помогите решить данную проблему, может в коде что-то подправить или в fdatool есть нюансы.
|
|
|
|
|
 |
Ответов
|
Jun 25 2013, 09:56
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(mr.alexeevas @ Jun 25 2013, 11:36)  Добрый день!
Столкнулся с такой проблемой: реализую полосовой фильтр на частоту 1 МГц, использую окно Блекмана, на 512 коэффициентов. ПЛИС Altera Cyclone IV E EP4CE115F29C7N. Загвоздка в том, что нужно сделать фильтр с частотой сэмплирования в 40 МГц, но чтобы он работал на тактовой частоте в 240 МГц (для экономии ресурсов, т.е. умножителей). В fdatool все настроил и при генерации VHDL кода, указываю, чтобы структура была каскадная. Все генерируется, но вот работать на частоте тактирования в 240 МГц отказывается, максимум на 120 МГц выходит. Аналогичный фильтр, но в FIR Compiler генерируется, разводится и работает, но у меня нет лицензии на него.
Помогите решить данную проблему, может в коде что-то подправить или в fdatool есть нюансы. Pipelining в перемножителях включен? А почему так не хотите? http://electronix.ru/forum/index.php?showt...t&p=1031347
|
|
|
|
|
Jun 25 2013, 11:07
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 29-04-13
Из: Санкт-Петербург
Пользователь №: 76 668

|
Цитата(_Anatoliy @ Jun 25 2013, 13:56)  Pipelining в перемножителях включен? А почему так не хотите? http://electronix.ru/forum/index.php?showt...t&p=1031347Pipelining включен. А вот ссылка не открывается.
|
|
|
|
|
Jun 27 2013, 12:39
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 29-04-13
Из: Санкт-Петербург
Пользователь №: 76 668

|
Цитата(_Anatoliy @ Jun 25 2013, 18:08)  Это не тот Pipelining,если включали его при генерации hdl-кода.Нужно перемножители ручками подключать и в них уже включать Pipelining(причём не меньше 3). Я так до 240 МГц разгонял фильтр на третьем циклоне. Я руками подключил умножители, поэксперементировал с Pipelining, поставил еще регистров, но максимум чего добился это 170 МГц, можете подсказать, чтобы еще такого в матлабовском коде можно подправить?
|
|
|
|
|
Jun 28 2013, 05:54
|

Утомлённый солнцем
     
Группа: Свой
Сообщений: 2 646
Регистрация: 15-07-06
Из: г.Донецк ДНР
Пользователь №: 18 832

|
Цитата(mr.alexeevas @ Jun 27 2013, 13:39)  Я руками подключил умножители, поэксперементировал с Pipelining, поставил еще регистров, но максимум чего добился это 170 МГц, можете подсказать, чтобы еще такого в матлабовском коде можно подправить? В таких случаях совет стандартный : анализировать отчёт тайм-квеста,искать пути которые валятся,принимать меры.Насколько я помню матлаб реализует дерево сумматоров - оно Вам нужно? Вот отчёт тайм-квеста на тот вариант, который я выкладывал(для Циклона-3).
Эскизы прикрепленных изображений
|
|
|
|
|
Jun 28 2013, 06:16
|

Участник

Группа: Участник
Сообщений: 46
Регистрация: 29-04-13
Из: Санкт-Петербург
Пользователь №: 76 668

|
Цитата(_Anatoliy @ Jun 28 2013, 09:54)  В таких случаях совет стандартный : анализировать отчёт тайм-квеста,искать пути которые валятся,принимать меры.Насколько я помню матлаб реализует дерево сумматоров - оно Вам нужно? Вот отчёт тайм-квеста на тот вариант, который я выкладывал(для Циклона-3). Да, тот код оригинальный и реализация получается быстродействующая, но дело в том, что необходимо сделать фильтр с тактовой 240 МГц, а вот данные должны приниматься и выдаваться с частотой в 40 МГц.
|
|
|
|
Сообщений в этой теме
mr.alexeevas FIR фильтр на VHDL с помощью fdatool Jun 25 2013, 09:36   mr.alexeevas Цитата(_Anatoliy @ Jun 25 2013, 18:08) По... Jun 26 2013, 04:51    _Anatoliy Цитата(mr.alexeevas @ Jun 26 2013, 05:51)... Jun 26 2013, 07:07     mr.alexeevas Цитата(_Anatoliy @ Jun 26 2013, 11:07) Ст... Jun 26 2013, 10:41        mr.alexeevas Цитата(_Anatoliy @ Jun 28 2013, 13:26) Ва... Jun 28 2013, 10:09         _Anatoliy Цитата(mr.alexeevas @ Jun 28 2013, 12:09)... Jun 28 2013, 16:25          mr.alexeevas Цитата(_Anatoliy @ Jun 28 2013, 20:25) Яс... Jul 1 2013, 04:35           _Anatoliy Цитата(mr.alexeevas @ Jul 1 2013, 05:35) ... Jul 1 2013, 06:05            mr.alexeevas Цитата(_Anatoliy @ Jul 1 2013, 10:05) Клю... Jul 1 2013, 11:43             Maverick Цитата(mr.alexeevas @ Jul 1 2013, 14:43) ... Jul 1 2013, 11:49              mr.alexeevas Цитата(Maverick @ Jul 1 2013, 15:49) или ... Jul 1 2013, 12:10               Maverick Цитата(mr.alexeevas @ Jul 1 2013, 15:10) ... Jul 1 2013, 12:21             _Anatoliy Цитата(mr.alexeevas @ Jul 1 2013, 13:43) ... Jul 1 2013, 12:21              mr.alexeevas Цитата(_Anatoliy @ Jul 1 2013, 16:21) Код... Jul 2 2013, 10:36               _Anatoliy Цитата(mr.alexeevas @ Jul 2 2013, 11:36) ... Jul 2 2013, 12:30                mr.alexeevas Цитата(_Anatoliy @ Jul 2 2013, 16:30) Вни... Jul 3 2013, 04:53 mr.alexeevas Спасибо, разобрался. Действительно, быстродействие... Jul 1 2013, 12:51 _Anatoliy Цитата(mr.alexeevas @ Jul 1 2013, 14:51) ... Jul 1 2013, 13:11  mr.alexeevas Цитата(_Anatoliy @ Jul 1 2013, 17:11) Я с... Jul 2 2013, 04:53
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|