Очевидно, что существует много способов (и много мнений) о том, как проверить DUT.
Это только один из многих взглядов. Несмотря на то, что существует порядок, некоторые шаги могут измениться или даже быть объединены или даже пропущены в зависимости от конкретных требований проекта.
- Спецификация исследования (очевидно)
- Соберите требования к тестированию. а. Высокий уровень — размер блока, возможные пользователи ТБ, необходимые выходные данные, типы входных данных для ТБ
b. Низкий уровень/Подробности — особые требования к отладке,
- Разработайте документ по архитектуре ТБ верхнего уровня.
- Разработайте план тестирования верхнего уровня.
- План тестирования верхнего уровня можно преобразовать или разработать подробный план тестирования.
- Разработайте или выведите таблицу Excel с функциональным покрытием. [большинство симуляторов поддерживают отслеживание такого листа]
- Получите список случайных управляющих переменных и диапазон/ограничение для переменных. [ необязательный ]
- Документ низкого уровня TB — описывает конкретные драйверы, агенты, интерфейсы.
- Разработайте график на основе вышеуказанных исходных данных - сложности дизайна и т.д. [сам этот шаг может выполняться частями]
- Начать разработку скрипта - для прогона и регрессии и т.д.
- Разработка и развертывание тестовых случаев в соответствии с планом тестирования.
- Сообщать/файлировать ошибки - следить за количеством ошибок.
- Мониторинг и измерение охвата — кода и функционала.
- Достигнуть 100% охвата (в идеале), но реально некоторые договорились о цели и нулевом количестве ошибок (несбыточная мечта)
- Завершить проверку и объявить об успехе
На что обратить внимание
1) 1) Это среда проверки уровня системы, полного чипа, уровня блока или это ASIC или FPGA?
2) В зависимости от сложности, сколько уровней ТБ требуется.
например многоуровневый уровень -> несколько подсистем-> единая полночиповая среда…
3) В зависимости от продолжительности проекта и времени до закрытия — нужна ли вам поддержка FPGA и/или эмуляции.
4) Формальная проверка — что блокирует.
5) Есть ли потребность в совместном моделировании – от команды разработчиков программного обеспечения. Вам нужно использовать API от команды разработчиков ПО/архитектуры?
6) Есть ли необходимость генерировать векторы — тестовые векторы, воспитывать векторы.
7) Как вы хотите проверить критерии прохождения теста?
а. Модель/табло –
я. Архитектурные модели
II. Модели уровня транзакций (более подробная информация приведена выше)
III. Цикл точных моделей. (например, арбитры)
б. Утверждения – время выполнения + формальное
8) Возможность повторного использования
а. Последовательности
я. В этом
II. Данные/управление
б. Табло
в. Агенты
9) Требования к отладке
а. Форматирование вывода.
б. Инструменты для мониторинга и извлечения информации.
10) Какой язык, симулятор и инструменты лучше всего соответствуют требованиям?
person
Rahul Menon
schedule
11.07.2016