Московский государственный университет путей сообщения
Опубликован: 06.09.2012 | Доступ: свободный | Студентов: 1254 / 182 | Оценка: 5.00 / 5.00 | Длительность: 35:22:00
Специальности: Разработчик аппаратуры
Лекция 22:

Построение тестов для устройств с памятью на основе экспериментов с автоматами

< Лекция 21 || Лекция 22: 123 || Лекция 23 >
Аннотация: В лекции рассматривается задача построения проверяющих тестов для цифровых устройств с памятью. Приводится классификация основных групп методов построения тестов для цифровых устройств с памятью: автоматных, структурных и комбинированных или функциональных. Излагается подход к решению задачи построения тестов для цифровых устройств с памятью, основанный на теории экспериментов с конечными автоматами.

Одной из самых сложных проблем при создании систем автоматизированного проектирования и диагностики дискретных устройств является задача разработки алгоритмов моделирования и генерации проверяющих тестов цифровых устройств с памятью. Это объясняется дополнительными трудностями, возникающими из-за неопределенности начального состояния ЦУ с памятью и возможных состязаний сигналов. В силу этих обстоятельств методы построения проверяющих тестов и моделирования неисправных ЦУ с памятью разработаны не так хорошо, как для комбинационных ЦУ. Следует отметить, что применение методов контролепригодного проектирования, позволяющее свести диагностику ЦУ с памятью к диагностике комбинационных ЦУ не всегда возможно и эффективно [22.1-22.3]. Поэтому в настоящий момент данная задача является по-прежнему актуальной.

Существующие подходы к тестированию устройств с памятью можно классифицировать на три группы. К первой можно отнести методы, основанные на теории экспериментов с конечными автоматами (КА), которые являются классической моделью ЦУ с памятью. Методы данной группы позволяют проверить неисправность, приводящую к любому изменению таблицы переходов/выходов, задающую КА исправного устройства. Существенным достоинством автоматного подхода является высокая степень полноты контроля неисправностей и широкий класс возможных неисправностей. К недостаткам относят очень высокую сложность построения и длину тестовой последовательности, а также в ряде случаев необходимость построения автоматной модели на основе структурного описания ЦУ. Необходимость построения (в ряде случаев) автоматной модели для исходного структурного описания ЦУ, экспоненциальный рост сложности табличного представления автомата 2^n\cdot 2^n=2^{2n} (n - количество элементарных ячеек памяти - триггеров или линий обратных связей, 2^n - количество состояний автомата рис. 7.1, 7.2) и большая длина получаемых тестов относятся к недостаткам автоматных методов с практической точки зрения построения проверяющих тестов для интегральных схем.

Вторую группу составляют структурные методы генерации проверяющих тестов, использующих в качестве модели ЦУ последовательностную логическую схему, или его укрупненное структурное описание. ЦУ на логическом уровне, как правило, описываются разработчиками в виде логической схемы, поэтому необходимость в каких-либо дополнительных построениях отсутствует. Как показано ранее ( "Модели цифровых устройств" ), ЦУ без памяти представляются комбинационными логическими схемами, ЦУ с памятью - последовательностными логическими схемами [22.1-22.4]. В большинстве структурных методов для ЦУ с памятью процесс построения проверяющего теста заключается в получении входной последовательности, различающей исправное и неисправное ЦУ, с помощью применения разнообразных многозначных моделей и алгоритмов активизации критических путей, а также некоторых других подходов [22.1,22.2]. В этом случае сложность построения тестов для ЦУ с памятью определяется числом линий обратных связей n, значения сигналов на которых определяет текущее состояние ЦУ с памятью. Напомним, что состояние конечного автомата соответствует и определяется вектором значений сигналов линий обратных связей или иначе переменных состояния ЦУ с памятью. Как, уже говорилось ранее, в случае автоматного подхода сложность построения теста определяется числом состояний конечного автомата, которое может достигать числа 2^n. Очевидно, что даже при небольшом числе линий обратных связей сложность построения теста автоматными методами может быть высокой. Существует так называемая проблема "взрыва состояний" - начиная с некоторого значения n, число состояний КА резко возрастает (происходит "взрыв" их количества). С другой стороны использование структурной модели последовательностных логических схем и многозначных моделей обеспечивает относительно невысокую по числу переменных состояния сложность структурных алгоритмов. Однако в силу некоторых особенностей структурных методов, о которых пойдет речь ниже, получаемые тесты обладают недостаточно высокой полнотой по сравнению с автоматными методами.

Поэтому кроме классических автоматного и структурного подхода, рассматриваются комбинированные или функциональные методы построения тестов для ЦУ с памятью, составляющие третью группу методов. В данной группе методов осуществляется попытка реализовать для структурного представления ЦУ с памятью преимуществ автоматных методов, сохраняя при этом относительно невысокую по числу переменных состояния сложность структурных алгоритмов.

22.1 Основы экспериментов с конечными автоматами

В случае автоматного подхода решение задачи поиска теста сводится к решению проблемы распознавания заданного КА в классе неисправных КА [22.5]. При этом неисправное устройство моделируется КА, отличным от данного.

Определение 22.1 Конечный неинициальный автомат задается совокупностью пяти объектов (S,I,O,\lambda,\delta), где S - множество состояний ДУ с памятью, I - входной алфавит, O - выходной алфавит, \lambda: S \times I\to S - функция перехода, \delta : S\times I\to O- функция выхода.

Таблица 22.1. Исправное устройство
S(y_1,y_2) S_{сл}, z\\x=0 S_{сл}, z\\x=1
A(00) D,0 B,0
B(01) B,1 D,0
C(10) C,0 A,1
D(11) A,1 C,1
Таблица 22.2. Неисправное устройство
S(y_1,y_2) s_{сл}, z\\
x=0 s_{сл}, z\\
x=1
a(00) d,0 b,0
b(01) b,1 b,0
c(10) c,0 a,1
d(11) a,1 a,1

Рис. 22.1.

Последовательностная логическая схема, реализующая заданные в табл. 22.1,табл. 22.2 соответственно исправный и неисправный (наличие константной неисправности const 0 на линии f_2) автоматы.

Классическими представителями автоматного подхода построения идентифицирующих и проверяющих тестовых последовательностей являются методы, основанные на построении дерева преемников состояний (ДПС+) и дерева предшественников состояний (ДПС-) [22.5] расщепляемого автомата \tilde{A\}, содержащего автоматы A и A_н, соответствующие исправному и неисправному устройствам. Функционирование A и A_н описывается таблицами переходов и выходов. Например, в табл. 22.1 и табл. 22.2 приведены автоматы A и A_н, структурно реализуемые последовательностной логической схемой (рис. 22.1), исправной и содержащей неисправность f_2\equiv 0 соответственно.

Приведем основные понятия, связанные с конструкциями ДПС+ и ДПС-. При их описании воспользуемся терминологией, принятой в [22.5]. Нулевой уровень как ДПС+, так и ДПС- содержит единственную вершину, связанную с A-группой, которая состоит из одного \sigma -множества, содержащего все состояния A и  A_{н}. Для автоматов, описанных в табл. 22.1 и табл. 22.2 - это \{ABCDabcd\}. Каждая вершина k-го (k \ge 0) уровня расщепляется на p вершин, соответствующих всем символам входного алфавита, где p - мощность входного алфавита. В нашем случае вершина расщепляется на 2 вершины, соответствующие x=0 и x=1. При этом A-группа (k+1)-го уровня содержит состояния, являющиеся преемниками состояний по соответствующему входному сигналу A-группы k-го уровня в случае ДПС+ и предшественниками состояний A-группы k-го уровня в случае ДПС-. \sigma -множества A-группы (k+1)-го уровня получаются путем разбиения на подмножества состояний преемников (ДПС+) или предшественников (ДПС-) \sigma -множества k-го уровня таким образом, что два состояния включаются в одно и то же \sigma -множество, если и только если они вырабатывают одинаковую реакцию на соответствующий входной сигнал.

Определение 22.2 Назовем A-группу гомогенной, если в ней состояния исправного и неисправного автоматов A и A_{н} находятся отдельно в разных \sigma -множествах.

ДПС является бесконечной структурой, поэтому обычно рассматриваются его усеченные варианты. Введем понятия прямого различающего дерева (ПРД) и обратного различающего дерева (ОРД).

Определение 22.3 ПРД - это дерево преемников состояний, в котором вершина \alpha k-го уровня становится оконечной при выполнении одного из следующих условий:

  1. для A-группы A_{\alpha }, связанной с вершиной \alpha , существует A-группа A_{\beta } , связанная с некоторой вершиной \beta уровня, предшествующего k-му, такая, что для каждого \sigma -множества из A_{\alpha } существует включающее его \sigma -множество из A_{\beta };
  2. существует вершина k-го уровня (возможно сама \alpha ), связанная с гомогенной A-группой.
Фрагмент прямого различающего дерева.

Рис. 22.2. Фрагмент прямого различающего дерева.

На рис. 22.2 представлен фрагмент ПРД для автомата \tilde{A}, содержащего A  и  A_{н}, описанных в таблицах 22.1, 22.2. Все вершины 4-го уровня этого дерева являются оконечными, так как A-группа \{B\}\{A\}\{bb\}\{D\}\{C\}\{bb\} является гомогенной. Путь, связывающий вершину нулевого уровня ПРД с вершиной, привязанной к гомогенной A-группе, определяет тест данной неисправности. В нашем примере путь, связывающий вершину нулевого уровня ПРД с вершиной, привязанной к гомогенной A-группе \{B\}\{A\}\{bb\}\{D\}\{C\}\{bb\} (на рис. 22.2 выделен жирной линией), позволяет определить, что тестом неисправности f_2\equiv 0 (рис. 22.1) является входная последовательность T=(1,1,1,1).

Определение 22.4 Обратное различающее дерево (ОРД) - это дерево предшественников состояний, в котором вершина \alpha  k-го уровня становится оконечной при выполнении условия 1) или условия 2) из определения 7.3.

Путем построения ОРД также могут быть найдены тестовые последовательности. На рис. 22.3 представлен фрагмент ОРД для автомата \tilde{A}, содержащего A и A_{н}, описанные в табл. 22.1, 22.2. Также как и в ПРД, все ветви 4-го уровня этого дерева являются оконечными, так как A-группа \{A\}\{C\}\{B\}\{D\}\{cd\}\{ab\}, связанная с одной из вершин 4-го уровня, является гомогенной. Путь между вершиной ОРД, связанной с гомогенной A-группой, и вершиной нулевого уровня определяет тест данной неисправности. В нашем примере путь между вершиной ОРД, связанной с гомогенной A-группой \{A\}\{C\}\{B\}\{D\}\{cd\}\{ab\}, и вершиной нулевого уровня (рис. 22.3, выделен жирной линией), позволяет определить, что как это было получено и для ПРД, тестом данной неисправности f_2\equiv 0 (рис. 22.1) является входная последовательность T=(1,1,1,1).

 Фрагмент обратного различающего дерева.

Рис. 22.3. Фрагмент обратного различающего дерева.
< Лекция 21 || Лекция 22: 123 || Лекция 23 >
Дмитрий Медведевских
Дмитрий Медведевских

Добрый день  можно поинтересоваться где брать литературу предложенную в курсе ?Большинство книг я не могу найти  в известных источниках