hdlcoder.WorkflowConfig class

Пакет: hdlcoder

Настройка рабочих процессов генерации и развертывания HDL-кода

Описание

Используйте hdlcoder.WorkflowConfig объект, чтобы задать опции рабочего процесса для hdlcoder.runWorkflow функция. Можно настроить hdlcoder.WorkflowConfig объект для следующих рабочих процессов:

  • Типовой ASIC/FPGA

  • Цикл (требует HDL- Verifier™)

  • FPGA под ключ

  • Генерация ядра IP

  • Simulink Real-Time (требует Simulink® Real-Time™)

Одним из лучшей практики является использование HDL Workflow Advisor для настройки рабочего процесса, а затем экспорт скрипта рабочего процесса. Команды в скрипте рабочего процесса создают и конфигурируют hdlcoder.WorkflowConfig объект. См. раздел Запуск рабочего процесса HDL со скриптом.

Конструкция

hdlcoder.WorkflowConfig(Name,Value) создает объект строения рабочего процесса для задания рабочих процессов генерации и развертывания HDL-кода с дополнительными опциями, заданными одним или несколькими Name,Value аргументы в виде пар.

Аргументы в виде пар имя-значение

Задайте необязательные разделенные разделенными запятой парами Name,Value аргументы. Name - имя аргумента и Value - соответствующее значение. Name должны находиться внутри кавычек. Можно задать несколько аргументов в виде пар имен и значений в любом порядке Name1,Value1,...,NameN,ValueN.

Имя инструмента синтеза, заданное как вектор символов.

Пример: 'SynthesisTool','Altera QUARTUS II' создает объект строения рабочего процесса с 'Altera QUARTUS II' как инструмент синтеза и 'Generic ASIC/FPGA' в качестве целевого рабочего процесса.

Целевой рабочий процесс для генерации HDL-кода, заданный как character vector.

Пример: 'TargetWorkflow','IP Core Generation' создает объект строения рабочего процесса с 'Xilinx Vivado' как инструмент синтеза и 'IP Core Generation' в качестве целевого рабочего процесса.

Свойства

расширить все

Типовой рабочий процесс ASIC/FPGA

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

Пример: 'project_file_folder'

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

hdlcoder.Objective.None (по умолчанию)Не создавайте дополнительные команды Tcl.
hdlcoder.Objective.SpeedOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать скорость.
hdlcoder.Objective.AreaOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать для области.
hdlcoder.Objective.CompileOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать для времени компиляции.

Если вашим инструментом синтеза является Xilinx® ISE и ваш целевой процесс является Типовой ASIC/FPGA или FPGA под ключ, установите Objective на hdlcoder.Objective.None.

Для команд Tcl для конкретного инструмента, которые добавляются к скрипту создания Tcl проекта синтеза, смотрите Синтез Цель к Tcl Command Mapping.

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and Testbench.

Включите или отключите задачу, чтобы проверить сгенерированный код с HDL-косимуляцией, заданной как logical. Эта опция вступает в эффект только при GenerateCosimulationModel является true.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > HDL Code Generation > Verify with HDL Cosimulation.

Включите или отключите задачу, чтобы создать проект инструмента синтеза, заданный как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Create Project.

Включите или отключите задачу, чтобы запустить инструмент синтеза и запустить синтез логики, заданный как logical. Эта задача доступна только, когда ваш инструмент синтеза является Xilinx ISE или Altera® Кварт II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Logic Synthesis.

Включите или отключите задачу, чтобы сопоставить синтезированную логику с целевым устройством, заданным как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx ISE или Altera Quartus II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

Включите или отключите задачу, чтобы запустить процесс места и маршрута, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx ISE или Altera Quartus II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and Route.

Включите или отключите задачу, чтобы запустить Xilinx Vivado и запустить синтез, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx Vivado.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Run Synthesis.

Включите или отключите задачу, чтобы запустить Xilinx Vivado и запустить шаг реализации, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx Vivado.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Run Implementation.

Включите или отключите задачу, чтобы проанализировать время выполнения до или после маршрутизации и выделить критические пути в вашей модели, заданные как logical. Эта задача доступна только, когда целевой рабочий процесс Generic ASIC/FPGA.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Annotate Model with Synthesis Result.

Опция для генерации HDL-кода на целевом языке, заданная как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and Testbench.

Опции для генерации HDL- испытательного стенда на целевом языке, заданные как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and Testbench.

Сгенерируйте модель валидации, заданную как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and Testbench.

Дополнительные файлы Tcl создания проекта, которые вы хотите включить в синтезирующий проект, заданные как вектор символов.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Create Project.

Пример: 'L:\file1.tcl;L:\file2.tcl;'

Пропустите предварительный анализ времени маршрута, заданный как logical. Если ваш инструмент не поддерживает раннюю оценку времени, установите равным true.

Когда вы включите эту опцию, CriticalPathSource установлено в 'post-route'

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

Игнорируйте ошибки места и маршрута, заданные как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and route.

Критический источник пути, заданный как вектор символов.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

Количество критических путей для аннотации в виде положительного целого числа от 1 до 3.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Annotate Model with Synthesis Result.

Показать все критические пути, включая повторяющиеся пути, заданные как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Annotate Model with Synthesis Result.

Аннотируйте совокупную задержку синхронизации на каждом критическом пути, заданную как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Annotate Model with Synthesis Result.

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

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Annotate Model with Synthesis Result.

Покажите конечные точки каждого критического пути, опуская соединительные сигнальные линии, заданные как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Annotate Model with Synthesis Result.

Цикл

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

Пример: 'project_file_folder'

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and Testbench.

Включите или отключите задачу, чтобы проверить сгенерированный код с HDL-косимуляцией, заданной как logical. Эта опция вступает в эффект только при GenerateCosimulationModel является true.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > HDL Code Generation > Verify with HDL Cosimulation.

Включите или отключите задачу, чтобы сгенерировать модель, которая содержит блок FIL и тестовый набор вокруг блока FIL, заданный как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA-in-the-Loop Implementation > Build FPGA-in-the-Loop.

Опция для генерации HDL-кода на целевом языке, заданная как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and Testbench.

Опции для генерации HDL- испытательного стенда на целевом языке, заданные как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and Testbench.

Сгенерируйте модель валидации, заданную как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and Testbench.

IP-адрес платы FPGA в виде вектора символов. Адрес по умолчанию '192.168.0.2'.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA-in-the-Loop Implementation > Set FPGA-in-the-Loop Options.

MAC-адрес платы FPGA, заданный в виде вектора символов, например '00-0A-35-02-21-8A'. В большинстве случаев вы не должны менять MAC-адрес платы. Если необходимо подключить несколько плат FPGA к одному компьютеру, укажите уникальный MAC-адрес для каждой дополнительной платы.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA-in-the-Loop Implementation > Set FPGA-in-the-Loop Options.

Дополнительные исходные файлы для проекта, которые вы хотите проверить на плате FPGA, заданные как вектор символов.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA-in-the-Loop Implementation > Set FPGA-in-the-Loop Options.

Тип подключения Ethernet или JTAG к плате разработки FPGA, заданный как вектор символов.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA-in-the-Loop Implementation > Set FPGA-in-the-Loop Options.

Опция запуска процесса сборки параллельно с MATLAB®, заданный как logical. Если эта опция отключена, MATLAB нельзя использовать до завершения сборки.

Рабочий процесс FPGA «под ключ»

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

Пример: 'project_file_folder'

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

hdlcoder.Objective.None (по умолчанию)Не создавайте дополнительные команды Tcl.
hdlcoder.Objective.SpeedOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать скорость.
hdlcoder.Objective.AreaOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать для области.
hdlcoder.Objective.CompileOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать для времени компиляции.

Если вашим инструментом синтеза является Xilinx ISE и ваш целевой рабочий процесс - Generic ASIC/FPGA или FPGA Tenkey, установите Objective на hdlcoder.Objective.None.

Для команд Tcl для конкретного инструмента, которые добавляются к скрипту создания Tcl проекта синтеза, смотрите Синтез Цель к Tcl Command Mapping.

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > HDL Code Generation > Generate RTL Code.

Включите или отключите задачу, чтобы создать проект инструмента синтеза, заданный как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Create Project.

Включите или отключите задачу, чтобы запустить инструмент синтеза и запустить синтез логики, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx ISE или Altera Quartus II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Logic Synthesis.

Включите или отключите задачу, чтобы сопоставить синтезированную логику с целевым устройством, заданным как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx ISE или Altera Quartus II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

Включите или отключите задачу, чтобы запустить процесс места и маршрута, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx ISE или Altera Quartus II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and Route.

Включите или отключите задачу, чтобы запустить Xilinx Vivado и запустить синтез, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx Vivado.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Run Synthesis.

Включите или отключите задачу, чтобы запустить Xilinx Vivado и запустить шаг реализации, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx Vivado.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Run Implementation.

Включите или отключите задачу, чтобы сгенерировать программный файл FPGA, заданный как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Download to Target > Generate Programming File.

Включите или отключите задачу, чтобы загрузить программный файл FPGA на целевое устройство, заданный как logical. Эта задача доступна только, когда целевой рабочий процесс FPGA Turnkey.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Download to Target > Program Target Device.

Дополнительные файлы Tcl создания проекта, которые вы хотите включить в синтезирующий проект, заданные как вектор символов.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Create Project.

Пример: 'L:\file1.tcl;L:\file2.tcl;'

Пропустите предварительный анализ времени маршрута, заданный как logical. Если ваш инструмент не поддерживает раннюю оценку времени, установите равным true.

Когда эта опция включена, CriticalPathSource установлено в 'post-route'

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

Игнорируйте ошибки места и маршрута, заданные как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and route.

Рабочий процесс генерации IP-ядра

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

Пример: 'project_file_folder'

Текущая версия исходного проекта инструмента, заданная как вектор символов, для примера '2017.4'. По умолчанию генератор кода выбирает версию инструмента исходного проекта, которая совместима с текущей поддерживаемой версией инструмента. Это изменение версии инструмента исходного проекта по умолчанию, HDL Coder™ генерирует ошибку.

В HDL Workflow Advisor эта настройка находится в задаче HDL Workflow Advisor > Set Target > Set Target Reference Design.

Хотите ли вы, чтобы генератор кода игнорировал несоответствие между версией инструмента исходного проекта и поддерживаемой версией инструмента, заданное как logicalПо умолчанию, если существует несоответствие версии инструмента, HDL Coder генерирует ошибку. Если установить эту опцию равной trueВместо этого HDL Coder генерирует предупреждение.

В HDL Workflow Advisor эта настройка находится в задаче HDL Workflow Advisor > Set Target > Set Target Reference Design.

Включите или отключите задачу рабочего процесса, чтобы сгенерировать код и IP-ядро для встраиваемой системы, заданные как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and IP Core.

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Embedded System Integration > Create Project.

Включите или отключите задачу рабочего процесса, чтобы сгенерировать модель программного интерфейса или скрипт или оба с блоками драйверов ядра IP для генерации кода встроенного C, заданными как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Embedded System Integration > Generate Software Interface Model.

Укажите, генерировать ли модель программного интерфейса с блоками драйверов ядра IP для генерации кода встроенного C, заданную как logical. RunTaskGenerateSoftwareInterface должно быть установлено в true.

Укажите, генерировать ли скрипт программного интерфейса с блоками драйверов ядра IP для тестирования функциональности ядра IP HDL, заданную как logical. RunTaskGenerateSoftwareInterface должно быть установлено в true.

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Embedded System Integration > Build FPGA Bitstream.

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Embedded System Integration > Program Target Device.

Полный путь к папке репозитория ядра IP, заданный как вектор символов. Кодер копирует сгенерированное IP-ядро в папку репозитория IP.

Пример: 'L:\sandbox\work\IPfolder'

Опция для генерации HTML для ядра IP, заданная как logical. Для получения дополнительной информации смотрите Пользовательский отчет по ядру IP.

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

hdlcoder.Objective.None (по умолчанию)Не создавайте дополнительные команды Tcl.
hdlcoder.Objective.SpeedOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать скорость.
hdlcoder.Objective.AreaOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать для области.
hdlcoder.Objective.CompileOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать для времени компиляции.

Если вашим инструментом синтеза является Xilinx ISE и ваш целевой рабочий процесс - Generic ASIC/FPGA или FPGA Tenkey, установите Objective на hdlcoder.Objective.None.

Для команд Tcl для конкретного инструмента, которые добавляются к скрипту создания Tcl проекта синтеза, смотрите Синтез Цель к Tcl Command Mapping.

Включите или отключите кэширование IP-адресов, заданное как logical. Когда вы включаете кэширование IP, генератор кода создает кэш IP. The IP Core Generation рабочий процесс использует неконтекстный рабочий процесс (OOC). Этот рабочий процесс синтезирует IP-адрес в исходный проект вне контекста из проекта верхнего уровня. Можно повторно использовать этот кэш в последующих запусках, что сокращает время синтеза исходного проекта. Дополнительные сведения см. в разделе Кэширование IP для более быстрого синтеза исходного проекта.

В HDL Workflow Advisor этот параметр можно задать в Create Project задаче.

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

Опция вставки узла ядра IP в дерево устройств операционной системы на карте SD на вашей плате, заданная как logical. Эта опция также перезапускает операционную систему и добавляет драйвер ядра IP в качестве загружаемого модуля ядра.

Чтобы использовать эту опцию, ваша плата должна быть подключена.

Опция запуска процесса сборки параллельно с MATLAB, заданная как logical. Если эта опция отключена, MATLAB нельзя использовать до завершения сборки.

Опция ускорения процесса построения битового потока с помощью маршрутизированного файла контрольной точки проекта из предыдущей сборки. задается как logical. Если эта опция не выбрана, вы не можете использовать DefaultCheckpointFile.

Пример: hWC.EnableDesignCheckPoint = true;

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

Пример: hWC.DefaultCheckPointFile = 'Custom'

Опция для задания пути к пользовательскому маршрутизированному файлу контрольной точки проекта. Если для DefaultCheckpointFile задано значение Default, вы не можете задать пользовательский путь.

Пример: hWC.RoutedDesignCheckFilePath = 'c:\example_project\checkpoint\example_file.dcp'

Опция ускорения процесса сборки битового потока путем использования заданного количества ядер ПК во время сборки битового потока. Если вы задаете опцию 'synthesis tool default'количество ядер, заданное в инструменте синтеза, будет использоваться во время сборки битового потока.

Пример: hWC.MaxNumOfCoresForBuild = '12';

Выберите, следует ли сообщать о отказах синхронизации при генерации битового потока FPGA, заданного в качестве одного из следующих значений:

hdlcoder.ReportTimingFailure.Error (по умолчанию)Сообщите об отказах синхронизации как об ошибках по умолчанию.
hdlcoder.ReportTimingFailure.WarningСообщите об отказах синхронизации вместо предупреждений. Используйте эту опцию, если вы внедрили пользовательскую логику для устранения нарушений времени в проекте.

Выберите, использовать ли пользовательский или скрипт сборки инструмента синтеза по умолчанию, заданный в качестве одного из следующих значений:

hdlcoder.BuildOption.Default (по умолчанию)Используйте скрипт сборки по умолчанию.
hdlcoder.BuildOption.CustomИспользуйте пользовательский скрипт сборки вместо скрипта сборки по умолчанию.

Полный путь к пользовательскому инструменту синтеза создайте файл скрипта Tcl, заданный как вектор символов. Содержимое пользовательского файла Tcl вставляется между командами Tcl, которые открывают и закрывают проект. Если TclFileForSynthesisBuild установлено в hdlcoder.BuildOption.Customнеобходимо указать файл.

Если вы хотите сгенерировать битовый поток, команда bitstream generation Tcl должна ссылаться на имя оболочки верхнего файла и местоположение либо непосредственно, либо неявно. Например, эта команда Xilinx Vivado Tcl генерирует битовый поток и неявно ссылается на имя верхнего файла и местоположение:

launch_runs impl_1 -to_step write_bitstream

Пример: 'C:\Temp\work\build.tcl'

Simulink Real-Time

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

Пример: 'project_file_folder'

Текущая версия исходного проекта инструмента, заданная как вектор символов, для примера '2017.4'. По умолчанию генератор кода выбирает версию инструмента исходного проекта, которая совместима с текущей поддерживаемой версией инструмента. Это изменение версии инструмента исходного проекта по умолчанию, HDL Coder генерирует ошибку.

В HDL Workflow Advisor эта настройка находится в задаче HDL Workflow Advisor > Set Target > Set Target Reference Design.

Хотите ли вы, чтобы генератор кода игнорировал несоответствие между версией инструмента исходного проекта и поддерживаемой версией инструмента, заданное как logicalПо умолчанию, если существует несоответствие версии инструмента, HDL Coder генерирует ошибку. Если установить эту опцию равной trueВместо этого HDL Coder генерирует предупреждение.

В HDL Workflow Advisor эта настройка находится в задаче HDL Workflow Advisor > Set Target > Set Target Reference Design.

Включите или отключите задачу рабочего процесса, чтобы сгенерировать код и IP-ядро для встраиваемой системы, заданные как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > HDL Code Generation > Generate RTL Code and IP Core.

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > HDL Code Generation > Generate RTL Code.

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Embedded System Integration > Create Project.

Включите или отключите задачу, чтобы запустить инструмент синтеза и запустить синтез логики, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx ISE или Altera Quartus II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Logic Synthesis.

Включите или отключите задачу, чтобы сопоставить синтезированную логику с целевым устройством, заданным как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx ISE или Altera Quartus II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

Включите или отключите задачу, чтобы запустить процесс места и маршрута, заданный как logical. Эта задача доступна только тогда, когда вашим инструментом синтеза является Xilinx ISE или Altera Quartus II.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and Route.

Включите или отключите задачу, чтобы сгенерировать программный файл FPGA, заданный как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Download to Target > Generate Programming File.

Включите или отключите задачу, чтобы сгенерировать модель Simulink Real-Time, которая содержит подсистему интерфейса, заданную как logical.

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Download to Target > Generate Simulink Real-Time Interface.

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

hdlcoder.Objective.None (по умолчанию)Не создавайте дополнительные команды Tcl.
hdlcoder.Objective.SpeedOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать скорость.
hdlcoder.Objective.AreaOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать для области.
hdlcoder.Objective.CompileOptimizedСгенерируйте команды Tcl инструмента синтеза, чтобы оптимизировать для времени компиляции.

Если вашим инструментом синтеза является Xilinx ISE и ваш целевой рабочий процесс - Generic ASIC/FPGA или FPGA Tenkey, установите Objective на hdlcoder.Objective.None.

Для команд Tcl для конкретного инструмента, которые добавляются к скрипту создания Tcl проекта синтеза, смотрите Синтез Цель к Tcl Command Mapping.

Дополнительные файлы Tcl создания проекта, которые вы хотите включить в синтезирующий проект, заданные как вектор символов.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Create Project.

Пример: 'L:\file1.tcl;L:\file2.tcl;'

Пропустите предварительный анализ времени маршрута, заданный как logical. Если ваш инструмент не поддерживает раннюю оценку времени, установите равным true.

Когда вы включите эту опцию, CriticalPathSource установлено в 'post-route'

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

Игнорируйте ошибки места и маршрута, заданные как logical.

В HDL Workflow Advisor эта опция является частью задачи HDL Workflow Advisor > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and route.

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

В HDL Workflow Advisor эта задача является задачей HDL Workflow Advisor > Embedded System Integration > Build FPGA Bitstream.

Опция ускорения процесса построения битового потока с помощью маршрутизированного файла контрольной точки проекта из предыдущей сборки. задается как logical. Если эта опция не выбрана, вы не можете использовать DefaultCheckpointFile.

Пример: hWC.EnableDesignCheckPoint = true;

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

Пример: hWC.DefaultCheckPointFile = 'Custom'

Опция для задания пути к пользовательскому маршрутизированному файлу контрольной точки проекта. Если для DefaultCheckpointFile задано значение Default, вы не можете задать пользовательский путь.

Пример: hWC.RoutedDesignCheckFilePath = 'c:\example_project\checkpoint\example_file.dcp'

Опция ускорения процесса сборки битового потока путем использования заданного количества ядер ПК во время сборки битового потока. Если вы задаете опцию 'synthesis tool default'количество ядер, заданное в инструменте синтеза, будет использоваться во время сборки битового потока.

Пример: hWC.MaxNumOfCoresForBuild = '12';

Выберите, следует ли сообщать о отказах синхронизации при генерации битового потока FPGA, заданного в качестве одного из следующих значений:

hdlcoder.ReportTimingFailure.Error (по умолчанию)Сообщите об отказах синхронизации как об ошибках по умолчанию.
hdlcoder.ReportTimingFailure.WarningСообщите об отказах синхронизации вместо предупреждений. Используйте эту опцию, если вы внедрили пользовательскую логику для устранения нарушений времени в проекте.

Методы

clearAllTasksОтключить все задачи в рабочем процессе
экспортСгенерируйте скрипт MATLAB, который воссоздает строение рабочего процесса
setAllTasksВключите все задачи в рабочем процессе
утвердитьПроверьте значения свойств в объекте строения CLI рабочего процесса HDL

Примеры

свернуть все

В этом примере показано, как сконфигурировать и запустить экспортированный HDL скрипт рабочего процесса.

Чтобы сгенерировать HDL скрипт рабочего процесса, сконфигурируйте и запустите HDL Workflow Advisor с помощью проекта Simulink, затем экспортируйте скрипт.

Этот скрипт является общим сценарием рабочего процесса ASIC/FPGA, который нацелен на Xilinx Virtex® 7 устройство и использует инструмент синтеза Xilinx Vivado.

Откройте и просмотрите экспортированный HDL скрипт рабочего процесса.

% Export Workflow Configuration Script
% Generated with MATLAB 9.5 (R2018b Prerelease) at 14:42:37 on 29/03/2018
% This script was generated using the following parameter values:
%     Filename  : 'S:\generic_workflow_example.m'
%     Overwrite : true
%     Comments  : true
%     Headers   : true
%     DUT       : 'sfir_fixed/symmetric_fir'
% To view changes after modifying the workflow, run the following command:
% >> hWC.export('DUT','sfir_fixed/symmetric_fir');
%--------------------------------------------------------------------------

%% Load the Model
load_system('sfir_fixed');

%% Restore the Model to default HDL parameters
%hdlrestoreparams('sfir_fixed/symmetric_fir');

%% Model HDL Parameters
%% Set Model 'sfir_fixed' HDL parameters
hdlset_param('sfir_fixed', 'GenerateCoSimModel', 'ModelSim');
hdlset_param('sfir_fixed', 'GenerateHDLTestBench', 'off');
hdlset_param('sfir_fixed', 'HDLSubsystem', 'sfir_fixed/symmetric_fir');
hdlset_param('sfir_fixed', 'SynthesisTool', 'Xilinx Vivado');
hdlset_param('sfir_fixed', 'SynthesisToolChipFamily', 'Virtex7');
hdlset_param('sfir_fixed', 'SynthesisToolDeviceName', 'xc7vx485t');
hdlset_param('sfir_fixed', 'SynthesisToolPackageName', 'ffg1761');
hdlset_param('sfir_fixed', 'SynthesisToolSpeedValue', '-2');
hdlset_param('sfir_fixed', 'TargetDirectory', 'hdl_prj\hdlsrc');


%% Workflow Configuration Settings
% Construct the Workflow Configuration Object with default settings
hWC = hdlcoder.WorkflowConfig('SynthesisTool','Xilinx Vivado','TargetWorkflow','Generic ASIC/FPGA');

% Specify the top level project directory
hWC.ProjectFolder = 'hdl_prj';

% Set Workflow tasks to run
hWC.RunTaskGenerateRTLCodeAndTestbench = true;
hWC.RunTaskVerifyWithHDLCosimulation = true;
hWC.RunTaskCreateProject = true;
hWC.RunTaskRunSynthesis = true;
hWC.RunTaskRunImplementation = false;
hWC.RunTaskAnnotateModelWithSynthesisResult = true;

% Set properties related to 'RunTaskGenerateRTLCodeAndTestbench' Task
hWC.GenerateRTLCode = true;
hWC.GenerateTestbench = false;
hWC.GenerateValidationModel = false;

% Set properties related to 'RunTaskCreateProject' Task
hWC.Objective = hdlcoder.Objective.None;
hWC.AdditionalProjectCreationTclFiles = '';

% Set properties related to 'RunTaskRunSynthesis' Task
hWC.SkipPreRouteTimingAnalysis = false;

% Set properties related to 'RunTaskRunImplementation' Task
hWC.IgnorePlaceAndRouteErrors = false;

% Set properties related to 'RunTaskAnnotateModelWithSynthesisResult' Task
hWC.CriticalPathSource = 'pre-route';
hWC.CriticalPathNumber =  1;
hWC.ShowAllPaths = false;
hWC.ShowDelayData = true;
hWC.ShowUniquePaths = false;
hWC.ShowEndsOnly = false;

% Validate the Workflow Configuration Object
hWC.validate;

%% Run the workflow
hdlcoder.runWorkflow('sfir_fixed/symmetric_fir', hWC);

Вы можете отредактировать скрипт.

Например, включите или отключите задачи в hdlcoder.WorkflowConfig объект, hWC.

Запустите HDL скрипт рабочего процесса.

Для примера, если имя файла скрипта generic_workflow_example.m, в командной строке введите:

generic_workflow_example.m

В этом примере показано, как сконфигурировать и запустить экспортированный HDL скрипт рабочего процесса.

Чтобы сгенерировать HDL скрипт рабочего процесса, сконфигурируйте и запустите HDL Workflow Advisor с помощью проекта Simulink, затем экспортируйте скрипт.

Этот скрипт является сценарием рабочего процесса цикл, который предназначен для платы разработки Xilinx Virtex 5 и использует инструмент синтеза Xilinx ISE.

Откройте и просмотрите экспортированный HDL скрипт рабочего процесса.

%--------------------------------------------------------------------------
% HDL Workflow Script
% Generated with MATLAB 9.5 (R2018b Prerelease) at 15:11:23 on 04/05/2018
% This script was generated using the following parameter values:
%     Filename  : 'C:\Users\ggnanase\Desktop\R2018b\18b_models\ipcore_timing_failure\hdlworkflow_FIL.m'
%     Overwrite : true
%     Comments  : true
%     Headers   : true
%     DUT       : 'sfir_fixed/symmetric_fir'
% To view changes after modifying the workflow, run the following command:
% >> hWC.export('DUT','sfir_fixed/symmetric_fir');
%--------------------------------------------------------------------------

%% Load the Model
load_system('sfir_fixed');

%% Restore the Model to default HDL parameters
%hdlrestoreparams('sfir_fixed/symmetric_fir');

%% Model HDL Parameters
%% Set Model 'sfir_fixed' HDL parameters
hdlset_param('sfir_fixed', 'HDLSubsystem', 'sfir_fixed/symmetric_fir');
hdlset_param('sfir_fixed', 'SynthesisTool', 'Xilinx Vivado');
hdlset_param('sfir_fixed', 'SynthesisToolChipFamily', 'Kintex7');
hdlset_param('sfir_fixed', 'SynthesisToolDeviceName', 'xc7k325t');
hdlset_param('sfir_fixed', 'SynthesisToolPackageName', 'ffg900');
hdlset_param('sfir_fixed', 'SynthesisToolSpeedValue', '-2');
hdlset_param('sfir_fixed', 'TargetDirectory', 'hdl_prj\hdlsrc');
hdlset_param('sfir_fixed', 'TargetFrequency', 25);
hdlset_param('sfir_fixed', 'TargetPlatform', 'Xilinx Kintex-7 KC705 development board');
hdlset_param('sfir_fixed', 'Workflow', 'FPGA-in-the-Loop');


%% Workflow Configuration Settings
% Construct the Workflow Configuration Object with default settings
hWC = hdlcoder.WorkflowConfig('SynthesisTool','Xilinx Vivado','TargetWorkflow','FPGA-in-the-Loop');

% Specify the top level project directory
hWC.ProjectFolder = 'hdl_prj';

% Set Workflow tasks to run
hWC.RunTaskGenerateRTLCodeAndTestbench = true;
hWC.RunTaskVerifyWithHDLCosimulation = false;
hWC.RunTaskBuildFPGAInTheLoop = true;

% Set properties related to 'RunTaskGenerateRTLCodeAndTestbench' Task
hWC.GenerateRTLCode = true;
hWC.GenerateTestbench = false;
hWC.GenerateValidationModel = false;

% Set properties related to 'RunTaskBuildFPGAInTheLoop' Task
hWC.IPAddress = '192.168.0.2';
hWC.MACAddress = '00-0A-35-02-21-8A';
hWC.SourceFiles = '';
hWC.Connection = 'Ethernet';
hWC.RunExternalBuild = true;

% Validate the Workflow Configuration Object
hWC.validate;

%% Run the workflow
hdlcoder.runWorkflow('sfir_fixed/symmetric_fir', hWC);
hdlcoder.runWorkflow('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA', hWC);

Вы можете отредактировать скрипт.

Например, включите или отключите задачи в hdlcoder.WorkflowConfig объект, hWC.

Запустите HDL скрипт рабочего процесса.

Для примера, если имя файла скрипта FIL_workflow_example.m, в командной строке введите:

fil_workflow_example.m

В этом примере показано, как сконфигурировать и запустить экспортированный HDL скрипт рабочего процесса.

Чтобы сгенерировать HDL скрипт рабочего процесса, сконфигурируйте и запустите HDL Workflow Advisor с помощью проекта Simulink, затем экспортируйте скрипт.

Этот скрипт является скриптом рабочего процесса FPGA под ключ, который предназначен для платы разработки Xilinx Virtex 5 и использует инструмент синтеза Xilinx ISE.

Откройте и просмотрите экспортированный HDL скрипт рабочего процесса.

% Export Workflow Configuration Script
% Generated with MATLAB 8.6 (R2015b) at 14:24:32 on 08/07/2015
% Parameter Values:
%     Filename  : 'S:\turnkey_workflow_example.m'
%     Overwrite : true
%     Comments  : true
%     Headers   : true
%     DUT       : 'hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA'

%% Load the Model
load_system('hdlcoderUARTServoControllerExample');

%% Model HDL Parameters
% Set Model HDL parameters
hdlset_param('hdlcoderUARTServoControllerExample', ...
    'HDLSubsystem', 'hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA');
hdlset_param('hdlcoderUARTServoControllerExample', ...
    'SynthesisTool', 'Xilinx ISE');
hdlset_param('hdlcoderUARTServoControllerExample', ...
    'SynthesisToolChipFamily', 'Virtex5');
hdlset_param('hdlcoderUARTServoControllerExample', ...
    'SynthesisToolDeviceName', 'xc5vsx50t');
hdlset_param('hdlcoderUARTServoControllerExample', ...
    'SynthesisToolPackageName', 'ff1136');
hdlset_param('hdlcoderUARTServoControllerExample', ...
    'SynthesisToolSpeedValue', '-1');
hdlset_param('hdlcoderUARTServoControllerExample', ...
    'TargetDirectory', 'hdl_prj\hdlsrc');
hdlset_param('hdlcoderUARTServoControllerExample', ...
    'TargetPlatform', 'Xilinx Virtex-5 ML506 development board');
hdlset_param('hdlcoderUARTServoControllerExample', 'Workflow', 'FPGA Turnkey');

% Set Inport HDL parameters
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/uart_rxd', ...
    'IOInterface', 'RS-232 Serial Port Rx');
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/uart_rxd', ...
    'IOInterfaceMapping', '[0]');

% Set Outport HDL parameters
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/uart_txd', ...
    'IOInterface', 'RS-232 Serial Port Tx');
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/uart_txd', ...
    'IOInterfaceMapping', '[0]');

% Set Outport HDL parameters
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/version', ...
    'IOInterface', 'LEDs General Purpose [0:7]');
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/version', ...
    'IOInterfaceMapping', '[0:3]');

% Set Outport HDL parameters
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/pwm_output', ...
    'IOInterface', 'Expansion Headers J6 Pin 2-64 [0:31]');
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/pwm_output', ...
    'IOInterfaceMapping', '[0]');

% Set Outport HDL parameters
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/servo_debug1', ...
    'IOInterface', 'Expansion Headers J6 Pin 2-64 [0:31]');
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/servo_debug1', ...
    'IOInterfaceMapping', '[1]');

% Set Outport HDL parameters
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/servo_debug2', ...
    'IOInterface', 'Expansion Headers J6 Pin 2-64 [0:31]');
hdlset_param('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA/servo_debug2', ...
    'IOInterfaceMapping', '[2]');


%% Workflow Configuration Settings
% Construct the Workflow Configuration Object with default settings
hWC = hdlcoder.WorkflowConfig('SynthesisTool','Xilinx ISE', ...
    'TargetWorkflow','FPGA Turnkey');

% Specify the top level project directory
hWC.ProjectFolder = 'hdl_prj';

% Set Workflow tasks to run
hWC.RunTaskGenerateRTLCodeAndTestbench = true;
hWC.RunTaskVerifyWithHDLCosimulation = true;
hWC.RunTaskCreateProject = true;
hWC.RunTaskPerformLogicSynthesis = true;
hWC.RunTaskPerformMapping = true;
hWC.RunTaskPerformPlaceAndRoute = true;
hWC.RunTaskGenerateProgrammingFile = true;
hWC.RunTaskProgramTargetDevice = false;

% Set Properties related to Create Project Task
hWC.Objective = hdlcoder.Objective.None;
hWC.AdditionalProjectCreationTclFiles = '';

% Set Properties related to Perform Mapping Task
hWC.SkipPreRouteTimingAnalysis = true;

% Set Properties related to Perform Place and Route Task
hWC.IgnorePlaceAndRouteErrors = false;

% Validate the Workflow Configuration Object
hWC.validate;

%% Run the workflow
hdlcoder.runWorkflow('hdlcoderUARTServoControllerExample/UART_Servo_on_FPGA', hWC);

Вы можете отредактировать скрипт.

Например, включите или отключите задачи в hdlcoder.WorkflowConfig объект, hWC.

Запустите HDL скрипт рабочего процесса.

Для примера, если имя файла скрипта turnkey_workflow_example.m, в командной строке введите:

turnkey_workflow_example.m

В этом примере показано, как сконфигурировать и запустить экспортированный HDL скрипт рабочего процесса.

Чтобы сгенерировать HDL скрипт рабочего процесса, сконфигурируйте и запустите HDL Workflow Advisor с помощью проекта Simulink, затем экспортируйте скрипт.

Этот скрипт является сценарием рабочего процесса генерации ядра IP, который нацелен на набор для разработки Altera Cyclone V и использует инструмент синтеза Altera Quartus II.

Откройте и просмотрите экспортированный HDL скрипт рабочего процесса.

% Export Workflow Configuration Script
% Generated with MATLAB 8.6 (R2015b) at 14:42:16 on 08/07/2015
% Parameter Values:
%     Filename  : 'S:\ip_core_gen_workflow_example.m'
%     Overwrite : true
%     Comments  : true
%     Headers   : true
%     DUT       : 'hdlcoder_led_blinking/led_counter'

%% Load the Model
load_system('hdlcoder_led_blinking');

%% Model HDL Parameters
% Set Model HDL parameters
hdlset_param('hdlcoder_led_blinking', ...
    'HDLSubsystem', 'hdlcoder_led_blinking/led_counter');
hdlset_param('hdlcoder_led_blinking', 'OptimizationReport', 'on');
hdlset_param('hdlcoder_led_blinking', ...
    'ReferenceDesign', 'Default system (Qsys 14.0)');
hdlset_param('hdlcoder_led_blinking', 'ResetType', 'Synchronous');
hdlset_param('hdlcoder_led_blinking', 'ResourceReport', 'on');
hdlset_param('hdlcoder_led_blinking', 'SynthesisTool', 'Altera QUARTUS II');
hdlset_param('hdlcoder_led_blinking', 'SynthesisToolChipFamily', 'Cyclone V');
hdlset_param('hdlcoder_led_blinking', 'SynthesisToolDeviceName', '5CSXFC6D6F31C6');
hdlset_param('hdlcoder_led_blinking', 'TargetDirectory', 'hdl_prj\hdlsrc');
hdlset_param('hdlcoder_led_blinking', ...
    'TargetPlatform', 'Altera Cyclone V SoC development kit - Rev.D');
hdlset_param('hdlcoder_led_blinking', 'Traceability', 'on');
hdlset_param('hdlcoder_led_blinking', 'Workflow', 'IP Core Generation');

% Set SubSystem HDL parameters
hdlset_param('hdlcoder_led_blinking/led_counter', ...
    'ProcessorFPGASynchronization', 'Free running');

% Set Inport HDL parameters
hdlset_param('hdlcoder_led_blinking/led_counter/Blink_frequency', ...
    'IOInterface', 'AXI4');
hdlset_param('hdlcoder_led_blinking/led_counter/Blink_frequency', ...
    'IOInterfaceMapping', 'x"100"');
hdlset_param('hdlcoder_led_blinking/led_counter/Blink_frequency', ...
    'IOInterfaceOptions', {'RegisterInitialValue', 5});

% Set Inport HDL parameters
hdlset_param('hdlcoder_led_blinking/led_counter/Blink_direction', ...
    'IOInterface', 'AXI4');
hdlset_param('hdlcoder_led_blinking/led_counter/Blink_direction', ...
    'IOInterfaceMapping', 'x"104"');
hdlset_param('hdlcoder_led_blinking/led_counter/Blink_direction, ...
    'IOInterfaceOptions', {'RegisterInitialValue', 1});

% Set Outport HDL parameters
hdlset_param('hdlcoder_led_blinking/led_counter/LED', 'IOInterface', 'External Port');

% Set Outport HDL parameters
hdlset_param('hdlcoder_led_blinking/led_counter/Read_back', 'IOInterface', 'AXI4');
hdlset_param('hdlcoder_led_blinking/led_counter/Read_back', ...
    'IOInterfaceMapping', 'x"108"');
hdlset_param('hdlcoder_led_blinking/led_counter/Read back, ...
    'IOInterfaceOptions', {'RegisterInitialValue', 3});

%% Workflow Configuration Settings
% Construct the Workflow Configuration Object with default settings
hWC = hdlcoder.WorkflowConfig('SynthesisTool','Altera QUARTUS II', ...
    'TargetWorkflow','IP Core Generation');

% Specify the top level project directory
hWC.ProjectFolder = 'hdl_prj';

% Set Workflow tasks to run
hWC.RunTaskGenerateRTLCodeAndIPCore = true;
hWC.RunTaskCreateProject = true;
hWC.RunTaskGenerateSoftwareInterface = false;
hWC.RunTaskBuildFPGABitstream = true;
hWC.RunTaskProgramTargetDevice = false;

% Set Properties related to Generate RTL Code And IP Core Task
hWC.IPCoreRepository = '';
hWC.GenerateIPCoreReport = true;

% Set Properties related to Create Project Task
hWC.Objective = hdlcoder.Objective.AreaOptimized;

% Set Properties related to Generate Software Interface Model Task
hWC.OperatingSystem = '';
hWC.AddLinuxDeviceDriver = false;

% Set Properties related to Build FPGA Bitstream Task
hWC.RunExternalBuild = true;
hWC.TclFileForSynthesisBuild = hdlcoder.BuildOption.Default;

% Validate the Workflow Configuration Object
hWC.validate;

%% Run the workflow
hdlcoder.runWorkflow('hdlcoder_led_blinking/led_counter', hWC);

Вы можете отредактировать скрипт.

Например, включите или отключите задачи в hdlcoder.WorkflowConfig объект, hWC.

Запустите HDL скрипт рабочего процесса.

Для примера, если имя файла скрипта ip_core_workflow_example.m, в командной строке введите:

ip_core_gen_workflow_example.m

В этом примере показано, как сконфигурировать и запустить экспортированный HDL скрипт рабочего процесса.

Чтобы сгенерировать HDL скрипт рабочего процесса, сконфигурируйте и запустите HDL Workflow Advisor с помощью проекта Simulink, затем экспортируйте скрипт.

Этот скрипт является Simulink Real-Time FPGA I/O скрипт рабочего процесса, который нацелен на Speedgoat IO331 плата, которая использует инструмент синтеза Xilinx ISE.

Откройте и просмотрите экспортированный HDL скрипт рабочего процесса.

%--------------------------------------------------------------------------
% HDL Workflow Script
% Generated with MATLAB 9.5 (R2018b Prerelease) at 18:14:14 on 08/05/2018
% This script was generated using the following parameter values:
%     Filename  : 'C:\Users\ggnanase\Desktop\R2018b\18b_models\ipcore_timing_failure\hdlworkflow_IO331.m'
%     Overwrite : true
%     Comments  : true
%     Headers   : true
%     DUT       : 'sfir_fixed/symmetric_fir'
% To view changes after modifying the workflow, run the following command:
% >> hWC.export('DUT','sfir_fixed/symmetric_fir');
%--------------------------------------------------------------------------

%% Load the Model
load_system('sfir_fixed');

%% Restore the Model to default HDL parameters
%hdlrestoreparams('sfir_fixed/symmetric_fir');

%% Model HDL Parameters
%% Set Model 'sfir_fixed' HDL parameters
hdlset_param('sfir_fixed', 'HDLSubsystem', 'sfir_fixed/symmetric_fir');
hdlset_param('sfir_fixed', 'SynthesisTool', 'Xilinx ISE');
hdlset_param('sfir_fixed', 'SynthesisToolChipFamily', 'Spartan6');
hdlset_param('sfir_fixed', 'SynthesisToolDeviceName', 'xc6slx150');
hdlset_param('sfir_fixed', 'SynthesisToolPackageName', 'fgg676');
hdlset_param('sfir_fixed', 'SynthesisToolSpeedValue', '-3');
hdlset_param('sfir_fixed', 'TargetDirectory', 'hdl_prj\hdlsrc');
hdlset_param('sfir_fixed', 'TargetFrequency', 75);
hdlset_param('sfir_fixed', 'TargetPlatform', 'Speedgoat IO331');
hdlset_param('sfir_fixed', 'Workflow', 'Simulink Real-Time FPGA I/O');


%% Workflow Configuration Settings
% Construct the Workflow Configuration Object with default settings
hWC = hdlcoder.WorkflowConfig('SynthesisTool','Xilinx ISE','TargetWorkflow','Simulink Real-Time FPGA I/O');

% Specify the top level project directory
hWC.ProjectFolder = 'hdl_prj';
hWC.ReferenceDesignToolVersion = '';
hWC.IgnoreToolVersionMismatch = false;

% Set Workflow tasks to run
hWC.RunTaskGenerateRTLCode = true;
hWC.RunTaskCreateProject = true;
hWC.RunTaskPerformLogicSynthesis = true;
hWC.RunTaskPerformMapping = true;
hWC.RunTaskPerformPlaceAndRoute = true;
hWC.RunTaskGenerateProgrammingFile = true;
hWC.RunTaskGenerateSimulinkRealTimeInterface = true;

% Set properties related to 'RunTaskCreateProject' Task
hWC.Objective = hdlcoder.Objective.None;
hWC.AdditionalProjectCreationTclFiles = '';

% Set properties related to 'RunTaskPerformMapping' Task
hWC.SkipPreRouteTimingAnalysis = true;

% Set properties related to 'RunTaskPerformPlaceAndRoute' Task
hWC.IgnorePlaceAndRouteErrors = false;

% Validate the Workflow Configuration Object
hWC.validate;

%% Run the workflow
hdlcoder.runWorkflow('sfir_fixed/symmetric_fir', hWC);

Вы можете отредактировать скрипт.

Например, включите или отключите задачи в hdlcoder.WorkflowConfig объект, hWC.

Запустите HDL скрипт рабочего процесса.

Для примера, если имя файла скрипта slrt_workflow_example.m, в командной строке введите:

slrt_workflow_example.m

В этом примере показано, как сконфигурировать и запустить экспортированный HDL скрипт рабочего процесса.

Чтобы сгенерировать HDL скрипт рабочего процесса, сконфигурируйте и запустите HDL Workflow Advisor с помощью проекта Simulink, затем экспортируйте скрипт.

Этот скрипт является Simulink Real-Time FPGA I/O скрипт рабочего процесса, который нацелен на Speedgoat IO333-325K плата, которая использует инструмент синтеза Xilinx Vivado.

Откройте и просмотрите экспортированный HDL скрипт рабочего процесса.

%--------------------------------------------------------------------------
% HDL Workflow Script
% Generated with MATLAB 9.5 (R2018b Prerelease) at 18:14:33 on 08/05/2018
% This script was generated using the following parameter values:
%     Filename  : 'C:\Users\ggnanase\Desktop\R2018b\18b_models\ipcore_timing_failure\hdlworkflow_IO333.m'
%     Overwrite : true
%     Comments  : true
%     Headers   : true
%     DUT       : 'sfir_fixed/symmetric_fir'
% To view changes after modifying the workflow, run the following command:
% >> hWC.export('DUT','sfir_fixed/symmetric_fir');
%--------------------------------------------------------------------------

%% Load the Model
load_system('sfir_fixed');

%% Restore the Model to default HDL parameters
%hdlrestoreparams('sfir_fixed/symmetric_fir');

%% Model HDL Parameters
%% Set Model 'sfir_fixed' HDL parameters
hdlset_param('sfir_fixed', 'HDLSubsystem', 'sfir_fixed/symmetric_fir');
hdlset_param('sfir_fixed', 'SynthesisTool', 'Xilinx Vivado');
hdlset_param('sfir_fixed', 'SynthesisToolChipFamily', 'Kintex7');
hdlset_param('sfir_fixed', 'SynthesisToolDeviceName', 'xc7k325t');
hdlset_param('sfir_fixed', 'SynthesisToolPackageName', 'ffg900');
hdlset_param('sfir_fixed', 'SynthesisToolSpeedValue', '-2');
hdlset_param('sfir_fixed', 'TargetDirectory', 'hdl_prj\hdlsrc');
hdlset_param('sfir_fixed', 'TargetFrequency', 100);
hdlset_param('sfir_fixed', 'TargetPlatform', 'Speedgoat IO333-325K');
hdlset_param('sfir_fixed', 'Workflow', 'Simulink Real-Time FPGA I/O');


%% Workflow Configuration Settings
% Construct the Workflow Configuration Object with default settings
hWC = hdlcoder.WorkflowConfig('SynthesisTool','Xilinx Vivado','TargetWorkflow','Simulink Real-Time FPGA I/O');

% Specify the top level project directory
hWC.ProjectFolder = 'hdl_prj';
hWC.ReferenceDesignToolVersion = '2017.4';
hWC.IgnoreToolVersionMismatch = false;

% Set Workflow tasks to run
hWC.RunTaskGenerateRTLCodeAndIPCore = true;
hWC.RunTaskCreateProject = true;
hWC.RunTaskBuildFPGABitstream = true;
hWC.RunTaskGenerateSimulinkRealTimeInterface = true;

% Set properties related to 'RunTaskGenerateRTLCodeAndIPCore' Task
hWC.IPCoreRepository = '';
hWC.GenerateIPCoreReport = true;
hWC.GenerateIPCoreTestbench = false;
hWC.CustomIPTopHDLFile = '';
hWC.AXI4RegisterReadback = false;
hWC.IPDataCaptureBufferSize = '128';

% Set properties related to 'RunTaskCreateProject' Task
hWC.Objective = hdlcoder.Objective.None;
hWC.AdditionalProjectCreationTclFiles = '';
hWC.EnableIPCaching = true;

% Set properties related to 'RunTaskBuildFPGABitstream' Task
hWC.RunExternalBuild = false;
hWC.TclFileForSynthesisBuild = hdlcoder.BuildOption.Default;
hWC.CustomBuildTclFile = '';
hWC.ReportTimingFailure = hdlcoder.ReportTiming.Error;

% Validate the Workflow Configuration Object
hWC.validate;

%% Run the workflow
hdlcoder.runWorkflow('sfir_fixed/symmetric_fir', hWC);

Вы можете отредактировать скрипт.

Например, включите или отключите задачи в hdlcoder.WorkflowConfig объект, hWC.

Запустите HDL скрипт рабочего процесса.

Для примера, если имя файла скрипта slrt_workflow_example.m, в командной строке введите:

slrt_workflow_example.m
Введенный в R2015b