Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Скобцовы Моделирование и тестирование

.pdf
Скачиваний:
97
Добавлен:
03.03.2016
Размер:
3.61 Mб
Скачать

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

Исследована кратная стратегия наблюдения выходных сигналов.

Функциональный подход основан на теории экспериментов с конечными автоматами, где широко используются идентифицирующие последовательности, такие как установочная, диагностическая,

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

[16-23].

В восьмом разделе исследован новый эволюционный подход к построению тестов для цифровых систем. Изложены основы генетических алгоритмов, разработаны проблемно-ориентированные генетические операторы кроссинговера и мутации для построения тестов комбинационных и последовательностных схем. Исследованы различные целевые (фитнесс) функции, которые основаны на логическом моделировании исправных и неисправных схем. Изложены методы построения тестовых последовательностей для микропроцессорных систем с использованием генетических алгоритмов, эволюционной стратегии и генетического программирования. Материал раздела основан на работах

[24-34].

В девятом разделе изложены основы проектирования программных систем логического моделирования и генерации тестов на примере системы АСМИД. Описаны архитектура, функциональные возможности системы и основные структуры данных. При написании раздела использованы работы [35-38].

11

 

СПИСОК УСЛОВНЫХ ОБОЗНАЧЕНИЙ

HDL

- Hardware Description Languages

MIMD

- multiple-instruction, multiple-data

SIMD

- single-instruction, multiple-data

SOC

- System on Chip (система на кристалле)

SON

- stuck-on (постоянно замкнут)

SOP

- stuck-open (постоянно открыт)

VHDL

- Very high speed integrated circuits Hardware Description

 

Languages

АСМИД

- автоматизированная система моделирования и диагностики

АЛУ

- арифметико-логическое устройство

БИС

- большие интегральные схемы

ДУ

- дискретное устройство

ГА

- генетические алгоритмы

ГП

- генетическое программирование

ИС

- интегральные схемы

КА

- конечный автомат

КМОП

- комплементарная МОП (схема)

МОП

- металл-окисел-полупроводник (технология)

МП

- микропроцессор

ОБС

- очередь будущих событий

САПР

- система автоматизации проектирования

СБИС

- сверхбольшие интегральные схемы

СГ

- системный граф

ТТЛ

- транзисторно-транзисторная логика

ЦС

- цифровые системы

ЭСЛ

- логика с эмитерными связями

ЯРП

- языки регистровых передач

12

1.МОДЕЛИ ЦИФРОВЫХ УСТРОЙСТВ

1.1Уровни и области моделирования

При автоматизации проектирования и диагностирования дискретных устройств (ДУ) широкое применение находят системы моделирования.

Для представления устройств они требуют соответствующих математических моделей. При проектировании ДУ следует различать модели устройств и их спецификации [39]. Спецификации описывают устройство в терминах получаемых результатов проектирования, таких как схемы, временные диаграммы и т.п. Модели используются в процедурах проектирования устройств при моделировании в данной области (domain),

на данном уровне представления для проверки соответствия заданным спецификациям. Они также применяются для установления соответствия между различными уровнями и областями проектирования.

 

Системный уровень

 

 

ЯРП уровень

 

Поведенческая

 

Структурная

 

 

область

Логический уровень

область

 

 

Схемный уровень

 

Физическая область

Рис.1.1 Уровни абстракции

13

Для каждой из областей физической, структурной и поведенческой различают различные уровни: схемный, логический, языков регистровых передач (ЯРП) и системный. При этом в поведенческой области дается функциональное представление ДУ, в структурной области описываются блоки архитектуры ДУ, физическая область отражает реальный кристалл

(chip). Например, для логического уровня эти три области показаны на

рис.1.2.

Поведенческий

уровень

Структурный

уровень

a = b c z = !(a d)

b

c

a

d & z

Физический

уровень

b c

Рис.1.2 Области представления схемы на логическом уровне

С другой стороны на рис.1.3 показаны различные уровни для структурной области. В табл.1.1 представлены различные уровни проектирования ДУ для каждой области. Следует отметить, что ДУ на одном и том же уровне в данной области может быть описано различными способами. Например, ДУ на логическом уровне в поведенческой области может быть описано с помощью булевых выражений, таблиц, языка программирования, языка описания аппаратуры.

14

Системный уровень

Логический уровень

 

b

 

 

 

 

 

 

 

 

c

 

a

 

 

 

 

z

 

 

d

&

Уровень регистров

Схемный уровень

 

 

 

 

Z

 

 

A

 

C

 

 

B

 

D

 

Рис.1.3 Уровни абстракции структурной области

Таблица 1.1

 

 

Область

 

 

 

 

 

Уровень

Поведенческая

Структурная

Физическая

 

 

 

 

Системный

Системные

Блоки

Кристалл

 

спецификации

 

 

 

 

 

 

ЯРП

ЯРП спецификации

Регистры

Макро ячейки

 

 

 

 

Логический

Булевы функции

Логические

Стандартные

 

 

вентили

ячейки

 

 

 

 

Схемный

Дифференциальные

Транзисторы

Маски

 

уравнения

 

 

 

 

 

 

Данный раздел содержит различные формы представления моделей,

которые используются при моделировании и тестировании ДУ. Прежде всего мы рассмотрим вопросы моделирования на уровне логических

15

элементов или логическом моделировании ДУ. При этом, как правило,

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

Объектом наших исследований являются ДУ, которые делятся на два класса [1,2]: комбинационные и последовательностные устройства. ДУ называется комбинационным, или ДУ без памяти, если значения его выходных сигналов однозначно определяются только значениями входных сигналов. Последовательностным, или ДУ с памятью, называется устройство, у которого значения выходных сигналов в данный момент времени зависят от значений входных сигналов в текущий момент и от внутреннего состояния объекта в предыдущий момент времени,

определяемого значениями сигналов на линиях обратных связей. При построении моделей ДУ мы рассмотрим три подхода: функциональный,

структурный и представление ДУ языками описания аппаратуры (hardware

design languages - HDL).

1.2 Функциональные модели

Суть функционального подхода заключается в абстрагировании от внутренней организации устройства и рассмотрении только его логики функционирования. Как правило, под ДУ подразумеваются устройства,

перерабатывающие двоичную информацию.

1.2.1 Модели комбинационных схем

В качестве функциональной модели комбинационных устройств,

чаще всего, используют систему булевых функций:

z1 = f1(x1,...xn )

zm = fm (x1,...xn ) ,

16

где X=(x1,...,xn) - входные, Z=(z1,...,zm) - выходные переменные,

принимающие двоичные значения B2={0,1}. Данная система булевых функций описывает комбинационное ДУ, которое имеет n входов, m

выходов и представлено на рис. 1.4.

x1

x2

xn

z1

z2

zm

Рис.1.4 Комбинационное ДУ

Здесь каждая булева функция fi (x1,..., xn ) - отображение B2n B2 .

Простейшим способом представления булевой функции является таблица истинности. Например, в табл.1.2 приведена таблица истинности для булевой функции трех переменных.

Кроме этих таблиц часто используются также табличные модели в виде так называемых «примитивных» (простых) кубов. Эти кубы в сжатом виде фактически представляют ту же самую информацию. Один

«примитивный» куб объединяет несколько «соседних» строк таблицы истинности, на которых булева функция принимает одно и тоже значение.

Под «соседними» здесь понимаются строки, отличающиеся значением одного (или более) бита. В отличие от таблиц истинности такие кубы используют не двоичный алфавит B2={0,1}, а троичный алфавит

E3={0,1,x}, где символ х представляет неопределенное значение (0 или 1)

переменной. В табл.1.3 представлена табличная модель в виде

«примитивных» кубов той же булевой функции (табл.1.2).

17

Таблица 1.2

 

 

Таблица 1.3

 

 

 

 

 

 

 

 

 

 

X1

X2

X3

F

 

 

 

 

 

 

X1

X2

X3

F

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

0

1

 

 

 

 

 

 

X

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

0

1

1

 

 

 

 

 

 

1

1

X

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

0

0

 

 

 

 

 

 

X

0

X

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

1

1

1

 

 

 

 

 

 

0

X

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

0

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

0

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

В табл. 1.3 первая строка примитивный» куб х110) объединяет третью

(0100) и седьмую (1100) строки исходной таблицы истинности. Отметим,

что третья стока (куб х0х1) объединяет четыре строки таблицы истинности, имеющих всевозможные значения переменных х1 и х3 и одно и тоже значение булевой функции f=1. Фактически, «примитивный» куб соответствует простой импликанте [40].

1.2.2 Модели последовательностных схем

В качестве функциональной модели последовательностных устройств используется абстрактный конечный автомат, являющийся совокупностью пяти объектов A=(Y,X,Z,δ,λ), где Y, X, Z конечные множества состояний, входных и выходных сигналов соответственно;

δ:Y×XY - функция переходов, определяющая следующее состояние автомата; λ:Y×XZ - функция выхода, определяющая выходной сигнал.

Различают два типа автомата:

автомат Мили Y (t + 1) = δ (Y (t), X (t))

Z(t + 1) = λ (Y (t), X (t)) ;

и автомат Мура Y (t + 1) = δ (Y (t), X (t))

18

Z(t +1) = λ (Y (t)) .

Например, табл. 1.4 представляет конечный автомат Мили с одним входом х, одним выходом z и четырьмя состояниями. Здесь на пересечении строки (текущего состояния) и столбца (входного сигнала)

приводятся следующее состояние и выходной сигнал автомата.

Таблица 1.4

 

 

X

S

 

 

 

0

 

1

 

 

 

 

1

2,1

 

3,0

 

 

 

 

2

2,1

 

4,0

 

 

 

 

3

1,0

 

4,0

 

 

 

 

4

3,1

 

2,0

 

 

 

 

Кроме приведенной табличной формы автомат также часто представляется графом переходов и выходов. Для примера на рис.1.5

показан граф переходов выходов автомата, представленного табл.1.4.

 

 

0/1

0/1

 

 

 

 

1

 

2

1/0

0/0

1/0

1/0

 

 

1/0

 

 

3

 

4

 

 

0/1

 

Рис.1.5 Граф переходов выходов автомата табл.1.4

Следует отметить, что в этой форме представления неявно предполагается, что функционирование автомата рассматривается в

19

дискретном времени, принимающем целые неотрицательные значения t=0,1,2... Такие автоматы называются синхронными.

Синхронное последовательностное ДУ имеет каноническую форму представления, приведенную на рис.1.6. Эта автоматная модель позволяет представить последовательностное устройство в виде комбинационного блока и блока памяти, которые соединены линиями обратной связи

Y=(y1,...,yk).

X

Y

Комбинационная схема С

Триггеры

Z

~

Y

F/Fs

Синхроимпульс

CLOCK

Рис.1.6 Модель схемы с памятью

Здесь каждое состояние в таблице автомата соответствует комбинации переменных состояния - y. Синхронизация неявно реализуется в виде дополнительного входа – clock. Таким образом события (изменение состояния и выходного сигнала ) инициируются импульсами на входе синхронизации. Состояние схемы запоминается в синхронизируемых триггерах (flip-flop - FF) и изменяется при поступлении импульсов на соответствующий вход. На рис.1.7 представлены три используемые на практике типа синхронизируемых триггеров: JK-триггер, Т-триггер и D-

триггер (задержка). В общем случае синхронные ДУ могут иметь несколько входов синхронизации.

20