- •Глава 9 : Функциональная верификация
- •9.1 Введение
- •V диаграмма разработки, верификации, и интеграции.
- •9.2.1 Верификация ступени проектирования. Designer-level verification
- •9.2.2 Unit-level verification верификация уровня элементов
- •9.2.3 Core-level verification. Верификация уровня ядра.
- •9.2.4 Chip-level verification Верификация уровня ядра
- •9.2.5 System-/board-level verification верификация уровня системы/платы.
9.2.4 Chip-level verification Верификация уровня ядра
Разработка уровня ядра состоит из множества элементов/ядер которые имеют целые RTL и модели функциональных шин с хорошо определёнными I/O границами.A chip-level design consists of multiple units/cores that have complete RTL and bus functional models with well-defined I/O boundaries.На этом уровне спецификация обычно не меняется значительно от начальной архитектуры. At this level, the specification usually does not change significantly from its initial architecture. Следовательно, требования верификации обычно тщательно определены.Hence, the verification requirement is usually well defined.Цель верификации уровня ядер в гарантии что компоненты тщательно соединены через интерфейсы и весь проект придерживается технического задания. The aim of chip-level verification is to ensure that the components are properly connected through the interfaces and the entire design abides by the specification. Для обычной структуры интерфейса, такой как протокол шины, разрешён только ограниченный набор последовательных сигналов контроля и данных,обычно называемых транзакциями.For a regular interface structure such as a bus protocol, only a restricted set of sequences of control and data signals, typically called transactions, are permitted. На основании указанного взаимодействия между элементами, тесты основанные на транзакциях, могут быть разработаны для проверки интерфейсов.On the basis of the specified interactions between the units, transaction-based tests can be developed to verify the interfaces.Тест основанный на транзакциях обычно состоит из одного RTL файла верхнего уровня, который включает все элементы, интерфейсы шин и один файл тестового стенда, который создаёт транзакции, чтобы распространять события из одного элемента в другой , через интерфейс шины. A transaction-based test usually consists of one top-level RTL file that includes all units and bus interfaces and one testbench file that produces transactions to propagate events from one unit to another through the bus interface. Ответы на первичном I/O и/или содержимого памяти контролируется, чтобы проверить общее поведение системы.Responses at the primary I/Os and/or memory contents are monitored to check the overall behavior of the system.
9.2.5 System-/board-level verification верификация уровня системы/платы.
Интеграции системного уровня представляет собой сложную задачу, которая требует много инструментов для создания,симуляции и анализа модели.System-level integration is a complex task that requires many tools for design creation, simulation, and analysis. В [Bailey 2007], верификация системного уровня определена как:”использование соответствующих абстракций ,чтобы увеличить понимание о системе и увеличить вероятности успешного внедрения функциональности, экономически эффективным образом .In [Bailey 2007], system-level verification is defined as “the utilization of appropriate abstractions to increase comprehension about a system, and to enhance the probability of a successful implementation of functionality in a cost-effective manner.”
Верификация на этом уровне включает проверку интеграции через взаимные связи между разными чипами на плате. Verification at this level involves checking the integration through the interconnections between different chips on the board. Предполагается ,что функциональность на низких уровнях полностью верифицирована. The functionality at the lower levels is assumed to have been fully verified. Часто программное приложение применяется на этом уровне , чтобы верифицировать всю систему.Often, the application software is applied at this stage to verify the entire system.
Конструкторы верификации часто используют программируемые логические устройства, такие как поле программируемых вентильных матриц(частично программируемые вентильные матрицы)( FPGAs), чтобы эмулировать схему.Verification engineers frequently use programmable logic devices, such as field programmable gate arrays (FPGAs), to emulate the design. После того как схема реализована в программируемых устройствах, испытательные стенды могут быть использованы непосредственно на таких эмулированных внедрениях, которые значительно быстрее, чем выполнение испытательных стендов на программном симуляторе. с программным обеспечением тренажера.With the design implemented in programmable devices, the testbenches can be executed directly on such emulated implementations, which is significantly faster than executing the testbenches with a software simulator.
