3666
.pdf291
Рис. 5.46. Имитационное моделирование в системе Matlab/Simulink КИХ-фильтра на четыре отвода созданного на основе функционального блока n-tap MAC FIR filter. Сигналы
расположенные согласно позициям а), б), в), г), д) и е) представленным на рис. 5.45
291
292
Рис. 5.47. Сигнал до и после операции децимации (позиции е и к на рис. 5.45)
292
293
Рис. 5.48. Функциональное моделирование КИХ-фильтра на четыре отвода созданного на основе функционального блока n-tap MAC FIR filter с использованием моделирующей программы на языке VHDL сгенерированной в автоматическом режиме.
Обозначение сигналов согласно рис. 5.44
293
Сигнал aXb является текущим значением произведения сигналов A и B (рис. 5.45, г), а сигнал Sum представляет сумму значений произведений сигналов A и B накопленных в аккумуляторе (рис. 5.45, д). Сигналы aXb и Sum формируются в блоке MAC engine.
На рис.5.46 показаны сигналы расположенные согласно позициям а), б), в), г), д) и е) соответствующие рис.5.45, а на рис.5.47 представлен сигнал до и после операции децимации (позиции е и к на рис. 5.45). Зелеными (формирование произведения), красными (формирование суммы произведений) и синими (значения суммы произведений в регистре захвата) стрелками на рис. 5.45 обозначены информационные потоки при вычислениях. Правильные значения на выходе фильтра: 10, -1, -40, -10, 26, 6 и все последующие нулевые значения показаны на рис. 5.45, г.
Результаты функционального моделирования в САПР Xilinx ISE с использованием испытательного стенда, код которого получен в автоматическом режиме, показаны на рис. 5.48. Сравнивая результаты имитационного моделирования на рис. 5.46 и функционального представленного на рис. 5.48 приходим к выводу, что фильтры работают корректно.
Проектирование КИХ-фильтра на основе блочной памяти в режиме ОЗУ. КИХ-фильтр также может быть реализован на основе функционального блока n-tap Dual Port Memory MAC FIR Filter находящегося в библиотеке Reference BlockSet/DSP.
Имитационная модель КИХ-фильтра на четыре отвода для реализации в базисе ПЛИС серии Spartan-6 xa6slx43tqg144 адаптированная к нашей задаче показана на рис. 5.49.
294
295
Рис. 5.49. Имитационная модель КИХ-фильтра на четыре отвода для реализации в базисе ПЛИС серии Spartan-6 xa6slx4-3tqg144 на основе n-tap Dual Port Memory MAC FIR Filter
295
296
Рис. 5.50. Функциональное моделирование КИХ-фильтра на четыре отвода созданного на основе функционального блока n-tap Dual Port Memory MAC FIR Filter с использованием моделирующей программы на языке VHDL сгенерированной в автоматическом режиме
296
Таблица 5.2 Оценка ресурсов ПЛИС серии Spartan-6 xa6slx4-3tqg144 при реализации КИХ-фильтров
на четыре отвода различными способами
|
Ресурсы ПЛИС |
Генератор |
XLogiCORE IP |
XLogiCORE IP |
Simulink, |
Simulink, |
||
|
|
|
параметризиро- |
FIR Compiler |
FIR Compiler v5.0, |
Xilinx |
Xilinx System |
|
|
|
|
ванных ядер |
v5.0, |
параллель- |
System |
Generator, |
|
|
|
|
XLogiCORE IP |
последова- |
ная распреде- |
Generator, |
Dual Port |
|
|
|
|
функцией FIR |
тельная |
ленная |
n-tap MAC |
Memory MAC |
|
|
|
|
Compiler v6.3, |
распределен- |
арифметика |
FIR filter, |
FIR Filter, |
|
|
|
|
систолическая |
ная |
|
1 МАС- |
1 МАС-блок |
|
297 |
|
|
структура |
арифметика |
|
блок |
|
|
|
|
|
|
|
|
|
||
Рабочая |
частота, |
348 |
439 |
438 |
233 |
279 |
||
|
||||||||
|
МГц |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Число |
ЦОС- |
1 |
- |
- |
1 |
1 |
|
|
блоков DSP-48A |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
Триггеров |
|
48 |
57 |
111 |
52 |
57 |
|
|
|
|
|
|
|
|
||
|
Секций с LUT |
33 |
41 |
88 |
39 |
38 |
||
|
|
|
|
|
|
|
|
297
Всоставе КИХ-фильтра на основе n-tap Dual Port Memory MAC FIR Filter используются следующие функциональные блоки: MAC-блок; блоки интерполяции и децимации; двухпортовая память разбитая логически на два банка памяти, один из которых работает как циклический буфер для считывания и записи входных отсчетов сигнала подлежащего фильтрации, а второй для хранения коэффициентов фильтра (выполняет функцию ПЗУ). Вектор инициализации блочной памяти [0 0 0 0 -2, -1, 7, 6]. Емкость ОЗУ восемь 4-разрядных слов. Порт A настроен на режим чтение затем запись. Порт B – чтение.
На рис. 5.50 показано функциональное моделирование. Максимальная частота проекта по коду языка VHDL извлеченного в автоматическом режиме оценивается величиной 279 МГц. Оценка ресурсов ПЛИС серии Spartan-6 xa6slx4-3tqg144 при реализации КИХ-фильтров на четыре отвода различными способами показана в таблице.
ВXilinx System Generator рассмотрено проектирование последовательных КИХ-фильтров на четыре отвода в формате
сфиксированной запятой с использованием параметризованных функциональных блоков n-tap MAC FIR filter и n-tap Dual Port Memory MAC FIR Filter. Основные используемые блоки для построения структур КИХ-фильтров: адресуемый сдвиговый регистр для организации линии задержки на базе LUT; управляющий автомат; ПЗУ или ОЗУ на основе блочной памяти; умножитель и аккумулятор; интерполяция и децимация. Для правильного функционирования КИХ-фильтров необходимо производить учет латентности блоков.
Реализация КИХ-фильтра на основе блочной памяти ПЛИС n-tap Dual Port Memory MAC FIR Filter дает повышенное быстродействие 279 МГц против 233 МГц на основе адресуемого сдвигового регистра при незначительном возрастании требуемых логических ресурсов ПЛИС (табл. 5.2).
298
Данный эффект объясняется увеличением задержек в трассировочных ресурсах ПЛИС при реализации сдвигового регистра на ячейках конфигурационной памяти. В обоих случаях требуется один ЦОС-блок DSP-48A.
Как показывает анализ табл. 5.2, последовательные КИХ-фильтры с использованием одного MAC-блока являются самыми медленными по отношению к систолическому КИХфильтру являющемуся разновидностью параллельной структуры (функция FIR Compiler v6.3) и к фильтру на основе распределенной арифметике позволяющей организовывать “безумножительные” схемы умножения (FIR Compiler v5.0,). Однако, в случае роста числа отводов фильтра можно получить существенный выигрыш в экономии ресурсов ПЛИС.
299
6. ИСПОЛЬЗОВАНИЕ СИСТЕМЫ ВИЗУАЛЬНОИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ MATLAB/SIMULINK ДЛЯ ПРОЕКТИРОВАНИЯ КИХ-ФИЛЬТРОВ В САПР QUARTUS II
6.1. Проектирование последовательных КИХ-фильтров в системе визуально-имитационного моделирования
Matlab/Simulink с использованием Altera DSP Builder
Пакет Altera DSP Builder ver. 12.1 работает в связке с САПР Quartus II ver.12.1 (сборка 177) по аналогии с пакетом
System Generator IDS и САПР ПЛИС ISE фирмы Xilinx.
Программные пакеты расширения Altera DSP Builder и System Generator IDS системы визуально-имитационного моделирования Matlab/Simulink обеспечивают высокоуровневое оптимизированное VHDL-представление проектов c автоматическим компилированием в ПЛИС Xilinx и Altera c последующим созданием испытательных стендов.
Рассмотрим разработку КИХ-фильтр на четыре отвода с использованием одного блока умножения и накопления (1
MAC-блок) в Altera DSP Builder: y C0 x0 С1x1 С2 x2 C3 x3 .
Предположим что, коэффициенты фильтра известны С0 2 , С1 1, С2 7 и С3 6 . Такие фильтры еще называют MAC-
фильтры. За основу проектируемого КИХ-фильтра возьмем имитационную модель с именем FIR_MAC32.mdl КИХфильтра на 32 отвода из справочной системы САПР Quartus II по адресу:
quartus\dsp_builder\DesignExamples\Demos\Filters\Mac32
и адаптируем ее под свои задачи.
Рассмотрим кратко основные структуры КИХ-фильтров с использованием MAC-блоков в Xilinx System Generator. В главе 5 с использованием параметризованных функциональных блоков n-tap MAC FIR filter и n-tap Dual Port Memory MAC FIR Filter показано проектирование
300