stringtranslate.com

Функциональная проверка

Функциональная проверка — это задача проверки соответствия логической конструкции спецификации. [1] Функциональная проверка пытается ответить на вопрос: «Делает ли предлагаемая конструкция то, что задумано?» [2] Это сложно и отнимает большую часть времени и усилий (до 70% времени проектирования и разработки) [1] в большинстве крупных проектов проектирования электронных систем. Функциональная проверка является частью более комплексной проверки проекта , которая, помимо функциональной проверки, учитывает нефункциональные аспекты, такие как время, компоновка и мощность. [3]

Фон

Хотя количество транзисторов росло в геометрической прогрессии согласно закону Мура , увеличение количества инженеров и времени, затрачиваемого на создание проектов, увеличивается только линейно . По мере увеличения сложности транзисторов увеличивается и количество ошибок кодирования. Большинство ошибок в логическом кодировании происходит из-за небрежного кодирования (12,7%), недопонимания (11,4%) и проблем с микроархитектурой (9,3%). [1] Таким образом, инструменты автоматизации электронного проектирования (EDA) созданы, чтобы справиться со сложностью проектирования транзисторов. Такие языки, как Verilog и VHDL, представлены вместе с инструментами EDA. [1]

Функциональная проверка очень сложна из-за огромного количества возможных тестовых случаев, которые существуют даже в простой конструкции. Часто существует более 10^80 возможных тестов для всесторонней проверки конструкции – число, которого невозможно достичь за всю жизнь. Эти усилия эквивалентны проверке программы и являются NP-сложными или даже хуже — и не найдено решения, которое бы работало хорошо во всех случаях. Однако атаковать его можно многими методами. Ни один из них не идеален, но каждый может быть полезен в определенных обстоятельствах:

Типы

Существует три типа функциональной верификации, а именно: динамическая функциональная, гибридная динамическая функционально-статическая и статическая верификация. [1]

Проверка на основе моделирования (также называемая « динамической проверкой ») широко используется для «моделирования» проекта, поскольку этот метод очень легко масштабируется. Предоставляется стимул для тренировки каждой строки кода HDL. Испытательный стенд создан для функциональной проверки проекта путем предоставления содержательных сценариев для проверки того, что при определенных входных данных проект работает в соответствии со спецификацией.

Среда моделирования обычно состоит из нескольких типов компонентов:

Для оценки адекватности реализации проекта определяются различные показатели охвата . К ним относятся функциональное покрытие (все ли функциональные возможности проекта реализованы?), покрытие операторов (была ли использована каждая строка HDL?) и покрытие ветвей (было ли использовано каждое направление каждой ветви?).

Смотрите также

Рекомендации

  1. ^ abcde Молина, А; Каденас, О (8 сентября 2006 г.). «Функциональная верификация: подходы и проблемы». Латиноамериканские прикладные исследования . 37 . ISSN  0327-0793. Архивировано из оригинала 16 октября 2022 года . Проверено 12 октября 2022 г.
  2. ^ Резаиан, Банафшех. «Методология моделирования и проверки автомобильных ИС смешанных сигналов». CiteSeerX 10.1.1.724.527 . 
  3. ^ Страуд, Чарльз Э; Изменение, Яо-Чанг (2009). "Глава 1 Введение". Проверка дизайна . стр. 1–38. дои : 10.1016/B978-0-12-374364-0.50008-4. ISBN 978-0-12-374364-0. Архивировано из оригинала 12 октября 2022 года . Проверено 11 октября 2022 г. {{cite book}}: |journal=игнорируется ( помощь )