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

13
Научно-исследовательский институт системных исследований РАН Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора Докладчик: Борис Рогаткин

Upload: zarifa

Post on 05-Jan-2016

63 views

Category:

Documents


1 download

DESCRIPTION

Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора. Научно-исследовательский институт системных исследований РАН. Докладчик: Борис Рогаткин. 1-1 1. История развития методологий функциональной верификации. 2-1 1. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Научно-исследовательский институт системных исследований РАН

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

верификации RTL-моделей блоков СБИС

микропроцессора

Докладчик: Борис Рогаткин

Page 2: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

История развития методологий функциональной верификации

1-11

Page 3: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Российские разработки в области функциональной верификации

2-11

Тестовая система UniTESK (Институт системного программирования РАН)*

Источник http://www.unitesk.ru, http://www.ispras.ru

Инструмент CTESK на основе языка C

VPI для интеграции с HDL окружением

Спецификации с потактовой точностью

Развитые методы генерации последовательностей тестовых воздействий

Page 4: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Функциональная верификация в процессе разработки блока

3-11

Page 5: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Преимущества процесса верификации на основе плана тестирования

4-11

Синтез на ранних этапах разработки блока

Верификация с учетом реальных требований к таймингам

Учет влияния правок RTL в связи с найденными ошибками в процессе верификации

Фиксирование базового функционала блока в плане тестирования

Документирование блока

Page 6: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

План тестирования

5-11

Разработчики RTL Верификаторы

Режим устройства и опции конфигурации Протокол обработки транзакций Протокол или схема обработки исключений Внутренние свойства блока Арбитраж использования внешних ресурсов Типичные и критические случаи использования блока

Описание точек функционального покрытия Ссылки на документацию блока

Рекомендации к шаблону плана:

Page 7: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Пример плана тестирования блока предсказания переходов

6-11

Функциональное покрытие

Покрытие кода

Проверки ассерций

Сценарии тестирования

Page 8: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Выбор тестового UVM окружения

7-11

Написание тестового окружения с «чистого листа»

Автоматическая генерация окружения с помощью средств САПР

Автоматическая генерация окружения с помощью рукописных скриптов (Perl, TCL)

Использование готового VIP окружения на платной основе (PCI, AXI, USB и другие)

Page 9: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Маршрут UVM тестирования в НИИСИ

8-11

САПР Cadence (Specman), языки SystemVerilog, e Language

Генерация начального тестового окружения из шаблона

UVM Scoreboard (библиотечный элемент) или специализированная модель сравнения

Запуск тестов в среде eManager (параллельный запуск тестовых сценариев) и SimVision

Интеграция vPlan (инструмент планирования) и eManager для оценки покрытия

Page 10: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

9-11

Этапы разработки UVM окружения

Разработчики RTL Верификаторы

Page 11: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Пример тестового UVM окружение блока преобразования адресов TLB

8-11

Page 12: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Элементы тестового окружение блока преобразования адресов TLB

10-11

Монитор Сбор структур данных Анализ покрытия кода Генерация управляющих

событий Вывод информационных

сообщений

Модель сравнения Регистровый файл или модель

памяти Высокоуровневое описание блока

Драйвер входных воздействий Преобразование тестовых

последовательностей в потактовые сигналы интерфейса блока

Драйвер тестовых последовательностей Управляющий библиотечный элемент для тестовых

сценариев

Тестовые сценарии Операции отражающие базовый

функционал блока TLB (запись, чтение, поиск) и их комбинации

Верификатор событий Анализ реакций блока на тестовые воздействия, сравнение с

ожидаемыми

Page 13: Современные методы функциональной верификации RTL-моделей блоков СБИС микропроцессора

Опыт UVM тестирования в НИИСИ

11-11

Подход UVM наиболее эффективен для:

Интерфейсов шин (AXI, PCI, USB) Для блоков, где требуется сложный алгоритм

формирования тестовых пакетов (IB, TLB, CPU)

Трудозатраты на разработку окружения и плана окупаются гарантией работоспособности блока и временем для локализации ошибок в проекте.

Блоки с уникальным интерфейсом (ADD, MUL, DIV) рационально тестировать случайными векторами и анализом функционального покрытия (без разработки тестового окружения).

Разработана библиотека тестовых окружений для:

Интерфейс Процессор - Системный контроллер (внутр. шина)

TLB AXI JTAG