Задача MATLAB to HDL Workflow в HDL Workflow Advisor генерирует HDL-код из MATLAB с фиксированной точкой® код, и моделирует и проверяет HDL на соответствие алгоритму с фиксированной точкой. HDL Coder™ затем выполняет синтез и опционально запускает место и маршрут, чтобы сгенерировать описание схемы, подходящей для программирования ASIC или FPGA.
Выберите целевой компьютер и язык, а также необходимые выходы.
Целевой компьютер. Выберите из списка:
Типовой ASIC/FPGA |
Xilinx |
Altera |
Симуляция |
Выберите язык (VHDL® или Verilog®), в котором генерируется код. Выбранный язык называется целевым.
По умолчанию: VHDL
Включите проверку соответствия HDL.
По умолчанию: Off
Включите генерацию HDL-кода для алгоритма MATLAB с фиксированной точкой.
По умолчанию: On
Включите генерацию HDL-кода для испытательного стенда с фиксированной точкой.
По умолчанию: Off
Включите генерацию файлов скриптов для сторонних электронных инструментов автоматизации проектирования (EDA). Эти скрипты позволяют вам компилировать и симулировать сгенерированный HDL-код и синтезировать сгенерированный HDL-код.
По умолчанию: On
Параметры, которые влияют на стиль сгенерированного кода.
Включите комментарии кода MATLAB в сгенерированный код.
По умолчанию: On
Включите исходный код MATLAB в качестве комментариев в сгенерированный код. Комментарии предшествуют связанному сгенерированному коду. Включает сигнатуру функции в знамя функции.
По умолчанию: On
Включите отчет генерации кода.
По умолчанию: Off
Укажите расширение имени файла для сгенерированных файлов VHDL.
По умолчанию: .vhd
Укажите расширение имени файла для сгенерированных файлов Verilog.
По умолчанию: .v
Укажите строки с комментариями в заголовке сгенерированных файлов HDL и испытательный стенд.
По умолчанию: Нет
Текст, введенный в это поле как вектор символов, генерирует строку с комментариями в заголовке сгенерированного кода. Генератор кода добавляет начальные символы комментария для целевого языка. Когда новые строки или linefeeds включены в текст, генератор кода излучает однострочные комментарии для каждой новой строки.
HDL Coder применяет эту опцию только в том случае, если для проекта требуется файл пакета.
По умолчанию: _pkg
Укажите вектор символов для разрешения повторяющихся имен сущностей VHDL или модулей Verilog в сгенерированном коде.
По умолчанию: _block
Задайте вектор символов для добавления к именам значений, постфиксным значениям или меткам, которые являются зарезервированными словами VHDL или Verilog.
По умолчанию: _rsvd
Укажите вектор символов для добавления к именам процессов HDL-синхроимпульса.
По умолчанию: _process
Задайте вектор символов, чтобы добавить к действительной части имен сложных сигналов.
По умолчанию: '_ r'
Задайте вектор символов, чтобы добавить к мнимой части имен сложных сигналов.
По умолчанию: '_ m'
Задайте вектор символов, чтобы добавить к именам входа или выходных регистров трубопровода.
По умолчанию: '_ трубопровод'
Задайте базовое имя как вектор символов для внутренних синхроимпульсов и других сигналов управления потоком в сгенерированном коде.
По умолчанию: 'enb'
Настройки часов и портов
Укажите, использовать ли асинхронную или синхронную логику сброса при генерации HDL-кода для регистров.
По умолчанию: Asynchronous
Задайте, является ли заданный (активный) уровень входного сигнала сброса активным-высоким или активно-низким.
По умолчанию: Активный-высокий
Введите имя входного порта сброса в сгенерированном 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». Поэтому Input data type отключается, когда целевой язык является Verilog.
По умолчанию: провода
Укажите тип данных HDL для типов выходных данных.
Для VHDL опции:
Аналогично типу входных данных
Указывает, что выходные порты имеют тот же тип, заданный типом входных данных.
std_logic_vector
Задает тип VHDL STD_LOGIC_VECTOR
подпись/без подписи
Задает тип VHDL SIGNED или UNSIGNED
По умолчанию: То же, что и тип входных данных
Для Verilog опции:
В сгенерированном коде Verilog типом данных для всех портов является «wire». Поэтому тип выходных данных отключен, когда целевой язык является Verilog.
По умолчанию: провода
Укажите имя входного порта включения синхроимпульса в сгенерированном HDL-коде.
По умолчанию: clk_enable
Испытательные стенды.
Задайте вектор символов, добавленное к именам опорных сигналов, сгенерированных в испытательный стенд коде.
По умолчанию: '_ tb "
Укажите, принудительно ли испытательный стенд включает входные сигналы синхроимпульса.
По умолчанию: On
Укажите период в наносекундах, в течение которого испытательный стенд управляет высокими входными сигналами синхроимпульса (1).
По умолчанию: 5
Укажите период в наносекундах, в течение которого испытательный стенд управляет входными сигналами синхроимпульса с низким значением (0).
По умолчанию: 5
Задайте время удержания, в наносекундах, для входных сигналов и входных сигналов принудительного сброса.
По умолчанию: 2 (учитывая период времени по умолчанию 10 нс)
Отобразите время настройки входных сигналов данных.
По умолчанию: 0
Укажите, принудительно ли испытательный стенд включает входные сигналы синхроимпульса.
По умолчанию: On
Задайте истекшее время (в тактах) между отключением сброса и включением синхроимпульса.
По умолчанию: 1
Определите, принудительно ли испытательный стенд сбрасывает входные сигналы.
По умолчанию: On
Задайте интервал времени (в тактах), в течение которого выполняется сброс.
По умолчанию: 2
Задайте, как долго значения сигналов субрейта находятся в допустимом состоянии.
По умолчанию: On
Укажите начальное значение, управляемое на входах испытательного стенда, прежде чем данные будут получены на тестируемое устройство (DUT).
По умолчанию: Off
Разделите сгенерированные испытательные стенды на вспомогательные функции, данные и файлы HDL- испытательного стенда кода.
По умолчанию: Off
Укажите суффикс, добавленный к испытательному стенду имени файла данных при генерации мультифайла испытательного стенда.
По умолчанию: '_ данные "
Укажите вектор символов для добавления к именам опорных сигналов, сгенерированных в испытательный стенд коде.
По умолчанию: '_ ref'
Задайте количество выборок, во время которых подавляется проверка выходных данных.
По умолчанию: 0
Чтобы сгенерировать испытательный стенд, HDL Coder моделирует оригинальный код MATLAB. Используйте Fixed-Point Designer™ fiaccel
функция для ускорения этой симуляции и ускорения логгирования на испытательном стенде.
По умолчанию: On
Настройки оптимизации
Выберите, чтобы сопоставить переменные стойкого массива с ОЗУ вместо отображения в регистры сдвига.
По умолчанию: Off
Зависимости:
RAM Mapping Threshold
Persistent variable names for RAM Mapping
Укажите минимальный размер ОЗУ, необходимый для отображения переменных стойкого массива с ОЗУ.
По умолчанию: 256
Укажите имена постоянных переменных для сопоставления с ОЗУ.
По умолчанию: Нет
Задайте количество регистров трубопровода для вставки в входные порты верхнего уровня. Может улучшить эффективность и помочь удовлетворить временные ограничения.
По умолчанию: 0
Задайте количество регистров трубопровода для вставки в выходные порты верхнего уровня. Может улучшить эффективность и помочь удовлетворить временные ограничения.
По умолчанию: 0
Уменьшает критический путь путем изменения размещения регистров в проекте. Работает со всеми регистрами, включая те, что вставляются с использованием параметров Input Pipelining и Output Pipelining, и внутренних регистров проекта.
По умолчанию: Off
Количество дополнительных источников, которые могут совместно использовать один ресурс, например, множитель. Для совместного использования ресурсов установите Sharing Factor равным 2 или выше; значение 0 или 1 отключает совместное использование.
В проекте, который выполняет идентичные операции умножения, HDL Coder можете уменьшить количество умножителей на коэффициент совместного использования. Это может значительно уменьшить площадь.
По умолчанию: 0
Моделирует сгенерированный HDL-код с помощью выбранного инструмента симуляции.
Список доступных инструментов симуляции.
По умолчанию: Нет
По умолчанию: Off
Условия | Рекомендуемое действие |
---|---|
В пути к системе отсутствует инструмент симуляции. | Добавьте путь инструмента симуляции к системному пути MATLAB, а затем перезапустите MATLAB. Для получения дополнительной информации см. Раздел «Setup пути инструмента синтеза». |
Эта папка содержит задачи по созданию проекта синтеза для HDL-кода. Затем задача запускает синтез и, опционально, запускает место и маршрут, чтобы сгенерировать описание схемы, подходящей для программирования ASIC или FPGA.
По умолчанию: Off
Пропустите этот шаг, если вы заинтересованы только в симуляции или у вас нет инструмента синтеза.
Создайте проект синтеза для поддерживаемого инструмента синтеза.
Описание. Эта задача создает проект синтеза для выбранного инструмента синтеза и загружает проект с HDL-кодом, сгенерированным для вашего алгоритма MATLAB.
Можно выбрать необходимое семейство, устройство, пакет и скорость.
Когда создание проекта завершено, HDL Workflow Advisor отображает ссылку на проект в правой панели. Щелкните эту ссылку, чтобы просмотреть проект в окне проекта инструмента синтеза.
Входные параметры
Выберите из списка:
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 не генерирует синтезирующий проект. Он очищает и отключает поля на панели Synthesis Tool Selection.
Семейство целевых устройств.
По умолчанию: Нет
Конкретное целевое устройство в выбранном семействе.
По умолчанию: Нет
Доступные варианты пакета. Семейство и устройство определяют эти варианты.
По умолчанию: Нет
Доступные варианты скорости. Семейство, устройство и пакет определяют эти варианты.
По умолчанию: Нет
Результаты и рекомендуемые действия
Условия | Рекомендуемое действие |
---|---|
Инструменту синтеза не удается создать проект. | Прочитайте сообщение об ошибке, возвращенное инструментом синтеза, затем проверьте версию инструмента синтеза и убедитесь, что у вас есть разрешение на запись для папки проекта. |
Инструмент синтеза не отображается в раскрывающемся списке. | Добавьте путь инструмента синтеза к системному пути MATLAB, а затем перезапустите MATLAB. Для получения дополнительной информации см. Раздел «Setup пути инструмента синтеза». |
Запустите выбранный инструмент синтеза и синтезируйте сгенерированный HDL-код.
Описание. Эта задача:
Запускает инструмент синтеза в фоновом режиме.
Открывает ранее сгенерированный проект синтеза, компилирует HDL-код, синтезирует дизайн и издает нетлисты и связанные файлы.
Отображает журнал синтеза в подпанели Result.
Результаты и рекомендуемые действия
Условия | Рекомендуемое действие |
---|---|
Инструмент синтеза выходит из строя при работе с местом и маршрутом. | Считайте сообщение об ошибке, возвращенное инструментом синтеза, измените код MATLAB, а затем перезапустите из начала рабочего процесса HDL Coder. |
Запускает инструмент синтеза в фоновом режиме и запускает процесс Place and Route.
Описание. Эта задача:
Запускает инструмент синтеза в фоновом режиме.
Запускает процесс Place and Route, который принимает описание схемы, полученное в предыдущем процессе отображения, и излучает описание схемы, подходящее для программирования FPGA.
Отображение журнала в подпанели Результат.
Входные параметры
Если вы выбираете Skip this step, HDL Workflow Advisor выполняет рабочий процесс, но опускает Perform Place и Route, помечая его Passed. Можно хотеть выбрать Skip this step, если вы предпочитаете выполнять работу по месту и маршруту вручную.
По умолчанию: Off
Результаты и рекомендуемые действия
Условия | Рекомендуемое действие |
---|---|
Инструмент синтеза выходит из строя при работе с местом и маршрутом. | Считайте сообщение об ошибке, возвращенное инструментом синтеза, измените код MATLAB, а затем перезапустите из начала рабочего процесса HDL Coder. |