Ускорение обработки видеоданных Используя FPGA в цикле

Этот пример использует FPGA в цикле (FIL) симуляция, чтобы ускорить симуляцию обработки видеоданных с Simulink® путем добавления FPGA. Показанный процесс анализирует простую систему, которая увеличивает резкость ввода видео RGB на уровне 24 кадров в секунду.

Этот пример использует Computer Vision Toolbox™ в сочетании с HDL Coder™ и HDL Verifier™, чтобы показать рабочий процесс проекта для реализации симуляции FIL.

Инструменты, требуемые запускать этот пример:

  • Программное обеспечение проекта FPGA (Xilinx® ISE® или Vivado® проектируют набор или программное обеспечение проекта Intel® Quartus® Prime),

  • Одна из поддерживаемых макетных плат FPGA и аксессуаров (ML403, SP601, BeMicro SDK и Циклон III плат Стартового набора не поддерживаются для этого примера). Для получения дополнительной информации о поддерживаемом оборудовании, смотрите Поддерживаемые Устройства FPGA для Верификации FPGA.

  • Для связи с помощью Ethernet: Гигабитный Адаптер Ethernet установил на хосте - компьютере, Гигабитный Ethernet перекрестно соединяют кабель

  • Для связи с помощью JTAG: Бластер USB I или II кабелей и драйвер для плат FPGA Altera. Кабель Digilent® JTAG и драйвер для плат FPGA Xilinx.

  • Для связи с помощью PCI Express®: плата FPGA установлена в паз PCI Express хоста - компьютера.

MATLAB® и программное обеспечение проекта FPGA могут или быть локально установлены на вашем компьютере или на сетевом доступном устройстве. Если вы будете использовать программное обеспечение от сети, то вам будет нужен второй сетевой адаптер, установленный в вашем компьютере, чтобы предоставить частную сеть макетной плате FPGA. Консультируйтесь с оборудованием и сетевыми руководствами для вашего компьютера, чтобы изучить, как установить сетевой адаптер.

1. Откройте и выполните модель Simulink

Откройте модель и запустите симуляцию в течение 0,21 с.

Из-за большого количества данных к процессу, симуляция не быстра. Мы улучшим скорость симуляции в следующих шагах при помощи FPGA в цикле.

2. Сгенерируйте HDL-код

Сгенерируйте HDL-код для подсистемы Увеличения резкости Потокового видео путем выполнения этих шагов:

a. Щелкните правой кнопкой по блоку, пометил Streaming 2-D FIR Filter.

b. Выберите HDL Code> Generate HDL for Subsystem в контекстном меню.

В качестве альтернативы можно сгенерировать HDL-код путем ввода следующей команды в подсказке MATLAB:

makehdl('fil_videosharp_sim/Streaming 2-D FIR Filter')

Если вы не хотите генерировать HDL-код, можно использовать предсгенерированные файлы HDL, расположенные в videosharp_hdlsrc папка.

3. Настройте программное обеспечение проекта FPGA

Перед использованием FPGA в цикле убедитесь, что ваша системная среда настраивается правильно для доступа к программному обеспечению проекта FPGA. Можно использовать функцию hdlsetuptoolpath, чтобы добавить Xilinx Vivado или Intel Куарт Прайм к системному пути для текущего сеанса работы с MATLAB.

Для плат FPGA Xilinx, запуска

hdlsetuptoolpath('ToolName', 'Xilinx Vivado', 'ToolPath', 'C:\Xilinx\Vivado\2019.2\bin');

Этот пример принимает, что исполняемый файл Xilinx Vivado расположен в C:\Xilinx\Vivado\2019.2\bin. Займите место со своим фактическим исполняемым местоположением, если это отличается.

Для плат Intel, запуска

hdlsetuptoolpath('ToolName','Altera Quartus II','ToolPath','C:\Intel\quartus\18.1\bin64');

Этот пример принимает, что исполняемый файл Куарта Прайма Intel расположен в C:\Intel\quartus\18.1\bin64. Займите место со своим фактическим исполняемым местоположением, если это отличается.

4. Запустите FPGA-in-the-Loop Wizard

Введите следующую команду в подсказке MATLAB, чтобы запустить Мастер FIL:

filWizard;

4.1 Аппаратные опции

Выберите плату в списке плат.

4.2 Исходные файлы

a. Добавьте ранее сгенерированные исходные файлы HDL для Streaming Video Sharpening подсистема.

b. Выберите Streaming_2_D_FIR_Filter.vhd как файл Верхнего уровня.

4.3 Порты ввода-вывода DUT

Ничего не изменяйте в этом представлении.

4.4 Создайте опции

a. Выберите выходную папку.

b. Нажмите Build, чтобы создать блок FIL и файл программирования FPGA.

Во время процесса сборки происходят следующие действия:

  • Блок FIL по имени Streaming_2_D_FIR_Filter сгенерирован в новой модели. Не закрывайте эту модель.

  • После новой генерации модели Мастер FIL открывает командное окно, где программное обеспечение проекта FPGA выполняет синтез, подгонку, место-и-маршрут, синхронизируя анализ и FPGA, программируя генерацию файла. Когда программный процесс проекта FPGA закончен, сообщение в командном окне сообщает, что можно закрыть окно. Закройте окно.

c. Закройте fil_videosharp_sim.slx модель.

5. Откройте и завершите модель Simulink для FIL

a. Откройте fil_videosharp_fpga.slx модель.

b. Скопируйте в нем ранее сгенерированный блок FIL к fil_videosharp_fpga.slx, где это говорит, "Заменяют это на блок FIL"

6. Сконфигурируйте блок FIL

a. Дважды кликните блок FIL в Увеличении резкости Потокового видео с FPGA в модели Loop, чтобы открыть маску блока.

b. Нажмите Load.

c. Нажмите ОК, чтобы закрыть маску блока.

7. Запустите симуляцию FIL

Запустите симуляцию в течение многих 10-х и наблюдайте повышение производительности.

Это завершает Ускорение Обработки видеоданных с помощью FPGA В примере цикла.