|
Функциональная верификация микропроцессоров
|
bet | 7/7 | Sana | 16.05.2024 | Hajmi | 28,22 Kb. | | #238832 |
Bog'liq Mavzuning dolzarbligi1.2 Функциональная верификация микропроцессоров
Параллельно с процессом проектирования осуществляется контроль корректности полученных результатов. Для обеспечения функциональной корректности микропроцессоров применяется комплекс мер, известный как функциональная верификация. Прежде всего, эти меры нацелены на обнаружение и исправление ошибок, допущенных в процессе проектирования. Хотя функциональная верификация присутствует на всех этапах, особенно она актуальна при создании HDL-модели, поскольку функциональность, описанная на этом этапе, впоследствии не изменяется [26]. Верификация может осуществляться как на уровне отдельных модулей микропроцессора (модульная верификация), так и для устройства в целом (системная верификация).
Существуют два основных подхода к функциональной верификации: (1) имитационная верификация (simulation-based verification), также называемая тестированием, и (2) формальная верификация (formal method-based verification) [31]. Первый заключается в проверке корректности реакции проектируемого устройства, работа которого имитируется при помощи программного или аппаратного эмулятора, на тестовые воздействия. Второй основан на построении математической (формальной) модели и проверке выполнимости ее свойств. Формальная верификация позволяет осуществить исчерпывающую проверку всех возможных вариантов поведения, заданных моделью. Однако она имеет ряд ограничений (высокая трудоемкость и вычислительная сложность, а также трудности формализации), которые затрудняют ее использование в промышленных проектах. По этой причине на практике основной акцент делается на тестирование [32].
Тестирование микропроцессоров на системном уровне осуществляется путем генерации тестовых программ на языке ассемблера, которые представляют собой последовательности команд (инструкций) микропроцессора, и анализа результатов их выполнения с целью убедиться, что 19
их поведение соответствует спецификации. Такой подход видится наиболее естественным, т.к. система команд определяет функциональность микропроцессора и является единственным доступным интерфейсом, через который пользователи могут с ним взаимодействовать. Верификация при помощи тестовых программ применима на всех этапах проектирования, начиная с момента создания программного эмулятора, но на каждом этапе имеет свои особенности, связанные со скоростью выполнения программ и уровнем детализации полученных результатов. В таблице 2 показаны примерная скорость выполнения тестов и уровень детализации результатов на различных прототипах [33]. Обычно тестирование начинается с HDL-модели и продолжается до выпуска продукции.
Решение о завершении верификации принимается на основе набора критериев, который включает в себя следующее [34]:
выполнение плана верификации;
отсутствие ошибок при прогоне регрессионных тестов;
отсутствие ошибок на 105 псевдослучайных тестов для каждого из имеющихся тестовых шаблонов;
достижение заданного уровня покрытия HDL-кода и функционального
21
покрытия;
отсутствие изменений в HDL-коде в течение длительного времени (3-4 недели);
отсутствие новых ошибок в течение определенного времени (2-3 недели);
истечение отведенного согласно плану времени на разработку и верификацию.
Особого внимания
|
| |