Моделируйте Проект для генерации AXI4-Stream видео-интерфейса

С помощью программного обеспечения HDL Coder™ можно реализовать в модели упрощенный, потоковый пиксельный протокол. Программное обеспечение генерирует IP-ядро HDL с AXI4-Stream Video интерфейсами.

Потоковый пиксельный протокол

Для отображения AXI4-Stream интерфейса можно использовать протокол потокового пикселя. Видео алгоритмы обрабатывают данные последовательно и генерируют видеоданные как последовательный поток пиксельных данных и управляющих сигналов. Чтобы узнать о протоколе потокового пикселя, смотрите Streaming Pixel Interface (Vision HDL Toolbox).

Чтобы сгенерировать IP-ядро с AXI4-Stream Video интерфейсами, в интерфейсе DUT реализуйте следующие сигналы:

  • Пиксельные данные

  • Пиксельная шина управления

Pixel Control Bus является шиной, которая имеет следующие сигналы:

  • hStart

  • hEnd

  • vStart

  • vEnd

  • valid

Сигналы hStart и hEnd представляют начало активной линии и конец активной линии соответственно. Сигналы vStart и vEnd представляют начало системы координат и конец системы координат.

Вы можете опционально смоделировать сигнал противодавления, Ready, и сопоставить его с интерфейсом AXI4-Stream Video.

Протокольные сигналы и временные диаграммы

Этот рисунок представляет собой изображение 2 на 3 пикселя. Активной областью изображения является прямоугольник с штриховой линией вокруг него и неактивные пиксели, которые окружают его. Пиксели маркируются своими значениями в градациях серого.

Пиксельные данные и шина управления пикселями

Этот рисунок показывает временную схему для сигналов Pixel Data и Pixel Control Bus, которые вы моделируете в интерфейсе DUT.

Сигнал Pixel Data является основным видеосигналом, который передается через интерфейс AXI4-Stream Video. Когда сигнал Pixel Data действителен, утверждается действительный сигнал.

Сигнал hStart становится высоким в начале активных линий. Сигнал hEnd становится высоким в конце активных линий.

Сигнал vStart становится высоким в начале активной системы координат во второй линии. Сигнал vEnd становится высоким в конце активной системы координат в третьей линии.

Необязательный сигнал готовности

Этот рисунок показывает временную схему для Пиксельных Данных, Шины Управления Пикселей и сигнала Готовности, который вы моделируете в интерфейсе DUT.

Когда вы сопоставляете порты DUT с AXI4-Stream Video интерфейсом, можно опционально смоделировать сигнал противодавления, Ready, и сопоставить его с AXI4-Stream Video интерфейсом.

В интерфейсе Slave с сигналом Ready можно применить обратное давление. В интерфейсе Master с сигналом Ready можно ответить на задние давления.

Если вы моделируете сигнал Ready в интерфейсах AXI4-Stream Video, ваш интерфейс Master должен отключить его действительный сигнал через один цикл после отключения сигнала Ready.

Если вы не моделируете сигнал Ready, HDL Coder генерирует связанную логику противодавления.

Моделируйте сигналы шины данных и управления

Можно смоделировать алгоритм видео с сигналами Pixel Data и Pixel Control Bus в портах DUT и сопоставить сигналы с AXI4-Stream Video интерфейсами. Вы можете опционально смоделировать сигнал противодавления, Ready, и сопоставить его с интерфейсом AXI4-Stream Video.

Этот рисунок показывает пример Simulink верхнего уровня® модель с входным Video Source.

Блоки Frame To Pixels и Pixels To Frame выполняют преобразование между видеокадрами и шиной Данные и Pixel Control в интерфейсе DUT. Для использования этих блоков необходимо установить Vision HDL Toolbox™.

См. также Frame To Pixels (Vision HDL Toolbox) и Pixels To Frame (Vision HDL Toolbox).

Моделирование пиксельных данных и шины управления

Этот рисунок показывает, как смоделировать сигналы Pixel Data и Pixel Control Bus внутри подсистемы DUT.

Можно непосредственно подключить действительный сигнал от шины управления пикселями к порту Enable. Если у вас нет программного обеспечения Vision HDL Toolbox, замените блоки Pixel Control Bus Selector и Pixel Control Bus Creator блоками Bus Selector и Bus Creator соответственно.

Моделирование готового сигнала

Интерфейсы AXI4-Stream Video в DUT могут опционально включать сигнал Ready.

Для примера, вы можете иметь FIFO в DUT, чтобы хранить некоторые видео данных перед обработкой сигналов. Используйте Подсистему FIFO, которая содержит HDL FIFO блоков для хранения Пиксельных Данных и сигналов Шины Управления Пикселей. Чтобы применить противодавление к компоненту в восходящем направлении, моделируйте сигнал Ready на основе сигнала FIFO Full.

Этот рисунок показывает, как смоделировать сигнал Ready внутри подсистемы DUT.

Блок FIFO Subsystem использует HDL FIFO блоков для Пиксельных Данных и для сигналов Шины Управления Пикселей.

Отключите балансировку задержки для пути сигнала Ready. Если вы включите балансировку задержки, кодер может вставить одну или несколько задержек на сигнал Ready.

Сопоставление портов DUT с несколькими каналами

Когда вы запускаете IP Core Generation рабочий процесс, можно сопоставить несколько портов DUT с AXI4-Stream Video Master и AXI4-Stream Video Slave каналами. Порты DUT, сопоставленные с несколькими интерфейсными каналами, должны использовать скалярный тип данных. Когда вы используете векторные порты, можно сопоставить порты не более чем с одним AXI4-Stream Video Master каналом и одним AXI4-Stream Video Slave каналом.

Для получения дополнительной информации см. раздел «Генерация IP-ядра HDL с несколькими AXI4-Stream и AXI4 главными интерфейсами».

Моделируйте проекты с несколькими скоростями дискретизации

Программное обеспечение HDL Coder поддерживает проекты с несколькими скоростями дискретизации, когда вы запускаете рабочий процесс генерации ядра IP. Когда вы сопоставляете порты интерфейса с AXI4-Stream Video Master или AXI4-Stream Video Slave интерфейсами, чтобы использовать несколько частот дискретизации, убедитесь, что порты DUT, которые сопоставлены с этими AXI4 интерфейсами, работают с самой быстрой скоростью проекта после генерации HDL-кода.

Для получения дополнительной информации смотрите Multirate IP Core Generation.

Логика вставки Video Porch

Системы видеосъемки сканируют видеосигналы слева направо и сверху вниз. Когда эти системы сканируются, они генерируют неактивные интервалы между линиями и системами координат активного видео. Этот неактивный интервал называется видеоповоротом. Горизонтальное крыльцо состоит из неактивных циклов между концом одной линии и началом следующей линии. Вертикальное крыльцо состоит из неактивных циклов между конечной активной линией одной системы координат и стартовой активной линией следующей системы координат.

Этот рисунок показывает видеокадр с горизонтальным крыльцом, разделенным на переднюю и заднюю крыльца.

Интерфейс AXI4-Stream Video не требует видео-крыльца, но алгоритмы Vision HDL Toolbox требуют крыльца для обработки видеопотоков. Если входящий поток пикселей не имеет достаточного крыльца, HDL Coder вставляет необходимое количество крыльца в поток пикселей. При помощи регистров AXI4-Lite в сгенерированном IP-ядре можно настроить эти параметры крыльца для каждого видеокадра:

  • Активные пиксели на линию (По умолчанию: 1920)

  • Активные линии видео: (По умолчанию: 1080)

  • Горизонтальная длина крыльца (по умолчанию: 280)

  • Вертикальная длина крыльца (по умолчанию: 45)

Система видео по умолчанию Исходный проект

Можно интегрировать сгенерированное IP-ядро HDL с AXI4-Stream Video интерфейсами в Default video system исходный проект.

Этот рисунок является блоком Default video system исходный проект.

Вы можете использовать эту Default video system исходный проект с этими целевыми платформами:

  • Xilinx Zynq ZC702 evaluation kit

  • Xilinx Zynq ZC706 evaluation kit

  • ZedBoard

Как использовать Default video system Исходный проект необходимо установить пакет поддержки Computer Vision Toolbox™ для Xilinx® Zynq®-Основанное оборудование.

Ограничения

Когда вы сопоставляете порты DUT с AXI4-Stream Video интерфейсами:

  • Порт DUT, сопоставленный с сигналом Pixel Data, должен использовать скалярный тип данных.

  • Xilinx Zynq-7000 должна быть вашей целевой платформой.

  • Вы должны использовать Xilinx Vivado® как ваш инструмент синтеза.

  • Processor/FPGA synchronization должны быть Free running.

Похожие темы

Похожие темы