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

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

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

На рис. 2.14 показан программный инструмент HDL Workflow Advisor расширения Simulink. Более подробную информацию можно получить на сайте matlab.ru. Программный инструмент HDL Workflow Advisor дублирует пункты меню Code/HDL Code/Generate HDL и Code/HDL Code/Option, но позволяет работать на более качественном уровне.

Генерация кода происходит в несколько этапов. Первый этап заключается в выборе стиля проектирования – реализация проекта в базисе заказных БИС/ПЛИС без привязки к конкретному производителю или реализация проекта с выбором отладочной платы и серии ПЛИС фирм Xilinx или Altera. Для проектов в базисе ПЛИС Workflow Advisor обеспечивает такие возможности оптимизации, как площадьскорость, распределение памяти RAM, конвейеризация, совместное использование ресурсов и развертывание циклов.

Например, в разделе Set Target выбирается отладочная плата Altera DE2-115 Development and Education Board на ПЛИС серии Cyclone IV EP4CE115. В случае выбора стиля проектирования FPGA-in-the-Loop (замкнутый цикл) отлаживать проект возможно непосредственно из Simulink. Проверка на поддержку отладочной платы Workflow Advisor можно осуществить на втором этапе подготовки модели для генерации кода Prepare Model For HDL Code Generation в разделе Chek FPGA-in-the-Loop Compatibility. На третьем этапе осуществляется генерация кода.

Система Matlab/simulink c приложением Simulink HDL Coder может быть эффективно использована для ускорения процесса разработки квантованных КИХ-фильтров в базисе ПЛИС. Автоматически извлеченный VHDL-код фильтра из описания Simulink-модели приводит к использованию встроенных ЦОС-блоков в ПЛИС серии Cyclone II, обеспечивая разработку высокопроизводительных КИХфильтров.

91

2.3. Проектирование параллельных КИХ-фильтров

На рис. 2.15 показаны структуры фильтров, характерные для реализации в базисе сигнальных цифровых процессоров, а на рис. 2.16 показаны структуры фильтров, характерные для реализации в базисе ПЛИС. В качестве матричных умножителей могут быть использованы параллельные векторные умножители. На рис. 2.17 показан 2- разрядный векторный умножитель с использованием двух идентичных таблиц перекодировки LUT1 и LUT2 для формирования частичных произведений P1(n) и P2(n), которые необходимо сложить с учетом их веса. Каждая LUT образована из четырех LUT логических элементов (ЛЭ) ПЛИС. Результат вычисления P2(n) необходимо сдвинуть на один разряд влево. Такой умножитель может быть использован для структуры фильтра четыре отвода два бита при 2-разрядном представлении коэффициентов. В случае если число отводов останется постоянным (например четыре в случае симметрии коэффициентов фильтра), а разрядность входного сигнала, подлежащего фильтрации, и коэффициентов фильтра составит восемь бит, то уже потребуется восемь LUT, каждая из которых будет содержать восемь LUT ЛЭ. При этом увеличивается и число многоразрядных сумматоров и операций сдвига (рис. 2.18).

Параллельные КИХ-фильтры, реализованные в базисе ПЛИС, обладая наивысшим быстродействием, позволяют получать результат фильтрации, например, для КИХ-фильтра со структурой 120 отводов 12 бит уже после первого синхроимпульса, последовательные через 12, а фильтр в базисе ЦОС-процессоров через 120 синхроимпульсов.

92

Рис. 2.15. Параллельный (а) и последовательный фильтры (б) на четыре отвода для реализации в базисе цифровых сигнальных процессоров

93

Рис. 2.16. Обобщенное представление структур КИХ-фильтров: а) параллельных; б) последовательных

93

94

Рис. 2.17. Параллельный векторный умножитель четырех 2-разрядных сигналов на четыре 2-разрядные константы с использованием LUT ЛЭ в ПЛИС серии FLEX

94

95

Рис. 2.18. Параллельный векторный умножитель четырех 8-разрядных сигналов на четыре 8- разрядные константы с использованием LUT ЛЭ в ПЛИС серии FLEX

95

96

Рис. 2.19. Использование параллельного векторного умножителя четырех 8-разрядных сигналов на четыре 8-разрядные константы в составе КИХ-фильтра на восемь отводов с симметричными коэффициентами в базисе ПЛИС XC4000, построенного с использованием параллельной распределенной арифметики

96

97

а) б)

Рис. 2.20. Число задействованных ресурсов для реализации параллельного векторного умножителя в базисе ПЛИС XC4000 (а) и производительность фильтра в зависимости от числа отводов, при частоте тактирования 120 МГц

97

98

Рис. 2.21. Симметричный КИХ-фильтр со структурой десять отводов десять бит с точностью представления коэффициентов 10 бит с использованием последовательной

распределенной арифметики

98

99

Рис. 2.22. Параллельная реализация КИХ-фильтра на четыре отвода с использованием четырех блоков в САПР ПЛИС Quartus II (мегафункция ALTMULT_ACCUM)

99

100

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

Рис. 2.24. Временные диаграммы работы фильтра на четыре отвода с использованием мегафункции ALTMULT_ACCUM

100