Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Оценка быстродействия работы ЦФ на ПЛИС
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Работаем с ПЛИС, области применения, выбор
ZZZRF413
Всем доброго дня!
Посоветуйте пожалуйста что-нибудь по следующему вопросу: интересует оценка быстродействия работы цифрового фильтра на ПЛИС, т.е. какая максимальная тактовая частота ПЛИС может быть, как она определяется/вычисляется и т.п. Желательно на примере БИХ(с бесконечной импульсной характеристикой) цифровых фильтров. Может быть кому-нибудь статьи попадались на эту тематику.
WitFed
ПЛИС и статьи -- дела ортогональные, в основном практика -- критерий истины, как получится !
Всё зависит от самой ПЛИСины и реализатора алгоритма на ней -- можно намудрить на 2 порядка разницы.
Но 100-200 МГц должно получиться железно, бывают дорогие экземпляры и на порядок быстрей, опять же если параллелить процесс на весь объём и кучу аппаратных умножителей, гигабитные каналы ввода-вывода, ещё 2 порядка можно прибавить.
bogaev_roman
Цитата(ZZZRF413 @ Sep 22 2014, 10:30) *
Посоветуйте пожалуйста что-нибудь по следующему вопросу: интересует оценка быстродействия работы цифрового фильтра на ПЛИС, т.е. какая максимальная тактовая частота ПЛИС может быть, как она определяется/вычисляется и т.п.

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

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

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

Вот что-то поближе к тому что надо. Наверное я слишком общий вопрос задал... Хотя он тоже интересен.
Я уточну на конкретном примере:
Пусть есть набор БИХ фильтров 10 порядка выполненные в виде каскадного соединения пяти звеньев второго порядка. Реализация структуры для фильтров одинаковая. Разрядность фильтров 16, 8, 4. Необходимо оценить теоретический выигрыш в производительности от изменения разрядности. С объемом ресурсов ПЛИС все более менее ясно. Для простоты качество характеристик фильтров (АЧХ, ФЧХ) не учитываем.
анатолий
Для фильтров период тактовой частоты зависит от критического пути от одного регистра до другого. Если фильтр рекурсивный и за 1 такт обрабатывается 1 отсчет, то такой крит. путь будет довольно длинный. Тогда разрядность арифметики мало влияет на критический путь - межсоединения съедают бОльшую долю задержки.
Если фильтр 10-го порядка, то разрядность нужна порядка 20, а тогда у фильтров что 16-разрядных, что 24-разрядных задержки сумматоров отличаются незначительно.
Влияет, если используются умножители. Тогда при переходе с 18 разрядов на 20 крит. путь может удвоиться.
ASN
ZZZRF413
Зависит от аппаратной платформы. Если использовать хотя бы Spartan 6, то фильтры можно реализовать на блоках DSP48A1 и BRAM. Тогда разрядность и длина фильтра ограничена практически только Ваше фантазией (аккумулятор 48 бит). Обеспечить скорость в 100 МГц можно легко. Вот и считайте скорость в зависимости от ёмкости.
ZZZRF413
Цитата(анатолий @ 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 с уменьшением разрядности фильтра, тактовая частота немного, но растет. Действительно надо попробовать по исследовать на разных платформах...
Большое спасибо всем за ответы!
syoma
Я так понял, что ТС спрашивал о возможности аналитического расчета теоретической максимальной частоты работы фильтра в зависимости от различных факторов и прежде всего разрядности. Так?

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

Поэтому я так понимаю, что ответ в виде - "вот этот фильтр на 6-ом спартане будет работать с тактовой в 270МГц, а на 3N - где-то 125-140МГц" может дать либо ксайлинкс после синтеза и разводки данного фильтра в каждом из кристаллов, либо очень опытный спец по ПЛИСам и фильтрам, взглянув на схему, и после того, как он развел как минимум 20 похожих проектов. Правильно?
WitFed
Конечно, но примерный порядок может назвать сразу специалист, зная задание и dest микросхему.
Нужны несколько конкретных наборов параметров и даже постановка задачи на понятном языке типа С, намёки понимают немногие, тогда "гуру" выскажутся лучше.
Хоть у ПЛИС частота на порядок слабей, за них -- возможность занять весь объём одними и теми же операциями количеством в сотни, что у процов делается через SIMD и с архитектурным ограничением по количеству.
Плюс можно пипелинизировать мелкие атомарные операции в разные такты -- умножил в одном, сложил в другом, сравнил в третьем -- мне давно уже говорили про 400 МГц, на которые могут развестись МАС-операции в кристалле, который "типовые" вещи еле успевает на 100.
На большом объёме ПЛИС будет очень важно обеспечить массовую подачу данных и выгрузку результатов, чтобы всё вертелось и было максимально занято -- в одном такте могут вычисляться десятки значений.
ZZZRF413
Цитата("syoma")
Я так понял, что ТС спрашивал о возможности аналитического расчета теоретической максимальной частоты работы фильтра в зависимости от различных факторов и прежде всего разрядности. Так?


Да, так.
Я попробую исследовать этот вопрос на разных ПЛИС.
WitFed
А ещё бывают аналоговые вычисления -- в течение недели топик такой всплывал.
Там ещё в разы всё ускоряется, но вроде как ПЛИС заставить работать в таких режимах трудно.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.