Многочисленные разделы RTL тестирования

RTL-тестирование, в процессе которого проверяется все, начиная с основной схемы чипа и заканчивая его взаимодействием с периферийными устройствами, подразделяется на несколько дисциплин или разделов. Самая низкоуровневая - это architecture validation (AV - проверка архитектуры), ставящая цель убедиться, что чип - отдельно от всякого сопутствующего оборудования - работает именно так, как это было задумано. "Идея, лежащая в основе AV", говорит Budelman, "заключается в том, чтобы убедиться, что RTL модель удовлетворяет фундаментальному описанию архитектуры, определенной в справочном руководстве для программистов и во внешней спецификации архитектуры (описании назначения команд и регистров)." AV тесты включают в себя как унаследованные тесты, использовавшиеся с предыдущими поколениями процессоров, так и тесты, разработанные специально для тестирования новых возможностей. Для примера, с Pentium II использовались многие тесты, написанные для Pentium Pro, и еще потребовались соответствующие тесты для проверки блока MMX инструкций.

Проверка "входящих и выходящих"

AV разделяется на под-дисциплины: тестирование блоков и тестирование микроархитектуры (µAV). В первом случае Intel отдельно проверяет каждый самостоятельный блок процессора, удостоверяясь в том, что на входные данные блок выдает корректные выходные - проверка "входящих и выходящих", как выразился Budelman.

Затем, в процессе тестирования микроархитектуры проверяется, что все эти блоки могут корректно "общаться" между собой. В отличие от тестирования блоков, которое основано на заранее заданном наборе тестовых ситуаций, µAV использует то, что Intel называет coverage-based validation - проверка, основанная на перекрытии областей. Так как каждое состояние нельзя протестировать по известным причинам, используются случайные тесты в конкретной группе операций.

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

По-прежнему в рамках RTL модели, вслед за AV проверкой переходят к ко-симуляции (чтобы удостовериться, что чип корректно взаимодействует с различными чипсетами, кэшами и другой сопутствующей аппаратурой) и проверке SMP - симметричного мультипроцессирования (чтобы удостовериться в том, что несколько процессорных чипа могут работать вместе). Ко-симуляция требует, чтобы компьютер полностью моделировался программным способом. В то время как центральный процессор (ЦП) моделируется с помощью IHDL, а чипсет через VHDL, память и периферийные устройства воссоздаются с помощью языка Си. Это тестирование, тем не менее, мало походит на проверку симметричного мультипроцессирования. Проверка SMP может быть пугающей, особенно на этапе RTL модели, так как она часто включает в себя измерение общей загрузки системы, а не проверку заранее заданных условий.