Измените конфигурацию оборудования на основе проекта Vivado hello world.
Нажмите "Open Block Design". Это откроет файл bd, созданный проектом Hello World:
На основе проекта hello_world вам нужно только добавить конфигурацию IIC. (EMIO: Используется для расширения функциональности ввода-вывода FPGA, позволяя ей подключаться и обмениваться данными с внешними устройствами. Это позволяет FPGA взаимодействовать с внешними низкоскоростными устройствами ввода-вывода через секцию PS.)
Выберите правильные ограничения выводов в соответствии со схемами основной и базовой плат:
Нажмите OK.
Щелкните правой кнопкой мыши на IIC_0 и выберите Make External. Программа автоматически сгенерирует внешние выводы, соответствующие интерфейсу IIC_0 в модуле верхнего уровня:
Нажмите сочетание клавиш Ctrl+S, чтобы сохранить текущий проект. Затем нажмите кнопку, указанную стрелкой на рисунке ниже, чтобы проверить текущий проект. После завершения проверки появится диалоговое окно, сообщающее об отсутствии ошибок или критических предупреждений. Нажмите "OK", как показано ниже:
Сгенерируйте файл верхнего уровня: В окне Sources выберите sysetm.bd в разделе Design Sources. Это Block Design, который мы только что завершили. Щелкните правой кнопкой мыши на sysetm.bd и в появившемся меню выберите "Reset Output Products", а затем "Generate Output Products":
На вкладке "Hierarchy" снова щелкните правой кнопкой мыши на system.bd, а затем выберите "Create HDL Wrapper":
Нажмите Run Synthesis, затем нажмите OK:
После успешного завершения появится диалоговое окно. Выберите второй вариант:
После открытия интерфейс будет выглядеть так:
Поскольку мы используем EMIO, нам необходимо добавить ограничения для выводов. Есть два способа сделать это:
Способ 1: Добавить ограничения выводов в виде кода в файл .xdc:
Поскольку этот файл не создается автоматически, нам нужно создать его вручную:
Нажмите Constraints Wizard. В появившемся окне нажмите Define Target:
Нажмите Create File:
Введите имя, нажмите OK, затем выберите его и снова нажмите OK:
Файл ограничений .xdc теперь создан. Откройте файл и добавьте операторы ограничений в соответствии с ранее упомянутой схемой:
Способ 2: Использовать графический интерфейс для выбора опций:
После нажатия Constraints Wizard, нажмите Cancel в появившемся окне. Затем в нижней части интерфейса появятся опции. Выберите правильный Package Pin в соответствии со схемой. Появляется предупреждение "default", потому что напряжение неверно; измените его на LVCMOS33:
Нажмите Run Implementation, затем нажмите Yes. Подсказка указывает, что когда изменения в файле проекта делают недействительными предыдущие результаты синтеза, инструмент спросит пользователя, следует ли повторно запустить синтез. После завершения синтеза он автоматически перейдет к этапу реализации.
Поскольку мы добавили ограничения, результаты предыдущего шага Run Synthesis изменились. Появится всплывающее окно:
Нажмите, чтобы сохранить файл ограничений:
Нажмите OK:
Выбор среднего варианта приведет к прямому переходу к следующему шагу: генерации файла bitstream:
После успешной генерации файла bitstream нажмите Cancel:
Нажмите File->Export->Export Hardware:
Выберите второй вариант, Include bitstream:
Щелкните правой кнопкой мыши по созданному проекту платформы и выберите Update Hardware Specification. Укажите путь к файлу .xsa. Появится следующее диалоговое окно. Нажмите OK, что означает успешное обновление. Рекомендуется после обновления снова щелкнуть правой кнопкой мыши по проекту платформы и выполнить его сборку (Build).
Чтобы создать новый проект приложения на существующем платформенном проекте, обратитесь к инструкции по созданию проекта Hello World. Единственное отличие — выберите шаблон "Empty Application (C)". Код необходимо писать вручную, так как программное обеспечение не предоставляет шаблон для этого проекта.
После создания щёлкните правой кнопкой мыши на Src → New → File:
Для конкретного кода смотрите файлы в каталоге src. Для примера реализации можно обратиться к примерным проектам, включённым в Vitis:
После успешной компиляции проекта подключите JTAG платы разработки к компьютеру с помощью кабеля USB Type-C. Используйте другой кабель USB Type-C для подключения PS UART платы к компьютеру. Откройте на компьютере инструмент для последовательной отладки, например MobaXterm, и установите соединение с PS UART платы разработки.
Войдите в режим отладки в Vitis: в меню Debug As выберите первый вариант. Запустите на полной скорости, чтобы просматривать информацию отладки через последовательный порт.
Результаты отладки приведены ниже: