ПЛИС работает как исполнитель цифровой обработки в реальном времени, и её ресурсы считаются от задач, которые тракт ей даёт. Пропускная способность фильтров, битовый рост, задержка спектрального анализа и бюджет детерминированности определяют, что ПЛИС обработает в такт потока данных. В статье разобраны ресурсы ПЛИС и их распределение, фильтры и их пропускная способность, битовый рост, спектральный анализ, интерфейсы данных, детерминированность и порядок проектирования обработки.

Ресурсы ПЛИС и их распределение по задачам

Ресурсы ПЛИС работают как бюджет, и их распределение по задачам считается в проекте. Умножающие срезы работают по одному умножению-накоплению за такт, и их такты в 100-500 МГц работают на пропускную способность. Расчёт для практического примера даёт следующее, фильтр со ста отводами при частоте дискретизации 10 МГц требует 1000 миллионов умножений в секунду, и при такте 300 МГц и одном умножении за такт это 3,3 среза, а с запасом схемы конвейера пять. Связь с блоками памяти фундаментальна, буферы данных и коэффициенты работают в блоках памяти, и их объём считается от числа потоков и глубины буферов. Практическая связка, срезы умножения, блоки памяти и такт, и их сумма работает на бюджет обработки. Задачи тракта распределяются по ресурсам с их весами, фильтрация, спектральный анализ и обнаружение, и их сумма считается до проектирования. Избыточный запас ресурсов работает на цену прибора, и его оптимум считается от задач с запасом в 20-30 процентов. Проверка распределения идёт при компиляции проекта, и её отчёт ресурсов сравнивается с бюджетом. Экономия на ресурсах платится задачами, и их цена в тракте измеряется пропускной способностью. Практическая работа с бюджетом ресурсов заслуживает отдельного взгляда. Отчёт компиляции работает на фактическое распределение, и его данные сравниваются с бюджетом. Разделение тактовых доменов работает на пропускную способность и на потребление, и их схема считается в проекте. Проверка идёт при полной загрузке тракта, и её фактические ресурсы сравниваются с расчётом.

Фильтры и их пропускная способность

Фильтры работают как основная нагрузка ПЛИС, и их пропускная способность считается от числа отводов и частоты дискретизации. Расчёт для практических случаев даёт следующее, фильтр со ста отводами при частоте 1 МГц требует 100 миллионов умножений в секунду, при 500 отводах 500 миллионов, и их суммы считаются в бюджете. Связь со схемой вычисления фундаментальна, параллельная схема с умножением на каждый такт работает на максимальную частоту, последовательная с одним умножителем работает на экономию срезов. Расчёт схемы для практического примера даёт следующее, фильтр со ста отводами при 1 МГц требует 100 миллионов умножений в секунду, и последовательный умножитель на 300 МГц проходит с запасом, а при 10 МГц дискретизации требуются параллельные ветви. Практическая связка, частота дискретизации, число отводов и схема вычисления, и их сумма работает на выбор. Полусдвиговые и квадратурные фильтры работают с их удвоением нагрузки, и их бюджет считается вместе. Практическое решение, параллельная схема для широкополосных трактов, последовательная для узкополосных, и их выбор от бюджета работает. Проверка пропускной способности идёт при компиляции с оценкой тактовой частоты, и её результат сравнивается с требованием. Экономия на схеме вычисления платится частотой, и её цена в тракте измеряется пропускной способностью. Практическая работа с фильтрами заслуживает отдельного взгляда. Симметричные фильтры с линейной фазой работают на задержку с её равномерностью, и их схема считается в проекте. Полифазные схемы работают на распределение нагрузки по фазам, и их бюджет считается в срезах. Проверка фильтра идёт моделированием с фактическими коэффициентами, и её характеристика сравнивается с расчётом.

Битовый рост и форматы с фиксированной точкой

Битовый рост работает на шину данных в фильтрах, и его расчёт фундаментален для форматов с фиксированной точкой. Расчёт для практических случаев даёт следующее, фильтр со ста отводами добавляет в ширину данных 6,6 бита, с пятьюстами отводами 9 бит, и их суммы считаются от коэффициентов. Связь с форматом фундаментальна, входные данные с их разрядностью, коэффициенты с их точностью и битовый рост определяют ширину аккумулятора, и её переполнение работает на искажения. Практическое решение, округление и насыщение на выходе фильтра, их работа на шум квантования считается в бюджете. Расчёт шума квантования на каждом каскаде складывается в общий шум, и его величина считается в динамическом диапазоне. Практическая связка, входная разрядность, коэффициенты, битовый рост и шум квантования, и их сумма работает на выбор форматов. Форматы с плавающей запятой работают на ресурсы в разы выше, и их цена в срезах и памяти считается в сравнении. Практическое решение, фиксированная точка для массовой обработки, плавающая для узких задач с жёсткими требованиями, и их выбор от бюджета работает. Проверка форматов идёт моделированием с фактическими данными, и его результат сравнивается с требованиями к шуму. Экономия на разрядности платится шумом, и его цена в тракте измеряется динамическим диапазоном. Практическая работа с форматами заслуживает отдельного взгляда. Позиция двоичной точки работает на диапазон и на точность одновременно, и её выбор считается от сигнала. Округление с насыщением работает на переполнение, и его схема считается в каждом каскаде. Проверка идёт моделированием с крайними сигналами, и её результат работает на выбор формата.

Спектральный анализ и его задержка

Спектральный анализ работает через быстрое преобразование Фурье, и его задержка считается от числа ступеней. Расчёт для практического примера прямое, преобразование на 1024 точки в радиксе-2 работает через десять ступеней, и его задержка при десяти тактах на ступень и такте 100 МГц составляет около 1 мкс. Связь с ресурсами фундаментальна, ступени работают на умножители поворачивающих множителей и память, и их бюджет считается в проекте. Практическая связка, размер преобразования, ступени и ресурсы, и их сумма работает на выбор. Перекрывающиеся окна анализа работают на непрерывность спектра, и их доля работает на нагрузку. Практическое решение, размер преобразования от требуемого разрешения, перекрытие от требуемой скорости обновления, и их сумма считается от задачи. Окна с их боковыми лепестками работают на динамический диапазон спектра, и их выбор считается в бюджете. Проверка задержки идёт при компиляции с оценкой тактовой частоты, и её результат сравнивается с бюджетом системы. Экономия на размере преобразования платится разрешением, и его цена в обнаружении измеряется герцами разрешения. Для трактов с несколькими преобразованиями их ресурсы считаются вместе, и их сумма работает на выбор ПЛИС. Практическая работа с преобразованием заслуживает отдельного взгляда. Поворачивающие множители работают в блоках памяти, и их точность работает на боковые лепестки спектра. Конвейерные схемы работают на пропускную способность ценой задержки, и их глубина считается в бюджете. Проверка идёт моделированием с фактическими данными, и её спектр сравнивается с расчётом.

Интерфейсы данных и их согласование

Интерфейсы данных работают как граница ПЛИС с преобразователями, и их согласование считается в проекте. Последовательный интерфейс данных работает с линиями по 12-32 Гбит/с, и его приём работает на блоки приёма с их выравниванием. Расчёт потока данных прямое, преобразователь с дискретизацией 4 ГГц и разрядностью 14 бит даёт поток 56 Гбит/с, и его приём требует нескольких линий с их распределением. Связь с буферами фундаментальна, поток данных работает в блоках памяти, и их объём считается от глубины буферов. Практическая связка, поток данных, линии приёма и блоки памяти, и их сумма работает на архитектуру тракта. Рассогласование задержек линий работает на выравнивание, и его компенсация в блоке приёма работает на целостность данных. Практическое решение, приём с выравниванием по символам, синхронизация тактов и их фазовое согласование, и их сумма держит целостность. Проверка целостности идёт счётчиком ошибок на потоке, и её результат работает на надёжность. Экономия на интерфейсе платится полосой, и её цена в тракте измеряется гигабитами потока. Для нескольких преобразователей их синхронизация работает на обработку массивов, и её фазовое согласование считается в проекте. Практическая работа с интерфейсами заслуживает отдельного взгляда. Приёмные блоки работают с выравниванием потоков, и их настройка считается при компиляции. Синхронизация тактов преобразователя и ПЛИС работает на целостность данных, и её фазовое согласование измеряется. Проверка идёт счётчиком ошибок при полной скорости, и её результат работает на надёжность.

Детерминированность и бюджет задержки

Детерминированность обработки работает на её задержку, и её бюджет считается от задач системы. Задержка обработки складывается из задержек фильтров, спектрального анализа и обнаружения, и её сумма считается по конвейеру. Расчёт для практического примера прямое, фильтр со ста отводами даёт задержку в сотни тактов, спектральный анализ в сотни, и их сумма при такте 10 нс составляет микросекунды. Связь с системой фундаментальна, бюджет задержки работает на контуры управления и на время реакции, и его предел считается от задачи. Практическая связка, задержки задач, конвейер и такт, и их сумма работает на бюджет. Конвейерная обработка работает на пропускную способность ценой задержки, и её глубина считается от компромисса. Практическое решение, расчёт задержек по конвейеру, их проверка при компиляции с оценкой такта и буферизация потоков, и их сумма держит детерминированность. Колебания задержки от динамической загрузки работают на её детерминированность, и их исключение фиксированным конвейером работает на предсказуемость. Проверка идёт измерением фактической задержки на потоке, и её результат сравнивается с бюджетом. Экономия на задержке платится ресурсами, и их цена в ПЛИС измеряется срезами и блоками памяти. Практическая работа с бюджетом задержки заслуживает отдельного взгляда. Задержки интерфейсов работают на общий бюджет, и их величины считаются в конвейере. Буферы между задачами работают на задержку, и их глубина считается от компромисса. Проверка идёт измерением фактической задержки от входа до выхода, и её результат сравнивается с требованием системы. Для систем с реальным временем детерминированность считается обязательной, и её дисциплина в проектировании оплачивается предсказуемостью.

Порядок проектирования обработки в ПЛИС

Проектирование обработки в ПЛИС укладывается в шесть шагов:

  1. расчёт бюджета ресурсов от задач обработки с запасом;
  2. расчёт пропускной способности фильтров и выбор схемы вычисления;
  3. расчёт битового роста и форматов с проверкой шума квантования;
  4. расчёт спектрального анализа с его размером и задержкой;
  5. расчёт интерфейсов данных с их потоками и синхронизацией;
  6. проверка задержки и ресурсов при компиляции с измерением на потоке.

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