exponenta event banner

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

Преобразование кода MATLAB в код HDL

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

Создание кода: вкладка «Цель»

Выберите целевое оборудование и язык и требуемые выходные данные.

Входные параметры

Цель

Оконечное оборудование. Выберите из списка:

Общий ASIC/FPGA
Xilinx
Altera
Моделирование

Язык

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

По умолчанию: VHDL

Проверка соответствия ЛПВП

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

По умолчанию: Откл.

Создание ЛПВП

Разрешить генерацию кода HDL для алгоритма MATLAB с фиксированной точкой.

По умолчанию: Вкл.

Создание испытательного стенда ЛПВП

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

По умолчанию: Откл.

Создание сценариев EDA

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

По умолчанию: Вкл.

Создание кода: вкладка «Стиль кодирования»

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

Входные параметры

Сохранение комментариев кода MATLAB

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

По умолчанию: Вкл.

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

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

По умолчанию: Вкл.

Создать отчет

Включить отчет о создании кода.

По умолчанию: Откл.

Расширение файла VHDL

Укажите расширение имени файла для созданных файлов VHDL.

По умолчанию: .vhd

Расширение файла Verilog

Укажите расширение имени файла для созданных файлов Verilog.

По умолчанию: .v

Комментарий в заголовке

Укажите строки комментариев в заголовке созданных файлов HDL и тестового стенда.

По умолчанию: Нет

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

Постфикс пакета

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

По умолчанию: _pkg

Постфикс конфликта сущностей

Укажите вектор символов для разрешения повторяющихся имен объектов VHDL или модулей Verilog в сгенерированном коде.

По умолчанию: _block

Зарезервированное слово postfix

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

По умолчанию: _rsvd

Постфикс синхронизированного процесса

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

По умолчанию: _process

Сложный постфикс реальной части

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

По умолчанию: '_ re'

Постфикс сложной мнимой части

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

По умолчанию: '_ im'

Постфикс трубопровода

Укажите символьный вектор для добавления к именам регистров входного или выходного конвейера.

По умолчанию: '_ pipe'

Включить префикс

Укажите базовое имя в качестве символьного вектора для включения внутренних часов и других сигналов управления потоком в сгенерированном коде.

По умолчанию: 'enb'

Создание кода: вкладка «Часы и порты»

Параметры тактового генератора и порта

Входные параметры

Тип сброса

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

По умолчанию: Асинхронный

Сбросить утвержденный уровень

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

По умолчанию: Активно-высоко

Сброс входного порта

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

По умолчанию: сброс

Входной порт синхросигнала

Укажите имя входного порта синхронизации в сгенерированном коде HDL.

По умолчанию: clk

Входной порт включения синхросигнала

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

По умолчанию: clk

Коэффициент избыточной выборки

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

По умолчанию: 1

Тип входных данных

Укажите тип данных HDL для портов ввода.

Для VHDL доступны следующие опции:

  • std_logic_vector

    Указывает тип VHDL STD_LOGIC_VECTOR

  • подписано/не подписано

    Указывает тип VHDL SIGNED или UNSIGNED

По умолчанию: std_logic_vector

Для Verilog доступны следующие опции:

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

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

Тип выходных данных

Укажите тип данных HDL для типов выходных данных.

Для VHDL доступны следующие опции:

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

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

  • std_logic_vector

    Указывает тип VHDL STD_LOGIC_VECTOR

  • подписано/не подписано

    Указывает тип VHDL SIGNED или UNSIGNED

По умолчанию: совпадает с типом входных данных

Для Verilog доступны следующие опции:

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

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

Выходной порт включения тактового синхросигнала

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

По умолчанию: clk_enable

Создание кода: закладка «Испытательный стенд»

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

Входные параметры

Постфикс имени испытательного стенда

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

По умолчанию: '_ tb "

Силовые часы

Укажите, будет ли испытательный стенд принудительно включать входные сигналы синхронизации.

По умолчанию: Вкл.

Часы высокого времени (нс)

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

По умолчанию: 5

Малое время синхронизации (нс)

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

По умолчанию: 5

Время удержания (нс)

Укажите время удержания входных сигналов и входных сигналов принудительного сброса в наносекундах.

Значение по умолчанию: 2 (значение по умолчанию - 10 нс)

Время настройки (нс)

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

По умолчанию: 0

Принудительное включение синхросигнала

Укажите, будет ли испытательный стенд принудительно включать входные сигналы синхронизации.

По умолчанию: Вкл.

Задержка включения синхронизации (в тактах)

Определите истекшее время (в тактах) между сбросом сброса и включением синхронизации.

По умолчанию: 1

Принудительный сброс

Укажите, принудительно ли испытательный стенд сбрасывает входные сигналы.

По умолчанию: Вкл.

Длина сброса (в тактах)

Определите период времени (в тактах), в течение которого устанавливается сброс.

По умолчанию: 2

Удержание входных данных между образцами

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

По умолчанию: Вкл.

Инициализация входов testbench

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

По умолчанию: Откл.

Многофайловые средства тестирования

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

По умолчанию: Откл.

Постфикс имени файла данных испытательного стенда

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

По умолчанию: '_ data "

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

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

По умолчанию: '_ ref'

Игнорировать проверку данных (количество выборок)

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

По умолчанию: 0

Используйте fiaccel для ускорения регистрации на стенде

Для создания тестового стенда HDL Coder моделирует исходный код MATLAB. Используйте Designer™ «Фиксированная точка» fiaccel функция для ускорения этого моделирования и ускорения регистрации на испытательном стенде.

По умолчанию: Вкл.

Создание кода: вкладка «Оптимизации»

Параметры оптимизации

Входные параметры

Сопоставление переменных постоянного массива с RAM

Используется для отображения переменных постоянного массива в RAM вместо отображения в регистры сдвига.

По умолчанию: Откл.

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

  • Порог отображения ОЗУ

  • Имена постоянных переменных для сопоставления RAM

Порог отображения ОЗУ

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

По умолчанию: 256

Имена постоянных переменных для сопоставления RAM

Укажите имена постоянных переменных для отображения в RAM.

По умолчанию: Нет

Входная конвейерная обработка

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

По умолчанию: 0

Выходная конвейерная обработка

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

По умолчанию: 0

Распределить регистры трубопроводов

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

По умолчанию: Откл.

Коэффициент совместного использования

Количество дополнительных источников, которые могут совместно использовать один ресурс, например множитель. Для совместного использования ресурсов установите для параметра «Коэффициент совместного использования» значение 2 или выше; значение 0 или 1 отключает общий доступ.

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

По умолчанию: 0

Моделирование и проверка

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

Входные параметры

Инструмент моделирования

Список доступных инструментов моделирования.

По умолчанию: Нет

Пропустить этот шаг

По умолчанию: Откл.

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

УсловияРекомендуемое действие
Инструмент моделирования не доступен на системном пути.Добавьте траекторию инструмента моделирования к системной траектории MATLAB, а затем перезапустите MATLAB. Дополнительные сведения см. в разделе Настройка траектории инструмента синтеза.

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

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

Входные параметры

Пропустить этот шаг

По умолчанию: Откл.

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

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

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

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

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

По завершении создания проекта помощник по рабочим процессам HDL отображает ссылку на проект на правой панели. Щелкните эту ссылку, чтобы просмотреть проект в окне проекта инструмента синтеза.

Входные параметры

Средство синтеза

Выберите из списка:

  • Altera Quartus II

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

    • Семейство микросхем для Stratix II

    • Имя устройства для EP2S60F1020C4

    Эти параметры можно изменить вручную.

  • Xilinx ISE

    Создание проекта синтеза для Xilinx ® ISE. При выборе этой опции кодер HDL:

    • Задание для семейства микросхем значения Virtex4

    • Задает для имени устройства значение xc4vsx35

    • Задает для имени пакета значение ff6...

    • Установка значения скорости в —...

    Эти параметры можно изменить вручную.

По умолчанию: No Synthesis Tool Specified

При выборе No Synthesis Tool SpecifiedКодер HDL не генерирует проект синтеза. Он очищает и отключает поля на панели Выбор инструмента синтеза (Synthesis Tool Selection).

Семейство чипов

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

По умолчанию: Нет

Имя устройства

Конкретное целевое устройство в пределах выбранного семейства.

По умолчанию: Нет

Имя пакета

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

По умолчанию: Нет

Значение скорости

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

По умолчанию: Нет

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

УсловияРекомендуемое действие
Средству синтеза не удается создать проект.Прочитайте сообщение об ошибке, возвращенное средством синтеза, проверьте версию средства синтеза и убедитесь, что у вас есть разрешение на запись для папки проекта.
Средство синтеза не отображается в раскрывающемся списке.Добавьте траекторию инструмента синтеза в системную траекторию MATLAB, а затем перезапустите MATLAB. Дополнительные сведения см. в разделе Настройка траектории инструмента синтеза.

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

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

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

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

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

  • Отображает журнал синтеза в субпане Result.

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

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

Место выполнения и маршрут

Запускает инструмент синтеза в фоновом режиме и запускает процесс Place and Route.

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

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

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

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

Входные параметры

Пропустить этот шаг

Если выбрать Пропустить этот шаг (Skip this step), помощник HDL Workflow Advisor выполнит рабочий процесс, но пропустит команду Выполнить место и маршрут (Perform Place and Route) с пометкой Пройдено (Passed). Можно выбрать Пропустить этот шаг, если вы предпочитаете выполнять работу по месту и маршруту вручную.

По умолчанию: Откл.

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

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