Выравнивание двух потоков пиксельных данных
Панель инструментов/утилит HDL Vision
Блок выравнивания пиксельного потока синхронизирует два пиксельных потока путем задержки одного потока для согласования с синхронизацией опорного потока. Многие алгоритмы Vision HDL Toolbox™ задерживают поток пикселей, и величина задержки может изменяться при настройке параметров алгоритма. Этот блок можно использовать для выравнивания потоков для наложения, сравнения или объединения двух потоков, например, при операции размытия по Гауссу. Подключите задержанный поток к входным портам refPixel и refCtrl, а более ранний поток - к входным портам pixel и ctrl.
Эта диаграмма формы сигнала показывает входные потоки, pixelIn и refPixelInи связанные с ними сигналы управления. Опорная рамка ввода начинается позже pixelIn кадр. Выходные сигналы показывают, что задержки блока pixelIn чтобы соответствовать опорному потоку и чтобы оба выходных потока совместно использовали управляющие сигналы. Форма сигнала показывает короткую задержку между входами refCtrl и выходные данные refCtrl. В этом моделировании для учета задержки четырех строк между входными потоками параметр Maximum number of lines должен иметь значение не менее 4.

Блок сохраняет данные из входного порта пикселя в круговой буфер и затем считывает строки для выравнивания с опорными сигналами управления. Блок также сохраняет адрес начала каждой строки. Чтобы согласовать добавленную задержку обработки пути данных буфера, блок задерживает данные опорных пикселей и управляющие сигналы в течение приблизительно 10 циклов.
На схеме показана архитектура блока. Циклический буфер ОЗУ - это память размером 2 m пикселей, где m - максимальное количество строк + log2 (размер буфера строки). Буфер адресов строк имеет максимальное количество расположений строк. Если количество ctrl.Hstart утверждения перед первым refCtrl.Hstart утверждение больше, чем размер буфера адреса строки, блок перезаписывает оба буфера и повреждает выходные данные. На этой схеме максимальное количество строк равно четырем, поэтому существует четыре местоположения для хранения адреса строки в буфере. Буфер начала кадра является единственным местом для хранения ctrl.Vstart. Задержка между двумя потоками должна быть меньше времени между запусками кадра.

Когда входной пиксель является вектором или матрицей, блок воспроизводит циклический буфер ОЗУ для каждого элемента. На схеме показаны три циклических буфера ОЗУ для представления трехкомпонентного потока пикселей. Каждый кольцевой буфер ОЗУ имеет 2 МБ памяти. Для многопиксельной потоковой передачи блок корректирует размер буфера строк для хранения 1/Number пикселей. Например, с входным потоком 4 на 3 каждый буфер хранит ¼ пикселей для строки, и есть 12 циклических буфера ОЗУ, каждый с местоположениями 2 m-2. Размер буфера адреса строки остается прежним.