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

 
 
> FIR фильтр на VHDL с помощью fdatool, проблемы с быстродействием
mr.alexeevas
сообщение Jun 25 2013, 09:36
Сообщение #1


Участник
*

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



Добрый день!

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

Помогите решить данную проблему, может в коде что-то подправить или в fdatool есть нюансы.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
_Anatoliy
сообщение Jun 25 2013, 09:56
Сообщение #2


Утомлённый солнцем
******

Группа: Свой
Сообщений: 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
Go to the top of the page
 
+Quote Post
mr.alexeevas
сообщение Jun 25 2013, 11:07
Сообщение #3


Участник
*

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



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



Pipelining включен.
А вот ссылка не открывается.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 25 2013, 14:08
Сообщение #4


Утомлённый солнцем
******

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



Цитата(mr.alexeevas @ Jun 25 2013, 13:07) *
Pipelining включен.

Это не тот Pipelining,если включали его при генерации hdl-кода.Нужно перемножители ручками подключать и в них уже включать Pipelining(причём не меньше 3). Я так до 240 МГц разгонял фильтр на третьем циклоне.
Вообще то отучайтесь использовать матлабовский код выше 120 МГц.
Попробуйте ещё раз ссылку.Правда тот проект на 240 МГц тоже не пойдёт,нужно дорабатывать как сказано выше.
Go to the top of the page
 
+Quote Post
mr.alexeevas
сообщение Jun 27 2013, 12:39
Сообщение #5


Участник
*

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



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


Я руками подключил умножители, поэксперементировал с Pipelining, поставил еще регистров, но максимум чего добился это 170 МГц, можете подсказать, чтобы еще такого в матлабовском коде можно подправить?

Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 28 2013, 05:54
Сообщение #6


Утомлённый солнцем
******

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



Цитата(mr.alexeevas @ Jun 27 2013, 13:39) *
Я руками подключил умножители, поэксперементировал с Pipelining, поставил еще регистров, но максимум чего добился это 170 МГц, можете подсказать, чтобы еще такого в матлабовском коде можно подправить?

В таких случаях совет стандартный : анализировать отчёт тайм-квеста,искать пути которые валятся,принимать меры.Насколько я помню матлаб реализует дерево сумматоров - оно Вам нужно?
Вот отчёт тайм-квеста на тот вариант, который я выкладывал(для Циклона-3).
Эскизы прикрепленных изображений
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
mr.alexeevas
сообщение Jun 28 2013, 06:16
Сообщение #7


Участник
*

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



Цитата(_Anatoliy @ Jun 28 2013, 09:54) *
В таких случаях совет стандартный : анализировать отчёт тайм-квеста,искать пути которые валятся,принимать меры.Насколько я помню матлаб реализует дерево сумматоров - оно Вам нужно?
Вот отчёт тайм-квеста на тот вариант, который я выкладывал(для Циклона-3).


Да, тот код оригинальный и реализация получается быстродействующая, но дело в том, что необходимо сделать фильтр с тактовой 240 МГц, а вот данные должны приниматься и выдаваться с частотой в 40 МГц.
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 28 2013, 06:51
Сообщение #8


Утомлённый солнцем
******

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



Цитата(mr.alexeevas @ Jun 28 2013, 07:16) *
Да, тот код оригинальный и реализация получается быстродействующая, но дело в том, что необходимо сделать фильтр с тактовой 240 МГц, а вот данные должны приниматься и выдаваться с частотой в 40 МГц.

Ну так добавьте сигнал enable. В чём проблема?
Go to the top of the page
 
+Quote Post
_Anatoliy
сообщение Jun 28 2013, 09:26
Сообщение #9


Утомлённый солнцем
******

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



Вам не нужно добиваться быстродействия фильтра 240МГц,40МГц достаточно.Сигнал enable должен быть активным один такт на каждые шесть тактов клока. А чтобы таймквест правильно посчитал слэки ему нужно указать что фильтр работает со скважностью 6. Это делается командой set_multicycle_path.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- 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


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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 23:41
Рейтинг@Mail.ru


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