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