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

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

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

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

  • MATLAB

  • Simulink

  • Fixed-Point Designer

  • DSP System Toolbox

  • Computer Vision System Toolbox

  • HDL Verifier

  • HDL Coder

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

  • Одна из поддерживаемых макетных плат FPGA и аксессуаров (ML403, SP601, BeMicro SDK и Циклон III плат Стартового набора не поддержаны для этого примера),

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

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

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

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

Примечание: демонстрация включает генерацию кода. Simulink не разрешает вам изменять область установки MATLAB. При необходимости превратитесь в рабочую директорию, которая не находится в области установки MATLAB до запуска этого примера.

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

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

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

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

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

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

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

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

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

Если вы не хотите генерировать HDL-код, можно скопировать предварительно сгенерированные файлы HDL в текущий каталог с помощью этой команды:

>> copyFILDemoFiles('videosharp');

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

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

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

hdlsetuptoolpath('ToolName', 'Xilinx ISE', 'ToolPath', 'C:\Xilinx\13.1\ISE_DS\ISE\bin\nt64\ise.exe');

Этот пример принимает, что исполняемый файл ISE Xilinx является C:\Xilinx\13.1\ISE_DS\ISE\bin\nt64\ise.exe. Займите место со своим фактическим исполняемым файлом, если это отличается.

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

hdlsetuptoolpath('ToolName','Altera Quartus II','ToolPath','C:\altera\11.0\quartus\bin\quartus.exe');

Этот пример принимает, что исполняемый файл Куарта II Altera является C:\altera\11.0\quartus\bin\quartus.exe. Займите место со своим фактическим исполняемым файлом, если это отличается.

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

Чтобы запустить Мастер FIL, выберите Tools> Verification Wizards> FPGA в цикле (FIL)... в окне модели или введите следующую команду в посдказке MATLAB:

>> 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 модель.

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 В примере цикла.