7
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; интеграция старого кода.

HDL Coder - MATLABГиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink,

  • Upload
    others

  • View
    52

  • Download
    0

Embed Size (px)

Citation preview

Page 1: HDL Coder - MATLABГиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink,

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;

• интеграция старого кода.

Page 2: HDL Coder - MATLABГиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink,

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-кода.

Page 3: HDL Coder - MATLABГиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink,

3

Workflow Advisor для Simulink позволяет сгенерировать HDL-код для программирования ПЛИС компаний Xilinx и Altera прямо из Xilinx ISE и Altera Quartus II, соответственно.

Оптимизация HDL-кода

Достигнуть компромисса между занимаемой на кристалле площадью и скоростью работы можно, оптимизировав HDL-код за счет распределенной конвейеризации, потоковой обработ-ки и совместного использования ресурсов. В MATLAB имеется возможность воспользоваться улучшенной оптимизацией циклов, заключающаяся в потоковой обработке циклов и развер-тывании циклов для проектов MATLAB, содержащих циклы for или матричные операции. Постоянные массивы и матричные переменные в коде MATLAB можно расположить в блоки RAM. В Simulink можно реализовать многоканальные конструкции и техники сериализации, часто встречающиеся в приложениях обработки сигналов и связи.

Page 4: HDL Coder - MATLABГиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink,

4

HDL Workflow Advisor для MATLAB, который обеспечивает такие возможности оптимизации, как распределение памяти RAM, конвейеризация, совместное использование ресурсов и развертывание циклов.

Оптимизация по площади-скорости. Замена четырех умножителей одним уменьшает расход аппаратных ресурсов за счет повышения тактовой частоты в четыре раза.

Автоматизация работы с ПЛИС

Процесс реализации алгоритмов MATLAB и моделей Simulink в ПЛИС компаний Xilinx и Altera автоматизирован в HDL Workflow Advisor, где объединены все этапы разработки проектов для ПЛИС:

• проверка модели Simulink на возможность генерации HDL-кода;

• генерация HDL-кода, испытательного стенда и модели ко-симуляции;

• синтез и временной анализ через интеграцию с Xilinx ISE и Altera Quartus II;

• оценка затраченных на проект ресурсов;

• обратная аннотация модели Simulink с критическими по времени путями.

Page 5: HDL Coder - MATLABГиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink,

5

Обратная аннотация модели Simulink с критическими по времени путями, которая помогает определить узкие по скорости места и улучшить производительность системы.

После синтеза проекта можно просмотреть отчет по времени и выделить в модели Simulink узкие места с ограничениями по времени. Эта интеграция со средствами синтеза позволяет быстро производить рабочие операции и значительно сокращает время проектирования на ПЛИС.

Верификация HDL-кода

Чтобы быстро проверить полученный HDL-код, вместе с ним генерируются и тестовые векто-ра, которые можно настроить с помощью разнообразных опций, добавляющих дополнитель-ные входные сигналы для кода. Также можно создать скрипт для автоматизации процесса компиляции и симуляции кода в HDL-симуляторах.

HDL Verifier позволяет сгенерировать два типа моделей ко-симуляции:

• выполнение ко-симуляции HDL-кода в Simulink и HDL-симуляторе, таком как Cadence Incisive или Mentor Graphics ModelSim и Questa;

• FPGA-in-the-loop (FIL) — для проверки проекта в Simulink и плате с ПЛИС.

Page 6: HDL Coder - MATLABГиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink,

6

Автоматически сгенерированная модель FPGA-in-the-loop (FIL) для улучшения резкости видео. FIL-моделирование позволяет исследовать работу проекта на аппаратуре.

Документирование и трассируемость HDL-кода

Сгенерированный код документируется в HTML-отчете, который содержит HDL-код с гипер-ссылками и таблицу созданных файлов. Гиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink, из которых был получен код.

Поддерживается трассируемость HDL-кода для приложений с высоким уровнем целостности, которые придерживаются таких стандартов как DO-254, что позволяет разработчику:

• переходить к MATLAB-коду из сгенерированного HDL-кода;

• переходить между блоками Simulink и HDL-кодом, и наоборот;

• вставлять пользовательские комментарии и описания для улучшения читабельности кода.

Отчет генератора кода в MATLAB, где реализована навигация от HDL-кода к коду MATLAB.

Page 7: HDL Coder - MATLABГиперссылки в HDL-коде позволяют переходить к соответствующим алгоритмам MATLAB или блокам Simulink,

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