Используя MATLAB JTAG, когда Ведущее устройство AXI, чтобы управлять HDL Coder сгенерировало Ядро IP

Этот пример иллюстрирует, как автоматически ввести MATLAB JTAG как Ведущий IP AXI в ваш исходный проект и использовать MATLAB, чтобы моделировать сгенерированное Ядро IP FPGA вашего HDL Coder.

Введение и необходимые условия

К местоположениям встроенной памяти доступа и быстро зондируют или управляют логикой FPGA из MATLAB, используют MATLAB JTAG в качестве ведущего IP AXI. Объект соединяется с IP по физическому кабелю JTAG и позволяет чтению и командам записи назначать ячейки памяти ведомым устройством из командной строки MATLAB.

Можно ввести MATLAB JTAG как Ведущий IP AXI при выполнении Целевой задачи Исходного проекта Набора IP Core Generation рабочий процесс.

Использовать эту возможность:

  • У вас должны быть пакеты аппаратной поддержки HDL Verifier™, установленные и загруженные.

  • Вы не должны предназначаться для автономных плат, которые не имеют hRD.addAXI4SlaveInterface или плат, которые основаны на Xilinx ISE.

Этот пример использует ZedBoard™. Прежде чем вы запустите рабочий процесс, вы должны:

  1. Установите Набор Проекта Xilinx Vivado™ с поддерживаемой версией, перечисленной в документации HDL Coder

  2. Setup управление Zynq по MATLAB JTAG как Ведущая вставка IP AXI. Чтобы изучить, как создать ZedBoard, отошлите к Набору оборудование Zynq и раздел инструментов в Начале работы с Рабочим процессом Элемента кода HW/SW для примера Платформы Xilinx Zynq.

  3. Загрузите и установите пакет аппаратной поддержки HDL Verifier для Советов FPGA Xilinx. Смотрите настройку и раздел настройки в Пакете Поддержки HDL Verifier для Советов FPGA Xilinx.

  4. Создайте путь к инструменту синтеза при помощи hdlsetuptoolpath. как показано ниже:

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

Включите вставку MATLAB JTAG как ведущее устройство AXI

1. Откройте демонстрацию hdlcoder_led_blinking, использующую после команды:

open_system('hdlcoder_led_blinking')

2. Откройте HDL Workflow Advisor от hdlcoder_led_blinking/led_counter подсистема путем щелчка правой кнопкой по led_counter подсистема и выбор HDL Code> HDL Workflow Advisor.

3. В Цели Набора> Целевое устройство Набора и задача Инструмента Синтеза, для Целевого рабочего процесса, выбирают IP Core Generation.

4. Для Целевой платформы выберите ZedBoard. Если у вас нет этой опции, выберите Get больше, чтобы открыть Инсталлятор Пакета Поддержки. В Инсталляторе Пакета Поддержки выберите Xilinx Zynq™ Platform и следуйте инструкциям, предоставленным Инсталлятором Пакета Поддержки, чтобы завершить установку.

5. Нажмите Run This Task, чтобы запустить задачу Инструмента Целевого устройства и Синтеза Набора.

6. В Цели Набора> Целевая задача Исходного проекта Набора, выберите систему Default и установите, Вводят MATLAB JTAG как Ведущее устройство AXI выпадающий выбор к, на котором присутствует в опциях параметра исходного проекта.

7. Нажмите Run This Task, чтобы запустить Целевую задачу Исходного проекта Набора.

Сгенерируйте ядро IP HDL и создайте проект с основным IP AXI

Сопоставьте каждый порт в своем DUT к одному из целевых интерфейсов ядра IP. В этом примере входные порты Blink_frequency и Blink_direction сопоставлены с интерфейсом AXI4-Lite, таким образом, HDL Coder генерирует интерфейс AXI доступные регистры для них. Выходной порт LED сопоставлен с внешним интерфейсом, светодиодная Общая цель [0:7], который связывает с оборудованием LED на плате Zynq.

1. В Цели Набора> Поставившая Целевая Интерфейсная задача, выберите AXI4-Lite для Blink_frequency, Blink_direction и Read_back.

2. Выберите LEDs General Purpose [0:7] для LED.

3. Создайте проект исходного проекта, который включает MATLAB JTAG как Ведущее устройство AXI.

Чтобы создать проект, щелкните правой кнопкой по Создать задаче Проекта и выберите Run to Selected Task.

"В проекте Vivado вы рассматриваете MATLAB JTAG как Ведущий IP AXI, вставленный в исходный проект".

Используя MATLAB JTAG как Ведущее устройство AXI, чтобы Управлять ядром IP HDL Coder

Для того, чтобы использовать эту функцию, вы требуете лицензии HDL Verifier. После этого простой интерфейс командной строки MATLAB® может использоваться, чтобы получить доступ к ядру IP, сгенерированному HDL Coder.

В окне команды MATLAB:

1. Создайте объект шаблона AXI

h = aximaster('Xilinx')

2. Введите команду записи, чтобы изменить LED Мигающая частота

h.writememory('400D0100', 0)

Наблюдайте LED, мигающая частота является низкой. Попробуйте изменяют значение в Основной команде записи AXI с 0 до 15, чтобы увеличить LED мигающая частота.

h.writememory('400D0100', 15)

3. Введите команду чтения, чтобы считать текущее встречное значение

h.readmemory('400D0108',1)

4. Удалите объект, когда сделано, чтобы освободить ресурс JTAG. Если объект не будет удален, другие операции JTAG, такие как программирование FPGA перестанут работать.

delete(h)

Эта демонстрация показывает, как можно легко моделировать ядро IP FPGA из MATLAB.

JTAG MATLAB как ведущее устройство AXI в пользовательских исходных проектах

"Вводят MATLAB JTAG, когда Ведущее устройство AXI (требуемый HDL Verifier)" параметр исходного проекта по умолчанию добавляется к вашему пользовательскому исходному проекту. Значение по умолчанию для параметра "выключено".

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

AddJTAGMATLABasAXIMasterParameter и JTAGMATLABasAXIMasterDefaultValue, где автор исходного проекта может установить те свойства выключить или даже отключить опцию параметра к не появиться в HDL Workflow Advisor.

% Insert JTAG MATLAB as AXI Master in reference designs
hRD.AddJTAGMATLABasAXIMasterParameter = true;
hRD.JTAGMATLABasAXIMasterDefaultValue = 'on';

1. Опция видимости параметра в HDLWA: Если вы не хотите, чтобы MATLAB JTAG как Ведущий IP AXI был введен в исходный проект, который вы создали, отключите это свойство: hRD.AddJTAGMATLABasAXIMasterParameter ко лжи.

2. Значение по умолчанию параметра: В исходном проекте, который вы создали, можно управлять свойством hRD.JTAGMATLABasAXIMasterDefaultValue к 'on' или 'off'.