exponenta event banner

Потоковый БПФ HDL

(Удалено) Radix-2 БПФ с прореживанием в частоте (DIF) - оптимизировано для генерации кода HDL

Блок потока HDL FFT удален. Используйте блок FFT HDL Optimized с параметром Architecture, равным Streaming Radix 2^2, вместо этого. Дополнительные сведения см. в разделе Реализация FFT для FPGA с использованием блока, оптимизированного для FFT HDL.

Библиотека

Устаревший

dspobs

  • HDL Streaming FFT (Obsolete) block

Описание

Блок FLL Streaming FFT возвращает результаты, идентичные результатам, возвращенным алгоритмом Radix-2 DIF блока FFT.

Входы и выходы блоков

Блок имеет следующие входные порты:

  • din: Входной сигнал данных. Кодер требует сложного сигнала с фиксированной точкой.

  • start: Логический управляющий сигнал. Когда start устанавливает значение true (1), блок потокового БПФ HDL инициирует обработку кадра данных.

Блок имеет следующие выходные порты:

  • doutВыходной сигнал данных.

  • dvalid: Логический управляющий сигнал. Блок HDL Streaming FFT утверждает этот сигнал истинным (1), когда поток действительных выходных данных доступен в dout порт.

  • ready: Логический управляющий сигнал. Блок HDL Streaming FFT утверждает этот сигнал истинным (1), чтобы указать, что он готов к обработке нового кадра.

Описание времени

Блок HDL Streaming FFT работает в одном из двух режимов:

  • Непрерывный режим потоковой передачи данных: В этом режиме блок FLL Streaming FFT ожидает получить непрерывный поток данных в din. После начальной задержки блок формирует непрерывный поток данных в dout.

  • Режим прерывистой потоковой передачи данных: В этом режиме блок HDL Streaming FFT принимает прерывистые пакеты потоковых данных в din. После начальной задержки блок создает прерывистые пачки потоковых данных в dout.

Поведение управляющих сигналов определяет режим синхронизации блока.

Синхронизация непрерывной потоковой передачи данных

Утверждение start сигнал (активный высокий) запускает обработку блоком HDL Streaming FFT. Чтобы инициировать непрерывную обработку потока данных, установите start сигнал одним из следующих способов:

  • Удерживайте сигнал запуска на высоком уровне (как показано на рисунке «Непрерывная потоковая передача данных с сигналом запуска на высоком уровне»).

  • Импульсный сигнал запуска каждые N тактовых циклов, где N - длина БПФ (как показано на рисунке «Непрерывная потоковая передача данных с импульсным сигналом запуска»).

Один тактовый цикл после start триггер, блок начинает загружать данные в din. После первого кадра потоковых данных блок начинает принимать следующий кадр потоковых данных.

Между тем, блок выполняет вычисление БПФ для входящих кадров данных и выводит результаты непрерывно на этапе dout. Блок FLL Streaming FFT утверждает и отменяет ready и dvalid сигналы автоматически. Блок утверждает dvalid high всякий раз, когда выходной поток данных является действительным. Блок утверждает ready high, чтобы показать, что блок готов загрузить новый кадр данных. Когда ready низкий, блок игнорирует start сигнал.

Следующие рисунки иллюстрируют непрерывную потоковую передачу данных. Каждый кадр данных соответствует потоку из N входных значений данных, где N - длина БПФ.

Непрерывная потоковая передача данных с высоким уровнем начального сигнала

Примечание

start сигнал может представлять собой импульс одного цикла; он не должен оставаться высоким для всего кадра данных. Когда начинается обработка для кадра, дальнейшие импульсы на start не влияют на обработку этого кадра. Тем не менее, start импульс должен возникать в начале каждого кадра данных.

Непрерывная потоковая передача данных с импульсным сигналом запуска

Непрерывная синхронизация потоковой передачи данных

В этом режиме блок HDL Streaming FFT принимает непрерывные пакеты потоковых данных в din. После начальной задержки блок создает прерывистые пачки потоковых данных в dout. Разрывы между кадрами данных возникают при наличии следующего условия:

  • start сигнал не утверждает каждые N тактов (где N - длина БПФ)

  • start сигнал постоянно не удерживается на высоком уровне.

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

Начальная задержка

Начальная задержка блока потокового БПФ HDL представляет собой интервал между следующими временами:

  • Время начала приема блоком первого кадра входных данных

  • Время утверждения блока dvalid и формирует первые действительные выходные данные.

Начальная задержка представляет время, которое блок использует для загрузки кадра данных, вычисления БПФ и вывода начала первого выходного кадра. На следующем рисунке показана начальная задержка.

При выборе опции блока Показать вычисленную начальную задержку на маске значок блока отображает начальную задержку. Дисплей представляет время задержки как Z-n, где n - время задержки в выборках.

Параметры

Длина БПФ

По умолчанию: 1024

Длина БПФ должна быть мощностью 2 в диапазоне от 23 до 216.

Режим округления

По умолчанию: Floor

Блок потокового БПФ HDL поддерживает все режимы округления блока БПФ. См. также вхождение блока БПФ.

Режим переполнения

По умолчанию: Wrap

Блок потокового БПФ HDL поддерживает все режимы переполнения блока БПФ. См. также вхождение блока БПФ.

Таблица синусов

По умолчанию: Same word length as input

Выберите способ указания длины слова для значений таблицы синусов. Длина дроби значений таблицы синусов равна длине слова минус один.

  • При выборе Same word length as inputдлины слов синусоидальной таблицы соответствуют длинам слов на входах блоков.

  • При выборе Specify word length, можно ввести длину слова для значений таблицы синусов в битах в поле Длина слова таблицы синусов. Значения таблицы синусов не соответствуют параметрам режима округления и режима переполнения. Они всегда насыщаются и округляются до Nearest.

Выход продукта

По умолчанию: Same as input

Используйте этот параметр, чтобы указать, как следует обозначать выходные слова продукта и длины дробей:

  • При выборе Same as input, эти характеристики соответствуют характеристикам ввода в блок.

  • Binary point scaling: Введите длину слова и длину дроби вывода продукта в битах в полях Длина слова продукта и Длина дроби продукта.

Аккумулятор

По умолчанию: Same as input

Используйте этот параметр, чтобы указать, как следует обозначать длины слов и дробей в накопителе:

При выборе Same as product outputэти признаки соответствуют характеристикам продукта.

  • При выборе Same as input, эти характеристики соответствуют характеристикам ввода в блок.

  • Binary point scaling: Введите длину слова и длину дроби накопителя в битах в полях Длина слова накопителя и Длина дроби накопителя.

Продукция

По умолчанию: Same as input

Выберите способ задания длины выходного слова и длины дроби:

  • Same as inputЭти характеристики соответствуют характеристикам входа в блок.

  • Binary point scaling: позволяет ввести длину слова и длину дроби вывода в битах в полях Длина выходного слова и Длина дроби вывода.

Вывод в бит-реверсированном порядке

По умолчанию: Откл.

  • On: Выходной поток данных имеет битовый обратный порядок.

  • Off: выходной поток данных находится в естественном порядке.

Дополнительные сведения об эффектах реверсирования битов см. в разделе Линейный и реверсированный порядок вывода.

Отображение вычисленной начальной задержки на маске

По умолчанию: Откл.

  • Значок блока отображает начальную задержку как Z-n, где n - время задержки в выборках.

  • Выкл.: значок блока не отображает начальную задержку.

Примечание

Таблица синусов, выходные данные продукта, накопителя и выходные данные не поддерживают:

  • Inherit via internal rule

  • Slope and bias scaling

Создание кода HDL

HDL Coder™ предоставляет дополнительные опции конфигурации, которые влияют на реализацию HDL и синтезированную логику.

Архитектура HDL

Этот блок имеет единую архитектуру HDL по умолчанию.

Свойства блока HDL

ConstrainedOutputPipeline

Количество регистров для размещения на выходах путем перемещения существующих задержек в рамках проекта. Распределенная конвейерная обработка не перераспределяет эти регистры. Значение по умолчанию: 0. Дополнительные сведения см. в разделе ConstrainedOutputPipeline (кодер HDL).

InputPipeline

Количество входных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: 0. Дополнительные сведения см. в разделе InputPipeline (кодер HDL).

OutputPipeline

Количество выходных ступеней трубопровода для вставки в сформированный код. Распределенная конвейерная обработка и конвейерная обработка с ограниченным выходом могут перемещать эти регистры. Значение по умолчанию: 0. Дополнительные сведения см. в разделе Выходной конвейер (кодер HDL).

Вопросы совместимости

развернуть все

Ошибки, начинающиеся с R2020b

Представлен в R2014b