Closed EvilLord666 closed 7 years ago
Задачу накинул на вас всех, думаю решите, как ее делать.
Вопрос: для проверки линии image_capture_enabled нам нужно подавать сигналы на входные линии 4-х модулей, которых она контролирует, и смотреть, как ведут себя эти модули при включении и выключении enable?
или нужно протестировать само формирование сигнала enable внутри модуля image_capture_manager?
Конечно же второй вариант:
нужно протестировать само формирование сигнала enable внутри модуля
image_capture_manager?
тест закоммитил, есть много вопросов по AXI
Буду смотреть написанный тест и оценивать работоспособность модуля. Все комментарии выложу здесь.
Посмотрел тест вот, что нужно скорректировать в первую очередь: Каждая операция записи (со стороны Master в Slave) состоит из 3 фаз:
а) Установка Master'ом адреса
б) Выставление данных на шину данных
в) Получение ответа от Slave.
В рамках этого теста вы не задаете адрес устройству, т.к. адрес в модуле image_capture_manager_S00_AXI используется исключительно для доступа к регистрам, в данном случае мы эти возможности не используем. Каждая из операций а) - в) использует подтверждение (Handshaking) TValid/TRead:
Остальные проблемы нужно будет решить после этих трех.
Теперь, нужно скорректировать сам модуль, предлагаю обсудить как лучше настроить логику работы, предлагайте решения.
Во первых я бы изменил в always блоке posedge s00_axi_wstrb[0] на posedge s00_axi_wvalid (79 строка).
достаточно в if (~s00_axi_awvalid) изменить на (~s00_axi_wvalid),все работает,я проверил,толкнуть не получается
Правильно нам нужно ждать готовности самих данных а не адреса, протолкнуть ты не можешь, т.к. у тебя конфликт, я в эту ветку коммитил,поэтому сначал нужно вытянуть изменения, сделать мердж и протолкнуть.
В общем есть разговор относительно тех документов, которые я вам недавно сбрасывал + в ближайшее время будут платы, поэтому нужно встретиться и обсудить план работ.
Скорректировал ваши изменения, залил ветку в мастер.
Необходимо написать тесты для проверки логики работы модуля image_capture_manager (проверка изменения уровней сигналах на линиях image_capture_enabled и memory_clear). Тестирование должно быть проведено с учетом специфики взаимодействия по шине AXI (см. https://github.com/OpticalMeasurementsSystems/VideoControlIP/wiki/%D0%A2%D1%83%D1%82%D0%BE%D1%80%D0%B8%D0%B0%D0%BB%D1%8B-%D0%B8-%D0%BC%D0%B0%D1%82%D0%B5%D1%80%D0%B8%D0%B0%D0%BB%D1%8B-%D0%BF%D0%BE-Vivado-%D0%B8-Xilinx). Для симуляции необходимо создать новый сэт для симуляции (см., пример, как реализовано в UshakovMV_StreamConvertorImpl хотя там еще не все доделано, но общая канва правильна).
Нужно автоматизировать процесс описания формы сигналов через tcl-скрипт (см., как реализовано в вышеупомянутой ветке, см. нашу вики по справочнику команд для скрипта). Задача реализовывается в отдельной ветке, имя ветки SurnameLetters_Feature (в данном случае это будет, например BoyarintsevA?(вместо ? первая буква отчества)_ImageCaptureManagerTests). Естественно, если есть ошибки в коде модуля, то их нужно также будет исправить. После реализации в отдельной ветке и проверки этой реализации мной или Сашей, будет проведена операция слияния веток.