Продукт для генерации полноценного Verilog и VHDL-кода по Simulink моделям и Stateflow диаграммам.
HDL Coder - это продукт семейства MATLAB и Simulink для генерации полноценного Verilog и VHDL-кода по Simulink моделям и Stateflow диаграммам.

Пакет расширяет возможности разработки аппаратных устройств в среде MATLAB и обеспечивает генерацию VHDL и Verilog кода c побитовым и цикловым соответствием исходной модели Simulink.

HDL Coder позволяет создавать аппаратные устройства на основе программируемых логических интегральных схем (ПЛИС/FPGA) и специализированных интегральных схем (СИС /ASIC), разрабатывать прототипы, тестировать и проверять HDL-реализации Simulink-моделей. HDL Coder генерирует читаемый и изменяемый VHDL или Verilog-код без аппаратной привязки к конкретной платформе.


Генерация 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 кода.

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

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

В Simulink можно реализовать многоканальные конструкции и техники сериализации часто встречающиеся в приложениях обработки сигналов и связи.

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

Также можно создать скрипт для автоматизации процесса компиляции и симуляции кода в HDL симуляторах.

HDL Verifier позволяет сгенерировать два типа моделей ко-симуляции:
  • выполнение ко-симуляции HDL кода в Simulink и HDL симуляторе, таком как Cadence Incisive или Mentor Graphics ModelSim и Questa;
  • FPGA-in-the-loop (FIL) – для проверки проекта в Simulink и плате с ПЛИС.
Поделиться
*
Настоящим в соответствии с Федеральным законом № 152-ФЗ «О персональных данных» от 27.07.2006, отправляя данную форму, вы подтверждаете свое согласие на обработку персональных данных . Мы, ООО ЦИТМ "Экспонента" и аффилированные к нему лица, гарантируем конфиденциальность получаемой нами информации. Обработка персональных данных осуществляется в целях эффективного исполнения заказов, договоров и пр. в соответствии с «Политикой конфиденциальности персональных данных». * - обязательные поля