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

 
 
 
Reply to this topicStart new topic
> Оценка быстродействия работы ЦФ на ПЛИС
ZZZRF413
сообщение Sep 22 2014, 06:30
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 26-07-09
Из: Нижний Новгород
Пользователь №: 51 578



Всем доброго дня!
Посоветуйте пожалуйста что-нибудь по следующему вопросу: интересует оценка быстродействия работы цифрового фильтра на ПЛИС, т.е. какая максимальная тактовая частота ПЛИС может быть, как она определяется/вычисляется и т.п. Желательно на примере БИХ(с бесконечной импульсной характеристикой) цифровых фильтров. Может быть кому-нибудь статьи попадались на эту тематику.
Go to the top of the page
 
+Quote Post
WitFed
сообщение Sep 22 2014, 07:32
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701



ПЛИС и статьи -- дела ортогональные, в основном практика -- критерий истины, как получится !
Всё зависит от самой ПЛИСины и реализатора алгоритма на ней -- можно намудрить на 2 порядка разницы.
Но 100-200 МГц должно получиться железно, бывают дорогие экземпляры и на порядок быстрей, опять же если параллелить процесс на весь объём и кучу аппаратных умножителей, гигабитные каналы ввода-вывода, ещё 2 порядка можно прибавить.
Go to the top of the page
 
+Quote Post
bogaev_roman
сообщение Sep 22 2014, 10:38
Сообщение #3


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

Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082



Цитата(ZZZRF413 @ Sep 22 2014, 10:30) *
Посоветуйте пожалуйста что-нибудь по следующему вопросу: интересует оценка быстродействия работы цифрового фильтра на ПЛИС, т.е. какая максимальная тактовая частота ПЛИС может быть, как она определяется/вычисляется и т.п.

Сильно от реализации зависит - порядок фильтра, разрядность ну и тип самого кристалла.
Если допустим брать первый порядок стандартной архитектуры, то за один такт должны последовательно выполниться 2 суммирования и 1 умножение. Выбрав разрядностть, можно посмотреть максимальное быстродействие на каждый элемент по документации, далее просуммировать и получить общую задержку и помножить на 2 (из-за задержки на элементах) - вот и получиться примерная задержка.
Если использовать умножители на логике - частота упадет, если уйти от них в сторону изменения коэффициентов и умножитель реализовать через сумматор и сдвиги - то вырастет.
Так что о конкретных цифрах без архитектуры и фильтра и кристалла говорить бессмысленно.
Go to the top of the page
 
+Quote Post
syoma
сообщение Sep 22 2014, 10:41
Сообщение #4


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

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



Цитата(ZZZRF413 @ Sep 22 2014, 08:30) *
Всем доброго дня!
Посоветуйте пожалуйста что-нибудь по следующему вопросу: интересует оценка быстродействия работы цифрового фильтра на ПЛИС, т.е. какая максимальная тактовая частота ПЛИС может быть, как она определяется/вычисляется и т.п. Желательно на примере БИХ(с бесконечной импульсной характеристикой) цифровых фильтров. Может быть кому-нибудь статьи попадались на эту тематику.

Ну если на словах - оценка быстродествия работы цифрового фильтра производится на этапе синтеза и разводки проекта. Т.е. исходя из заданной структуры фильтра, его разрядности, синтезатор пакует всю логику в наличествующие ресурсы ПЛИС. Затем на этапе разводки, имплементатор пытается все это дело впихнуть как можно компактнее, чтобы уменьшить задержки сигнала между блоками. После этого с учетом характеристик конкретной ПЛИС (максимальная скорость распространения сигналов, время переключения логики, рабочие температуры и напряжения) анализатор производит расчет задержки сигнала между блоками для каждого пути и на основании этого выдает максимальную рабочую частоту данного фильтра в данной ПЛИС.

Этого достаточно, или вопрос был про другое?
Go to the top of the page
 
+Quote Post
ZZZRF413
сообщение Sep 23 2014, 04:48
Сообщение #5


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 26-07-09
Из: Нижний Новгород
Пользователь №: 51 578



Цитата(bogaev_roman @ Sep 22 2014, 14:38) *
Если допустим брать первый порядок стандартной архитектуры, то за один такт должны последовательно выполниться 2 суммирования и 1 умножение. Выбрав разрядностть, можно посмотреть максимальное быстродействие на каждый элемент по документации, далее просуммировать и получить общую задержку и помножить на 2 (из-за задержки на элементах) - вот и получиться примерная задержка.

Вот что-то поближе к тому что надо. Наверное я слишком общий вопрос задал... Хотя он тоже интересен.
Я уточну на конкретном примере:
Пусть есть набор БИХ фильтров 10 порядка выполненные в виде каскадного соединения пяти звеньев второго порядка. Реализация структуры для фильтров одинаковая. Разрядность фильтров 16, 8, 4. Необходимо оценить теоретический выигрыш в производительности от изменения разрядности. С объемом ресурсов ПЛИС все более менее ясно. Для простоты качество характеристик фильтров (АЧХ, ФЧХ) не учитываем.
Go to the top of the page
 
+Quote Post
анатолий
сообщение Sep 23 2014, 09:07
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 221
Регистрация: 10-12-05
Из: Украина
Пользователь №: 12 052



Для фильтров период тактовой частоты зависит от критического пути от одного регистра до другого. Если фильтр рекурсивный и за 1 такт обрабатывается 1 отсчет, то такой крит. путь будет довольно длинный. Тогда разрядность арифметики мало влияет на критический путь - межсоединения съедают бОльшую долю задержки.
Если фильтр 10-го порядка, то разрядность нужна порядка 20, а тогда у фильтров что 16-разрядных, что 24-разрядных задержки сумматоров отличаются незначительно.
Влияет, если используются умножители. Тогда при переходе с 18 разрядов на 20 крит. путь может удвоиться.
Go to the top of the page
 
+Quote Post
ASN
сообщение Sep 23 2014, 09:32
Сообщение #7


Местный
***

Группа: Свой
Сообщений: 459
Регистрация: 15-07-04
Из: g.Penza
Пользователь №: 326



ZZZRF413
Зависит от аппаратной платформы. Если использовать хотя бы Spartan 6, то фильтры можно реализовать на блоках DSP48A1 и BRAM. Тогда разрядность и длина фильтра ограничена практически только Ваше фантазией (аккумулятор 48 бит). Обеспечить скорость в 100 МГц можно легко. Вот и считайте скорость в зависимости от ёмкости.
Go to the top of the page
 
+Quote Post
ZZZRF413
сообщение Sep 23 2014, 12:36
Сообщение #8


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 26-07-09
Из: Нижний Новгород
Пользователь №: 51 578



Цитата(анатолий @ Sep 23 2014, 13:07) *
Для фильтров период тактовой частоты зависит от критического пути от одного регистра до другого. Если фильтр рекурсивный и за 1 такт обрабатывается 1 отсчет, то такой крит. путь будет довольно длинный. Тогда разрядность арифметики мало влияет на критический путь - межсоединения съедают бОльшую долю задержки.
Если фильтр 10-го порядка, то разрядность нужна порядка 20, а тогда у фильтров что 16-разрядных, что 24-разрядных задержки сумматоров отличаются незначительно.
Влияет, если используются умножители. Тогда при переходе с 18 разрядов на 20 крит. путь может удвоиться.


Цитата(ASN @ Sep 23 2014, 13:32) *
ZZZRF413
Зависит от аппаратной платформы. Если использовать хотя бы Spartan 6, то фильтры можно реализовать на блоках DSP48A1 и BRAM. Тогда разрядность и длина фильтра ограничена практически только Ваше фантазией (аккумулятор 48 бит). Обеспечить скорость в 100 МГц можно легко. Вот и считайте скорость в зависимости от ёмкости.


На Spartan 6 пока не смотрел. На Spartan 3AN с уменьшением разрядности фильтра, тактовая частота немного, но растет. Действительно надо попробовать по исследовать на разных платформах...
Большое спасибо всем за ответы!
Go to the top of the page
 
+Quote Post
syoma
сообщение Sep 24 2014, 08:04
Сообщение #9


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

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



Я так понял, что ТС спрашивал о возможности аналитического расчета теоретической максимальной частоты работы фильтра в зависимости от различных факторов и прежде всего разрядности. Так?

И я так понимаю, что такой путь дает возможность получить лишь очень приблизительный результат, так как даже в конкретном случае иногда увеличение разрядности на пару бит может дать совсем другой результат, например, если разрядность превысит возможности одного умножителя.

Поэтому я так понимаю, что ответ в виде - "вот этот фильтр на 6-ом спартане будет работать с тактовой в 270МГц, а на 3N - где-то 125-140МГц" может дать либо ксайлинкс после синтеза и разводки данного фильтра в каждом из кристаллов, либо очень опытный спец по ПЛИСам и фильтрам, взглянув на схему, и после того, как он развел как минимум 20 похожих проектов. Правильно?
Go to the top of the page
 
+Quote Post
WitFed
сообщение Sep 24 2014, 10:43
Сообщение #10


Местный
***

Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701



Конечно, но примерный порядок может назвать сразу специалист, зная задание и dest микросхему.
Нужны несколько конкретных наборов параметров и даже постановка задачи на понятном языке типа С, намёки понимают немногие, тогда "гуру" выскажутся лучше.
Хоть у ПЛИС частота на порядок слабей, за них -- возможность занять весь объём одними и теми же операциями количеством в сотни, что у процов делается через SIMD и с архитектурным ограничением по количеству.
Плюс можно пипелинизировать мелкие атомарные операции в разные такты -- умножил в одном, сложил в другом, сравнил в третьем -- мне давно уже говорили про 400 МГц, на которые могут развестись МАС-операции в кристалле, который "типовые" вещи еле успевает на 100.
На большом объёме ПЛИС будет очень важно обеспечить массовую подачу данных и выгрузку результатов, чтобы всё вертелось и было максимально занято -- в одном такте могут вычисляться десятки значений.
Go to the top of the page
 
+Quote Post
ZZZRF413
сообщение Sep 25 2014, 10:35
Сообщение #11


Частый гость
**

Группа: Участник
Сообщений: 115
Регистрация: 26-07-09
Из: Нижний Новгород
Пользователь №: 51 578



Цитата("syoma")
Я так понял, что ТС спрашивал о возможности аналитического расчета теоретической максимальной частоты работы фильтра в зависимости от различных факторов и прежде всего разрядности. Так?


Да, так.
Я попробую исследовать этот вопрос на разных ПЛИС.
Go to the top of the page
 
+Quote Post
WitFed
сообщение Sep 25 2014, 13:44
Сообщение #12


Местный
***

Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701



А ещё бывают аналоговые вычисления -- в течение недели топик такой всплывал.
Там ещё в разы всё ускоряется, но вроде как ПЛИС заставить работать в таких режимах трудно.
Go to the top of the page
 
+Quote Post

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

 


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


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