Генератор случайных тестов
Эта статья нуждается в дополнительных цитатах для проверки . ( январь 2019 г. ) |
Генераторы случайных испытаний (часто сокращенно RTG или ISG). [1] для генератора потока инструкций или генератора последовательности инструкций [1] ) — это тип компьютерного программного обеспечения которое используется для функциональной проверки микропроцессоров , . Их основное назначение заключается в обеспечении входного сигнала тестируемого устройства .
В среде моделирования / проверки на испытательном стенде входные данные обработки симулятора, созданные RTG, и мониторы покрытия могут использоваться для проверки того, что генератор правильно тестирует конструкцию. [2]
Генераторы случайных тестов варьируются по своим возможностям: от простых сценариев и параметризованных макросов , которые можно создать за считанные недели, до полнофункциональных систем, требующих обширной разработки программного обеспечения. Генераторы случайных тестов чаще всего создаются проектными организациями.
Табличные генераторы
[ редактировать ]Генераторы тестов на основе таблиц являются самыми простыми из доступных РИТЭГов. Создание таких генераторов может быть осуществлено относительно быстро, а требования к их обслуживанию часто невелики. проекта Эти генераторы работают, собирая знания об архитектуре набора команд и сохраняя их в реляционной базе данных для дальнейшего использования. Из-за своей упрощенной природы генераторы на основе таблиц могут использоваться менее квалифицированным персоналом для создания интересных тестов. Однако у этих генераторов есть недостаток, поскольку их реализация обычно ограничивается простыми архитектурами. Использование более сложных ISA может привести к невозможности реализовать крайние случаи или создать сложные сценарии. Генераторы на основе таблиц также могут иногда генерировать недействительные тесты.
Статические генераторы
[ редактировать ]Статические генераторы аналогичны генераторам на основе таблиц, за исключением того, что большая часть инструкций, операндов и выбора данных находится в сложном процедурном коде . Статические генераторы способны генерировать более случайное поведение, чем генераторы на основе таблиц, но все же испытывают проблемы с обработкой многих крайних случаев. Кроме того, уровень навыков, необходимый для создания и обслуживания такого инструмента, резко возрастает при достижении этого уровня сложности.
Динамические генераторы
[ редактировать ]Динамические генераторы включают в себя значительные знания о тестируемой архитектуре. Они расширяют возможности менее опытных пользователей создавать сложные тесты, которые могут охватывать труднодоступные крайние случаи, не натыкаясь на тонкие ошибки программирования. Эти дополнительные знания, гибкость и простота использования отражаются в более сложном генераторе, и, следовательно, стоимость создания и обслуживания генератора выше, чем для табличных или статических генераторов.
Ссылки
[ редактировать ]- ^ Перейти обратно: а б Введение в FORCE-RISCV , OpenHW Group, 21 февраля 2023 г. , получено 25 февраля 2023 г.
- ^ «Генератор случайных тестов — устранение разрыва | BCS» . www.bcs.org . Проверено 25 февраля 2023 г.