Поскольку в этом проекте требуется управлять несколькими светодиодами на стороне PL через EMIO на стороне PS, а созданное нами IP-ядро ZYNQ имеет максимум 64 вывода EMIO, что недостаточно для наших нужд, мы решим эту задачу, добавив два IP-ядра AXI_GPIO в существующий проект:
Нажмите "+", найдите "axi_gpio":
Дважды щелкните для настройки: нам нужно настроить 87 светодиодов, поэтому необходимо добавить два IP-ядра. Для первого IP-ядра выберите оба канала и установите ширину GPIO на максимальное значение 32. Для второго IP-ядра выберите только один канал и установите ширину GPIO на 23.
После завершения настройки нажмите "Run Connection Automation" для автоматической разводки:
Во всплывающем окне установите все флажки:
Назначьте ограничения для выводов GPIO в соответствии со схемой:
Наконец, экспортируйте аппаратный проект в файл .xsa, следуя предыдущим шагам.
Поскольку файл .xsa был обновлен, его необходимо обновить в проекте Vitis: выберите экспортированный файл .xsa, и после успешного обновления щелкните правой кнопкой мыши по "Mind-Z7020" и выберите Build.
Аналогично, в Vitis нажмите File-->new-->Appiacation Project:
Выберите пустой файл .c:
После создания проекта приложения создайте новый файл .c: щелкните правой кнопкой мыши по src->New->File:
После успешной компиляции проекта подключите JTAG отладочной платы к компьютеру с помощью кабеля USB Type-C.