Сгенерируйте независимое от Совета ядро IP HDL из модели Simulink

Когда вы открываете HDL Workflow Advisor и запускаете рабочий процесс IP Core Generation для вашей модели Simulink®, можно задать типичную платформу Xilinx® или типичную платформу Intel®. Рабочий процесс затем генерирует типичное ядро IP, которое можно интегрировать в любую целевую платформу по вашему выбору. Для интегрирования ядра IP задайте и укажите пользовательский исходный проект для своей требуемой платы при помощи класса hdlcoder.ReferenceDesign. Чтобы узнать больше, см.:

Сгенерируйте независимое от Совета ядро IP

Сгенерировать независимое от платы пользовательское ядро IP, чтобы использовать в среде интегрирования встраиваемой системы, такой как Intel Qsys, Xilinx EDK или Интегратор IP Xilinx:

  1. Выберите свой DUT в вашей модели Simulink и откройте HDL Workflow Advisor. Например, откройте модель hdlcoder_led_blinking.

    open_system('hdlcoder_led_blinking')

  2. Установите путь к установленному инструменту синтеза для целевого устройства при помощи функции hdlsetuptoolpath. Например, если вашим инструментом синтеза является Xilinx Vivado®, введите эту команду:

    hdlsetuptoolpath('ToolName','Xilinx Vivado','ToolPath',...
                 'C:\Xilinx\Vivado\2018.2\bin\vivado.bat');

    Смотрите Поддерживаемые Сторонние программы и Оборудование для последней поддерживаемой версии инструмента синтеза.

  3. Откройте HDL Workflow Advisor для Подсистемы DUT. Для LED мигающая модель Подсистема led_counter является DUT. В Set Target> задача Set Target Device and Synthesis Tool:

    • Для Target workflow выберите IP Core Generation.

    • Для Target platform, в зависимости от инструмента синтеза и устройства, для которого вы предназначаетесь, выберите Generic Altera Platform или Generic Xilinx Platform. Нажмите Run This Task.

  4. В Set Target> задача Set Target Interface, выберите Target Platform Interface для каждого порта, затем нажмите Apply. Можно сопоставить каждый порт DUT с одним из AXI4-Lite, AXI4, AXI4-Stream, AXI4-Stream Video или интерфейсов External Port. Чтобы узнать больше об этих интерфейсах, смотрите Интерфейсы Целевой платформы.

    Если вы не хотите сопоставлять порты DUT с ведомыми интерфейсами AXI4, можно сопоставить их с интерфейсами External Port.

  5. Расширьте задачу Set Code Generation Options. Щелкните правой кнопкой по задаче Set Optimization Options и выберите Run to Selected Task.

  6. В HDL Code Generation> задача Generate RTL Code and IP Core, можно задать, хотите ли вы сгенерировать ведомый интерфейс AXI4 по умолчанию. По умолчанию HDL Coder™ генерирует ведомые интерфейсы AXI4 для сигналов, таких как часы, сброс, готовый, метка времени, и так далее. Если вы не хотите генерировать какие-либо ведомые интерфейсы AXI4, снимите флажок Generate default AXI4 slave interface. Нажмите Run This Task.

    Примечание

    Если вы сопоставили какой-либо из портов DUT к ведомым интерфейсам AXI4 в задаче Set Target Interface, даже если вы снимаете этот флажок, генератор кода игнорирует эту установку и сопоставляет порты с ведомыми интерфейсами AXI4.

    Когда вы снимаете флажок и запускаете задачу, генератор кода сохраняет эту настройку на Подсистеме DUT как свойство GenerateDefaultAXI4Slave блока HDL.

После выполнения задачи HDL Coder генерирует файлы ядра IP в выходной папке, показанной поле IP core folder, включая документацию HTML. Чтобы просмотреть отчет ядра IP, щелкните по ссылке в окне сообщения.

Ядро IP без ведомых интерфейсов AXI4

Когда вы запускаете рабочий процесс IP Core Generation, можно также сгенерировать ядро IP HDL без любых ведомых интерфейсов AXI4 в исходном проекте.

Чтобы запустить этот рабочий процесс, откройте HDL Workflow Advisor, задайте Generic Xilinx Platform или Generic Altera Platform как целевая платформа, и убедитесь, что вы сопоставляете порты DUT только с Внешним портом или интерфейс AXI4-Stream с отображением TLAST. Кроме того, когда вы генерируете ядро IP HDL, в задаче Generate RTL Code and IP Core, снимаете флажок Generate default AXI4 slave interface, и затем выбираете Run This Task.

Используйте эту возможность когда:

  • Вы не хотите настраивать параметры ядра IP при помощи ведомых интерфейсов AXI4.

  • Вы хотите создать пользовательский исходный проект без ведомых интерфейсов AXI4, таких как автономные платы FPGA.

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

Примечание

Внешний IO и внутренние интерфейсы IO соединяют ваше ядро IP HDL с другим существующим дюйм/с в вашем пользовательском исходном проекте. Чтобы задать эти интерфейсы, вы используете addInternalIOInterface и методы addExternalIOInterface класса hdlcoder.ReferenceDesign.

Чтобы интегрировать ядро IP HDL, можно создать пользовательский исходный проект без ведомых интерфейсов AXI4. В пользовательском исходном проекте можно только использовать Внешний IO, Внутренний интерфейс IO или AXI4-Stream с отображением TLAST. Для примеров таких исходных проектов см.:

Когда вы генерируете ядро IP HDL без ведомых интерфейсов AXI4, определенные ограничения применяются. Смотрите Ядро IP без Ведомых Интерфейсных Ограничений AXI4.

Требования и ограничения для генерации ядра IP

Пользовательские ограничения генерации ядра IP

  • DUT должен быть атомарной системой.

  • То же ядро IP не может использовать и интерфейс AXI4 и интерфейс AXI4-Lite.

  • DUT не может содержать Системные блоки Генератора Xilinx или Разработчика DSP Intel Усовершенствованные блоки.

  • Если вашим выходным языком является VHDL®, и вашим инструментом синтеза является Xilinx ISE или Intel Куарт Прайм, DUT не может содержать модель - ссылку.

AXI4-облегченные интерфейсные ограничения

  • Порты ввода и вывода должны иметь немного ширины, меньше чем или равной 32 битам.

  • Порты ввода и вывода должны быть скаляром.

AXI4-потоковые ограничения видеоинтерфейса

  • Порты должны иметь 32-битную ширину.

  • Порты должны быть скаляром.

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

  • AXI4-потоковый Видеоинтерфейс не поддержан в режиме Coprocessing – blocking. Processor/FPGA synchronization должен быть установлен в режим Free running. режим Coprocessing – blocking не поддержан.

Ядро IP без ведомых интерфейсных ограничений AXI4

  • Можно только сопоставить порты с Внешними или Внутренними интерфейсами IO или интерфейсом AXI4-Stream с отображением TLAST. Другие интерфейсы, которые требуют ведомых интерфейсов AXI4, таких как Ведущее устройство AXI4, AXI4-поток и AXI4-потоковое Видео, не поддержаны.

  • Необходимо использовать режим Free running для Processor/FPGA synchronization. режим Coprocessing – blocking не поддержан.

Смотрите также

Классы

Похожие темы