Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Возможности современных ПЛИС в задаче цифровой фильтрации
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
:-)
Подскажите, пожалуйста, каковы потенциальные возможности современных ПЛИС в задаче реализации КИХ-фильтра.

Скажем, есть современные АЦП с частотами дискретизации до нескольких ГГц. Например, до 4 ГГц. С разрядностью до, например, 12 бит.

Понятно, что внутри ПЛИС маскимальные частоты - порядка нескольких сотен МГц. Но путем какого-нибудь хитрого распараллеливания, наверное, можно перейти от входного потока 4ГГц*12бит к чему-то, вроде, 250МГц*192бит. В общем вопрос в том, на что способны современные ПЛИС (скажем virtex 5/6/7). Какой порядок фильтра КИХ можно достичь? Каких частот можно достичь?

Вопрос абстрактный - задается для осознания современного развития ПЛИС.
des00
Цитата(:-) @ Jan 12 2015, 22:58) *
Вопрос абстрактный - задается для осознания современного развития ПЛИС.

плис здесь не причем, вопрос алгоритмики. переходите к многофазной обработке и конвейризируете в усмерть. размениваете эквивалентную символьную частоту на ресурс плис.

из того что не сложно сделать на топовых плис 8ми фазный фильтр на частоте 500 МГц. итого 4 гига эквивалентной частоты. Но и весить это будет в ~9 раз больше классического фильтра.
Flood
Цитата(des00 @ Jan 12 2015, 18:20) *
из того что не сложно сделать на топовых плис 8ми фазный фильтр на частоте 500 МГц. итого 4 гига эквивалентной частоты. Но и весить это будет в ~9 раз больше классического фильтра.

4ГГц дискретизации, это ж 2ГГц полоса.
Понятно, для осциллографа прямого преобразования это копейки, но вот в народно(-освободительном) хозяйстве куда такие полосы? Где это применимо?
des00
Цитата(Flood @ Jan 13 2015, 03:53) *
4ГГц дискретизации, это ж 2ГГц полоса.
Понятно, для осциллографа прямого преобразования это копейки, но вот в народно(-освободительном) хозяйстве куда такие полосы? Где это применимо?

ну 2 гига сложно обработать, 1.75 где то можно. применение : связь в различных вариантах (полосы до 1 ГГц), радиолокация.
RobFPGA
Приветствую!

Если Вам надо произвести впечатление на девушку возможностями современных FPGA то например
если взять Kintex Ultrascale XCKU115 с его "скромными" 5520 DSP блоками то для входного/выходного потока в 4Гс/с 12бит можно по быстрому сваять симметричный КИХ на 1380 отсчетов (8 паралелей на 500 MHz).

Особенно девушка оценить стоимость этого решения sm.gif

Успехов! Rob

:-)
Цитата(RobFPGA @ Jan 13 2015, 00:45) *
Приветствую!

Если Вам надо произвести впечатление на девушку возможностями современных FPGA то например
если взять Kintex Ultrascale XCKU115 с его "скромными" 5520 DSP блоками то для входного/выходного потока в 4Гс/с 12бит можно по быстрому сваять симметричный КИХ на 1380 отсчетов (8 паралелей на 500 MHz).

Особенно девушка оценить стоимость этого решения sm.gif

Успехов! Rob


Ага, вот что хотелось понять... Связь числа DSP блоков (получается, что быстрые фильтры только на них), максимальной частоты DSP блока и частоты дискретизации.
5520 / 1380 = 4 (А почему тогда 8 параллелей?). 8*500МГц = 4ГГц.
iosifk
Цитата(:-) @ Jan 12 2015, 17:58) *
Вопрос абстрактный - задается для осознания современного развития ПЛИС.

Посмотрите ПЛИС Акроникс, у них тактовая 750 Мгц
SM
Цитата(:-) @ Jan 13 2015, 16:20) *
5520 / 1380 = 4 (А почему тогда 8 параллелей?). 8*500МГц = 4ГГц.

В каждом DSP блоке не один умножитель, а два, если брать необходимые для данного примера 18х18 бит (АЦП 12 бит).

Можно еще построить на FFT->перемножение->IFFT, но тут сложнее оценить, на сколько можно распараллелить.
des00
не только, там еще наложено условие симметричности фильтра, т.е. умножителей нужно меньше в 2 раза sm.gif
SM
Цитата(des00 @ Jan 13 2015, 16:48) *
не только, там еще наложено условие симметричности фильтра, т.е. умножителей нужно меньше в 2 раза sm.gif

Кстати, да. Тогда, там будет 8 ГГц, а не 4.
_Anatoliy
Цитата(SM @ Jan 13 2015, 15:27) *
Можно еще построить на FFT->перемножение->IFFT, но тут сложнее оценить, на сколько можно распараллелить.

Распараллеливать нужно сам КИХ как обычно,а уже каждую фазу заменять на FFT->MUL->IFFT.
SM
Цитата(_Anatoliy @ Jan 13 2015, 17:10) *
Распараллеливать нужно сам КИХ как обычно,а уже каждую фазу заменять на FFT->MUL->IFFT.

Вовсе не факт, что так лучше. Можно распараллелить и сам FFT так, чтобы он за такт выдавал не одну выборку, а сразу N, а то и весь блок данных, если умножителей хватит.
_Anatoliy
Цитата(SM @ Jan 13 2015, 16:12) *
Вовсе не факт, что так лучше. Можно распараллелить и сам FFT так, чтобы он за такт выдавал не одну выборку, а сразу N, а то и весь блок данных, если умножителей хватит.

Конечно,можно и так,но тогда не получится воспользоваться готовой коркой IP FFT.
serjj
Цитата
Вовсе не факт, что так лучше. Можно распараллелить и сам FFT так, чтобы он за такт выдавал не одну выборку, а сразу N, а то и весь блок данных, если умножителей хватит.

Ну тогда это уже не FFT а DFT будет rolleyes.gif
Тогда весь смысл от него потеряется и будет еще больше ресурсов чем FIR в лоб
RobFPGA
Приветствую!

Цитата(SM @ Jan 13 2015, 15:27) *
Можно еще построить на FFT->перемножение->IFFT, но тут сложнее оценить, на сколько можно распараллелить.

Не сложно - для потока в 2.2 Gs/s 512pt stream FFT у меня заняло всего ~15 % относительно маленького Virtex5SX240 (опять же 8 параллельных веток)

Так что в ТОЛСТЫЙ чип типа UltaScale думаю можно будет легко wink.gif впихнуть фильтр на основе FFT-*-IFFT ДЛИННОЙ так 4k-16к точек и на поток в 20 Gs/s. Чтобы девушка была довольна sm.gif

Успехов! Rob.


SM
Цитата(serjj @ Jan 13 2015, 17:23) *
Ну тогда это уже не FFT а DFT будет rolleyes.gif

Это Вы о чем? FFT, оно, вообще то, тоже DFT. Я писал лишь о более глубоком распараллеливании FFT (именно FFT), чем это позволяют стандартные FFT-корки. Хотя, RobFPGA уже дал примерную оценку такого решения.
:-)
А если ещё немного уточнить.
Положим, взять ПЛИС XC6VLX130T. В ней 480 умножителей. Максимальная рабочая частота DSP-блока - 600 МГц. Пусть частота дискретизации 4 ГГц. Пусть требуется КИХ-фильтр порядка 250. Пусть также требуется после фильтрации выполнить децимацию на 7.

Тогда требуемые ресурсы оценочно получаются: (4ГГц/500МГц)/2 = 4. 250*4=1000. 1000:7 ~ 150. Т.е. с первого взгляда, как будто бы, вполне реализуемо. Верно я понимаю?
SM
Цитата(:-) @ Jan 13 2015, 23:25) *
Тогда требуемые ресурсы оценочно получаются: (4ГГц/500МГц)/2 = 4. 250*4=1000. 1000:7 ~ 150. Т.е. с первого взгляда, как будто бы, вполне реализуемо. Верно я понимаю?

Да, расчет правильный. С учетом того, что ячейка DSP48E1 имеет всего лишь один умножитель, получится: 480*2(симметрия КИХ)*7(коэфф.децимации)=6720 эквивалентных умножения. Если это поделить на 256 (длину КИХ), то получим аж 26 раз, а, значит, можно работать даже на скромных 153 МГц.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.