Модуль-генератор анализирует структурно-функциональную модель блока, подлежащего тестированию, и назначает подмножество таких синтезаторов, которые обеспечивают заданное качество покрытия дефектов (Fc) и функциональных режимов (Pc):
Обобщенная структура синтеза Testbench [14], представленная на рис. 1.3, включает также генератор HDL-кода, который предназначен для тестирования и верификации функциональностей на стадии разработки проекта.
Рисунок 1.3 – Структура процесса синтеза Testbench для F-IP
Количество тестовых генераторов на стадии проектирования SoC может быть существенно большим, чем то подмножество, которое далее встраивается в кристалл. Поэтому на стадии моделирования и верификации выполняется анализ покрывающих свойств каждого тест-генератора в целях поиска их минимальной совокупной конфигурации, которая удовлетворяет выражению (1.1).
Важно отметить, что в ближайшие 5 лет идеология синтеза тестов для цифровых систем на кристаллах будет заимствовать лучшие традиции, идущие от ESL- и TLM-проектирования [15]:
1) Использование библиотек тестов (Testbench) ведущих компаний для тестирования и верификации стандартизованных функциональностей, обозначенных в качестве F-IP;
2) Применение стандартных решений сервисного обслуживания I-IP для встроенного тестирования компонентов системы на кристалле;
3) Создание собственных библиотек тестов для вновь разрабатываемых функциональностей;
4) Внедрение новой технологии синтеза тестов для цифровой системы, основанной на дискретном мэппинге покрытия функциональностей и дефектов исходной спецификации с помощью минимальной совокупности Testbench, из библиотеки тестов (рис. 1.4);
5) Применение встроенных средств тестопригодности, таких как IEEE boundary scan – средства граничного сканирования, и шести компонентов I-IP для повышения технологичности процедур синтеза тестов.
Рисунок 1.4 – Mapping модели синтеза тестов для F-IP
1.2.2 Модуль анализа неисправностей
Модуль анализа неисправностей использует дедуктивный алгоритм, ориентированный на проверку одиночных дефектов, генерируемых на основе аналитического или табличного описаний функциональностей SoC. Это означает, что дедуктивное моделирование может обрабатывать проекты, представленные как на вентильном, так и на любом другом, более высоком уровне абстракции (регистровом, системном).
Основная идея метода заключается в создании дедуктивной модели функциональности на основе использования известного выражения [12]:
(1.2)где дедуктивная функция F на тест-векторе T есть модифицированное описание исправного поведения, позволяющее вычислять списки входных неисправностей, транспортируемые на выход схемы под воздействием входных сигналов. На примере функции Xor демонстрируется синтез дедуктивной функции по карте Карно:
Переменные xy – булевы, а сигналы ab – (регистровые) для записи списков дефектов:
(1.4)Аппаратная реализация дедуктивной функции, представленной формулой (1.4), изображена на рис. 1.5.
Рисунок 1.5 – Дедуктивный примитив функции Xor
Схемный примитив является универсальным по отношению к различным тестовым последовательностям. Стратегия, рассмотренная в данной квалификационной работе относительно синтеза моделей, основывается на создании библиотеки дедуктивных элементов, покрывающих все стандартизованные конструктивы функциональностей, которыми оперирует разработчик, создавая в автоматизированном режиме проект в виде цифровой системы на кристалле. В данном случае речь идет о синтезе дедуктивной структуры на основе мэппинга, суть которого представлена на рис. 1.6.
Рисунок 1.6 – Mapping дедуктивной модели для F-IP
Предложенный в [6] подход к дедуктивному анализу, предполагает создание на кристалле еще одной встроенной модели, которая должна обеспечивать практически все шесть сервисов, предусмотренных стандартом инфраструктуры I-IP.
Платой за качество диагностического и тестового обслуживания является достаточно высокая стоимость дополнительных аппаратурных затрат, которые превышают штатную функциональность в 10 – 15 раз. При этом выигрыш в быстродействии, по сравнению с внешней программной реализацией дедуктивного анализа, составляет 2 – 3 порядка, что практически обеспечивает сервисное обслуживание в реальном масштабе времени.
Другое, более экономичное решение проблемы, связано с интерактивной модификацией схемной структуры дедуктивной модели для каждого тест-вектора. Для этого используется внутренняя память кристалла, где формируется модель по правилам, определенным в (1.2). Мэппинг (см. рис. 1.6) дает дедуктивную функцию, где аппаратные затраты равны стоимости функциональности F-IP.
2. Алгоритмическое и программное обеспечение тестирования пакета кристаллов ГАС
2.1 Алгебро-логический метод диагностирования неисправностей
В данном методе, основная роль отводится технологии граничного сканирования, которая, в настоящее время, внедренная в кристалл, призвана облегчить решение практически всех задач сервисного обслуживания функциональных модулей системы на кристалле.
Контроллер доступа к внутренним линиям и портам регистра граничного сканирования использует ячейку или разряд регистра. В совокупности, число таких ячеек, обеспечивающих в данном случае мониторинг, должно быть равно количеству проблемных наблюдаемых линий проекта, которые необходимы для точного установления диагноза.
Основанная на регистре граничного сканирования процедура диагностирования использует также информацию из таблицы неисправностей (ТН), которая представляет собой множество дефектов, покрываемых тестовыми наборами. Используя информацию о результате проведения диагностического эксперимента, которая представлена в виде вектора экспериментальной проверки (ВЭП):
а также таблицу [12] неисправностей F, выполняется процедура установления диагноза по выражению, записанному в форме произведения дизъюнкций всех дефектов [16], которые могут дать экспериментальную реакцию в виде V, определенном единичными и нулевыми значениями:Полученная из таблицы неисправностей КНФ трансформируется к ДНФ с помощью эквивалентных преобразований (логическое умножение, минимизация и поглощение) [11, 16]. В результате получается булева функция, где термы – логические произведения – представляют полное множество решений в виде сочетания дефектов (дающих по выходам SoC или ее компоненту вектор экспериментальной проверки V):
Представленная процедура, в общем случае, диагностирует некоторое подмножество дефектов, которое в дальнейшем нуждается в уточнении путем применения дополнительного зондирования внутренних точек с помощью регистра граничного сканирования. Пример поиска дефектов рассматривается на основе следующей ниже таблицы неисправностей (столбцы – дефекты, строки – тестовые последовательности), которая является продуктом дедуктивного анализа дефектов и вектора экспериментальной проверки [17]:
Количество единиц в ВЭП V, формирует число дизъюнктивных термов КНФ (2.2). Каждый терм – построчная запись дефектов (через логическую операцию ИЛИ), оказывающих влияние на выходы функциональности. Уже само представление таблицы в виде аналитической записи – КНФ – дает потенциальную возможность существенно сократить объем диагностической информации для поиска дефектов. Тем более, последующее преобразование КНФ к ДНФ на основе тождеств алгебры логики позволяет существенно уменьшить булеву функцию, что иллюстрируется следующим результатом:
Для уменьшения количества вычислений при выполнении логического умножения в первой строке (2.3) исходную запись можно упростить согласно законам булевой алгебры:
(2.4)Полученный результат
предоставляет все возможные решения – покрытия дефектами строк таблицы неисправностей в функциональности SoC, при условии, что ВЭП имеет все единичные координаты V = (11111). Принимая во внимание фактическое значение ВЭП, равное V = (11011), выполняется моделирование функции F путем подстановки нулевых значений дефектов, которые теоретически проверяются, но дают в векторе V нулевую координату. Такими являются дефекты:Окончательный результат определяется следующей функцией:
Любое сочетание – конъюнктивный терм ДНФ, приведенный в решении
, покрывает все строки таблицы неисправностей по определению, поэтому введение любой нулевой строки обязательно обращает в ноль функцию F. Поэтому корректное решение, соответствующее вектору экспериментальной проверки, должно изначально учитывать нулевые координаты вектора V. С учетом сказанного из выражения (2.3) на стадии записи КНФ необходимо исключить терм