Перейти к содержанию
    

Средства отладки алгоритмов обработки изображений для FPGA

Есть HDL-модуль, на вход которого поступает изображение (сигналы Frame_Valid_in, Line_Valid_in и 8-битная яркость Image_in), на выходе получаем обработанное изображение в таком же виде (Frame_Valid_out, Line_Valid_out и Image_out).

Хотелось бы произвести моделирование на реальных картинках: записать в память входное изображение и получить на выходе не набор сигналов, а реальное изображение. Есть идея написать программу, которая из файла симуляции извлечет нужные данные и отобразит картинку, но может быть есть какие-нибудь готовые средства отладки? Спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Берете симулятор (modelsim или activehdl или любой другой) и пишете под него на С/С++ модуль, который будет представлять Ваши данные как картинку или как там Вам нужно. И симулируете все он-лайн. А через wlf-файл будет очень медленно, имхо. Впрочем, если ограничения на быстродействие нет, то можно и через него.

Стандарты подключаемых модулей описаны - PLI/VPI/DPI или FLI.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

На текущий момент в качестве источника входных воздействий лучше использовать systemc - там мороки меньше.

В качестве опорной точки лучше взять AVM от MG. Можно взять на сайте ментора, также входит в пакет http://www.mazdak-alborz.com/evan.html(скачивать в разделе download).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

я бы из предложенного выбрал всё-таки Систем-Си - на мой взрляд мороки меньше чем с DPI/FLI - моделсим позволяет совместное моделирование

а в качестве входной картинки - формат .pgm (portable gray map) - очень простой формат - заголовок : глубина цвета(первая строка), (вторая строка)ширина/высота картинки, а далее через запятую десятичные числа в формате ASCII

модули на системЦ будут транзакторами переводящими файл с картинкой в последовательность входных сигналов и обратно после обработки

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Знакомый делал так: использовал формат raw кажись, его фотошоп умеет делать. Красота в том, что он представляет собой последовательность байт картинки безо всякой служебной муры.

Ну а дальше всё элементарно: пишем 2 модуля на любимом языке, один загрузки картинки из файла, другой для записи. Учитывая простоту фoрмата картинки - всё максимально прозрачно и просто.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Уже сделал в MatLab (открыл файл результатов симуляции и сформировал массив для отображении). Мне кажется это наиболее оптимальный вариант, т.к. все алгоритмы моделируем тоже в матлабе и можно сравнить результаты работы алгоритма с результатами симуляции на FPGA.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо. Уже сделал в MatLab (открыл файл результатов симуляции и сформировал массив для отображении). Мне кажется это наиболее оптимальный вариант, т.к. все алгоритмы моделируем тоже в матлабе и можно сравнить результаты работы алгоритма с результатами симуляции на FPGA.

Кстати, то-же ActivHDL имеет интерфейс на MatLab, можно сразу всё вместе симулять.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Знакомый делал так: использовал формат raw кажись, его фотошоп умеет делать. Красота в том, что он представляет собой последовательность байт картинки безо всякой служебной муры.

так-то оно так, да только надо учитывать, что в RAW-формате данные хранятся в виде представления на Байеровской матрице G-B-R-G ( а не привычном RGB ), поэтому применение формата, как универсального контейнера дл задач отладки всёже ограничено.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

используйте формат *.PGM там всё как нужно....

неоднократно тестировал в моделСиме!

пишется тестбенч, входные данные читаются из файла *.PGM , при этом необходимо убрать первые 15 символов шапки в этом файле.

После обработки выходные данные пишутся так же средствами ВХДЛ в выходной файл с необходимым расширением. У меня для этого есть специальная память, которая выгружается в файл.

всё очень удобно и просто. вот только входные данные у нас 8ми битные!

других ограничений нет!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

так-то оно так, да только надо учитывать, что в RAW-формате данные хранятся в виде представления на Байеровской матрице G-B-R-G ( а не привычном RGB )

А разве RAW формат жёстко стандартизован ?

 

Подобную задачу я решал именно так, как описал Builder. Файлы обрабатывались IrfanView - он понимает RAW с любым порядком и разрядностью цвета (параметры задаются вручную). Любая картинка -> приводим размер к нужному в Irfanview -> сохраняем в RAW (RGB 8 bit) -> модуль на Verilog читает файл и выдаёт картинку тестируемому -> выход пишется другим модулем в RAW -> открываем RAW в Irfanview и смотрим.

 

Для пущей радости можно всё это делать скриптом (в мейкфайле например) - у Irfanview операции доступны через командную строку.

 

Под юниксами подойдёт ImageMagick или XnView.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...