Этот пример иллюстрирует, как автоматически вставить JTAG MATLAB как AXI Master IP в ваш исходный проект и использовать MATLAB для прототипа HDL Coder, сгенерированного IP Core FPGA.
Для доступа к местоположениям встроенной памяти и быстрого зондирования или управления логикой FPGA из MATLAB используйте JTAG MATLAB в качестве ведущего IP AXI. Объект соединяется с IP по физическому кабелю JTAG и позволяет считывать и записывать команды в подчиненные места памяти из командной строки MATLAB.
Можно вставить JTAG MATLAB в качестве AXI Master IP при выполнении задачи Set Target Reference Design IP Core Generation
рабочий процесс.
Чтобы использовать эту возможность:
Необходимо установить и загрузить пакеты аппаратной поддержки HDL Verifier™.
Вы не должны назначать автономные платы, не имеющие hRD.addAXI4SlaveInterface или платы, основанные на Xilinx ISE.
Этот пример использует ZedBoard™. Прежде чем запускать рабочий процесс, необходимо:
Установите Xilinx Vivado™ Design Suite с поддерживаемой версией, указанной в документации HDL Coder
Установите плату Zynq для JTAG MATLAB в качестве платы AXI Master IP. Чтобы узнать, как настроить плату ZedBoard, смотрите раздел «Настройка оборудования и инструментов Zynq» в примере «Начало работы с совместным проектированием HW/SW для платформы Xilinx Zynq».
Загрузите и установите пакет аппаратной поддержки HDL Verifier для плат Xilinx FPGA. См. раздел настройки и строения в пакете поддержки HDL Verifier для плат Xilinx FPGA.
Настройте путь к инструменту синтеза с помощью hdlsetuptoolpath. как показано ниже:
hdlsetuptoolpath('ToolName', 'Xilinx Vivado', 'ToolPath', 'C:\Xilinx\Vivado\2018.3\bin\vivado.bat');
1. Откройте hdlcoder_led_blinking демонстрацию с помощью следующей команды:
open_system('hdlcoder_led_blinking')
2. Откройте HDL Workflow Advisor из hdlcoder_led_blinking/led_counter
подсистема щелчком правой кнопкой мыши по led_counter
и выбор HDL-кода > HDL Workflow Advisor.
3. В задаче Set Target > Set Target Device and Synthesis Tool для рабочего процесса Target выберите IP Core Generation.
4. Для целевой платформы выберите ZedBoard. Если у вас нет этой опции, выберите Получить больше, чтобы открыть программу установки пакета поддержки. В программе установки пакета поддержки выберите Xilinx Zynq™ Platform и следуйте инструкциям программы установки пакета поддержки.
5. Нажмите Run This Task, чтобы запустить задачу Set Target Device and Synthesis Tool.
6. В задаче Set Target > Set Target Reference Design выберите Default system и установите в раскрывающемся выпадающем списке AXI Master значение Insert JTAG MATLAB, которое присутствует в опциях исходного проекта.
7. Щелкните Запустить эту задачу, чтобы запустить задачу Задать исходный проект целевого объекта.
Сопоставьте каждый порт в DUT с одним из базовых IP-интерфейсов. В этом примере входные порты Blink_frequency и Blink_direction сопоставлены с интерфейсом AXI4-Lite, поэтому HDL Coder генерирует для них доступные регистры интерфейса AXI. Выходной порт светодиода сопоставлен с внешним интерфейсом, светодиодами общего назначения [0:7], который соединяется с оборудованием светодиодов на плате Zynq.
1. В задаче Set Target > Set Target Interface выберите AXI4-Lite
для Blink_frequency, Blink_direction и Read_back.
2. Выберите LEDs General Purpose [0:7]
для светодиодов.
3. Создайте проект исходного проекта, который включает JTAG MATLAB в качестве AXI Master.
Чтобы создать проект, щелкните правой кнопкой мыши задачу Create Project и выберите Run to Selected Task.
«В проекте Vivado в исходном проекте отображается JTAG MATLAB как AXI Master IP».
Для порядок использования этой функции требуется лицензия HDL Verifier. После этого простой интерфейс командной строки MATLAB ® может использоваться для доступа к ядру IP, сгенерированному HDL Coder.
В командном окне MATLAB:
1. Создайте основной объект AXI
h = aximaster('Xilinx')
2. Введите команду write, чтобы изменить частоту мигания светодиода
h.writememory('400D0100', 0)
Наблюдайте низкую частоту мигания светодиода. Попробуйте изменить значение в команде записи AXI Master с 0 до 15, чтобы увеличить частоту мигания светодиода.
h.writememory('400D0100', 15)
3. Введите команду read, чтобы считать текущее значение счетчика
h.readmemory('400D0108',1)
4. Удалите объект, когда это сделано, чтобы освободить ресурс JTAG. Если объект не удален, другие операции JTAG, такие как программирование FPGA, будут неудачными.
delete(h)
Эта демонстрация показывает, как вы можете легко прототипировать IP-ядро FPGA от MATLAB.
Ссылочный параметр проекта «Insert JTAG MATLAB as AXI Master (HDL Verifier required)» по умолчанию добавляется в пользовательский ссылочный проект. Значение по умолчанию для параметра является «off».
Если вы хотите контролировать это поведение по умолчанию для вашего исходного проекта, можно использовать следующие два необязательных исходного проекта свойства:
AddJTAGMATLABasAXIMasterParameter и JTAGMATLABasAXIMasterDefaultValue, где автор исходного проекта может задать эти свойства, чтобы выключить или даже отключить опцию параметра, чтобы не появляться в HDL Workflow Advisor.
% Insert JTAG MATLAB as AXI Master in reference designs hRD.AddJTAGMATLABasAXIMasterParameter = true; hRD.JTAGMATLABasAXIMasterDefaultValue = 'on';
1. Опция видимости в HDLWA: Если вы не хотите, чтобы JTAG MATLAB как AXI Master IP был вставлен в созданный вами исходный проект, отключите это свойство: hRD.AddJTAGMATLAB AS sasAxim
2. Значение по умолчанию параметра: В исходный проект, которую вы создали, вы можете управлять свойством hRD.JTAGMATLABasAXIMasterDefaultValue, чтобы ' on ' или ' off '.