Вы хотите провести модульное тестирование драйвера для ПЛИС или тестировать протокол?
Потому что, если вы хотите протестировать и то и другое, для меня это уже будет похоже на (системный) интеграционный тест.
Да, можно протестировать коммуникационную библиотеку изолированно. Убедитесь, что ваш протокол связи не слишком переплетен с драйвером устройства; таким образом, вы можете проверить это изолированно.
Мое предложение:
- юнит-тест мелких деталей; проверь их тщательно
- проверьте, что вы хотите от интеграционного теста; много данных или стресс-тест? сделать его ортогональным к юнит-тесту
- если вы смоделируете аппаратное обеспечение, сделайте его очень простым
Вид ошибок, которые меня интересуют при тестировании библиотеки связи FPGA +:
- это обрабатывает протокол в соответствии со спецификациями?
- как он ведет себя при переполнении / потере буфера?
- работает ли обработка прерываний, как ожидалось?
- правильно ли он обрабатывает все сигналы rsx22 (разрыв, четность, стоп-биты)?
Что касается симуляции: у меня были очень хорошие результаты при запуске кода в Matlab / Simulink (то есть с использованием TrueTime, бесплатного плагина). Затем Simulink можно использовать для подключения либо к оборудованию в цикле (HIL), либо к модели в цикле. В качестве альтернативы можно использовать программный макет (но зачастую сложно моделировать асинхронные события, которые очень интересны, если вы близки к аппаратному обеспечению, то есть обработчикам прерываний)