Научная статья на тему 'Модели цифровых автоматов для проектирования тестов в среде Active-HDL'

Модели цифровых автоматов для проектирования тестов в среде Active-HDL Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
264
42
i Надоели баннеры? Вы всегда можете отключить рекламу.

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Хаханов Владимир Иванович, Шкиль Александр Сергеевич, Ковалев Евгений Владимирович

Представлены модели цифровых автоматов в среде проектирования Active-HDL. Предлагается метод обеспечения переходов при построении тестов по графмодели автомата путем выполнения обратной импликации по функции возбуждения. Функция возбуждения, заданная в виде языковых конструкций VHDL, преобразуется в предикатную функцию, задаваемую кубическими покрытиями в многозначном алфавите.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Хаханов Владимир Иванович, Шкиль Александр Сергеевич, Ковалев Евгений Владимирович

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

State machine models for test design in Active-HDL

The models of finite state machines and methods of creating them in Active-HDL are proposed. The algorithm of condition creating for transition performing in automata graph by backward implication performing by activization function. Activization function is defined as VHDL language constructions and it is transformed to predicate form, which is presented by cubic coverings in multi-valued alphabet.

Текст научной работы на тему «Модели цифровых автоматов для проектирования тестов в среде Active-HDL»

УДК 681.326: 519.713

МОДЕЛИ ЦИФРОВЫХ АВТОМАТОВ ДЛЯ ПРОЕКТИРОВАНИЯ ТЕСТОВ В СРЕДЕ ACTIVE-HDL

ХАХАНОВ В.И., ШКИЛЬ А.С., КОВАЛЕВ Е.В.

Представлены модели цифровых автоматов в среде проектирования Active-HDL. Предлагается метод обеспечения переходов при построении тестов по граф-модели автомата путем выполнения обратной импликации по функции возбуждения. Функция возбуждения, заданная в виде языковых конструкций VHDL, преобразуется в предикатную функцию, задаваемую кубическими покрытиями в многозначном алфавите.

1. Введение

Проектирование вычислительных устройств ориентируется на два основных направления. Первое связано с новыми технологиями разработки универсальных и специализированных процессоров для компьютерных систем большой производительности. Второе направление относится к области разработки и проектирования специализированных вычислительных управляющих устройств на основе использования программируемых логических интегральных схем (ПЛИС). Заметный прогресс в росте производства и применения ПЛИС в последние несколько лет связан со снижением их стоимости за счет внедрения технологии Hardware - Software Cooperation, высокой степенью интеграции (до 12 млн. вентилей на кристалле), уменьшением времени реализации проекта (2 - 4 недели) на основе использования Field Programable Gate Array (FPGA), Complex Programable Logic Device (CPLD), наличием эффективных программных средств автоматизированного проектирования цифровых вычислительных устройств от описания проекта на системном уровне до получения карты прошивки.

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

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

Одной из важных задач, которая должна эффективно решаться в любой САПР ПЛИС, является генерация тестов на функциональном уровне описания в виде графов переходов автомата для класса одиночных неисправностей переходов [ 1].

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

2. Концепция представления моделей цифровых объектов

Концептуальная модель объекта, оперирующая дискретной информацией, представлена триадой компонентов [1]:

F = <f, t, h>,

где f, t, h — дискретные параметры описания функций, времени, структуры.

Компонент f отображает многообразие аналитических, табличных и графических форм представления моделей. Относительно t классификация моделей определяет синхронные (не учитывающие временные параметры объектов и примитивов), асинхронные (использующие реальные или модельные задержки элементов), дельта-троичные (учитывающие модельные задержки примитивных элементов (ПЭ) и разброс времени переключения входных сигналов объекта) и с нарастающей неопределенностью (момент переключения входных сигналов элементов учитывает разброс параметров задержки прохождения сигналов от внешних входов к выходам) . Параметр h классифицирует степень подробности задания структуры и идентифицирует: функциональную или автоматную модель для представления поведения комбинационного или последовательностного ПЭ; структурно-функциональную или итеративную, а также чистую структуру, представляющую собой орграф.

Проблема верификации реализации проекта в целях анализа тождественности функций, структуры временных соотношений для конкретной спецификации рассматривается в рамках самой полной f-t-h-структуры, в то время как генерация проверяющих тестов вполне может обходиться f-h-моде-лью объекта.

Такой вывод находит подтверждение в публикациях последних трех лет в области проектирования различных форм описания поведения цифровых объектов, практического опыта разработки упомянутых систем и ознакомления с техническими характеристиками систем моделирования и генерации тестов. Применение структурно-функциональных (h-f)-моделей вентильного, автоматного, алгоритмического уровней детализации является достаточным для решения задач, логического синхронного моделирования, исправного поведения и неисправностей, генерации статических тестов, проектирования алгоритмов контроля и поиска дефектов.

86

РИ, 2000, № 2

Параметр времени в таких структурах — понятие относительное, определяющее фреймы (такты) автоматных состояний. Длительность каждого модельного такта есть величина, всегда превосходящая максимальную задержку цифровой схемы. При таких условиях адекватность структуры реальному объекту уменьшается по номинальным временным характеристикам, но вследствие этого появляется возможность реального решения задач диагностирования в пространстве <функция, структура> при неявном задании модельного времени.

Одно из возможных взаимодействий пространства функций и структуры во времени (модельном) представлено универсальной концепцией автомата первого рода, который дифференцируется на управляющую и операционную части: SM={CM, OM}.

В этом случае управляющий автомат на поведенческом уровне представлен множеством входных,

внутренних и выходных состояний:

X = {Xi,. ..,X„ -,xm>,

к! и к! •,YH- •,Yh} , (1)

Z = {Zi,. ..,Zr,. ..,Zk> .

Каноническое задание управляющего автомата определяется функциями переходов и выходов автомата первого рода:

Yt = f(Xt, Yt-i); Yt = g(Xt, Yt-i), (2)

где t -1, t — фреймы автоматного времени.

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

M=<X, Y, Z, f, g>, (3)

где X=(Xi,X2,...,Xi,...,Xm), Y=(Yi,Y2,...,Yi,...,Xh), Z=(Z1,Z2,...,Zj,...,Zk) — множества входных, внутренних и выходных автоматных переменных, отношения между которыми описываются обобщенными уравнениями конечного автомата:

Y(t)=f[X(t-1), X(t), Y(t-1), Z(t-1)];

Z(t)=g[X(t-1), X(t), Y(t-1), Y(t), Z(t-1)]. (4)

Переменные Z(t) отличаются от Y(t) тем, что первые наблюдаемы по выходным линиям, а Y(t) в этом смысле есть внутренние. Формат автоматных переменных, соответствующий (4), для записи функции имеет следующий вид:

X(t -1) Y(t -1) Z(t -1)

X(t) Y(t) Z(t)

Конечный автомат произвольной сложности может быть представлен таблицей истинности или кубическим покрытием, как одной из наиболее простых

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

F2 = <(t-1,t),(X,Z,Y),{A2}>, (5)

где (t-1,t) — два автоматных соседних такта в описании функции; (X,Z,Y) — векторы входных, внутренних и выходных переменных; {A2} — двухтактный алфавит описания состояний (переходов) автоматных переменных [1].

3. Модель автомата для среды проектирования Active-HDL

Применительно к системе Active- HD L автоматная модель существенно усложняется. Если рассматривать операционное устройство преобразования информации в виде декомпозиции операционного и управляющего автомата (УА), то объект исследования —УА, входом которого являются оповестительные сигналы X. Для анализа УА очень важно знать закон формирования указанных сигналов X, что особенно важно при работе с небулевыми алфавитами входных сигналов. Но на этапе функционального моделирования (анализа) проектировщик обычно не имеет полной информации об операционном автомате (ОА). Поэтому целесообразно включить в рассматриваемую модель УА ту часть ОА, которая связана только с формированием оповестительных сигналов и не затрагивает структур обработки данных. Эта модель представлена на рис. 1.

Рис. 1. Модель автомата для Active-HDL

Функции операционного устройства, которое далее будем именовать как W-автомат W=<X, Y, Z, f, g, h>, определяются характеристическими уравнениями:

Yt = f(Xt, Yt-1, Zt-1);

Zt = g(Xt, Yt-1, Zt-1); (6)

Xt = h(Wt, Yt-1, Zt-1).

Здесь h представляет собой функцию возбуждения или инициализации переходов в конечном автомате, где Xt = {0,1} — выходная функция для активизации перехода (если Xt = 1); W — управляющие воздействия в стандарте языка VHDL [2,4]:

W= {WBO, WBI, WBIV, WSTDL, WSTDLV, W1}, (7)

где WBO = {false, true} — переменные типа boolean; WBI = {0,1} — переменные типа bit; WBIV = (WBI...WBI) — переменные типа bit_vector; WSTDL = {X—Forcing Unknown, 0 — Forcing 0, 1— Forcing 1, Z — High Impedance, W — Weak Unknown, L — Weak 0, H —

РИ, 2000, № 2

87

Weak 1, "—" — Don't care} — переменные типа std_logic; WSTDLV = (WSTDL...WSTDL) — переменные типа std_logic_vector; W1 = [-2147483647 — 2147483647] — переменные типа integer.

В общем случае для W-автомата процедура генерации тестов предполагает выполнение четырех шагов.

1. Построение теста обхода всех дуг графа по таблице переходов.

2. Решение задачи обратной импликации по функции X=h(W) для вычисления входных последовательностей в терминах стандарта VHDL.

3. Решение задачи установки во времени и в пространстве, если для активизации переходов используются сигналы из множества Z.

4. Модификация пути решения установочной задачи в случае отсутствия решения для выбранных сигналов из множества Z.

Проблема получения теста обхода всех вершин и дуг графа переходов связана с решением задачи нахождения условий перехода:

(Xj,Yi,Zj) ^ (У, ^ Yj).

Формально она сводится к выполнению обратной импликации на функции возбуждения Xj = (Wj,Yi,Zi) (Xj = {0,1}) для рассматриваемого

перехода У, ^ Yj. Если значение Xy = 1, то переход выполняется, в противном случае (Xjj = 0) — нет. В общем случае входная переменная Wr є (Xj, Y,,Z,) определяется типами:

Wr є W = {WBO,WBI,WBIV,WSTDL,WSTDLV,WI}. (8)

Определение 1. Предикатным [3] называется примитив (W-элемент), имеющий в качестве входных переменных типы из множества W, а значение выхода определено на множестве сигналов {false, true} или {0, 1}.

Определение 2. Схемная структура, составленная из предикатных элементов, определяет предикатную функцию возбуждения или h-функцию. Вне -шние входные переменные такой структуры определены на множестве W. Значения внутренних и выходных линий предикатной функции равны {0, 1}. Переменные типа {WBIV, WSTDL, WSTDLV, W1} могут быть только внешними входами. Аналитическая запись предикатной функции включает скобки, знаки конъюнкции, дизъюнкции, отрицания, другие логические и арифметические операции, поддерживаемые в стандарте VHDL.

4. Кубическая форма представления предикатных уравнений

Любому предикату, представленному в аналитической форме, можно поставить в соответствие таблицу истинности или кубическое покрытие (КП). Таким образом, функция возбуждения есть взаимосвязанная структура типов функций, каждая из которых на выходе имеет двоичное значение. Это означает, что к такой схеме можно применить

модифицированный ж -алгоритм, который по единичному состоянию функции возбуждения определит решение в виде входных сигналов, обеспечивающих требуемый переход Si ^ Sj .

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

Определение 3. Операция инверсии T = A для целочисленной переменной А, заданной в интервале [ai,a2] и имеющей область определения Arange = [arange1,arange2], есть инверсия интервала T = (T1,T2) = ([t11, t12][t21, t22]), реализуемого с помощью выражений

[t11,t12] = [arangq,a1 -1],

[t2bt22] = [a2 +1,arange2]. (9)

Примечание. Операция инверсии может приводить к получению двух интервалов значений переменной.

Пример 1. Дано A = [20,30], Arange = [0,1000] . Выполнить операцию T = A .

В соответствии с (9) получим T = ([0,19],[31,1000]).

Одним из способов нахождения решений предикатного уравнения является его представление в виде ДНФ или единичного покрытия (С1 с С). Но для реализации ж -алгоритма кроме единичного требуется еще и нулевое покрытие (С0 с С ). Рассмотрим процедуру инверсии единичного кубического покрытием целиком, которая соответствует применению правила Де-Моргана для ДНФ.

Определение 4. Операция инверсии над КП, описывающим двухуровневую реализацию функции в виде ДНФ, включает две процедуры:

1. Инверсия каждого куба покрытия: для куба ранга r состоит в замене его k кубами ранга (n-1), где n — мерность (количество координат) куба, k= (n-r) — количество координат куба не равных X. В кубах ранга (n-1) значащие координаты заменяются их дополнением в алфавите кубического исчисления (для двоичного алфавита — инверсией).

2. Попарное пересечение всех кубов из полученных множеств с отбрасыванием пустых результатов пересечений с последующим поглощением одинаковых кубов в соответствии с аналогичным пунктом ж -алгоритма [1].

Пример 2. Дана функция от 4-х переменных f(0,1,4,5,6,7,9,13)=1 получить нулевое и единичное покрытие. Выполнить переход от 1-покрытия к 0-покрытию и сравнить полученные результаты.

Минимизация заданной функции с помощью карты Карно с представлением в кубическом виде и в форме булевых уравнений:

88

РИ, 2000, № 2

X3X4 X,X2 00 01 11 10

00 111 112 013 014

01 121 122 123 124

11 031 132 033 034

10 041 142 043 044

Склеивание ПО 1: 1-Й терм — 111,112,121,122, 2-Й терм

— 121,122,123,124? 3-Й терм — 112,122,132,142. Скёеи-вание по 0: 1-Й терм — 033,034,043,044, 2-Й терм —

03b°34j°4b 044 j 3-Й теРм — 013,043,014,044.

Пример 3. Построить С1 с С для скобочноЙ формы:

y = (abv cd)(bd(a vf) v cf). (10)

Разложим указанную функцию в виде дерева синтаксического разбора и на нем покажем построение 1 -покрытия для пяти переменных abcdf (рис .2).

Полученное КП эквивалентно ДНФ: y = abdf v abcf v cdf,

Результат склеивания в виде КП имеет вид:

C0

1 X X 0 . C1 = 0X0X

1 X 1 X 0 1 X X

X 0 1 X XX01

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

которая может быть наЙдена в результате раскрытия скобок в уравнении (10).

5. Процедура выполнения л -алгоритма для предикатной функции

Выполнение перехода от единичного КП к нулево- Основой л -алгоритма является итеративная про-

му с использованием правил Де-Моргана для КП: цедура, описанная выражением

1. Инверсия каждого куба С1 с С :

C1(0X0X)

1 X X X X X 1 X

; C1(01XX)

1 X X X X 0 X X ;

C1(XX01)

X X 1 X X X X 0 •

2. Попарное пересечение с последующим поглощением:

1 X X X

1 X X X п 1 X X X 1 0 X X 1 X X X

X X 1 X X 0 X X 1 X 1 X X 0 1 X X 0 1 X

1 X X X X 0 1 X п X X 1 X X X X 0 = 1 X 1 X 1 X X 0 X 0 1 X X 0 1 0 = 1 X 1 X 1 X X 0 X 0 1 X

Результат совпадает с нулевым покрытием.

Наиболее общей формой представления предикатных уравнений является скобочная. Рассмотрим построение КП по скобочной форме (СФ) предикатного уравнения. Любой условный оператор языка VHDL может быть представлен предикатным уравнением в виде СФ. Определим правила построения КП по СФ предикатного уравнения:

1. СФ представляется в виде дерева синтаксического разбора по операциям OR, AND, NOT. В нижнем ярусе указанного дерева располагаются переменные без инверсий.

2. Для каждой переменной нижнего яруса записывается куб ранга (n-1) c прямым предикатным значением на координате куба, соответствующей данной переменной, n-мерность куба покрытия (для двоичного алфавита — 1).

3. В вершине NOT выполняется правило Де-Моргана для инвертируемого покрытия.

4. В вершине AND реализуется попарное пересечение кубов входящих покрытий с поглощением одинаковых результатов.

5. В вершине OR осуществляется объединение входящих покрытий в одно.

РИ, 2000, № 2

* ~ ■ , p ■

E1 = Pi[Pi(E1-1 П C1)], (11)

i-1

выполняемая на множестве входных, внутренних и выходных переменных <X, Z, Y>), где p — число

примитивов в схемной структуре; Pi — оператор минимизации, предназначенный для склеивания кубов, отличающихся по одной переменной; Pi — оператор поглощения, служащий для уменьшения числа векторов за счет исключения избыточных;

E = (E0,E1,...,Ei,...,Ep) — таблицы решений, получаемые после обработки каждого КП по правилам

(11); с1 — КП i-го примитива схемной структуры.

Все основные шаги представленного ниже алгоритма ориентированы на повышение его быстродействия в целях получения входных решений при заданных состояниях выходных переменных.

1. Поскольку h-функция есть комбинационная схема, то данное обстоятельство позволяет ранжировать предикатные элементы и линии. Сначала отмечаются внешние входы, затем выходы тех элементов, входы которых уже занумерованы. Итерации повторяются до полной отметки всех линий схемы. Аналогично выполняется ранжирование ПЭ. На первом шаге нумеруются примитивы, выходы которых являются внешними, затем элементы, имеющие уже отмеченные преемники. Процедура заканчивается при полной нумерации ПЭ.

2. Определение исходного вектора решений

E0 = (<X...X >< X...X ><0...1 >) двоичными условиями по выходным переменным (невыходным координатам присваиваются значения X).

3. Исходный вектор решения E0 пересекается с каждым кубом покрытия элемента E0nCti, выход которого является внешним. В результате получаются решения в виде векторов множества E1, где индекс при E обозначает номер обработанного примитива.

89

4. Пересечение множества векторов E1-1, полученного после обработки покрытия С1-1, с кубами очередного ПЭ E1-1 n Ct1. Пересечение строки решения с кубом покрытия равно пусто, если выполняется условие

3j(Ej_1 П Ctj =0). (12)

j=i

Если вектор решения E1-1 имеет символы X по выходным координатам анализируемого КП C1, то он (вектор) освобождается от пересечения и переносится в таблицу формируемых кубов E1.

5. Выполнение операторов минимизации и поглощения на множестве полученных векторов

E^in = Pj [Р. (E1)], что после обработки очередного примитива дает существенное уменьшение числа промежуточных решений для схем со сходящимися разветвлениями и для двухуровневых цифровых структур.

6. После обработки всех примитивов из векторов решения Ep убираются столбцы, соответствующие внутренним переменным, после чего к строкам покрытия Е на оставшемся множестве переменных <X,Z> применяется оператор минимизации и поглощения Emin = P[P(Ep)]. Входные переменные, определенные на всех кубах символами X, также исключаются из результирующего покрытия как несущественные. Полученная совокупность векто-

ров на множестве входных и выходных существенных переменных Emin есть искомое кубическое

покрытие h-функции, которое в общем случае является минимизированным или тупиковым решением.

Модификация алгоритма по отношению к изложенному в [1] заключается в использовании оператора пересечения в пункте 4 вместо подстановки, а также в выполнении операций минимизации и поглощения после обработки каждого КП. В совокупности такая модификация приводит к уменьшению времени получения КП в несколько раз. Также алгоритм инвариантен по отношению к порядку обработки примитивов, поскольку решение есть пересечение кубических покрытий взаимосвязанных элементов в целях определения общего пространства состояний. Можно считать необязательным ранжирование линий и элементов, но его выполнение ускоряет процесс построения покрытия. Однако с позиции быстродействия включение в алгоритм процедур минимизации и поглощения векторов после обработки очередного ПЭ доминирует над другими попытками улучшения Ж -алгоритма. Алгоритм инвариантен к количеству выходов комбинационной схемы в целях получения совместного минимизированного КП.

Перед рассмотрением основных шагов ж -алгоритма, проанализируем способ получения КП отдельных примитивов по конструкциям языка VHDL.

0 1 X 1 0

0 1 1 X 1

0 1 1 1 0

0 1 1 1 0

X X X 1 1

0 1 X 1 0

0 1 1 X 1

X X 1 1 1

Рис. 2. Дерево синтаксического разбора

90

РИ, 2000, № 2

Пример 4. Записать в виде функции возбуждения следующее условие перехода: если А больше 20 и С равно переднему фронту (Е) или D=1, то выполняется переход Sj ^ S2 . Отсутствие переднего фронта обозначается символом F. Значение переменной A целого типа определено в интервале 0 — 216.

Указанное условие перехода соответствует фрагменту кода на языке VHDL с оператором Case:

Sreg0<=S1; Case SregO is when S1 =>

if((A>20 and (CLK=’1’ and CLK’event) or D=’1’)) then Sreg0<=S2;

Выражение внутри оператора if ( ) соответствует предикатному уравнению функции возбуждения. Заметим, что выражение (CLK=’ 1’ and CLK=’event’), соответствующее переднему фронту, записывается символом E в алфавите A2 [1].

Составим дерево синтаксического разбора (рис. 3) указанного функционала в терминах переменных ( Ai, Cl, Db, F) и выполним построение 1-покрытия.

Рис. 3. Дерево разбора для предикатной функции и построение 1-покрытия

В целях получения 0-покрытия к полученному 1-покрытию применяется правило Де- Моргана:

21 - 216 E X

21 - 216 X X 0 - 20 X X

X E X X F X

XXl| = |XX0| .

В результате получается КП:

AI Cl Db F

21 - 216 E X 1

X X 1 1

0 - 20 X 1 0

X F 1 0

X X 0 0

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

Пример 5. Определить входные условия, устанавливающие предикатную схему, представленную на рис. 4, в единичное значение на основании применения модифицированного п -алгоритма [1,5].

РИ, 2000, № 2

1

Рис. 4. Предикатная функция возбуждения

Функциональные описания предикатных элементов представлены следующими кубическими покрытиями:

C(F1)

1 2 5

E 16 - 216 1

F X 0

E 0 -16 0

. C(F2)

;

3 4 6

0 16 - 216 1

1 X 0

X 0 -16 0

1 6 8 7 8 4 9

1 5 7 E 0 1 0 1 0 - 30 1

C(F3) = E 1 1 ; C(F4) = F 1 0 ; C(F5) = 1 X 31 - 216 0

F X 1 E 1 0 X 0 X 0

F 0 1 1 X 0 - 30 1

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Согласно описанному ранее модифицированному

К -алгоритму на первом шаге выполняется пересечение КП для предикатных примитивов F5, F4, что дает следующий результат:

E4

C(F5) n C(F4)

1 23 4 56 7 8 9

E . . 0 - 30 . 0 0 1 1

E . . 0 - 30 . 0 1 1 1

F . . 0 - 30 . 0 0 1 1

F . . 0 - 30 . 0 1 1 1

Здесь точками идентифицируются безразличные значения координат, которые в процессе выполнения алгоритма могут быть доопределены любыми типами из множества Wr (8).

Минимизация полученных векторов дает куб

E4-

^min

12 3 4 5 6 7 8 9

Y . . 0 - 30 .0X11

пересечение которого с покрытием примитива F3 дает следующий результат, не подлежащий минимизации:

E3 = E4in n C(F3)

1 2 3 4 5 6 7 8 9

E . . 0 - 30 10 111

F . . 0 - 30 X0111

Пересечение этих векторов с покрытием примитива F2 формирует неминимизируемое множество

E2

E3 n C(F2)

1 23 4 5 6 7 8 9

E . 0 16 - 30 1 0 1 1 1

F . 0 16 - 30 X 0 1 1 1

На последнем шаге пересечение Е2 и C(F1) формирует результат

91

12 3 4 5 6 7 8 9

E1 = E2 n C(F1) = E 16 - 216 E 16 - 216 0 16 - 30 0 16 - 30 10 111 10 111

минимизируемый в один входной вектор

E1

J—'г

12 3 4 5 6 7 8 9

E 16 - 216 0 16 - 30 10 111

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

6. Заключение

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

интегрирования в промышленную систему проектирования Active-HDL [4] в целях построения тестов для верификации цифровых автоматов, описанных на языках описания аппаратуры VHDL, Verilog.

Литература: 1. Хаханов В.И. Техническая диагностика элементов и узлов персональных компьютеров. К.: I3MH. 1997. 308 с. 2. IEEE Standard Language Reference Manual. NewYork: The Institute of Electrical and Electronics Engineers, 1993. 3. Шабанов-Кушнаренко Ю.П. Теория интеллекта. Математические средства. X.: Вища шк. Изд-во при Харьк. ун-те, 1984. 144 с. 4. Active-VHDL Series. Book #1 - #4. Reference Guide. ALDEC Inc. 1998. 206 р. 5. Бондаренко М.Ф., Кривуля Г.Ф., Рябцев В.Г., Фрадков С.А., Хаханов В.И. Проектирование и диагностика компьютерных систем и сетей. К.: НМЦ ВО. 2000. 306 с.

Поступила в редколлегию 16.06.2000

Рецензент: д-р техн. наук, проф. Кривуля Г.Ф.

Хаханов Владимир Иванович, д-р техн. наук, профессор кафедры АПВТ ХТУРЭ. Научные интересы: техническая диагностика вычислительных устройств, систем, сетей и программных продуктов. Увлечения: баскетбол, футбол, горные лыжи. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26.

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

Модели и алгоритмы реализованы в виде программного продукта, который предназначен для

Шкиль Александр Сергеевич, канд. техн. наук, доцент кафедры АПВТ ХТУРЭ. Научные интересы: техническая диагностика вычислительных устройств. Увлечения: теннис. Адрес: Украина, 61166, Харьков, пр.

Ленина, 14, тел. 40-93-26.

Ковалев Евгений Владимирович, аспирант кафедры АПВТ ХТУРЭ. Научные интересы: техническая диагностика компьютерных устройств и систем. Увлечения: иностранные языки. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 40-93-26.

92

РИ, 2000, № 2

i Надоели баннеры? Вы всегда можете отключить рекламу.