Назад в библиотеку

Методология для продвинутой верификации блокового уровня

Авторы: Ashish Aggarwal, Ravindra K. Aneja, Mentor Graphics
Оригинальное название: A methodology for advanced block level verification
Перевод: Горохов И.В., студент 5-го курса ДонНТУ Компьютерные системы и сети
Источник: http://lyris.mentor-info.com/...

Содержание

Аннотация

Aggarwal A., Aneja R. Методология для продвинутой верификации блокового уровня. Эта статья описывает процесс для продвинутых методов верификации на уровне блоков. Вопросы разработки и верификации можно разделить на четыре основные категории, каждой из которых мы кратко коснемся в этой статье: RTL разработка, верификация стандартных протокольных интерфейсов, верификация end-to-end с использованием среды, базирующейся на моделировании, эффективное управление метрикой покрытия.

Введение

Проект, используемый в качестве примера, это мост между стандартными AMBA шинами AXI4 и AHB-lite. Модель и ход верификации показан на рис. 1.

Модель и ход верификации

Рисунок 1 — Модель и ход верификации

Модульные связи для этого блока показаны на рис. 2. (Обратите внимание, что реакция буферов мастеров AXI4 и декодеров моста были опущены для ясности).

Блоковая диаграмма тестируемого проекта

Рисунок 2 — Блоковая диаграмма тестируемого проекта

Основные особенности этого моста:

1 RTL разработка

Проблемы:

Необходим инструмент, который может помочь:

Некоторые из наиболее часто используемых проверок — переполнение регистров, тупиковые ветви управляющих автоматов, комбинационные зацикливания, недостижимый код. Выполнение этих проверок поможет разработчику позаботиться о проблемных вопросах на ранних стадиях RTL проектирования, таким образом, снизив вероятность того, что ошибки RTL кодирования превратятся позже в нечто большее в последующих циклах разработки и верификации.

Questa AutoCheck

Questa AutoCheck анализирует синтезированный RTL и проверяет в общем ошибки кодирования RTL. Среди многих ошибок, сообщенных на ссылаемый блок, критическим было наличие комбинационной петли. Целью было моделирование триггера, срабатывающего по фронту, но RTL кодирование смоделировало защелку. Этот вид ошибки не может быть пойман симулятором. Questa AutoCheck обеспечивает удобный интерфейс отладки, как показано на рис. 3.

Интерфейс Questa AutoCheck сообщает о комбинационной петле

Рисунок 3 — Интерфейс Questa AutoCheck сообщает о комбинационной петле

2 Верификация стандартных протоколов

Проблемы:

Необходим инструмент, который может помочь:

Questa Formal

Questa Formal воздействует на синтезированные RTL и SV утверждения; которые представляют собой правила протокола для данного интерфейса (AXI и AHB для данного ссылаемого проекта). Для хорошо документированных интерфейсов как протоколы AMBA, эти свойства предоставляются как часть Questa Formal Verification IP библиотеки.

Questa Formal нашло следующие ошибки на ранней стадии в цикле проектирования:

3 Верификация end-to-end с использованием среды, базирующейся на моделировании

Проблемы:

Существует много ядер верификации (VIP — Verification IP) протоколов, которые могут быть интегрированы в testbench. Такие стандартные методики как OVM/UVM обеспечивают простое подключение ядра верификации в testbench среду.

Среди важных требований к ядрам верификации следует отметить следующие:

Questa Verification IP

Структура testbench в Questa VIP базируется на OVM/UVM, таким образом, обеспечивает простую интеграцию в любые OVM/UVM testbench.

Эти VIP оборудованы:

Тестовые планы и последовательности этих VIP являются иерархическими и могут быть повторно использованы для testbench уровня System-on-Chip (SoC).

Используя компоненты Questa VIP для AXI4 и AHB мы очень быстро разработали верификационный end-to-end testbench. Среди ошибок, найденных верификацией end-to-end были:

Архитектура testbench показана на рис. 4.

Архитектура верификационного testbench

Рисунок 4 — Архитектура верификационного testbench

Шинные транзакции или пакеты могут быть визуализированы в качестве waveform, что помогает значительно уменьшить усердия и время, необходимые для отладки.

Questa inFact

Questa inFact обеспечивает эффективный способ написания сложных последовательностей. Некоторые из уникальных особенностей Questa inFact:

Использование Quest inFact помогло ускорить моделирование в 15 раз с достижением той же суммы покрытия. Quest inFact сгенерировало 394 уникальные транзакции; CRT сгенерировало 1200 транзакций для достижения того же покрытия.

4 Эффективное управление метрикой покрытия

Проблемы:

Требуется решение, которое отслеживает путь прогресса верификации, наряду с оптимизацией базы данных по историческому/трендовому анализу и группирует сообщения из log-файла чтобы помочь в назначении приоритетов ошибкам/проблемам.

Questa Verification Management (VM)

Questa VM обеспечивает эффективное покрытие проверки и предоставляет полный набор функций для управления метрикой покрытия. Среди таких особенностей:

Для ссылаемого проекта было использовано только отслеживание тестового плана.

Выводы

На рис. 5 изображены различные этапы блокового проектирования/верификации и инструменты, доступные в платформе Questa, которые повышают продуктивность и помогают управлять всем процессом проектирования.

Отображение потока проектирования с технологиями платформы Questa

Рисунок 5 — Отображение потока проектирования с технологиями платформы Questa

Ссылки

  1. OVM Userguide, доступно на www.verificationacademy.com
  2. Glasser, Mark (2009) Open Verification Methodology cookbook, доступно на www.verificationacademy.com