|
|
  |
Оценка быстродействия работы ЦФ на ПЛИС |
|
|
|
Sep 22 2014, 10:38
|
Профессионал
    
Группа: Свой
Сообщений: 1 088
Регистрация: 20-10-09
Из: Химки
Пользователь №: 53 082

|
Цитата(ZZZRF413 @ Sep 22 2014, 10:30)  Посоветуйте пожалуйста что-нибудь по следующему вопросу: интересует оценка быстродействия работы цифрового фильтра на ПЛИС, т.е. какая максимальная тактовая частота ПЛИС может быть, как она определяется/вычисляется и т.п. Сильно от реализации зависит - порядок фильтра, разрядность ну и тип самого кристалла. Если допустим брать первый порядок стандартной архитектуры, то за один такт должны последовательно выполниться 2 суммирования и 1 умножение. Выбрав разрядностть, можно посмотреть максимальное быстродействие на каждый элемент по документации, далее просуммировать и получить общую задержку и помножить на 2 (из-за задержки на элементах) - вот и получиться примерная задержка. Если использовать умножители на логике - частота упадет, если уйти от них в сторону изменения коэффициентов и умножитель реализовать через сумматор и сдвиги - то вырастет. Так что о конкретных цифрах без архитектуры и фильтра и кристалла говорить бессмысленно.
|
|
|
|
|
Sep 22 2014, 10:41
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Цитата(ZZZRF413 @ Sep 22 2014, 08:30)  Всем доброго дня! Посоветуйте пожалуйста что-нибудь по следующему вопросу: интересует оценка быстродействия работы цифрового фильтра на ПЛИС, т.е. какая максимальная тактовая частота ПЛИС может быть, как она определяется/вычисляется и т.п. Желательно на примере БИХ(с бесконечной импульсной характеристикой) цифровых фильтров. Может быть кому-нибудь статьи попадались на эту тематику. Ну если на словах - оценка быстродествия работы цифрового фильтра производится на этапе синтеза и разводки проекта. Т.е. исходя из заданной структуры фильтра, его разрядности, синтезатор пакует всю логику в наличествующие ресурсы ПЛИС. Затем на этапе разводки, имплементатор пытается все это дело впихнуть как можно компактнее, чтобы уменьшить задержки сигнала между блоками. После этого с учетом характеристик конкретной ПЛИС (максимальная скорость распространения сигналов, время переключения логики, рабочие температуры и напряжения) анализатор производит расчет задержки сигнала между блоками для каждого пути и на основании этого выдает максимальную рабочую частоту данного фильтра в данной ПЛИС. Этого достаточно, или вопрос был про другое?
|
|
|
|
|
Sep 23 2014, 04:48
|
Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 26-07-09
Из: Нижний Новгород
Пользователь №: 51 578

|
Цитата(bogaev_roman @ Sep 22 2014, 14:38)  Если допустим брать первый порядок стандартной архитектуры, то за один такт должны последовательно выполниться 2 суммирования и 1 умножение. Выбрав разрядностть, можно посмотреть максимальное быстродействие на каждый элемент по документации, далее просуммировать и получить общую задержку и помножить на 2 (из-за задержки на элементах) - вот и получиться примерная задержка. Вот что-то поближе к тому что надо. Наверное я слишком общий вопрос задал... Хотя он тоже интересен. Я уточну на конкретном примере: Пусть есть набор БИХ фильтров 10 порядка выполненные в виде каскадного соединения пяти звеньев второго порядка. Реализация структуры для фильтров одинаковая. Разрядность фильтров 16, 8, 4. Необходимо оценить теоретический выигрыш в производительности от изменения разрядности. С объемом ресурсов ПЛИС все более менее ясно. Для простоты качество характеристик фильтров (АЧХ, ФЧХ) не учитываем.
|
|
|
|
|
Sep 23 2014, 12:36
|
Частый гость
 
Группа: Участник
Сообщений: 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 с уменьшением разрядности фильтра, тактовая частота немного, но растет. Действительно надо попробовать по исследовать на разных платформах... Большое спасибо всем за ответы!
|
|
|
|
|
Sep 24 2014, 08:04
|
Профессионал
    
Группа: Свой
Сообщений: 1 817
Регистрация: 14-02-07
Из: наших, которые работают за бугром
Пользователь №: 25 368

|
Я так понял, что ТС спрашивал о возможности аналитического расчета теоретической максимальной частоты работы фильтра в зависимости от различных факторов и прежде всего разрядности. Так?
И я так понимаю, что такой путь дает возможность получить лишь очень приблизительный результат, так как даже в конкретном случае иногда увеличение разрядности на пару бит может дать совсем другой результат, например, если разрядность превысит возможности одного умножителя.
Поэтому я так понимаю, что ответ в виде - "вот этот фильтр на 6-ом спартане будет работать с тактовой в 270МГц, а на 3N - где-то 125-140МГц" может дать либо ксайлинкс после синтеза и разводки данного фильтра в каждом из кристаллов, либо очень опытный спец по ПЛИСам и фильтрам, взглянув на схему, и после того, как он развел как минимум 20 похожих проектов. Правильно?
|
|
|
|
|
Sep 24 2014, 10:43
|
Местный
  
Группа: Свой
Сообщений: 271
Регистрация: 6-12-11
Из: Taganrog
Пользователь №: 68 701

|
Конечно, но примерный порядок может назвать сразу специалист, зная задание и dest микросхему. Нужны несколько конкретных наборов параметров и даже постановка задачи на понятном языке типа С, намёки понимают немногие, тогда "гуру" выскажутся лучше. Хоть у ПЛИС частота на порядок слабей, за них -- возможность занять весь объём одними и теми же операциями количеством в сотни, что у процов делается через SIMD и с архитектурным ограничением по количеству. Плюс можно пипелинизировать мелкие атомарные операции в разные такты -- умножил в одном, сложил в другом, сравнил в третьем -- мне давно уже говорили про 400 МГц, на которые могут развестись МАС-операции в кристалле, который "типовые" вещи еле успевает на 100. На большом объёме ПЛИС будет очень важно обеспечить массовую подачу данных и выгрузку результатов, чтобы всё вертелось и было максимально занято -- в одном такте могут вычисляться десятки значений.
|
|
|
|
|
Sep 25 2014, 10:35
|
Частый гость
 
Группа: Участник
Сообщений: 115
Регистрация: 26-07-09
Из: Нижний Новгород
Пользователь №: 51 578

|
Цитата("syoma") Я так понял, что ТС спрашивал о возможности аналитического расчета теоретической максимальной частоты работы фильтра в зависимости от различных факторов и прежде всего разрядности. Так? Да, так. Я попробую исследовать этот вопрос на разных ПЛИС.
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|