MATLAB к HDL-коду и синтезу

MATLAB к преобразованию HDL-кода

Задача MATLAB to HDL Workflow в HDL Workflow Advisor генерирует HDL-код от фиксированной точки код MATLAB®, и моделирует и проверяет HDL по алгоритму фиксированной точки. HDL Coder™ затем запускает синтез, и опционально запускает место и маршрут, чтобы сгенерировать описание схемы, подходящее для программирования ASIC или FPGA.

Генерация кода: целевая вкладка

Выберите целевой компьютер и язык, и потребовал выходных параметров.

Введите параметры

Target

Целевой компьютер. Выберите из списка:

Типичный ASIC/FPGA
Xilinx
Altera
Симуляция

Language

Выберите язык (VHDL® или Verilog®), в котором сгенерирован код. Выбранный язык упоминается как выходной язык.

Значение по умолчанию: VHDL

Check HDL Conformance

Включите проверку соответствия HDL.

Значение по умолчанию: 'off'

Generate HDL

Включите генерацию HDL-кода для алгоритма MATLAB фиксированной точки.

Значение по умолчанию: на

Generate HDL Test Bench

Включите генерацию HDL-кода для испытательного стенда фиксированной точки.

Значение по умолчанию: 'off'

Generate EDA Scripts

Включите генерацию файлов скрипта для сторонних инструментов автоматизации электронного проектирования (EDA). Эти скрипты позволяют вам скомпилировать и моделировать сгенерированный HDL-код и синтезировать сгенерированный HDL-код.

Значение по умолчанию: на

Генерация кода: вкладка стиля кодирования

Параметры, которые влияют на стиль сгенерированного кода.

Введите параметры

Preserve MATLAB code comments

Включайте комментарии кода MATLAB в сгенерированный код.

Значение по умолчанию: на

Include MATLAB source code as comments

Включайте исходный код MATLAB как комментарии в сгенерированном коде. Комментарии предшествуют связанному сгенерированному коду. Включает функциональную подпись в функциональный баннер.

Значение по умолчанию: на

Generate Report

Включите отчет генерации кода.

Значение по умолчанию: 'off'

VHDL File Extension

Задайте расширение файла для сгенерированных файлов VHDL.

Значение по умолчанию: .vhd

Verilog File Extension

Задайте расширение файла для сгенерированных файлов Verilog.

Значение по умолчанию: V

Comment in header

Задайте строки с комментариями в заголовке сгенерированного HDL и файлов испытательного стенда.

Значение по умолчанию: 'none'

Текст, введенный в этом поле как вектор символов, генерирует строку с комментариями в заголовке сгенерированного кода. Генератор кода добавляет ведущие символы комментария для выходного языка. Когда новые строки или переводы строки включены в текст, генератор кода испускает однострочные комментарии для каждой новой строки.

Package postfix

HDL Coder применяет эту опцию, только если файл пакета требуется для проекта.

Значение по умолчанию: _pkg

Entity conflict postfix

Задайте вектор символов, чтобы разрешить дублирующиеся имена модуля сущности или Verilog VHDL в сгенерированном коде.

Значение по умолчанию: _block

Reserved word postfix

Задайте вектор символов, чтобы добавить, чтобы оценить имена, постфиксные значения или метки, которые являются зарезервированными словами VHDL или Verilog.

Значение по умолчанию: _rsvd

Clocked process postfix

Задайте вектор символов, чтобы добавить к именам процесса часов HDL.

Значение по умолчанию: _process

Complex real part postfix

Задайте вектор символов, чтобы добавить к действительной части комплексных имен сигнала.

Значение по умолчанию: '_re'

Complex imaginary part postfix

Задайте вектор символов, чтобы добавить к мнимой части комплексных имен сигнала.

Значение по умолчанию: \Im

Pipeline postfix

Задайте вектор символов, чтобы добавить к именам конвейерных регистров ввода или вывода.

Значение по умолчанию: '_pipe'

Enable prefix

Задайте базовое имя, когда вектор символов для внутренних часов включает и другие сигналы управления потоками в сгенерированном коде.

Значение по умолчанию: 'enb'

Генерация кода: часы и вкладка портов

Установки часов и параметры порта

Введите параметры

Reset type

Задайте, использовать ли асинхронную или синхронную логику сброса при генерации HDL-кода для регистров.

Значение по умолчанию: асинхронный

Reset Asserted level

Задайте, является ли утверждаемый (активный) уровень входного сигнала сброса возбуждаемым высоким уровнем сигнала или возбуждаемым низким уровнем сигнала.

Значение по умолчанию: возбуждаемый высоким уровнем сигнала

Reset input port

Введите имя для входного порта сброса в сгенерированном HDL-коде.

Значение по умолчанию: сброс

Clock input port

Задайте имя для входного порта часов в сгенерированном HDL-коде.

Значение по умолчанию: clk

Clock enable input port

Укажите, что имя для часов включает входной порт в сгенерированном HDL-коде.

Значение по умолчанию: clk

Oversampling factor

Задайте частоту глобальных часов сверхдискретизации как кратное базовой ставке проекта под тестом (DUT) (1).

Значение по умолчанию: 1

Input data type

Задайте тип данных HDL для входных портов.

Для VHDL опции:

  • std_logic_vector

    Указывает, что VHDL вводит STD_LOGIC_VECTOR

  • со знаком/без знака

    Задает тип VHDL, СО ЗНАКОМ или БЕЗ ЗНАКА

Значение по умолчанию: std_logic_vector

Для Verilog опции:

  • В сгенерированном коде Verilog тип данных для всех портов является 'проводом'. Поэтому Input data type отключен, когда выходным языком является Verilog.

Значение по умолчанию: провод

Output data type

Задайте тип данных HDL для типов выходных данных.

Для VHDL опции:

  • То же самое как тип входных данных

    Указывает, что выходные порты имеют тот же тип, заданный типом Входных данных.

  • std_logic_vector

    Указывает, что VHDL вводит STD_LOGIC_VECTOR

  • со знаком/без знака

    Задает тип VHDL, СО ЗНАКОМ или БЕЗ ЗНАКА

Значение по умолчанию: То же самое как тип входных данных

Для Verilog опции:

  • В сгенерированном коде Verilog тип данных для всех портов является 'проводом'. Поэтому тип Выходных данных отключен, когда выходным языком является Verilog.

    Значение по умолчанию: провод

Clock enable output port

Укажите, что имя для часов включает входной порт в сгенерированном HDL-коде.

Значение по умолчанию: clk_enable

Генерация кода: вкладка испытательного стенда

Настройки испытательного стенда.

Введите параметры

Test bench name postfix

Задайте вектор символов, добавленный к именам ссылочных сигналов, сгенерированных в коде испытательного стенда.

Значение по умолчанию: '_tb’

Force clock

Задайте, разрешают ли часы сил испытательного стенда входные сигналы.

Значение по умолчанию: на

Clock High time (ns)

Задайте период в наносекундах, в течение которых испытательный стенд управляет входными сигналами часов высоко (1).

Значение по умолчанию: 5

Clock low time (ns)

Задайте период в наносекундах, в течение которых испытательный стенд управляет входными сигналами часов низко (0).

Значение по умолчанию: 5

Hold time (ns)

Задайте время задержки, в наносекундах, для входных сигналов и обеспеченных входных сигналов сброса.

Значение по умолчанию: 2 (учитывая период часов по умолчанию 10 нс)

Setup time (ns)

Отобразите время установки для сигналов ввода данных.

Значение по умолчанию: 0

Force clock enable

Задайте, разрешают ли часы сил испытательного стенда входные сигналы.

Значение по умолчанию: на

Clock enable delay (in clock cycles)

Задайте прошедшее время (за такты) между deassertion сброса, и утверждение часов включают.

Значение по умолчанию: 1

Force reset

Задайте, обеспечивает ли испытательный стенд входные сигналы сброса.

Значение по умолчанию: на

Reset length (in clock cycles)

Задайте отрезок времени (за такты), во время которого утверждается сброс.

Значение по умолчанию: 2

Hold input data between samples

Задайте, сколько времени значения сигналов подуровня сохранены в допустимом состоянии.

Значение по умолчанию: на

Initialize testbench inputs

Задайте начальное значение, управляемое на входных параметрах испытательного стенда, прежде чем данные будут утверждаться к устройству под тестом (DUT).

Значение по умолчанию: 'off'

Multi file testbench

Разделите сгенерированный испытательный стенд на функции помощника, данные и файлы кода испытательного стенда HDL.

Значение по умолчанию: 'off'

Test bench data file name postfix

Задайте суффикс, добавленный к имени файла данных испытательного стенда при генерации многофайлового испытательного стенда.

Значение по умолчанию: данные

Test bench reference post fix

Задайте вектор символов, чтобы добавить к именам ссылочных сигналов, сгенерированных в коде испытательного стенда.

Значение по умолчанию: '_ref'

Ignore data checking (number of samples)

Задайте количество выборок, во время которых подавлена проверка выходных данных.

Значение по умолчанию: 0

Use fiaccel to accelerate test bench logging

Чтобы сгенерировать испытательный стенд, HDL Coder моделирует оригинальный код MATLAB. Используйте функцию fiaccel Fixed-Point Designer™, чтобы ускорить эту симуляцию и ускорить журналирование испытательного стенда.

Значение по умолчанию: на

Генерация кода: вкладка оптимизации

Настройки оптимизации

Введите параметры

Map persistent array variables to RAMs

Выберите, чтобы сопоставить персистентные переменные типа массив с RAM вместо того, чтобы сопоставить со сдвиговыми регистрами.

Значение по умолчанию: 'off'

Зависимости:

  • RAM Mapping Threshold

  • Persistent variable names for RAM Mapping

RAM Mapping Threshold

Задайте минимальный размер RAM, требуемый для отображения персистентных переменных типа массив к RAM.

Значение по умолчанию: 256

Persistent variable names for RAM Mapping

Обеспечьте имена персистентных переменных, чтобы сопоставить с RAM.

Значение по умолчанию: 'none'

Input Pipelining

Задайте количество конвейерных регистров, чтобы вставить во входных портах верхнего уровня. Может улучшать производительность и помочь соответствовать ограничениям синхронизации.

Значение по умолчанию: 0

Output Pipelining

Задайте количество конвейерных регистров, чтобы вставить в выходных портах верхнего уровня. Может улучшать производительность и помочь соответствовать ограничениям синхронизации.

Значение по умолчанию: 0

Distribute Pipeline Registers

Уменьшает критический путь путем изменения размещения регистров в проекте. Работает со всеми регистрами, включая те вставленное использование Input Pipelining и параметров Output Pipelining и внутренних регистров проекта.

Значение по умолчанию: 'off'

Sharing Factor

Количество дополнительных источников, которые могут совместно использовать один ресурс, такой как множитель. Чтобы совместно использовать ресурсы, установите Sharing Factor на 2 или выше; значение 0 или 1 выключает совместное использование.

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

Значение по умолчанию: 0

Симуляция и верификация

Моделирует сгенерированный HDL-код с помощью выбранного инструмента симуляции.

Введите параметры

Инструмент Simulation

Перечисляет доступные инструменты симуляции.

Значение по умолчанию: 'none'

Skip this step

Значение по умолчанию: 'off'

Результаты и рекомендуемые действия

УсловияРекомендуемое действие
Никакой инструмент симуляции, доступный на системном пути.Добавьте свой инструмент path симуляции в системный путь MATLAB, затем перезапустите MATLAB. Для получения дополнительной информации смотрите Setup Инструмента Path Синтеза.

Синтез и анализ

Эта папка содержит задачи создать проект синтеза для HDL-кода. Задача затем запускает синтез и, опционально, запускает место и маршрут, чтобы сгенерировать описание схемы, подходящее для программирования ASIC или FPGA.

Введите параметры

Skip this step

Значение по умолчанию: 'off'

Пропустите этот шаг, если вы интересуетесь только симуляцией, или у вас нет инструмента синтеза.

Создайте проект

Создайте проект синтеза для поддерживаемого инструмента синтеза.

Описание.  Эта задача создает проект синтеза для выбранного инструмента синтеза и загружает проект с HDL-кодом, сгенерированным для вашего алгоритма MATLAB.

Можно выбрать семейство, устройство, пакет и скорость, которую вы хотите.

Когда создание проекта завершено, HDL Workflow Advisor отображает ссылку на проект на правой панели. Щелкните по этой ссылке, чтобы просмотреть проект в окне проекта инструмента синтеза.

Введите параметры

Synthesis Tool

Выбор из списка:

  • Altera Quartus II

    Сгенерируйте проект синтеза для Altera® Quartus II. Когда вы выбираете эту опцию, наборы HDL Coder:

    • Chip Family к Stratix II

    • Device Name к EP2S60F1020C4

    Можно вручную изменить эти настройки.

  • Xilinx ISE

    Сгенерируйте проект синтеза для Xilinx® ISE. Когда вы выбираете эту опцию, HDL Coder:

    • Наборы Chip Family к Virtex4

    • Наборы Device Name к xc4vsx35

    • Наборы Package Name к ff6...

    • Наборы Speed Value к —...

    Можно вручную изменить эти настройки.

Значение по умолчанию: No Synthesis Tool Specified

Когда вы выбираете No Synthesis Tool Specified, HDL Coder не генерирует проект синтеза. Это очищает и отключает поля в панели the Synthesis Tool Selection.

Chip Family

Семейство целевых устройств.

Значение по умолчанию: 'none'

Device Name

Определенное целевое устройство, в выбранном семействе.

Значение по умолчанию: 'none'

Package Name

Доступный выбор пакета. Семейство и устройство определяют этот выбор.

Значение по умолчанию: 'none'

Speed Value

Доступный выбор скорости. Семейство, устройство и пакет определяют этот выбор.

Значение по умолчанию: 'none'

Результаты и рекомендуемые действия

УсловияРекомендуемое действие
Инструменту Synthesis не удается создать проект.Считайте сообщение об ошибке, возвращенное инструментом синтеза, затем проверяйте версию инструмента синтеза и проверяйте, что у вас есть разрешение записи для папки проекта.
Инструмент Synthesis не появляется в выпадающем списке.Добавьте свой инструмент path синтеза в системный путь MATLAB, затем перезапустите MATLAB. Для получения дополнительной информации смотрите Setup Инструмента Path Синтеза.

Запустите логический синтез

Запустите выбранный инструмент синтеза и синтезируйте сгенерированный HDL-код.

Описание.  Эта задача:

  • Запускает инструмент синтеза в фоновом режиме.

  • Открывает ранее сгенерированный проект синтеза, компилирует HDL-код, синтезирует проект и испускает списки соединений и связанные файлы.

  • Отображается синтез входят в систему подпанель Result.

Результаты и рекомендуемые действия

УсловияРекомендуемое действие
Инструмент Synthesis перестал работать при выполнении места и маршрута.Считайте сообщение об ошибке, возвращенное инструментом синтеза, измените код MATLAB, затем повторно выполнитесь с начала рабочего процесса HDL Coder.

Запустите место и маршрут

Запускает инструмент синтеза в фоновом режиме и запускает процесс Места и Маршрута.

Описание.  Эта задача:

  • Запускает инструмент синтеза в фоновом режиме.

  • Запускает процесс Места и Маршрута, который берет описание схемы, произведенное предыдущим процессом отображения, и испускает описание схемы, подходящее для программирования FPGA.

  • Отображает журнал в подпанели Результата.

Введите параметры

Skip this step

Если вы выбираете Skip this step, HDL Workflow Advisor выполняет рабочий процесс, но не использует Перформ-Плэйс и Маршрут, отмечая его пройден. Вы можете хотеть выбрать Skip this step, если вы предпочитаете делать, место и маршрут работают вручную.

Значение по умолчанию: 'off'

Результаты и рекомендуемые действия

УсловияРекомендуемое действие
Инструмент Synthesis перестал работать при выполнении места и маршрута.Считайте сообщение об ошибке, возвращенное инструментом синтеза, измените код MATLAB, затем повторно выполнитесь с начала рабочего процесса HDL Coder.