Современные методы функциональной вери

Download Report

Transcript Современные методы функциональной вери

Современные методы
функциональной
верификации RTL-моделей
блоков СБИС
микропроцессора
Научно-исследовательский институт
системных исследований РАН
Докладчик: Борис Рогаткин
История развития методологий
функциональной верификации
1-11
Российские разработки в области
функциональной верификации
2-11
Тестовая система UniTESK (Институт системного программирования РАН)*
 Инструмент CTESK на
основе языка C
 VPI для интеграции с
HDL окружением
 Спецификации с
потактовой точностью
 Развитые методы
генерации
последовательностей
тестовых воздействий
Источник http://www.unitesk.ru, http://www.ispras.ru
Функциональная верификация
в процессе разработки блока
3-11
Преимущества процесса верификации
на основе плана тестирования
 Синтез на ранних этапах разработки блока
 Верификация с учетом реальных требований к таймингам
 Учет влияния правок RTL в связи с найденными ошибками в процессе
верификации
 Фиксирование базового функционала блока в плане тестирования
 Документирование блока
4-11
5-11
План тестирования
Разработчики RTL
Верификаторы
Рекомендации к шаблону плана:






Режим устройства и опции конфигурации
Протокол обработки транзакций
Протокол или схема обработки исключений
Внутренние свойства блока
Арбитраж использования внешних ресурсов
Типичные и критические случаи использования блока
 Описание точек функционального покрытия
 Ссылки на документацию блока
Пример плана тестирования блока
предсказания переходов
Сценарии тестирования
Проверки ассерций
Функциональное покрытие
Покрытие кода
6-11
7-11
Выбор тестового UVM окружения
 Написание тестового окружения с «чистого листа»
 Автоматическая генерация окружения с помощью средств САПР
 Автоматическая генерация окружения с помощью рукописных
скриптов (Perl, TCL)
 Использование готового VIP окружения на платной основе (PCI,
AXI, USB и другие)
8-11
Маршрут UVM тестирования в НИИСИ
 САПР Cadence (Specman), языки SystemVerilog, e Language
 Генерация начального тестового окружения из шаблона
 UVM Scoreboard (библиотечный элемент) или специализированная
модель сравнения
 Запуск тестов в среде eManager (параллельный запуск тестовых
сценариев) и SimVision
 Интеграция vPlan (инструмент планирования) и eManager для оценки
покрытия
9-11
Этапы разработки UVM окружения
Разработчики RTL
Верификаторы
Пример тестового UVM окружение блока
преобразования адресов TLB
8-11
Элементы тестового окружение блока
преобразования адресов TLB
Монитор




Сбор структур данных
Анализ покрытия кода
Генерация управляющих событий
Вывод информационных сообщений
10-11
Модель сравнения
 Регистровый файл или модель памяти
 Высокоуровневое описание блока
Драйвер тестовых последовательностей
 Управляющий библиотечный элемент для тестовых сценариев
Тестовые сценарии
 Операции отражающие базовый
функционал блока TLB (запись,
чтение, поиск) и их комбинации
Драйвер входных воздействий
 Преобразование тестовых
последовательностей в потактовые
сигналы интерфейса блока
Верификатор событий
 Анализ реакций блока на тестовые воздействия, сравнение с ожидаемыми
11-11
Опыт UVM тестирования в НИИСИ
 Подход UVM наиболее эффективен для:
 Интерфейсов шин (AXI, PCI, USB)
 Для блоков, где требуется сложный алгоритм формирования
тестовых пакетов (IB, TLB, CPU)
 Трудозатраты на разработку окружения и плана окупаются
гарантией работоспособности блока и временем для локализации
ошибок в проекте.
 Блоки с уникальным интерфейсом (ADD, MUL, DIV) рационально
тестировать случайными векторами и анализом функционального
покрытия (без разработки тестового окружения).
 Разработана библиотека тестовых окружений для:




Интерфейс Процессор - Системный контроллер (внутр. шина)
TLB
AXI
JTAG