Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
cris_diss_21_07_last.docx
Скачиваний:
13
Добавлен:
18.12.2018
Размер:
10.16 Mб
Скачать

1.5. Средства верификации цифровых систем с использованием ассерций

EDA индустрия признала, что функциональная верификация является узким местом процесса проектирования систем на кристаллах [26]. Используемые в настоящее время модели и методы верификации не могут быть эффективно применены в новых проектах повышенной сложности, при проверке которых слишком много времени тратится на построение тестов, обнаруживающих ошибки проектирования. Существующие testbench должны быть переделаны или изменены с учетом существенно возросшей сложности системы на кристалле.

Новый подход к функциональной верификации (ABV) компании Synopsys, который значительно повышает эффективность проверки исправного поведения, выявление и исправление ошибок в процессе проектирования, предполагает использование ассерций, обнаруживающих ошибки и направляющих проектировщика на правильный путь при написании тестов и создании testbench для генерации стимулов. Использование ассерций позволяет повысить уровень верификации от RTL и Signal Level до уровня, когда пользователь может разрабатывать тесты и отлаживать проект наиболее близко к спецификации проекта. При верификации используются абстракции, под которыми понимают транзакции и свойства, позволяющие выполнять проектирование функциональности с минимальными затратами времени и находить трудно обнаруживаемые ошибки.

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

Современные методы верификации проекта предусматривают написание тестов и моделирование их выполнения. Мониторы распределяются по всем компонентам проекта – тестам, модели проекта, программному обеспечению, скриптам. Верификация на основе ассерций предполагает использование декларативного языка для точного и краткого определения компонентов, функций и характеристик проекта, которые должны быть протестированы, верифицированы и оценены с точки зрения обеспечения качества.

Среда верификации поддерживает сложные инструменты анализа, управляемые общей спецификацией ассерций, предназначенные для обнаружения проблем реализации тестируемого устройства, детального проектирования сущностей (объектов) проекта и оценки качества. Возможно многократное использование верификационных компонентов в других проектах.

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

Рис. 1.8. Систематический подход к качеству

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

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

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

Одной из проблем верификации без спецификации ассерций является то, что не существует простого способа узнать, какие проверки запланированы или выполнены. Средства верификации не могут на основе информации, полученной в процессе моделирования, определить конкретные проверки, которые завершились неудачей или осуществляются повторно. Другими словами, невозможна оценка качества, без которой процесс верификации проекта является незавершенным.

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

При отсутствии доступа к полной метрике функционального покрытия генерация случайных тестов выполняется вручную с дополнительной настройкой для каждой итерации моделирования. Ввод ограничений и исходных данных изменен таким образом, что большее количество сценариев может быть выполнено. Ручной процесс проб и ошибок характеризуется низкой эффективностью, однако наличие функционального покрытия во время работы может изменить эту ситуацию кардинально. Обратная связь, полученная в процессе анализа покрытия, управляет testbench для обеспечения возможности внесения необходимых изменений в ситуации, когда процедура поиска покрытия заходит в тупик. Описанный процесс, называемый реактивным testbench, генерирует более эффективные стимулы для тестируемого устройства (рис. 1.9).

Рис. 1.9. Реактивный testbench

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

Поставщики IP-cores могут встраивать ассерции в производимые модули, что позволит повысить качество готового изделия. IP-модули на языке ассерций, предназначенные для верификации, содержат полностью определенные, тестированные и готовые к использованию ассерции.

Synopsys предлагает новые мощные решения функциональной верификации, включающие язык, средства анализа и методологию для поддержки концепции ABV. Верификационная среда предоставляет следующие возможности:

  • Open Vera Assertion (OVA) – мощный новый язык определения ассерций;

  • обнаружение ошибок с использованием OVA, включает моделирование и формальные методы;

  • функциональное покрытие на основе OVA;

  • автоматизация построения testbench на основе OVA;

Верификационное решение на основе ассерций показано на рис. 1.10.

Рис. 1.10. Верификационное решение на основе ассерций

OVA – декларативный язык, семантика которого базируется на теории регулярных выражений и линейной темпоральной логике. OVA обеспечивает эффективный механизм обнаружения ошибок. Программное обеспечение для анализа ассерций встроено в Verilog симулятор VCS и обеспечивает мгновенную выдачу сообщений о нарушениях, если ассерция, подаваемая на симулятор оказывается в конфликте с ожидаемым поведением. Использование Verilog симулятора VCS, сложных алгоритмов управления ассерциями и модельных данных позволяет понять сущность событий и механизм их возникновения для получения более точных результатов верификации.

OVA спецификации могут быть сохранены в отдельном файле для упрощения плана тестирования, когда усилия разработчиков сосредотачиваются на спецификации уровня кристалла, а не на деталях имплементации проекта. OVA допускает использование встроенных ассерций, описанных на языке Verilog, что позволяет уменьшить время проектирования системы.

Как показано на рис. 1.11, встроенный в VCS анализ ассерций позволяет освободить пользователя от деталей формирования утверждений, выполнять графическую отладку проблемных мест и более глубокий анализ. Графический анализатор Virsim для VCS непосредственно показывает успешные и неудачные ассерции на уровне их спецификаций в виде привычной формы сигнала. Формальные методы обеспечивают также возможность обнаружения сбоев.

Рис. 1.11. Использование VCS

Существует три вида критериев, которые являются критически важными для функционального покрытия:

  • покрытие плана тестирования, где покрытие показывает, покрывается ли ожидаемое поведение устройства тестами, входящими в план тестирования;

  • покрытие имплементации, где покрытие показывает, сработали ли проверочные устройства, гарантирующие корректность имплементации проекта и соответствующие плану тестирования;

  • данные и статистика покрытия, где покрытие гарантирует, что данные адекватно обработаны и выполнены необходимые статистические расчеты.

Основное различие между моделированием и формальной верификацией заключается том, когда они применяются [27]. Ассерции при использовании в процессе моделирования динамически проверяют проектируемый блок на функциональном уровне. Формальная верификация статически использует подмножество ассерционных правил на поведенческом уровне после завершения моделирования. Проверка ассерций в процессе моделирования позволяет оценить время, которое требуется для верификации на функциональном уровне, определить ограничения формальной верификации, а также на ранних этапах выявить потенциальную проблему и сократить время отладки.

Riviera и Riviera-IPT предоставляют уникальные возможности использования технологии ABV в программных симуляторах на основе смешанных языков, а также в аппаратных ускорителях. Компилятор ассерций фирмы Aldec выполняет проверку модулей в виде RTL-кода, добавляемого в синтезируемую часть проекта. Однажды сформированные ассерции, имплементированные в проект, могут быть использованы на поведенческом (динамическом) уровне программного симулятора и на структурном (статическом) уровне аппаратного ускорителя. Преимущество использования ассерций является сокращение времени верификации, гибкость использования ассерций при верификации, возможность их повторного использования в процессе прототипирования и в конечном продукте. Ассерции, используемые в процессе прототипирования, позволяют обнаруживать ошибки в реальном времени. Они становятся частью проекта для мониторинга требуемых сигналов, выдавая флаг ошибки или исключения при обнаружении некорректности.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]