Основание 2 БПФ с децимацией в частоте (DIF) — оптимизированный для генерации HDL-кода
Устаревший
dspobs
Блок HDL Streaming FFT будет удерживаться от использования в будущих релизах. Используйте Streaming Radix 2^2
архитектура блока FFT HDL Optimized вместо этого.
Блок HDL Streaming FFT возвращает результаты, идентичные результатам, возвращенным Основанием 2 алгоритма DIF блока FFT.
Как показано в следующем рисунке блок HDL Streaming FFT имеет два входных порта и три выходных порта. Два из этих портов для ввода данных и выходных сигналов. Другие порты для управляющих сигналов.
Блок имеет следующие входные порты:
din
: Сигнал входных данных. Кодер требует комплексного сигнала фиксированной точки.
start
: Булев управляющий сигнал. Когда start
утверждает true (1), блок HDL Streaming FFT инициирует обработку системы координат данных.
Блок имеет следующие выходные порты:
dout
: Сигнал вывода данных.
dvalid
: Булев управляющий сигнал. Блок HDL Streaming FFT утверждает эту true (1) сигнала, когда поток допустимых выходных данных доступен в dout
порт.
ready
: Булев управляющий сигнал. Блок HDL Streaming FFT утверждает, что это сигнализирует, чтобы true (1) указала, что это готово обработать новый кадр.
Блок HDL Streaming FFT действует в одном из двух режимов:
Режим Continuous data streaming: В этом режиме блок HDL Streaming FFT ожидает получать непрерывный поток данных в din
. После начальной задержки блок производит непрерывный поток данных в dout
.
Режим Non-continuous data streaming: В этом режиме блок HDL Streaming FFT получает ненепрерывные пакеты потоковой передачи данных в din
. После начальной задержки блок производит ненепрерывные пакеты потоковой передачи данных в dout
.
Поведение управляющих сигналов определяет режим синхронизации блока.
Утверждение start
сигнал (активный высокий) триггерная обработка блоком HDL Streaming FFT. Чтобы инициировать потоковую обработку текущих данных, утверждайте start
сигнал одним из следующих способов:
Содержите сигнал запуска высоко (как показано в фигуре “Потоковая передача Текущих данных С Сигналом Запуска, Сохраненным Высокий”).
Пульсируйте запуск сигнализирует каждый такты N, где N является длиной БПФ (как показано в фигуре “Потоковая передача Текущих данных С Импульсным Сигналом Запуска”).
Один такт после start
инициируйте, блок начинает загружать данные в din
. После первой системы координат потоковой передачи данных блок начинает принимать следующий кадр потоковой передачи данных.
Между тем блок выполняет вычисление БПФ на входящих системах координат данных и выводит результаты постоянно в dout
. Блок HDL Streaming FFT утверждает и deasserts ready
и dvalid
сигналы автоматически. Блок утверждает dvalid
высоко каждый раз, когда поток выходных данных допустим. Блок утверждает ready
высоко, чтобы указать, что блок готов загрузить новую систему координат данных. Когда ready
является низким, блок игнорирует start
сигнал.
Следующие фигуры иллюстрируют потоковую передачу текущих данных. Каждая система координат данных соответствует потоку значений входных данных N, где N является длиной БПФ.
Потоковая передача текущих данных с сигналом запуска, сохраненным высоко
start
сигнал может быть одним импульсом цикла; это не должно быть сохранено высоко для целой системы координат данных. Когда обработка для системы координат начинается, дальнейшие импульсы на start
не влияйте на обработку той системы координат. Однако start
импульс должен произойти в начале каждой системы координат данных.
Потоковая передача текущих данных с импульсным сигналом запуска
В этом режиме блок HDL Streaming FFT получает непрерывные пакеты потоковой передачи данных в din
. После начальной задержки блок производит ненепрерывные пакеты потоковой передачи данных в dout
. Пропуски находятся между системами координат данных, когда следующее условие существует:
start
сигнал не утверждает каждый такты N (где N является длиной БПФ),
start
сигнал постоянно не сохранен высоко.
Потоковый режим нетекущих данных позволяет вам больше гибкости в определении интервалов между потоками входных данных.
Начальная задержка блока HDL Streaming FFT является интервалом между следующими разами:
Время блок начинает принимать первый кадр входных данных
Время блок утверждает dvalid
и производит первые допустимые выходные данные.
Начальная задержка представляет время использование блока, чтобы загрузить систему координат данных, вычислить БПФ и вывести начало первой выходной системы координат. Следующая фигура иллюстрирует начальную задержку.
Если вы выбираете опцию блока Display computed initial delay on mask, значок блока отображает начальную задержку. Отображение представляет время задержки как Z-n, где n является временем задержки в выборках.
FFT Length
Значение по умолчанию: 1024
Длина БПФ должна быть степенью 2 в области значений 23 - 216.
Rounding mode
Значение по умолчанию: Floor
Блок HDL Streaming FFT поддерживает все режимы округления блока FFT. См. также ссылку блока FFT.
Overflow mode
Значение по умолчанию: Wrap
Блок HDL Streaming FFT поддерживает все режимы переполнения блока FFT. См. также ссылку блока FFT.
Sine table
Значение по умолчанию: Same word length as input
Выберите, как вы задаете размер слова значений таблицы синуса. Дробная длина табличных значений синуса равна размеру слова минус один.
Когда вы выбираете Same word length as input
, размеры слова табличных значений синуса совпадают с размерами слова входных параметров блока.
Когда вы выбираете Specify word length
, можно ввести размер слова табличных значений синуса, в битах, в поле Sine table word length. Табличные значения синуса не выполняют параметры Overflow mode и Rounding mode. Они всегда насыщают и вокруг к Nearest
.
Product output
Значение по умолчанию: Same as input
Используйте этот параметр, чтобы задать, как вы хотите назвать продукт выходным словом и дробными длинами:
Когда вы выбираете Same as input
, эти характеристики совпадают с характеристиками входа с блоком.
Binary point scaling
: Введите размер слова и дробную длину продукта выход, в битах, в полях Product word length и Product fraction length.
Accumulator
Значение по умолчанию: Same as input
Используйте этот параметр, чтобы задать, как вы хотите определять слово аккумулятора и дробные длины:
Когда вы выбираете Same as product output
, эти характеристики совпадают с характеристиками продукта выход.
Когда вы выбираете Same as input
, эти характеристики совпадают с характеристиками входа с блоком.
Binary point scaling
: Введите размер слова и дробную длину аккумулятора, в битах, в полях Accumulator word length и Accumulator fraction length.
Output
Значение по умолчанию: Same as input
Выберите, как вы задаете выходной размер слова и дробную длину:
Same as input
: эти характеристики совпадают с характеристиками входа с блоком.
Binary point scaling
: позволяет вам ввести размер слова и дробная продолжительность выхода, в битах, в полях Output word length и Output fraction length.
Output in bit-reversed order
Значение по умолчанию: 'off'
На: поток выходных данных находится в обратном битовом порядке.
'off': поток выходных данных находится в естественном порядке.
Для получения дополнительной информации об эффектах битного реверсирования, смотрите Линейный и Инвертированный Битом Выходной Порядок.
Display computed initial delay on mask
Значение по умолчанию: 'off'
На: значок блока отображает начальную задержку как Z-n, где n является временем задержки в выборках.
'off': значок блока не отображает начальную задержку.
Sine table, Product output, Accumulator и Output не поддерживают:
Inherit via internal rule
Slope and bias scaling
HDL Coder™ обеспечивает дополнительные параметры конфигурации, которые влияют на реализацию HDL и синтезируемую логику.
Этот блок имеет одну, архитектуру HDL по умолчанию.
ConstrainedOutputPipeline | Количество регистров, чтобы поместить при выходных параметрах путем перемещения существующих задержек в рамках проекта. Распределенная конвейеризация не перераспределяет эти регистры. |
InputPipeline | Количество входных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |
OutputPipeline | Количество выходных настроек канала связи, чтобы вставить в сгенерированный код. Распределенная конвейеризация и ограниченная выходная конвейеризация могут переместить эти регистры. |