exponenta event banner

Ускорение обработки видео с помощью FPGA-in-the-Loop

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

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

Инструменты, необходимые для выполнения этого примера:

  • ПО для проектирования FPGA (ПО для проектирования Xilinx ® ISE ® или Vivado ® или Intel ® Quartus ® Prime)

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

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

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

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

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

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

Откройте модель и запустите моделирование для 0.21s.

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

2. Создание кода HDL

Создайте код HDL для подсистемы резкости потокового видео, выполнив следующие действия:

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

b. В контекстном меню выберите «Код HDL» > «Создать HDL для подсистемы».

Также можно создать код HDL, введя следующую команду в подсказке MATLAB:

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

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

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

Перед использованием FPGA-in-the-Loop убедитесь, что системная среда правильно настроена для доступа к программному обеспечению FPGA. Функцию hdlsetuptoolpath можно использовать для добавления Xilinx Vivado или Intel Quartus Prime к системному пути текущей сессии MATLAB.

Для плат Xilinx FPGA запустите

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 Quartus Prime находится в формате C :\Intel\quartus\18.1\bin64. Замените фактическим местоположением исполняемого файла, если оно отличается.

4. Запуск мастера FPGA-in-the-Loop

Введите следующую команду в приглашении 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

Ответ. Дважды щелкните блок FIL в модели резкости потокового видео с FPGA-in-the-Loop, чтобы открыть маску блока.

b. Щелкните Загрузить (Load).

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

7. Запустить моделирование FIL

Выполните моделирование в течение 10 с и наблюдайте за улучшением производительности.

На этом завершается пример ускорения обработки видео с использованием FPGA-In-the-Loop.