exponenta event banner

класс hdlcoder.WorkflowConfig

Пакет: hdlcoder

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

Описание

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

  • Общий ASIC/FPGA

  • FPGA-in-the-Loop (требуется Verifier™ HDL)

  • FPGA «под ключ»

  • Поколение ядер IP

  • Ввод-вывод FPGA Simulink в реальном времени (требуется Simulink ® Real-Time™)

Рекомендуется использовать помощник по рабочим процессам HDL для настройки рабочего процесса, а затем экспортировать сценарий рабочего процесса. Команды в сценарии рабочего процесса создают и конфигурируют 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 (по умолчанию)Дополнительные команды РУД не формируются.
hdlcoder.Objective.SpeedOptimizedСоздайте команды Tcl инструмента синтеза для оптимизации скорости.
hdlcoder.Objective.AreaOptimizedСоздайте команды Tcl инструмента синтеза для оптимизации площади.
hdlcoder.Objective.CompileOptimizedСоздание команд Tcl инструмента синтеза для оптимизации времени компиляции.

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

Команды Tcl, специфичные для инструмента, которые добавляются к сценарию Tcl создания проекта синтеза, см. в разделе Отображение команды Synthesis Objective to Tcl.

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

В Советнике по вопросам Технологического процесса HDL эта задача - Советник по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует задачу Кода и Испытательного стенда RTL.

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

В помощнике по рабочим процессам ЛПВП эта задача - помощник по рабочим процессам ЛПВП > Создание кода ЛПВП > Проверка с помощью задачи косимуляции ЛПВП.

Включение или отключение задачи для создания проекта средства синтеза, указанного как logical.

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Синтез и анализ FPGA > Создать проект.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Logic Synthesis.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

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

В помощнике по рабочему процессу HDL эта задача - помощник по рабочему процессу HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and Route.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Run Synthesis.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Run Implementation.

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

В консультанте по рабочим процессам HDL эта задача представляет собой задачу Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Аннотировать модель с результатом синтеза.

Возможность создания кода HDL на целевом языке, указанном как logical.

В Советнике по вопросам Технологического процесса HDL этот выбор - часть Советника по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует задачу Кода и Испытательного стенда RTL.

Возможность создания тестового стенда HDL на целевом языке, указанном как logical.

В Советнике по вопросам Технологического процесса HDL этот выбор - часть Советника по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует задачу Кода и Испытательного стенда RTL.

Создание модели проверки, указанной как logical.

В Советнике по вопросам Технологического процесса HDL этот выбор - часть Советника по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует задачу Кода и Испытательного стенда RTL.

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

В консультанте по рабочим процессам HDL этот параметр является частью задачи Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Создать проект.

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

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

При включении этого параметра CriticalPathSource имеет значение 'post-route'

В помощнике по рабочим процессам HDL эта опция является частью задания Помощник по рабочим процессам HDL > Синтез и анализ FPGA > Выполнить синтез и P/R > Выполнить сопоставление.

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

В консультанте по рабочим процессам HDL эта опция является частью команды Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Выполнение синтеза и P/R > Выполнение задачи размещения и маршрутизации.

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

В помощнике по рабочим процессам HDL эта опция является частью задания Помощник по рабочим процессам HDL > Синтез и анализ FPGA > Выполнить синтез и P/R > Выполнить сопоставление.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Аннотировать модель с результатом синтеза.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Аннотировать модель с результатом синтеза.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Аннотировать модель с результатом синтеза.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Аннотировать модель с результатом синтеза.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Аннотировать модель с результатом синтеза.

FPGA-в-контуре

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

Пример: 'project_file_folder'

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

В Советнике по вопросам Технологического процесса HDL эта задача - Советник по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует задачу Кода и Испытательного стенда RTL.

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

В помощнике по рабочим процессам ЛПВП эта задача - помощник по рабочим процессам ЛПВП > Создание кода ЛПВП > Проверка с помощью задачи косимуляции ЛПВП.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA-in-the-Loop Implementation > Build FPGA-in-the-Loop.

Возможность создания кода HDL на целевом языке, указанном как logical.

В Советнике по вопросам Технологического процесса HDL этот выбор - часть Советника по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует задачу Кода и Испытательного стенда RTL.

Возможность создания тестового стенда HDL на целевом языке, указанном как logical.

В Советнике по вопросам Технологического процесса HDL этот выбор - часть Советника по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует задачу Кода и Испытательного стенда RTL.

Создание модели проверки, указанной как logical.

В Советнике по вопросам Технологического процесса HDL этот выбор - часть Советника по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует задачу Кода и Испытательного стенда RTL.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Помощник по рабочим процессам HDL > FPGA-in-the-Loop Implementation > Set FPGA-in-the-Loop Options.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Помощник по рабочим процессам HDL > FPGA-in-the-Loop Implementation > Set FPGA-in-the-Loop Options.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Помощник по рабочим процессам HDL > FPGA-in-the-Loop Implementation > Set FPGA-in-the-Loop Options.

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

В помощнике по рабочим процессам HDL этот параметр является частью задачи Помощник по рабочим процессам HDL > FPGA-in-the-Loop Implementation > Set FPGA-in-the-Loop Options.

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

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

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

Пример: 'project_file_folder'

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

hdlcoder.Objective.None (по умолчанию)Дополнительные команды РУД не формируются.
hdlcoder.Objective.SpeedOptimizedСоздайте команды Tcl инструмента синтеза для оптимизации скорости.
hdlcoder.Objective.AreaOptimizedСоздайте команды Tcl инструмента синтеза для оптимизации площади.
hdlcoder.Objective.CompileOptimizedСоздание команд Tcl инструмента синтеза для оптимизации времени компиляции.

Если инструментом синтеза является Xilinx ISE, а целевым рабочим процессом является Generic ASIC/FPGA или FPGA «под ключ», установите Objective кому hdlcoder.Objective.None.

Команды Tcl, специфичные для инструмента, которые добавляются к сценарию Tcl создания проекта синтеза, см. в разделе Отображение команды Synthesis Objective to Tcl.

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

В Советнике по вопросам Технологического процесса HDL эта задача - Советник по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Производит Кодовую задачу RTL.

Включение или отключение задачи для создания проекта средства синтеза, указанного как logical.

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Синтез и анализ FPGA > Создать проект.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Logic Synthesis.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

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

В помощнике по рабочему процессу HDL эта задача - помощник по рабочему процессу HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and Route.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Run Synthesis.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Run Implementation.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Загрузить в цель > Создать файл программирования.

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

В помощнике по рабочим процессам HDL эта задача представляет собой задачу Помощник по рабочим процессам HDL > Загрузить в цель > Целевое устройство программы.

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

В консультанте по рабочим процессам HDL этот параметр является частью задачи Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Создать проект.

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

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

Если этот параметр включен, CriticalPathSource имеет значение 'post-route'

В помощнике по рабочим процессам HDL эта опция является частью задания Помощник по рабочим процессам HDL > Синтез и анализ FPGA > Выполнить синтез и P/R > Выполнить сопоставление.

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

В консультанте по рабочим процессам HDL эта опция является частью команды Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Выполнение синтеза и P/R > Выполнение задачи размещения и маршрутизации.

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

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

Пример: 'project_file_folder'

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

В помощнике по рабочим процессам HDL этот параметр находится в задаче Помощник по рабочим процессам HDL > Задать цель > Задать целевое ссылочное проектирование.

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

В помощнике по рабочим процессам HDL этот параметр находится в задаче Помощник по рабочим процессам HDL > Задать цель > Задать целевое ссылочное проектирование.

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

В Советнике по вопросам Технологического процесса HDL эта задача - Советник по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует Код RTL и IP Основную задачу.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Интеграция со встроенной системой > Создать проект.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Интеграция встраиваемых систем > Создание модели интерфейса программного обеспечения.

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

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

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Интеграция встроенной системы > Задача создания битового потока FPGA.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Встроенная системная интеграция > Задача «Целевое устройство программы».

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

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

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

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

hdlcoder.Objective.None (по умолчанию)Дополнительные команды РУД не формируются.
hdlcoder.Objective.SpeedOptimizedСоздайте команды Tcl инструмента синтеза для оптимизации скорости.
hdlcoder.Objective.AreaOptimizedСоздайте команды Tcl инструмента синтеза для оптимизации площади.
hdlcoder.Objective.CompileOptimizedСоздание команд Tcl инструмента синтеза для оптимизации времени компиляции.

Если инструментом синтеза является Xilinx ISE, а целевым рабочим процессом является Generic ASIC/FPGA или FPGA «под ключ», установите Objective кому hdlcoder.Objective.None.

Команды Tcl, специфичные для инструмента, которые добавляются к сценарию Tcl создания проекта синтеза, см. в разделе Отображение команды Synthesis Objective to Tcl.

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

В помощнике по рабочим процессам HDL этот параметр можно указать в задаче «Создание проекта».

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

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

Для использования этой опции необходимо подключить плату.

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

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

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

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

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

Параметр, указывающий путь к файлу контрольной точки пользовательской маршрутизируемой конструкции. Если для DefureCheckstartFile установлено значение 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, необходимо указать файл.

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

launch_runs impl_1 -to_step write_bitstream

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

Интерфейс ввода-вывода FPGA в режиме реального времени Simulink

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

Пример: 'project_file_folder'

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

В помощнике по рабочим процессам HDL этот параметр находится в задаче Помощник по рабочим процессам HDL > Задать цель > Задать целевое ссылочное проектирование.

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

В помощнике по рабочим процессам HDL этот параметр находится в задаче Помощник по рабочим процессам HDL > Задать цель > Задать целевое ссылочное проектирование.

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

В Советнике по вопросам Технологического процесса HDL эта задача - Советник по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Генерирует Код RTL и IP Основную задачу.

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

В Советнике по вопросам Технологического процесса HDL эта задача - Советник по вопросам Технологического процесса HDL>, Генерация объектного кода HDL> Производит Кодовую задачу RTL.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Интеграция со встроенной системой > Создать проект.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Logic Synthesis.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Mapping.

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

В помощнике по рабочему процессу HDL эта задача - помощник по рабочему процессу HDL > FPGA Synthesis and Analysis > Perform Synthesis and P/R > Perform Place and Route.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Загрузить в цель > Создать файл программирования.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Загрузить в цель > Создать интерфейс Simulink в реальном времени.

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

hdlcoder.Objective.None (по умолчанию)Дополнительные команды РУД не формируются.
hdlcoder.Objective.SpeedOptimizedСоздайте команды Tcl инструмента синтеза для оптимизации скорости.
hdlcoder.Objective.AreaOptimizedСоздайте команды Tcl инструмента синтеза для оптимизации площади.
hdlcoder.Objective.CompileOptimizedСоздание команд Tcl инструмента синтеза для оптимизации времени компиляции.

Если инструментом синтеза является Xilinx ISE, а целевым рабочим процессом является Generic ASIC/FPGA или FPGA «под ключ», установите Objective кому hdlcoder.Objective.None.

Команды Tcl, специфичные для инструмента, которые добавляются к сценарию Tcl создания проекта синтеза, см. в разделе Отображение команды Synthesis Objective to Tcl.

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

В консультанте по рабочим процессам HDL этот параметр является частью задачи Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Создать проект.

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

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

При включении этого параметра CriticalPathSource имеет значение 'post-route'

В помощнике по рабочим процессам HDL эта опция является частью задания Помощник по рабочим процессам HDL > Синтез и анализ FPGA > Выполнить синтез и P/R > Выполнить сопоставление.

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

В консультанте по рабочим процессам HDL эта опция является частью команды Консультант по рабочим процессам HDL > Синтез и анализ FPGA > Выполнение синтеза и P/R > Выполнение задачи размещения и маршрутизации.

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

В помощнике по рабочим процессам HDL эта задача - помощник по рабочим процессам HDL > Интеграция встроенной системы > Задача создания битового потока FPGA.

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

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

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

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

Параметр, указывающий путь к файлу контрольной точки пользовательской маршрутизируемой конструкции. Если для DefureCheckstartFile установлено значение 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 с конструкцией 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 с конструкцией Simulink, а затем экспортируйте сценарий.

Этот сценарий представляет собой сценарий рабочего процесса FPGA-in-the-Loop, предназначенный для платы разработки 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 с конструкцией 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 с конструкцией Simulink, а затем экспортируйте сценарий.

Этот сценарий представляет собой сценарий рабочего процесса генерации ядра IP, предназначенный для комплекта разработки Altera Cyclone V SoC и использующий инструмент синтеза 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 с конструкцией 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 с конструкцией 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