HDL Workflow Advisor - это инструмент, поддерживающий набор задач, охватывающих этапы процесса проекта FPGA. Некоторые задачи выполняют валидацию или проверку модели; другие запускают генератор HDL-кода или сторонние программы. Каждая папка на верхнем уровне HDL Workflow Advisor содержит группу связанных задач, которые можно выбрать и запустить.
Для получения сводных сведений о каждой папке или задаче HDL Workflow Advisor выберите папку или значок задачи, а затем нажмите кнопку HDL Workflow Advisor Help.
Set Target: Задачи этой категории позволяют вам выбрать желаемое целевое устройство и сопоставить его интерфейс ввода-вывода с входами и выходами вашей модели.
Prepare Model For HDL Code Generation: Задачи этой категории проверяют вашу модель на совместимость генерации HDL-кода. Задачи также сообщают о настройках модели, блоках или других условиях (такие как алгебраические циклы), которые будут препятствовать генерации кода, и дают советы о том, как исправить такие проблемы.
HDL Code Generation: Эта категория поддерживает все HDL-связанные опции диалогового окна Параметров конфигурации, включая настройку HDL-кода и параметров генерации испытательного стенда, и генерацию кода, испытательного стенда или модели косимуляции.
FPGA Synthesis and Analysis: Задачи в этой категории поддерживают:
Синтез и анализ времени путем интегрирования с инструментами синтеза сторонних производителей
Обратная аннотация модели с критическим путем и другой информацией, полученной во время синтеза
FPGA-in-the-Loop Implementation: Эта категория реализует фазы FIL, включая предоставление генерации блоков, синтеза, логического отображения, PAR (place-and-route), генерации файлов программирования и канала связи. Эти возможности разработаны для конкретной платы и адаптированы к вашему коду RTL. Для FIL требуется Verifier™ лицензия HDL.
Download to Target: Задачи в этой категории зависят от выбранного целевого устройства и потенциально включают:
Генерация файла программирования FPGA для конкретной цели
Программирование целевого устройства
Генерация модели, которая содержит Simulink® Real-Time™ подсистема интерфейса
В папке Set Target можно выбрать целевое устройство FPGA и определить интерфейс, сгенерированный для устройства.
Set Target Device and Synthesis Tool: Выберите целевое устройство FPGA и инструменты синтеза.
Set Target Reference Design: Для IP Core Generation
рабочий процесс, выберите исходный проект для целевого устройства.
Set Target Interface: Для IP Core Generation
, FPGA Turnkey
, и Simulink Real Time FPGA I/O
рабочие процессы, используйте таблицу интерфейсов целевой платформы, чтобы назначить каждый порт на DUT ресурсу ввода-вывода на целевом устройстве. Используйте Enable HDL DUT port generation for test points для создания выходных портов DUT для тестовых сигналов тестовых точек в сгенерированном HDL-коде.
Set Target Frequency: Выберите целевую тактовую частоту для реализации FPGA вашего проекта.
Для получения дополнительной информации о каждой Set Target задаче выберите значок задачи и нажмите кнопку HDL Workflow Advisor Help.
Задача Set Target Device and Synthesis Tool позволяет вам выбрать целевое устройство FPGA и связанный с ним инструмент синтеза из раскрывающегося меню, в котором перечислены устройства, которые в настоящее время поддерживает HDL Workflow Advisor.
В этой задаче отображаются следующие опции:
Target Workflow: раскрывающееся меню, в котором перечислены возможные рабочие процессы, поддерживаемые HDL Workflow Advisor. Выберите из:
Типовой ASIC/FPGA
Цикл
FPGA под ключ
Simulink Real-Time
Генерация ядра IP
Индивидуальная настройка для устройства USRP
Программно определяемое радио
Target platform: раскрывающееся меню, в котором перечислены устройства, поддерживаемые HDL Workflow Advisor. Недоступно для рабочего процесса Generic ASIC/FPGA.
Synthesis tool: Выберите инструмент синтеза, затем выберите Family, Device, Package и Speed для цели синтеза.
Если ваш инструмент синтеза не является одним из Synthesis tool вариантов, см. Setup пути инструмента синтеза. После настройки пути инструмента синтеза щелкните Refresh, чтобы сделать инструмент доступным в HDL Workflow Advisor.
Project folder: Укажите имя папки проекта.
Tool version: Этот флажок отображает текущую версию инструмента синтеза.
Примечание
Если вы выбираете Intel Quartus Pro
или Microsemi Libero SoC
как Synthesis tool, вы можете запускать только Generic ASIC/FPGA
рабочий процесс. Когда вы используете эти инструменты, Annotate Model with Synthesis Result задача недоступна. В этом случае можно запустить рабочий процесс к синтезу, а затем просмотреть отчеты о синхронизации, чтобы увидеть критический путь.
В Set Target Reference Design задаче отображаются входные параметры исходного проекта и версия инструмента. В Reference design parameters разделе отображаются все пользовательские параметры, заданные для исходного проекта.
В задаче отображаются следующие опции:
Reference design: раскрывающееся меню, в котором перечислены исходные проекты, которые Coder™ HDL- поддержек, и все пользовательские исходные проекты, которые вы задаете. Дополнительные сведения о создании пользовательской платы и исходном проекте см. в разделах Системная плата и система регистрации исходного проекта.
Reference design tool version: текстовое поле, в котором отображается текущая версия инструмента исходного проекта. Рекомендуется использовать исходный проект версию инструмента, совместимую с поддерживаемой версией инструмента. Если существует несоответствие версии инструмента, HDL Coder генерирует ошибку при запуске этой задачи. Несоответствие версии инструмента может привести к ошибке Create Project задачи.
Если установлен флажок Ignore tool version mismatch, HDL Coder генерирует предупреждение вместо ошибки. Можно попытаться продолжить создание исходного проекта проекта.
Reference design parameters: Список параметров исходного проекта. Это могут быть параметры, доступные с исходными проектами по умолчанию, которую поддерживает HDL Coder, или параметры, которые вы задаете для своего пользовательского исходного проекта. Для получения дополнительной информации смотрите Задать пользовательские параметры и функции обратного вызова для Пользовательского исходного проекта.
Задача Set Target Interface отображает свойства входа и выхода портов на DUT и позволяет вам сопоставить эти порты с вводом-выводом ресурсами на целевом устройстве.
Set Target Interface отображает таблицу интерфейсов целевой платформы, которая показывает:
Имя, тип порта (входы и выходы) и тип данных для каждого порта на DUT.
Раскрывающееся меню с указанием доступных ресурсов ввода-вывода для целевого устройства.
Эти ресурсы зависят от конкретного устройства. Подробную информацию о каждом ресурсе см. в документации для платы разработки FPGA.
Задайте целевую частоту для этих рабочих процессов:
Generic ASIC/FPGA
: Чтобы задать целевую частоту, которую вы хотите достичь вашего проекта. HDL Coder генерирует файл ограничения по времени для этой тактовой частоты и добавляет ограничение к проекту инструмента синтеза FPGA, который вы создаете в Create Project задаче. Если целевая частота не достижима, инструмент синтеза генерирует ошибку. Целевая частота не поддерживается Microsemi® Либеро® СнК.
IP Core Generation
: Чтобы задать целевую частоту для HDL Coder, чтобы изменить настройку модуля синхроимпульса в исходный проект, чтобы получить синхроимпульс с этой частотой. Введите целевое значение частоты, которое находится в пределах Frequency Range (MHz). Если вы не задаете целевую частоту, HDL Coder использует Default (MHz) целевую частоту.
Simulink Real-Time FPGA I/O
: Для плат Speedgoat, поддерживаемых Xilinx ISE
, задайте целевую частоту, чтобы сгенерировать модуль синхроимпульса, чтобы получить синхроимпульс с этой частотой.
Платы Speedgoat, поддерживаемые Xilinx Vivado
использовать IP Core Generation
инфраструктура рабочих процессов. Укажите целевую частоту для HDL Coder, чтобы изменить настройку модуля синхроимпульса в исходный проект, чтобы получить синхроимпульс с этой частотой. Введите целевое значение частоты, которое находится в пределах Frequency Range (MHz). Если вы не задаете целевую частоту, HDL Coder использует Default (MHz) целевую частоту.
FPGA Turnkey
: Сгенерировать модуль синхроимпульса для формирования синхроимпульса с этой частотой автоматически.
Выберите режим синхронизации процессор-FPGA и сопоставьте порты входа DUT, выходные порты и тестовые точки с вводом-выводом ресурсами на целевом устройстве.
Для Processor/FPGA synchronization выберите:
Free running, не хотите ли вы автоматически синхронизировать процессор и FPGA.
Coprocessing – blocking, нужно ли HDL Coder сгенерировать логику синхронизации для FPGA автоматически, чтобы процессор и FPGA выполнялись совместно. Выберите этот режим, когда время выполнения FPGA является коротким относительно шага расчета процессора, и вы хотите, чтобы FPGA завершил до продолжения работы процессора.
Coprocessing – nonblocking with delay (не поддерживается для IP Core Generation
рабочий процесс), если требуется, чтобы HDL Coder автоматически генерировал логику синхронизации для FPGA, чтобы процессор и FPGA выполнялись совместно. Выберите этот режим, когда время вычислений FPGA является большим относительно шага расчета процессора, или вы не хотите, чтобы процессор ждал завершения FPGA до продолжения обработки.
Эта настройка сохраняется с моделью как ProcessorFPGASynchronization
Свойство HDL-блока для блока DUT.
Выбор Enable HDL DUT port generation for testpoints:
Помечает сигналы тестовой точки для генерации кода. Смотрите Модель и отладку сигналов тестовой точки с HDL Coder.
Включает опцию Enable HDL DUT port generation for тестовые точки конфигурация модели.
Обновляет таблицу целевых интерфейсов, чтобы отобразить выходные порты тестовых точек в таблице интерфейсов.
Таблица интерфейсов целевой платформы отображает:
Имя, тип порта (вход, выход и тестовая точка) и тип данных для каждого порта на DUT.
Контекстное меню с указанием доступных ресурсов ввода-вывода для целевого устройства.
Эти ресурсы зависят от конкретного устройства. Подробную информацию о каждом ресурсе см. в документации для платы разработки FPGA.
Выберите режим синхронизации процессор-FPGA и сопоставьте ваши входы DUT и выходные порты с вводом-выводом ресурсами на целевом устройстве. Вы можете задать исходный проект.
Reference design: Выберите предопределенный проект интегрирования встраиваемых систем, в который HDL Coder вставляет сгенерированное IP-ядро.
Reference design path: Введите путь к загруженным компонентам исходного проекта. Это поле доступно только в том случае, если указанное Reference design требует загружаемых компонентов.
Для Processor/FPGA synchronization выберите:
Free running, не хотите ли вы автоматически синхронизировать процессор и FPGA.
Coprocessing – blocking, нужно ли HDL Coder сгенерировать логику синхронизации для FPGA автоматически, чтобы процессор и FPGA выполнялись совместно. Выберите этот режим, когда время выполнения FPGA является коротким относительно шага расчета процессора, и вы хотите, чтобы FPGA завершил до продолжения работы процессора.
Coprocessing – nonblocking with delay (не поддерживается для IP Core Generation
рабочий процесс), если требуется, чтобы HDL Coder автоматически генерировал логику синхронизации для FPGA, чтобы процессор и FPGA выполнялись совместно. Выберите этот режим, когда время вычислений FPGA является большим относительно шага расчета процессора, или вы не хотите, чтобы процессор ждал завершения FPGA до продолжения обработки.
Эта настройка сохраняется с моделью как ProcessorFPGASynchronization
Свойство HDL-блока для блока DUT.
Таблица интерфейсов целевой платформы показывает:
Имя, тип порта (входы и выходы) и тип данных для каждого порта на DUT.
Меню выпадающего списка с указанием доступных вводов-выводов ресурсов для целевого устройства.
Эти ресурсы зависят от конкретного устройства. Подробную информацию о каждом ресурсе см. в документации для платы разработки FPGA.
Задачи в папке Prepare Model For HDL Code Generation проверяют модель на совместимость с генерацией HDL-кода. Если при проверке встретится условие, которое вызовет предупреждение генерации кода или ошибку, на правой панели HDL Workflow Advisor отображаются сведения об этом условии и его исправлении. Папка Prepare Model For HDL Code Generation содержит следующие проверки:
Check Model Settings check ускоряет проверки модели путем удаления избыточных проверок. Проверка предоставляет опцию открыть проверки HDL Code Advisor в отдельном окне и запустить эти проверки.
Check FPGA-in-the-Loop Compatibility: Проверяйте совместимость модели с цикл, в частности:
Не разрешено: sink/source подсистемы, single/double типы данных, нулевой шаг расчета
Должно присутствовать: лицензия HDL Verifier
Эта опция доступна только при выборе FPGA-in-the-Loop
для целевого рабочего процесса.
Check USRP Compatibility: Модель должна иметь два входных порта и два выходных порта 16-битных сигналов со знаком.
Эта опция доступна только при выборе Customization for the USRP Device
для целевого рабочего процесса.
Для получения сводной информации по каждой Prepare Model For HDL Code Generation задаче выберите значок задачи и нажмите кнопку HDL Workflow Advisor Help.
Check Model Settings проверяет параметры всей модели на совместимость генерации HDL-кода.
Эта проверка ускоряет проверки модели путем удаления избыточных проверок. Проверка обеспечивает кнопку, чтобы открыть HDL Code Advisor проверки в отдельном окне. Следующие проверки были заменены HDL Code Advisor проверками:
Check Global Settings.
Check Algebraic Loops
Check Block Compatibility
Check Sample Times
При нажатии кнопки Run This Task проверки HDL Code Advisor не будут открываться.
Check Model Settings проверяет параметры всей модели на совместимость генерации HDL-кода.
Эта проверка исследует параметры модели на совместимость с генерацией HDL-кода и условиями флагов, которые могут вызвать ошибку или предупреждение во время генерации кода. HDL Workflow Advisor отображает таблицу со следующей информацией о каждом обнаруженном условии:
Блок: Гиперссылка на страницу диалогового окна строения модели, которая содержит ошибку или предупреждение условия
Настройки: Имя параметра модели, который вызвал ошибку или предупреждение условия
Ток: Текущее значение настройки
Рекомендуемый: Рекомендуемое значение настройки
Серьезность: Уровень серьезности предупреждения или условия. Минимально необходимо исправить параметры, отмеченные как error
.
Проверка также содержит кнопку для открытия HDL-код Advisor в отдельном окне. HDL Code Advisor может запустить дополнительные проверки совместимости генерации HDL-кода, не включенные в эту задачу. Для получения дополнительной информации смотрите Проверки строения модели.
Совет
Чтобы установить рекомендуемые значения параметров, нажмите кнопку Modify All . Затем можно запустить проверку еще раз и перейти к следующей проверке.
При нажатии кнопки Run This Task проверки HDL Code Advisor не будут открываться.
Обнаружите алгебраические циклы в модели.
Программное обеспечение HDL Coder не поддерживает генерацию HDL-кода для моделей, в которых существуют алгебраические условия цикла. Check Algebraic Loops исследует модель и не проверяет, обнаруживает ли она алгебраический цикл. Удалите алгебраические циклы из вашей модели, прежде чем продолжить проверку HDL Workflow Advisor или генерацию кода.
Проверьте DUT на неподдерживаемые блоки.
Check Block Compatibility проверяет блоки в DUT на совместимость с генерацией HDL-кода. Проверка не выполняется, если она встречается с блоками, которые HDL Coder не поддерживает. HDL Workflow Advisor сообщает о несовместимых блоках, включая полный путь к каждому блоку.
Проверьте решатель, шаги расчета и настройки режима задачи для модели.
Check Sample Times проверяет опции решателя, шаги расчета, режим задачи и диагностику перехода скорости для совместимости генерации HDL-кода. Опции решателя, которые требуются или рекомендуются программным обеспечением HDL Coder:
Type: Fixed-step. (В настоящее время кодер поддерживает решатели переменного шага при ограниченных условиях. Посмотрите hdlsetup
для получения дополнительной информации.)
Solver: Дискретный (без непрерывных состояний). Другие решатели с фиксированным шагом могут быть выбраны, но эта опция обычно является лучшей для симуляции дискретных систем.
Tasking mode: SingleTasking
. В настоящее время кодер не поддерживает модели, которые выполняются в многозадачном режиме. Не устанавливайте Tasking mode на Auto
.
Multitask rate transition и Single task rate transition опции диагностики: установлено значение Error
.
HDL Verifier проверяет модель на совместимость с обработкой FPGA в цикле.
Подготовка DUT к генерации интерфейсов FIL (HDL Verifier).
Задачи в HDL Code Generation папке позволяют вам:
Установите и проверьте HDL-код и параметры генерации испытательных стендов. Большинство параметров панели HDL Code Generation диалогового окна Параметров конфигурации и Model Explorer поддерживаются.
Сгенерируйте любое или все из:
Код RTL
Испытательный стенд RTL
Модель косимуляции
DPI- испытательного стенда SystemVerilog
Чтобы запустить задачи в папке HDL Code Generation автоматически, выберите папку и нажмите Run All.
Совет
После каждой задачи в этой папке запусков, HDL Coder обновляет диалоговое окно Параметров конфигурации и Model Explorer.
Необязательная задача для открытия HDL Coder окна параметров конфигурации.
Эта Set HDL Options является необязательной задачей. Эта задача предоставляет вам опцию запустить диалоговое окно HDL Coder Configuration Parameters в отдельном окне. Изменения параметров конфигурации используются в следующей задаче HDL Coder Workflow Advisor.
Примечание
Перед выполнением этой задачи закройте диалоговое окно HDL Coder Параметров конфигурации.
Когда окно Workflow Advisor открыто для тестируемого проекта (DUT), эти параметры конфигурации отключены для редактирования:
Имя модели или подсистемы DUT.
Имя и путь папки генерации целевого кода.
Имя инструмента синтеза.
Выбор семейства устройств.
Выбор устройства.
Выбор пакета устройства.
Выбор скорости устройства.
Целевая частота.
Если вы вносите какие-либо изменения в эти параметры конфигурации, перезапустите все предыдущие задачи Workflow Advisor.
Установите параметры, которые влияют на генерацию кода в целом.
Задача Set Basic Options устанавливает опции, которые являются основополагающими для генерации HDL-кода. Эти опции включают выбор DUT и выбор целевого языка. Основные опции те же, что и в панели HDL Code Generation верхнего уровня диалогового окна Параметры конфигурации, за исключением того, что группа Code generation output опущена.
Установите параметры, которые задают разделы, которые вы хотите увидеть в отчете генерации кода.
Опции те же, что и в панели HDL Code Generation > Report диалогового окна Параметры конфигурации (Configuration Parameters) и в Обозревателе моделей (Model Explorer).
Установите параметры, которые задают подробные характеристики сгенерированного кода.
Дополнительные опции те же, что и в панели HDL Code Generation > Global Settings диалогового окна Параметров конфигурации и в обозревателе моделей.
Установите параметры, которые задают оптимизации, такие как совместное использование ресурсов и конвейеризация, чтобы улучшить область и время.
Опции оптимизации те же, что и в панели HDL Code Generation > Target and Optimizations диалогового окна Параметров конфигурации и обозревателя модели.
Установите опции, которые определяют характеристики сгенерированного кода испытательного стенда.
Опции испытательные стенды те же, что и в панели HDL Code Generation > Test Bench диалогового окна Параметров конфигурации и в обозревателе моделей.
Сгенерируйте код RTL и оболочку верхнего уровня HDL.
Задача Generate RTL Code генерирует код RTL и оболочку верхнего уровня HDL для подсистемы DUT. Он также генерирует файл ограничений, который содержит информацию о отображении контактов и ограничения синхроимпульса.
Выберите и инициируйте генерацию кода RTL, испытательного стенда RTL и модели косимуляции.
Задача Generate RTL Code and Testbench позволяет выбрать тип кода или модели, которые вы хотите сгенерировать. Вы можете выбрать любую комбинацию из следующих:
Generate RTL code: Сгенерируйте код RTL на целевом языке.
Generate test bench: Сгенерируйте испытательные стенды (стенды ) (ы), выбранный в Set Testbench Options.
Generate validation model: Сгенерируйте модель валидации, которая подсвечивает сгенерированные задержки и другие различия между вашей исходной моделью и сгенерированной моделью косимуляции. С помощью модели валидации можно наблюдать эффекты потоковой передачи, совместного использования ресурсов и балансировки задержек.
Модель валидации содержит DUT из исходной модели и DUT из сгенерированной модели косимуляции. Используя модель валидации, можно проверить, что выход оптимизированного DUT верен битам результатов, полученных исходным DUT.
Генерация модели Simulink для косимуляции с помощью Симулятор HDL (Filter Design HDL Coder).
Выполните этот шаг, чтобы проверить сгенерированный HDL с помощью косимуляции между Симулятор HDL и испытательным стендом Simulink. Этот шаг показывает только, если вы выбрали Cosimulation model и задали Симулятор HDL в Set Testbench Options.
Выберите и инициируйте генерацию кода RTL и пользовательского IP-ядра.
В Generate RTL Code and IP Core задаче задайте характеристики сгенерированного IP-ядра:
IP core name: Введите имя ядра IP.
Эта настройка сохраняется с моделью как IPCoreName
Свойство HDL-блока для блока DUT.
IP core version: Введите номер версии ядра IP. HDL Coder добавляет номер версии к имени ядра IP, чтобы сгенерировать имя выхода папки.
Эта настройка сохраняется с моделью как IPCoreVersion
Свойство HDL-блока для блока DUT.
IP core folder (не подлежит редактированию): HDL Coder генерирует файлы ядра IP в показанной выходной папке, включая документацию HTML.
IP repository: Если у вас есть папка репозитория IP, введите ее путь вручную или с помощью кнопки Browse. Кодер копирует сгенерированное IP-ядро в папку репозитория IP.
Additional source files: Если вы используете интерфейс черного ящика в вашем проекте, чтобы включить существующий Verilog® или VHDL® введите имена файлов. Введите каждое имя файла вручную, разделенный точкой с запятой (;) или с помощью кнопки Add. Исходный язык файла должен совпадать с вашим целевым языком.
Эта настройка сохраняется с моделью как IPCoreAdditionalFiles
Свойство HDL-блока для блока DUT.
FPGA Data Capture buffer size: Укажите размер памяти в сгенерированном IP-ядре. Ширина памяти является общей битовой шириной сигналов данных. Размер буфера использует значения, равные 128 * (2n), где n является целым числом. По умолчанию buffer size 128
(n = 0). Максимальное значение n является 13
, что означает, что максимальное значение размера буфера составляет 128 * (213) = 1048576.
Эта настройка сохраняется с моделью как IPDataCaptureBufferSize
Свойство HDL-блока для блока DUT.
FPGA Data Capture maximum sequence depth: Задайте максимальную глубину последовательности для захвата данных из FPGA в один или несколько триггерных этапов. Максимальная глубина последовательности является целым числом, которое варьируется от 1 до 10. По умолчанию максимальная глубина последовательности 1
. Чтобы захватить указанные данные путем предоставления набора условий триггера в несколько этапов, установите максимальную глубину последовательности равной значению, большему 1.
Эта настройка сохраняется с моделью как IPDataCaptureSequenceDepth
Свойство HDL-блока для блока DUT.
Когда вы выбираете Insert JTAG MATLAB as AXI Master, значение AXI4-Slave ID Width корректируется для ядра DUT IP, которое генерирует HDL Coder. При выборе Insert JTAG MATLAB as AXI Master и добавлении пользовательских IP-адресов необходимо задать новое скорректированное значение ширины ведомого идентификатора. Для примера, когда вы выбираете Insert JTAG MATLAB as AXI Master и добавляете пользовательские IP-адреса, если вы получаете это сообщение об ошибке во время Create Project задачи:
Перегенерируйте ядра IP путем установки целевой платформы под названием Generic Intel или Generic Xilinx. Затем сопоставьте один из портов DUT с AXI4 интерфейсом, вычислите новую ширину при помощи New width = Base Width + log2(Number of AXI Masters +1)
, и введите вычисленное значение ширины в AXI4 Slave ID width. Добавьте регенерированные IP-ядра с новыми значениями ширины в папку исходного проекта. Щелкните правой кнопкой мыши Create Project и выберите Run to Selected Task. В этом примере два пользовательских IP-адреса являются I2C и I2s. Новая вычисленная ширина равна 13.
Generate IP core report: Оставьте эту опцию выбранным для генерации HTML для ядра IP.
Enable readback on AXI4 slave write registers: Выберите эту опцию, если вы хотите считать назад значение, записанное в AXI4 ведомые регистры с помощью AXI4 ведомого интерфейса. Когда вы запускаете эту задачу, генератор кода добавляет мультиплексор для каждого AXI4 регистра в логике декодера адреса. Этот мультиплексор сравнивает адрес, с которым записываются данные при чтении значений. Если вы читаете из нескольких AXI4 ведомых регистров, логика readback становится длинной мультиплексорной цепью, которая может повлиять на частоту синтеза.
Эта настройка сохраняется с моделью как AXI4RegisterReadback
Свойство HDL-блока для блока DUT.
Generate default AXI4 slave interface: Оставьте эту опцию выбранным, если вы хотите сгенерировать HDL-ядро IP с AXI4 подчиненным интерфейсом для таких сигналов, как часы, сброс, готовность, временная метка и так далее. Если вы хотите сгенерировать типовое IP-ядро HDL без AXI4 ведомых интерфейсов, снимите этот флажок. В сложении убедитесь, что вы не сопоставили ни один из портов DUT с AXI4 или AXI4-Lite интерфейсами. Можно сопоставить порты только с внешними или внутренними интерфейсами ввода-вывода или AXI4-Stream интерфейсом с отображением TLAST.
Эта настройка сохраняется с моделью как GenerateDefaultAXI4Slave
Свойство HDL-блока для блока DUT.
Создайте проекты для поддерживаемых инструментов синтеза FPGA, выполните синтез, отображение и задачи размещения/маршрута FPGA и аннотируйте критические пути в исходной модели
Задачи в FPGA Synthesis and Analysis папке позволяют вам:
Создание проектов синтеза FPGA для поддерживаемых инструментов синтеза FPGA.
Запустите поддерживаемые инструменты синтеза FPGA, используя файлы проекта для выполнения задач синтеза, отображения и размещения/маршрутизации.
Аннотируйте исходную модель с помощью информации о критическом пути, полученной из инструментов синтеза.
Список поддерживаемых инструментов синтеза сторонних производителей см. в разделах Инструменты синтеза сторонних производителей и Поддержка версий.
Задачи в папке:
Create Project
Perform Synthesis and P/R
Annotate Model with Synthesis Result
Создайте проект синтеза FPGA для поддерживаемого инструмента синтеза FPGA.
Эта задача создает проект синтеза для выбранного инструмента синтеза и загружает проект с HDL-кодом, сгенерированным для вашей модели.
Когда создание проекта завершается, HDL Workflow Advisor отображает ссылку на проект в правой панели. Щелкните эту ссылку, чтобы просмотреть проект в окне проекта инструмента синтеза.
Выберите цель синтеза, чтобы сгенерировать команды Tcl оптимизации для конкретного инструмента для вашего проекта. Если вы задаете None
команды Tcl не генерируются.
Чтобы узнать, как цели синтеза сопоставляются с командами Tcl, смотрите Synthesis Objective to Tcl Command Mapping.
Введите дополнительные исходные файлы HDL, которые необходимо включить в проект синтеза. Введите каждое имя файла вручную, разделенный точкой с запятой (;) или с помощью кнопки Add Source.
Например, можно включать исходные файлы HDL (.vhd или .v) или файл ограничений (.ucf или .sdc).
Введите дополнительные файлы создания проектов, которые необходимо включить в проект синтеза. Введите каждое имя файла вручную, разделенный точкой с запятой (;) или с помощью кнопки Add Tcl.
Например, вы можете включить Tcl скрипт (.tcl), который будет выполнен после создания проекта.
Запустите поддерживаемые инструменты синтеза FPGA для выполнения задач синтеза, отображения и размещения/маршрутизации.
Задачи в папке Perform Synthesis and P/R позволяют вам запустить поддерживаемый инструмент синтеза FPGA и:
Синтезируйте сгенерированный HDL-код.
Выполните картографический и временной анализ.
Выполните функции размещения и маршрута.
Список поддерживаемых инструментов синтеза сторонних производителей см. в разделах Инструменты синтеза сторонних производителей и Поддержка версий.
Запустите поддерживаемый инструмент синтеза FPGA и синтезируйте сгенерированный HDL-код.
Задача Perform Logic Synthesis:
Запускает инструмент синтеза в фоновом режиме.
Открывает ранее сгенерированный проект синтеза, компилирует HDL-код, синтезирует дизайн и издает нетлисты и связанные файлы.
Отображает журнал синтеза в подпанели Result.
Запускает поддерживаемый инструмент синтеза FPGA и сопоставляет синтезированный логический проект с целевым FPGA.
Задача Perform Mapping:
Запускает инструмент синтеза в фоновом режиме.
Запускает процесс отображения, который сопоставляет синтезированный логический проект с целевым FPGA.
Выдает файл описания цепи для использования в фазе места и маршрута.
Также излучает время выполнения предварительной маршрутизации для использования в анализе критического пути и аннотации назад вашей исходной модели.
Отображение журнала в подпанели Result.
Включите Skip pre-route timing analysis, если ваш инструмент не поддерживает раннюю оценку времени. Когда эта опция включена, наборы задач Annotate Model with Synthesis Result Critical path source post-route.
Запускает инструмент синтеза в фоновом режиме и запускает процесс Place and Route.
Задача Perform Place and Route:
Запускает инструмент синтеза в фоновом режиме.
Запускает процесс Place and Route, который принимает описание схемы, полученное в предыдущем процессе отображения, и излучает описание схемы, подходящее для программирования FPGA.
Также излучает время выполнения после маршрутизации для использования в анализе критического пути и обратной аннотации вашей исходной модели.
Отображение журнала в подпанели Result.
Совет
Если вы выбираете Skip this task, HDL Workflow Advisor выполняет рабочий процесс, но опускает Perform Place and Route задачу, помечая ее Passed
. Можно хотеть выбрать Skip this task, если вы предпочитаете выполнять работу по месту и маршруту вручную.
Совет
Если Perform Place and Route не удается, но вы хотите использовать результаты синхронизации после постотображения, чтобы найти критические пути в модели, можно выбрать Ignore place and route errors и продолжить к Annotate Model with Synthesis Result задаче.
Запускает Xilinx® Vivado® и выполняет шаг Synthesis Vivado.
Включите Skip pre-route timing analysis, если вы не хотите делать раннюю оценку времени.
Запускает Xilinx Vivado и выполняет шаг Implementation Vivado.
Если вы выбираете Skip this task , HDL Workflow Advisor опускает Run Implementation задачу, помечая ее Passed
. Выберите Skip this task , если вы предпочитаете выполнять работу по месту и маршруту вручную.
Если Run Implementation не удается, можно выбрать Ignore place and route errors и продолжить выполнение Annotate Model with Synthesis Result задачи.
Если во время выполнения этой задачи имеют место отказы в синхронизации, задача не завершается неуспешно. Необходимо проверить отчет по времени на отказы в синхронизации.
Анализирует время выполнения до или после маршрутизации и визуально подсвечивает критические пути в вашей модели.
Задача Annotate Model with Synthesis Result помогает вам идентифицировать критические пути в модели. При выборе вашей опции задача анализирует время выполнения до или после маршрутизации, полученную Perform Synthesis and P/R группой задач, и визуально подсвечивает один или несколько критических путей в вашей модели.
Примечание
Если вы выбираете Intel Quartus Pro
или Microsemi Libero SoC
как Synthesis tool, Annotate Model with Synthesis Result задача недоступна. В этом случае можно запустить рабочий процесс к синтезу, а затем просмотреть отчеты о синхронизации, чтобы увидеть критический путь.
Если в Generate RTL Code and Testbench задаче выбран Generate FPGA top level wrapper, Annotate Model with Synthesis Result недоступно. Для выполнения анализа аннотаций снимите флажок «Generate FPGA top level wrapper».
Выберите pre-route или post-route.
Опция pre-route недоступна, когда Skip pre-route timing analysis включена в предыдущей группе задач.
Можно аннотировать до 3 критических путей. Выберите количество путей, которые необходимо аннотировать.
Показать критические пути, включая повторяющиеся пути.
Отображать только первый образец дублированного пути.
Аннотировать совокупную задержку синхронизации на каждом пути.
Покажите конечные точки каждого пути, но опускайте соединительные сигнальные линии.
Когда задача Annotate Model with Synthesis Result запускается до своего завершения, HDL Coder отображает DUT с выделенной информацией о критическом пути.
Папка Download to Target поддерживает следующие задачи:
Generate Programming File: Сгенерируйте файл программирования FPGA.
Program Target Device: Загрузите сгенерированный файл программирования на целевую плату разработки.
Generate Simulink Real-Time Interface (только для целевых устройств Speedgoat): Сгенерируйте модель, которая содержит подсистему интерфейса Simulink Real-Time.
Для получения сводной информации по каждой Download to Target задаче выберите значок задачи и нажмите кнопку HDL Workflow Advisor Help.
Задача Generate Programming File генерирует файл программирования FPGA, который совместим с выбранным целевым устройством.
Задача Program Target Device загружает сгенерированный файл программирования FPGA на выбранное целевое устройство.
Перед выполнением Program Target Device задачи убедитесь, что хост-компьютер правильно подключен к целевой плате разработки через необходимый программный кабель.
Задача Generate Simulink Real-Time Interface генерирует модель, содержащую подсистему интерфейса, которую можно подключить к модели Simulink Real-Time.
Соглашение об именовании для сгенерированной модели является:
gm_fpgamodelname_slrt
где fpgamodelname
- имя исходной модели.
Можно сохранить текущие настройки HDL Workflow Advisor в именованном restore point. Позже можно восстановить те же настройки, загрузив данные точки восстановления в HDL Workflow Advisor.
Установите опции FIL и запустите обработку FIL.
Установите тип подключения, IP-адрес платы и MAC-адреса и при необходимости выберите дополнительные файлы.
Выберите один из JTAG
(Altera® только платы) или Ethernet
.
Используйте эту опцию для настройки IP-адреса платы, если он не является IP-адресом по умолчанию (192.168.0.2).
В большинстве случаев вам не нужно менять MAC-адрес платы. Это необходимо сделать, если вы подключите к одному компьютеру несколько плат разработки FPGA (для которых необходимо иметь отдельную сетевую плату для каждой платы). Необходимо изменить MAC-адрес платы для дополнительных плат так, чтобы каждый адрес был уникальным.
При необходимости выберите дополнительные исходные файлы для проекта HDL, которые необходимо проверить на плате FPGA. HDL Workflow Advisor пытается идентифицировать тип файла; изменить тип файла в столбце File Type, если он неправильен.
В процессе сборки происходят следующие действия:
Цикл генерирует блок FIL, названный в честь модуля верхнего уровня, и помещает его в новую модель.
После генерации новой модели FIL открывает командное окно. В этом окне программное обеспечение проекта FPGA выполняет синтез, подгонку, размещение и маршрут, анализ времени и генерацию файлов программирования FPGA. Когда процесс завершается, сообщение в команде предлагает вам закрыть окно.
Цикл создает тестовую модель вокруг сгенерированного блока FIL.
Модель должна иметь два входных порта и два выходных порта 16-битных сигналов со знаком.
Этот шаг инициирует создание файла программирования FPGA. Для входа Parameters введите путь к файлам Ettus Research™ USRP™ FPGA, которые вы ранее загрузили. Если вы еще не загрузили эти файлы, смотрите документацию Support Package for USRP Radio.
Когда этот шаг будет завершен, смотрите инструкции для загрузки файла программирования в FPGA и выполнения симуляции в Пакете поддержки для документации радио USRP для FPGA Targeting.
DUT должна соответствовать определенным требованиям к интерфейсам сигналов. Во время проверки совместимости SDR выполняются следующие проверки интерфейса (входы и выходы проходят те же проверки).
Должен включать один комплексный сигнал, два скалярных сигнала или один векторный сигнал размера 2
Должна иметь битовую ширину 16
Должен быть подписан
Должна быть одинарной скоростью
Если есть векторные порты, необходимо использовать опцию Scalarize Vectors
Если у вас несколько скоростей, необходимо использовать Single clock
Необходимо использовать синхронный сброс
Необходимо использовать сброс активный-высокий
Необходимо использовать коэффициент оверклокинга пользователя 1
Все проверки на наличие ошибок выполняются для определенного запуска задачи и отображаются в таблице. Это позволяет одной итерации исправить все ошибки.
SDR FPGA интегрирует логику клиента, сгенерированную на предыдущих шагах, а также специфичный для SDR код для предоставления данных и путей управления между платой RF и хостом.
Этот шаг состоит из следующих задач:
Настройка опций SDR: выбор опций индивидуальной настройки.
Создайте SDR: Сгенерируйте файл программирования FPGA для целевого устройства SDR.
Выберите опции индивидуальной настройки для завершения реализации SDR FPGA.
RF board for target
Выберите один из следующих вариантов:
Epic Bitshark FMC-1Rx RevB
Epic Bitshark FMC-1Rx RevC
Folder with vendor HDL source code
Укажите папку, содержащую HDL-файл интерфейса RF, загруженный с сайта поддержки поставщиков. Используйте Browse для перехода к правильной папке.
User logic synthesis frequency
Укажите максимальную частоту запуска проекта. Это значение должно быть больше, чем частоты дискретизации для АЦП и ЦАП, как указано в блоке ADI FMCOMMS или Epiq Bitshark™.
User logic data path
Выберите один из Receiver data path
или Transmitter data path
.
Board IP address
Установите IP-адрес платы в этом поле, если он не является IP-адресом по умолчанию (192.168.10.1).
Board MAC address
В большинстве случаев вам не нужно менять MAC-адрес платы. Однако это необходимо сделать, если вы соединяете несколько плат разработки FPGA с одним компьютером (для чего необходимо иметь отдельную сетевую карту для каждой платы). Необходимо изменить MAC-адрес платы для дополнительных плат так, чтобы каждый адрес был уникальным.
Укажите файлы, которые вы хотите включить в проект ISE или Vivado. Вы должны включать только типы файлов, поддерживаемые ISE или Vivado. Если включенный файл не существует, HDL Workflow Advisor не может создать проект.
File: Имя файла, добавленного в проект (с Add).
File Type: Тип файла. Программа автоматически попытается определить тип файла, но можно переопределить выбор. Опции VHDL
, Verilog
, EDIF netlist
, VQM netlist
, QSF file
, Constraints
, и Others
.
Add: Добавить новый файл в список.
Remove: Удаляет выбранный файл из списка.
Up: Перемещает выбранный файл вверх по списку.
Down: Перемещает текущий выбранный файл вниз по списку.
Show full paths to source files (флажок): запускает отображение полного пути. Если этот флажок не установлен, отображается только имя файла.
HDL Workflow Advisor создает новый проект Xilinx ISE или Vivado и добавляет следующее:
Все необходимые файлы из репозитория FPGA
Сгенерированные HDL- файлов для выбранной подсистемы и алгоритма
Если во время генерации проекта FPGA и проверки синтаксиса ошибок не обнаружено, запускается процесс генерации файлов программирования FPGA. Можно просмотреть этот процесс во внешней команде оболочке и контролировать его прогресс. Когда процесс завершен, сообщение в командном окне предлагает вам закрыть окно.
Задачи в этой папке интегрируют сгенерированное IP-ядро HDL со встраиваемым процессором.
Создайте проект для встраиваемой системы.
В окне сообщения после создания проекта можно щелкнуть ссылку на проект, чтобы открыть сгенерированный проект встраиваемой системы инструмента.
Design Tool.
Папка, в которой сохраняются ваши сгенерированные файлы проекта.
Выберите цель синтеза, чтобы сгенерировать команды Tcl оптимизации для конкретного инструмента для вашего проекта. Если вы задаете None
команды Tcl не генерируются.
Чтобы узнать, как цели синтеза сопоставляются с командами Tcl, смотрите Synthesis Objective to Tcl Command Mapping.
Сгенерируйте модель программного интерфейса или скрипт или оба с блоками драйверов ядра IP для генерации кода встроенного C.
После того, как вы сгенерируете модель программного интерфейса, можно сгенерировать код С из него с помощью Embedded Coder®. Скрипт содержит команды, которые позволяют вам подключаться к целевому компьютеру, а также записывать или читать из сгенерированного IP-ядра при помощи блоков драйверов AXI.
При снятии флажков Generate Simulink software interface model и Generate MATLAB software interface script эта задача пропускается.
Operating system: Выберите целевую операционную систему.
Сгенерируйте битовый поток для встраиваемой системы.
Включите эту опцию, чтобы запустить процесс сборки параллельно с MATLAB®. Если эта опция отключена, MATLAB нельзя использовать до завершения сборки.
Чтобы настроить синтезирующую сборку, сохраните пользовательские команды Tcl в файле и выберите Custom
. Введите путь к файлу вручную или при помощи кнопки Browse. Содержимое пользовательского файла Tcl вставляется между командами Tcl, которые открывают и закрывают проект.
Если вы выбираете Custom
и хотите сгенерировать битовый поток, команда bitstream generation Tcl должна ссылаться на имя верхнего оболочки файла и местоположение либо непосредственно, либо неявно. Например, следующая команда Xilinx Vivado Tcl генерирует битовый поток и неявно ссылается на имя и местоположение верхнего файла:
launch_runs impl_1 -to_step write_bitstream
Выберите эту опцию, чтобы ускорить время генерации битового потока с помощью контрольной точки проекта из предыдущей сборки. Эта опция доступна только при использовании инструмента синтеза Xilinx Vivado.
Чтобы использовать эту опцию, выберите Enable routed design checkpoint for build. Чтобы использовать файл контрольной точки проекта с маршрутизацией по умолчанию, выберите Default
. Расположение файла по умолчанию hdl_prj\checkpoint\system_routed.dcp
. Чтобы использовать пользовательский файл маршрутизированной контрольной точки проекта, выберите Custom
и укажите путь к пользовательскому файлу. Эта опция доступна только при использовании инструмента синтеза Xilinx Vivado.
Чтобы использовать эту опцию, выберите Custom
для Routed design checkpoint file for build. Используйте эту опцию, чтобы указать на пользовательский маршрутизированный файл контрольной точки проекта. После завершения генерации битового потока новый файл проекта маршрутизированной контрольной точки будет записан в местоположение, указанное в Routed design checkpoint file. Эта опция доступна только при использовании инструмента синтеза Xilinx Vivado.
Уменьшите время генерации битового потока при помощи нескольких логических ядер ПК. Используйте эту опцию, чтобы выбрать максимальное количество ядер ПК для использования. Выбор synthesis tool default
выбирает максимальное количество ядер, заданное в инструменте синтеза. Чтобы вручную выбрать максимальное количество ядер, выбираемых между 2
и 32
.
Запрограммируйте подключенное целевое устройство СО. Укажите Programming method для целевого устройства:
JTAG
: Использует кабель JTAG, чтобы запрограммировать целевое устройство СО.
Download
: Это значение по умолчанию Programming method. Копирует сгенерированный битовый поток FPGA, дерево устройств и скрипты инициализации системы на карту SD на плате Zynq и сохраняет битовый поток на карте SD постоянно. Чтобы использовать этот метод программирования, вам не требуется лицензия Embedded Coder. Можно создать объект SSH путем определения IP Address, SSH Username и SSH Password. HDL Coder использует SSH копируемого объекта битовый поток на карту SD и перепрограммирует плату.
Чтобы определить свою собственную функцию для программирования целевого устройства в пользовательском исходном проекте, можно использовать Custom
Programming method. Чтобы использовать пользовательское программирование, зарегистрируйте указатель на функцию пользовательской функции программирования с помощью CallbackCustomProgrammingMethod
метод hdlcoder.ReferenceDesign
класс. Для примера:
hRD.CallbackCustomProgrammingMethod = ...
@parameter_callback.callback_CustomProgrammingMethod;
Для получения дополнительной информации смотрите Программные целевые платы FPGA или однокристальные устройства.