Upload
others
View
52
Download
0
Embed Size (px)
Citation preview
1
HDL CoderГенерация VHDL- и Verilog-кода для проектов на ПЛИС и ASIC
HDL Coder генерирует синтезируемый Verilog- и VHDL-код из функций MATLAB®, моделей Simulink® и диаграмм Stateflow®. Полученный HDL-код может быть использован для програм-мирования ПЛИС или прототипирования и разработки ASIC.
В состав HDL Coder входит инструмент под названием HDL Workflow Advisor (помощник по работе с HDL), который автоматизирует программирование ПЛИС компаний Xilinx® и Altera®. Можно контролировать HDL-архитектуру и реализацию, выделять критические пути и генерировать отчеты об использовании аппаратных ресурсов. Обеспечивается трассируемость между моделью Simulink и сгенерированным VHDL- и Verilog-кодом, что позволяет верифици-ровать его для приложений, требующих высокого уровня надежности, в соответствии со стандартом DO-254 или другими стандартами.
Ключевые особенности:
• не зависящий от конечного устройства, синтезируемый VHDL- и Verilog-код;
• генерация кода поддерживается для системных объектов и функций MATLAB, а также блоков Simulink;
• автоматы Мили и Мура и реализация управляющей логики с использованием Stateflow;
• рабочий помощник для программирования плат с ПЛИС компаний Xilinx и Altera;
• совместное использование ресурсов и восстановление синхронизации для достижения компромисса между скоростью и площадью;
• двусторонняя трассируемость для стандарта DO-254;
• интеграция старого кода.
2
Генерация HDL-кода из MATLAB и Simulink с использованием HDL Coder.
Генерация HDL-кода
Генерация HDL-кода для ПЛИС и ASIC происходит в несколько шагов:
• создание проекта, комбинируя код MATLAB, блоки Simulink и диаграммы Stateflow;
• оптимизация модели для достижения требуемых показателей площади схемы и скорости;
• генерация HDL-кода с помощью встроенного помощника по работе с HDL для MATLAB и Simulink;
• проверка сгенерированного кода с использованием HDL Verifier.
Генерация HDL-кода и MATLAB
HDL Workflow Advisor автоматически конвертирует код MATLAB из арифметики с плавающей точкой в арифметику с фиксированной точкой и генерирует синтезируемый VHDL- и Verilog-код. Эта функция позволяет моделировать алгоритмы на высоком уровне, используя абстракт-ные конструкции MATLAB и системные объекты, обеспечивая при этом возможность генера-ции HDL-кода, оптимизированного для аппаратной реализации. HDL Coder предоставляет библиотеки готовых к использованию логических элементов, таких как счетчики и таймеры, которые написаны на MATLAB.
Генерация HDL-кода для Simulink
HDL Workflow Advisor также генерирует VHDL- и Verilog-код из Simulink и Stateflow. В Simulink для моделирования алгоритмов имеется библиотека, состоящая более чем из 200 блоков, включая Stateflow. Сюда входят такие сложные функции, как декодер Витерби, БПФ, каскады гребенчатых фильтров и интеграторов (CIC) и КИХ-фильтры для моделиро-вания систем связи и обработки сигналов и генерации HDL-кода.
3
Workflow Advisor для Simulink позволяет сгенерировать HDL-код для программирования ПЛИС компаний Xilinx и Altera прямо из Xilinx ISE и Altera Quartus II, соответственно.
Оптимизация HDL-кода
Достигнуть компромисса между занимаемой на кристалле площадью и скоростью работы можно, оптимизировав HDL-код за счет распределенной конвейеризации, потоковой обработ-ки и совместного использования ресурсов. В MATLAB имеется возможность воспользоваться улучшенной оптимизацией циклов, заключающаяся в потоковой обработке циклов и развер-тывании циклов для проектов MATLAB, содержащих циклы for или матричные операции. Постоянные массивы и матричные переменные в коде MATLAB можно расположить в блоки RAM. В Simulink можно реализовать многоканальные конструкции и техники сериализации, часто встречающиеся в приложениях обработки сигналов и связи.
4
HDL Workflow Advisor для MATLAB, который обеспечивает такие возможности оптимизации, как распределение памяти RAM, конвейеризация, совместное использование ресурсов и развертывание циклов.
Оптимизация по площади-скорости. Замена четырех умножителей одним уменьшает расход аппаратных ресурсов за счет повышения тактовой частоты в четыре раза.
Автоматизация работы с ПЛИС
Процесс реализации алгоритмов MATLAB и моделей Simulink в ПЛИС компаний Xilinx и Altera автоматизирован в HDL Workflow Advisor, где объединены все этапы разработки проектов для ПЛИС:
• проверка модели Simulink на возможность генерации HDL-кода;
• генерация HDL-кода, испытательного стенда и модели ко-симуляции;
• синтез и временной анализ через интеграцию с Xilinx ISE и Altera Quartus II;
• оценка затраченных на проект ресурсов;
• обратная аннотация модели Simulink с критическими по времени путями.
5
Обратная аннотация модели Simulink с критическими по времени путями, которая помогает определить узкие по скорости места и улучшить производительность системы.
После синтеза проекта можно просмотреть отчет по времени и выделить в модели Simulink узкие места с ограничениями по времени. Эта интеграция со средствами синтеза позволяет быстро производить рабочие операции и значительно сокращает время проектирования на ПЛИС.
Верификация HDL-кода
Чтобы быстро проверить полученный HDL-код, вместе с ним генерируются и тестовые векто-ра, которые можно настроить с помощью разнообразных опций, добавляющих дополнитель-ные входные сигналы для кода. Также можно создать скрипт для автоматизации процесса компиляции и симуляции кода в HDL-симуляторах.
HDL Verifier позволяет сгенерировать два типа моделей ко-симуляции:
• выполнение ко-симуляции HDL-кода в Simulink и HDL-симуляторе, таком как Cadence Incisive или Mentor Graphics ModelSim и Questa;
• FPGA-in-the-loop (FIL) — для проверки проекта в Simulink и плате с ПЛИС.
6
Автоматически сгенерированная модель FPGA-in-the-loop (FIL) для улучшения резкости видео. FIL-моделирование позволяет исследовать работу проекта на аппаратуре.
Документирование и трассируемость HDL-кода
Сгенерированный код документируется в HTML-отчете, который содержит HDL-код с гипер-ссылками и таблицу созданных файлов. Гиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink, из которых был получен код.
Поддерживается трассируемость HDL-кода для приложений с высоким уровнем целостности, которые придерживаются таких стандартов как DO-254, что позволяет разработчику:
• переходить к MATLAB-коду из сгенерированного HDL-кода;
• переходить между блоками Simulink и HDL-кодом, и наоборот;
• вставлять пользовательские комментарии и описания для улучшения читабельности кода.
Отчет генератора кода в MATLAB, где реализована навигация от HDL-кода к коду MATLAB.
7
Использование инструмента Simulink Verification and Validation вместе с HDL Coder позволяет вставлять системные требования в виде комментариев в HDL-код, полученный из Simulink и Stateflow. В результате можно добиться полной прозрачности на протяжении всего рабочего процесса, начиная от требований к системе и заканчивая сгенерированным HDL-кодом.
Отчет генератора кода в Simulink, в котором реализована двусторонняя навигация между моделью и HDL-кодом.
Дополнительная информация
Ресурсы
Информация о продуктах, примеры и системные требования www.sl-matlab.ru/services/products/
Пробная версия www.sl-matlab.ru/services/request_trial.php
Лицензирование и цены www.sl-matlab.ru/services/request_price.php
Техническая поддержка www.sl-matlab.ru/services/service/ssms.php
Сообщество пользователей matlab.exponenta.ru
Обучение www.sl-matlab.ru/training
Сторонние продукты и сервисы www.sl-matlab.ru/services/products/ppartnership.php
Контакты www.sl-matlab.ru/aboutE-mail: [email protected] Тел.: +7 (495) 232-00-23, доб. 0609