Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Учебное пособие 800631

.pdf
Скачиваний:
21
Добавлен:
01.05.2022
Размер:
9.89 Mб
Скачать

Рис. 3.30. Прохождение единичного импульса по структуре КИХ-фильтра в случае использования линии задержки на регистрах

181

Рис. 3.31. Временные диаграммы работы фильтра в случае использования линии задержки на регистрах. На вход КИХ-фильтра поступают входные отсчеты -5, 3, 1 и 0. Правильные значения на выходе фильтра: 10, -1, -40, -10, 26, 6 и т.д.

181

182

Рис. 3.32. Прохождение единичного импульса по структуре КИХ-фильтра в случае использования линии задержки на базе встроенных блоков ОЗУ

Рис. 3.33. Временные диаграммы работы фильтра в случае использования линии задержки на базе встроенных блоков ОЗУ

182

3.4. Пример проектирования КИХ-фильтров на распределенной арифметике в базисе ПЛИС с применением генератора параметризированных ядер

XLogiCORE IP и функции FIR Compiler v5.0

В данном разделе предлагается рассмотреть вопрос проектирования КИХ-фильтров на распределенной арифметике с использованием генератора параметризированных ядер XLogiCORE IP FIR Compiler Compiler v5.0. Выигрыш от использования распределенной арифметики заключается в том, что с ростом числа отводов производительность КИХ-фильтра остается постоянной за счет применения “безумножительных” схем умножения, при этом обеспечивается повышенное быстродействие, экономия по использованию встроенных ЦОС-блоков, а недостатком – повышенный расход логических ресурсов ПЛИС.

Генератор параметризированных ядер XLogiCORE IP FIR Compiler v5.0 предлагает на выбор три структуры фильтра: прямую форму систолического фильтра, в котором операции умножения и сложения выполняются параллельно с конвейеризацией; обратную и на распределенной арифметике. Функция FIR Compiler v5.0 не поддерживает современный протокол AXI4-Stream.

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

(LUT) ПЛИС (рис. 3.34, в).

183

184

Рис. 3.34. Структуры КИХ-фильтров: а) – один МАС-фильтр; б) – последовательный КИХ-фильтр на четыре отвода; в) – упрощенное представление структуры КИХ-фильтра на

четыре отвода с использованием последовательной распределенной арифметики

184

185

Рис. 3.35. Опции генератора параметризированных ядер XLogiCORE IP FIR Compiler Compiler v5.0. Выбирается структура фильтра на распределенной арифметике. Коэффициенты фильтра несимметричные, со знаком, целые, представляются с 8-битной точностью. Входные значения – целые со знаком, представляются с 4-битной точностью. Выходные значения представляются с 14-битной точностью

185

186

Рис. 3.36. Отчет о характеристиках КИХ-фильтра на четыре отвода

186

Выберем тип фильтра Single-Rate FIR и формат представления чисел с фиксированной запятой. В случае реализации КИХ-фильтра на распределенной арифметике генератор автоматически определяет тип арифметики: параллельная или последовательная. Степень параллелизма зависит от соотношения частоты взятия входных отчетов (fs) и частоты тактирования системы (fclk). Чем выше fs по отношению к fclk, тем меньше латентность фильтра L (задержка появления профильтрованного сигнала, измеряется в тактах синхроимпульса).

Частота взятия входных отчетов fs=50 МГц, частота тактирования системы fclk=250 МГц. Коэффициенты фильтра такие же, разрядность представления коэффициентов – восемь бит. Предполагаем, что на вход фильтра поступают только целые значения, как со знаком, так и без, например -5, 3, 1, 0. Разрядность представления значений входного сигнала подлежащего фильтрации (B) – четыре бита, профильтрованного сигнала – четырнадцать бит (рис.3.35). Под дробную часть числа в обоих случаях отводим 0 бит (Input Data Fractional Bits и Output Fractional Bits).

Для размещения проекта в базис ПЛИС XC6SLX4 требуется 57 триггеров тактируемых фронтом синхросигнала из общих логических ресурсов ПЛИС LUT – 41, из них 30 используются как логические ресурсы, 8 LUT для реализации сдвигового регистра при этом максимальная частота составила

439 МГц.

На рис. 3.36 показан отчет о характеристиках спроектированного КИХ-фильтра на 4 отвода. Частота тактирования ядра фильтра установлена в 250 МГц, а входная частота дискретизации – 50 МГц. Разрядность входной шины данных – четыре бита. Структура коэффициентов фильтра – не симметричная, разрядность представления коэффициентов – восемь бит. Задана полная точность вычисления выходных

187

значений профильтрованного сигнала. Латентность фильтра восемь тактов синхрочастоты.

На рис. 3.37 представлен проект КИХ-фильтра на четыре отвода в САПР ПЛИС Xilinx ISE 14.2 с использованием генератора параметризированных ядер

XLogiCORE IP FIR Compiler Compiler v5.0. Испытательный стенд для моделирования прохождения сигнала по структуре КИХ-фильтра на четыре отвода показывает пример 4. Моделирование прохождения сигнала по структуре КИХфильтра демонстрирует рис. 3.38. На вход фильтра подаются значения -5, 3, 1.

Разрешение на прием фильтром новых значений определяется высоким уровнем сигнала nd. Готовность фильтром прочитать новую порцию информации определяется выходными стробирующими импульсами сигнала rfd. Результат фильтрации определяется выходными стробирующими импульсами сигнала rdy. Смена профильтрованных значений на выходе фильтра осуществляется через четыре такта синхрочастоты (рис. 3.38).

Рассмотрим случай с параллельной распределенной арифметикой. Частота взятия входных отчетов fs=250 МГц и частота тактирования системы fclk= 300 МГц. Функция FIR Compiler v5.0 исходя из соотношения частот автоматически определила латентность фильтра 5 тактов синхрочастоты.

LIBRARY ieee;

USE ieee.std_logic_1164.ALL;

--Uncomment the following library declaration if using

--arithmetic functions with Signed or Unsigned values --USE ieee.numeric_std.ALL;

ENTITY fir4_test_5 IS END fir4_test_5;

188

189

Рис. 3.37. Проект КИХ-фильтра на четыре отвода в САПР ПЛИС Xilinx ISE 14.2 с использованием генератора параметризированных ядер

XLogiCORE IP FIR Compiler Compiler v5.0

189

190

Рис. 3.38. Моделирование прохождения сигнала по структуре КИХ-фильтра на последовательной распределенной арифметике. На вход фильтра подаются значения -5, 3, 1. Правильные значения на выходе 10, -1, -40, -10, 25, 6. Латентность фильтра 8 тактов синхрочастоты

Рис. 3.39. Моделирование прохождения сигнала по структуре КИХ-фильтра на параллельной распределенной арифметике. На вход фильтра подаются значения -5, 3, 1. Правильные значения на выходе 10, -1, -40, -10, 25, 6. Латентность фильтра 5 тактов синхрочастоты

190