М.Ю., Шибаева И.В. IP-телефония. М.: Эко-Трендз, 2001. 3. Alfano M, Krampell M, Smirnov M. End-to-end quality in IP networks: can we offer and charge it? Proc. of the 17th World Telecommunications Congress (WTC/ ISS 2000), May 7-12, 2000, Birmingham. 4. ETSITS 101 329-2 V2.1.1 (2001-06) Telecommunications and Internet Protocol http://www.transnexus.com/OSP%20Toolkit/ ts_101321v040101p.pdf 5. Harmonization Over Networks (TIPHON) Release 4; End-to-end Quality of Service in TIPHON Systems; Part 2: Definition of Speech Quality of Service (QoS) Classes. 6. http:// www. eurescom. de/ Public/ Projects/p900- series/ P906/ P906.htm. 7.http:// www.cisco.com/warp/public/788/ AVVID / cvmtelemate.html.
Поступила в редколлегию 29.06.2005
Рецензент:д-р техн. наук, проф. Авраменко В.П.
Гема Виктор Сергеевич, магистр кафедры ПОЭВМ ХНУРЭ, гр. ПОАС-00-4. Научные интересы: IP-телефония, распознание речи. Увлечения и хобби: плавание, баскетбол. Адрес: Украина, 61000, Харьков, ул. 23 Августа, 36а, кв. 7.
Чикина Валентина Алексеевна, канд. техн. наук,ст. научи. сотрудник, вед. научн. сотр. каф. ПОЭВМ ХНУРЭ. Научные интересы: теория интеллекта, моделирование естественно-языковых процессов, системы искусственного интеллекта. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, e-mail: [email protected], тел.: 702-14-46.
УДК 519.713:681.326
СИНТЕЗ КОМБИНАЦИОННЫХ СХЕМ В БАЗИСЕ ПОЛИНОМИАЛЬНЫХ ФОРМ
БЕРЕЖНАЯМ.А., РЫЖИКОВА М.Г., ТАТАРЕНКО Д.А.________________________
Предлагается метод синтеза легкотестируемых схем в базисе полиномиальных форм представления логических функций (разложение Рида-Маллера) с фиксированной полярностью переменных и разрабатывается алгоритм синтеза на его основе.
1. Введение
Известно, что схемная реализация произвольной логической функции (ЛФ), представленной полиномом Жегалкина (разложение Рида-Маллера), является легкотестируемой комбинационной схемой (КС), имеющей универсальный проверяющий тест для класса константных неисправностей [1-4]. Другим достоинством такой реализации Л Ф является сокращение числа внутренних соединений по сравнению с реализацией схем в базисе И, ИЛИ, НЕ, И-НЕ, ИЛИ-НЕ [5, 9]. Поэтому развитие методов синтеза легкотестируемых схем в базисе полиномиальных форм, их последующая реализация на ПЛИС является актуальной задачей. Несмотря на то, что методы нахождения минимальных полиномиальных нормальных форм (ПНФ) ЛФ известны, использование их при проектировании дискретных устройств связано с большой трудоемкостью процедуры синтеза минимальных схем [6, 7]. Как правило, минимальная ПНФ содержит минимальное число термов, представляющих собой произведение различных переменных с отрицаниями и без них. При этом одна и та же переменная может входить в различные произведения с различной полярностью.
Если полярность входных переменных не фиксирована, то решение задачи нахождения ПНФ произвольной булевой функции становится чрезвычайно сложным. Характерным примером такой процедуры является метод неопределенных ко-
эффициентов и импликантных матриц, предложенный Д.А. Поспеловым [1].
В [2] предложен графо-аналитический метод, позволяющий находить минимальные ПНФ для класса функций, у которых число произведений m в минимальной форме не превышает 6, n > 6. Применение этого метода для случая m > 6 также не гарантирует получение минимального решения. Сложность минимального представления произвольных булевых функций в ПНФ и трудоемкость алгоритмов решения этой задачи определили поиск субоптимальных решений при фиксированной полярности переменных, входящих в ПНФ.
Введение такого ограничения позволяет сократить трудоемкость представления ЛФ в ПНФ и число инверторов для входных переменных, однако платой за это является увеличение числа произведений в субоптимальной форме по сравнению с оптимальной.
В [8] предложен алгоритм нахождения минимальной ПНФ из множества форм полиномиального представления произвольной ЛФ с фиксированной полярностью переменных, предусматривающий использование специальных карт, которые позволяют получить 2n множеств коэффициентов полиномиального разложения ЛФ путем сравнения карт и выполнения операции суммирования по mod 2 соответствующих клеток карт. Вычисление коэффициентов полиномиального разложения ЛФ с помощью предложенного метода усложняется с ростом размерности функции, а необходимость хранения содержимого карт приводит к большим затратам памяти ЭВМ. В [6] предложен подход, предусматривающий последовательное вычисление множеств коэффициентов полиномиального разложения и последовательного выбора наилучшего решения путем сравнения пороговых функций, которые соответствуют каждому множеству коэффициентов разложения.
Целью данной работы является теоретическое обоснование и дальнейшее развитие методов синтеза комбинационных схем в базисе полиномиальных форм, предложенных в [6, 7, 9], гарантирующих
РИ, 2005, № 3
103
минимальность затрат на построение легкотестируемых схем с их последующей реализацией на современных ПЛИС.
Сформулированная цель достигается решением следующих задач:
— проведение сравнительного анализа методов синтеза легкотестируемых схем в базисе полиномиальных форм;
— разработка метода нахождения минимальной ПНФ с фиксированной полярностью переменных;
— разработка алгоритма синтеза комбинационных схем, реализующих ЛФ по ее минимальной ПНФ с фиксированной полярностью переменных;
—разработка процедуры вычисления коэффициентов ПНФ функции и поиска ее минимальных форм;
— применение разработанных методов для сокращения числа операций сложения по mod 2 и уменьшения объема памяти для программной реализации.
2. Определения и основные свойства
Основные определения и свойства полиномиальных форм представления ЛФ, предложенные в этом разделе, соответствуют различным классам И — исключающее ИЛИ (AND - EXOR) форм, рассмотренных в [1, 7].
Определение 1. Пусть f(x1,X2,...,Xn) — ЛФ n переменных.
Логическое произведение произвольного числа переменных X;, i = 1, n с отрицаниями или без них называется термом произведения (product term) (или для краткости - “произведением4'). Дизъюнкция произведений является дизъюнктивной нормальной формой (sum-of-products) представления ЛФ.
Определение 2. Логическое произведение, включающее все X; с отрицаниями или без них, называется минтермом (minterm) функции f(xbX2,...,xn).
Определение 3. Форма представления ЛФ является минимальной, если она представлена минимальным числом термов произведений с минимальным числом переменных в каждом произведении.
Утверждение. Любую логическую функцию f(Xi,X2,...,Xn) можно представить в следующем виде:
f = xf0 © xf , (1)
f = fo © X;f2 , (2)
f = fi © X;f2 , (3)
где fo = f(XbX2,...,0,...,Xn,) , fi = f(Xi,X2,. f2 = f0 © f1 . .N,...,0,
Равенства (1)-(3) называют формулами разложения ЛФ по переменным Шеннона, по положительной
и отрицательной переменной Давио (Davio), соответственно [7]. В частности, если формулу разложения (2) рекурсивно применить к произвольной функции f(Xi,X2,...,Xn) для каждой переменной X;, i = i,n, то ее можно представить в виде:
f = ao © aiXi © a2X2 ©... © anXn ©.... © ai2XiX2 ©
a13x1x3 © ... © a(n—i)nX(n-i)Xn © ... © ai2...nXiX2...Xn ,(4)
где коэффициенты a; є {0,1} .
Представление функции равенством (4) носит название полинома Жегалкина (ПЖ) (формула разложения Рида- Маллера по положительным перемен -ным).
Если в (4) для каждой переменной X; фиксировать полярность (X; или X;), то произвольную ЛФ можно представить формулой разложения Рида-Маллера с фиксированным набором переменных в ПНФ (ФПНФ). Так как имеется 2n фиксированных наборов переменных, то существует 2n множеств коэффициентов {a;} , представляющих единственным образом заданную ЛФ для каждого фиксированного набора.
В табл. 1 даны результаты анализа сложности реализаций всех логических функций 4-х переменных f (XbX2,X3,X4,), представленных ПЖ и ФПНФ, которая оценивается числом термов произведений “k”, входящих в каждую реализованную ЛФ.
Таблица 1
К 0/16 1/15 2/14 3/13 4/12 5/11
ПЖ i 16 120 560 1820 4368
ФПНФ 1 81 836 3496 8878 17884
К 6 7 8 9 10
ПЖ 8008 11440 12870 11440 8008
ФПНФ 20152 11600 2336 240 32
Так как Ck6 = Ci6_k, то представление ЛФ в форме ПЖ обладает свойствами симметрии, что отражается в табл. 1 одним и тем же числом ЛФ, реализуемых “k” и (16- k) термами произведений. Из табл. 1 следует, что среднее число термов произведений, требуемых для реализации всех функций 4-х переменных, составляет для ПЖ 8,0 произведений, а для ФПНФ — 5,5 произведений.
3. Метод нахождения минимальных ПНФ с фиксированной полярностью переменных
Произвольную Л Ф n переменных можно представить в совершенной дизъюнктивной нормальной форме (СДНФ) в виде:
f(X1,X2,...Xn) = b0m0 + b1m1 +... + b2n _1m2n _i , (5)
где m; — минтерм, равный 1 на i -м наборе переменных, Ь; Є {0,i} .
Так как на каждом наборе переменных в 1 обращается не более одного минтерма, входящего в СДНФ
104
РИ, 2005, № 3
ЛФ, то дизъюнкцию в (5) можно заменить суммой по mod 2:
f(xbX2,...xn) = bomo © bimi ©... © b2„ _im2„ _1. (6) Для определения соотношений между коэффициентами aj в ФПНФ и минтермами ЛФ равенство (4) представим в следующей форме:
f(xi,X2,...Xn) = ao © аіхП © а2хП_i © азхПхП_i ©...
... © a2n_ix xinxn-i . xi, (7)
где x- = x; или x; и фиксируется для каждого множества коэффициентов разложения
{a0,ai,...a2n_i} Є{0Д} .
Приравнивая правые части выражений (6) и (7), получаем
ao © aixn © a2x2n i ©... © an_ixix2...xn =
где Sn — константная матрица размерности 2n x 2n , которая для случая вхождения в ПНФ всех n переменных без отрицаний определяется рекурсивно из следующих равенств:
S
n
Sn-i
I 0 ISn-i
So
[i].
(12)
Например, для f(xi,x2,x3) из (11) получаем
a0 "iooo oooo" b0 b0
ai iioo 0000 bi b0 © bi
a2 ioio 0000 b2 b0 © b2
a3 iiii 0000 b3 b0 © bi © b2 © b3
a4 iooo iooo X b4 b0 © b4
a5 iioo iioo b5 b0 © bi © b4 © b5
a6 ioio ioio b6 b0 © b2 ©b4 ©b6
_a7 _ iiii iiii _b7 _ _b0 © bi © ... © b7
= bom0 © bimi ©... ©b2n _im2n _i . (8)
Из равенства (8) для каждого множества переменных xj с фиксированной полярностью можно найти множество коэффициентов a- ФПНФ заданной функции f(xi,x2,...xn) по известным коэффициентам bj, определяемым таблицей истинности функции.
Например, для n = 2 , предполагая, что в ПНФ переменные (xi,x2) входят без отрицаний, подстановкой в (8) различных значений переменных получим:
xi = 0 x2 = 0 b0 = a0
xi = 0 x2 = i bi = a0 © ai
xi = i x2 = 0 b2 = a0 © ai © a2
xi = i x2 = i b3 = a0 © ai © a2 © a3 .
Из (9) можно получить зависимость a- от bj в виде:
a0 = b0 , ai = b0 © bi, a2 = b0 ©b2 ,
a3 = bo © bi © b2 © Ьз . (10)
В [6] представлена систематическая процедура вычисления коэффициентов a- ПНФ ЛФ с использованием операции умножения булевых матриц.
Матричная форма вычисления коэффициентов {aj} полиномиального разложения ЛФ позволяет реализовать итеративную процедуру вычисления, требующую для ЛФ n переменных точно n итераций и использования 2n бит памяти, в которой первоначально записаны коэффициенты b;, соответствующие значениям ЛФ на ; -м наборе входных переменных. Для n = 3 эта процедура вычисления aj показана в табл. 2, а соответствующая ей диаграмма вычислений приведена на рис. 1.
Как следует из диаграммы рис. 1, число операций суммирования по mod 2 для функции f(xbx2,...xn) составляет n • 2n_i при использовании 2n однобитовых ячеек памяти.
Таблица 2
x^x3 f{bj} i итер 2 итерация 3 итерация
000 b0 b0 bo bo
ooi b1 b1 bi bo ® bi
oio b2 b2 b0 © b2 b0 ©b2
oii b3 b3 bi ® b3 bo ® bi ® b2 ® b3
ioo b4 b0 ® b4 b0 ® b4 b0 ® b4
ioi b5 bo ® b5 bi ® b5 bo ® b4 ® bi ® b5
iio b6 vo ® о bo ® b4 ® b2 ® b6 bo ® b4 ® b2 ® b6
111 b7 ® о bi ® b5 ® b3 ® b7 bo © bi ©••• © b7
Пусть
т т
B = [b;] = [bobib2.. b2n_i] , A = [aj] = [aoaia2.. a2n-i]
— векторы-столбцы размерности i x 2n .
Тогда коэффициенты {aj} полиномиальной формы произвольной ЛФ n переменных могут быть найдены в результате вычисления произведения матриц
A = Sn х B,
(11) Рис. 1. Диаграмма вычисления коэффициентов aj
РИ, 2005, № 3
105
Таблица 3
Х B B-3 B-2 B-2-3 B-1 B-1-3 B-1-2 B-1-2X3
000 b0 b1 b2 b3 b4 b5 b6 b7
001 b1 b0 b3 b2 b5 b4 b7 b6
010 b2 b3 b0 b1 b6 b7 b4 b5
011 b3 b2 b1 b0 b7 b6 b5 b4
100 b4 b5 b6 b7 b0 b1 b2 b3
101 b5 b4 b7 b6 b1 b0 b3 b2
110 b6 b7 b4 b5 b2 b3 b0 b1
111 b7 b6 b5 b4 b3 b2 b1 b0
Приведенная выше процедура позволяет вычислить коэффициенты ПНФ функции по заданной таблице истинности при условии, что все переменные входят в ПНФ без отрицаний. Однако существует 2n различных ПНФ заданной функции, имеющих фиксированную полярность переменных, которые входят в ПНФ с отрицанием и без них. Каждому такому разложению функции соответствует 2n множеств коэффициентов {aj} , из которых множество, содержащее минимальное число aj = 1, соответствует субоптимальной реализации функции с минимальным числом элементов И и сумм по mod 2.
Для построения такой схемы необходимо вычислить 2n множеств коэффициентов {aj} и выбрать из этих множеств то, которое содержит минимальное число aj, равных 1.
Один из известных методов вычисления множеств {aj} основан на использовании выражения (11) и перестановки элементов матрицы столбца В, связанной с появлением в ПНФ переменной X; с отрицанием.
Введем следующие обозначения. Пусть функция
f (xi,X2,...xn) задана таблицей истинности, т.е. мно-
т
жеством B = [b0b1...bi...b2n 1] , где b; є {0,1} ; i —
двоичный вектор (х{,х2,...хП) , определяющий значение функции на i-м наборе переменных.
Если, например, переменная xn входит в ЛФ с отрицанием, то для описания той же функции f(xi,X2,...xn) множество BXn представляется в
виде BXn = [ЬФоЬзЬ2...Ь2П ^n 2], где перестановка B ^ BXl определяется разрядностью переменной X;, входящей в функцию с отрицанием. Например, для f (xi, X2, X3)
Таким образом, на основании теоремы и соотношений (11), (12) для произвольной ЛФ f(xbX2,...xn) можно вычислить 2n множеств коэффициентов {aj}, определяющих ПНФ заданной функции с фиксированной полярностью переменных.
Пример. Задана функция f(xbX2,X3) = £m(2,3,4,5,6). Найти минимальную ФПНФ заданной функции.
Вычислив последовательно произведения константной матрицы S3 на все восемь комбинаций векторов - столбцов В, приведенных в табл. 4, получим восемь различных множеств коэффициентов A = {Ao,A1,...Ay} ПНФ заданной функции, которые определяют восемь различных форм представления функции с фиксированной полярностью переменных f(X1,X2,X3) , f(X1,X2,X3)...f(X1,X2,X3) . В табл. 4 представлены коэффициенты ПНФ функции f(x1,X2,X3) = 2 m(2,3,4,5,6) числа в строке ^ ai = k -1, где k — сумма единиц в столбце a; определяют число элементов EXOR, необходимых для реализации функции. Числа в строке N табл. 4, полученные путем суммирования всех единиц столбцов, соответствующих входным наборам с весом m > 2 , определяют число элементов И, требуемых для реализации данной ПНФ функции.
т
B = [bobib2b3b4b5b6by] ,
- т
bX1 = [b4b5b6b7b0b1b2b3] .
Перестановка B ^ B-1 обусловлена изменением полярности переменной xi и, как следствие, изменением порядка следования входных наборов. Таким образом, любой комбинации полярности переменных (х},-2,...-П) , входящих в ЛФ, однозначно соответствует определенная перестановка элементов матрицы-столбца В. В табл.3 для f(xi,X2,X3) приведено 23 множеств векторов-столбцов В.
Теорема [6]. Если A = Sn х B определяет множество коэффициентов ПНФ с полярностью переменных (х|,...х-,...хП) , то A = Sn хB-; определяет множество коэффициентов ПНФ с полярностью
Таблица 4
X1X2X3 B A0 A1 A2 A3 A4 A5 A6 A7
000 0 0 0 1 1 1 1 1 0
001 0 0 0 0 0 0 0 1 1
010 1 1 1 1 1 0 1 0 1
011 1 0 0 0 0 1 1 1 1
100 1 1 1 0 1 1 1 0 1
101 1 0 0 1 1 0 0 1 1
110 1 0 0 1 0 1 0 1 0
111 0 1 1 1 1 1 1 1 1
Z a; - 3 2 4 4 4 4 5 5
N - 2 1 3 2 3 2 4 3
(x1,X2,...xi,...Xn) •
106
РИ, 2005, № 3
а
б
Рис. 2. Реализация функции f(xj,X2,X3): а — на элементах И-НЕ; б — в базисе И, иск. или
Из табл. 4 множество ПНФ заданной функции с фиксированной полярностью переменных равно:
Л0 : xj © X2 © XjX2 © XjX2X3 ;
Ai: Xj © X2 © XjX2X3 ;
Л2 : 1 © X2 © X1X3 © XjX2 © XJX2X3;
Л3 : 1 © Xj © X2 © X1X3 © X1X2X3 ;
Л4 : 1 ©X1 © X2X3 ©X1X2 ©X1X2X3 ;
Л5: 1 ©X1 © X2 © X2X3 ©X1X2X3 ;
A6 : 1 © X3 ©X2X3 ©X1X3 ©X1X2 ©X1X2X3 ;
Л7 : X1 © X2 © X3 © X2X3 © X1X3 © X1X2X3 .
Минимальные значения пары чисел a;,N) определяют минимальную ПНФ функции, для реализации которой требуется минимальное число элементов. На рис. 2 приведены схемные реализации рассматриваемой функции на элементах И-НЕ и его минимальной ФПНФ функции. Как по числу используемых элементов, так и по количеству внешних и внутренних соединений реализация данной функции в базисе И — исключающее ИЛИ предпочтительнее.
Как было показано выше для вычисления множества Л; коэффициентов ФПНФ функции f(X1,X2,...Xn) требуется n • 2n_1 операций EXOR и 2n ячеек памяти для хранения результата вычисления. Для нахождения минимальной ФПНФ необходимо вычислить 2n множеств коэффициентов Л;, i = 0,2n -1, и выбрать ФПНФ с минимальными параметрами a;,N). Если следовать рассмот-
ренному выше методу, то необходимо выполнить
n • 2n_1 х 2n операций суммирования и использовать 2n х 2n = 22n однобитовых ячеек памяти для хранения результатов вычислений.
Ниже рассмотрена процедура нахождения минимальной ПНФ, позволяющая сократить число операций суммирования и объем памяти, требуемый для вычисления.
Процедура основана на итеративном свойстве зависимости между множествами коэффициентов Л; .
Определение 4. Пустьупорядоченная n -ка (XbX2,...Xn) переменных определяет упорядоченное множество n -разрядныхдвоичных векторов, на которых определена ЛФ f(X1,X2,...Xn). Два n -разрядных двоичных вектора (X1,X2,...X-,...Xn) и (X11,X2,...X-,...Xn) уличающиеся значением только в одном разряде, X1 Є {0,1} , i = 1,П соответствующем переменной X; , будем называть сопряженными по X; .
Рассмотрим два множества Ло и Л; коэффициентов ПНФ, которые определены для двух n -ок переменных (X1,X2,...X;,...Xn) , (X1,X2,...X;,...Xn) и отличаются знаком отрицания над переменной X;.
Если известны коэффициенты aj = Л0, j = 0,2n -1, то коэффициенты aj = Л; вычисляются следующим образом:
1) для множества входных наборов (Xb X2,...,1,...Xn): aj= aj;
2) для множества входных наборов (XbX2,...,0,...Xn):
a'j(XbX2,...,0,...Xn) =
= aj(X1,X2,...,0,...Xn) © a'j(XbX2,...,1,...Xn) ,
где aj(X1,X2,...,0,...Xn) — значение aj є Л0 на входном наборе (X1,X2,...,0,...Xn).
Таким образом, если два множества Л0 и Л; коэффициентов определяют две ПНФ ЛФ, отличающиеся знаком только над одной переменной X; , то для вычисления коэффициентов множества Л; необходимо выполнить 2n -1 операций EXOR пар коэффициентов множества Л0 , соответствующих наборам входных переменных, сопряженным по X; .
Учитывая приведенную зависимость между коэффициентами ПНФ ЛФ, рассмотрим следующий алгоритм нахождения минимальной ПНФ с фиксированной полярностью переменных.
4. Алгоритм нахождения минимальных ФПНФ
Для программной реализации алгоритма необходимо иметь оперативное ЗУ емкостью 2n х 2 бит, два
регистра R1 и R2 . Относительные адреса ячеек памяти соответствуют наборам входных перемен-
РИ, 2005, № 3
107
ных (x1,x2,...xn) ЛФ. В целях упрощения описания и реализации алгоритма разобьем ЗУ на два блока П1 и П2 емкостью (2n х1) бит каждый.
Регистр Ri с числом разрядов [log2 n] предназначен для подсчета числа итераций при вычислении коэффициентов А0 ПНФ ЛФ, в которую все переменные входят без отрицаний. Содержимое регистра |Ri| = i ицдицирует номер переменной x; и номер итерации, на которой вычисляются коэффициенты aj є Ао .
Регистр R2 с числом разрядов n предназначен для идентификации 2n множеств Ai различных ПНФ ЛФ.
Алгоритм
1. Записать в П1 множество значений {bj},j = 0,2n -1, функции f(xi,x2,...xn). Установить “0” в регистрах Ri и R2 .
2. Увеличить состояние Ri на і. Если |Ri| = i < n, то перейти к шагу 3. В противном случае — к шагу 4.
3. Сложить по mod 2 содержимое пар ячеек памяти П1, имеющих сопряженные по xi адреса. Для каждой пары сопряженных по xi адресов результат сложения записать в ячейку П1 с адресом
(xi,x12,...xl_i,i,xl+i,...xn). Перейти к шагу 2. На шагах 2,3 алгоритма осуществляется итеративная процедура вычисления коэффициентов Ао ПНФ заданной функции, в которую входят все переменные без отрицания. В соответствии с диаграммой рис. 5 на n -м шаге итерации в ГИ формируется 2n коэффициентов множества Ао .
4. Для множества Ао вычислить паручисел a;,N), характеризующих сложность схемной реализации ПНФ, где индекс “I” соответствует номеру блока
памяти ГИ. Увеличить содержимое R2 на 1. Перейти к шагу 5.
5. Сложить по mod 2 содержимое пар ячеек памяти П1, имеющих сопряженные по xn адреса.
Результаты сложения пар
aj(xbx2,...,0) © aj(xi,x2,...,1)
записать в П2 с адресом (xbx2,...,0) для всех 2n_1, сопряженных по xn пар адресов. Перейти к шагу 6.
6. Считать содержимое П1 по адресу (xi,x2,...,1) и записать в ячейку П2 с таким же адресом. Выполнить эту операцию для всего множества из 2n _1 адресов. Перейти к шагу 7.
На шаге 6 завершается вычисление и запись в П2 коэффициентов А1 ПНФ заданной функции, в которую все переменные за исключением xn входят без отрицания.
7. Для множества А1 вычислить пару чисел (Z a^N)2, где индекс "2" соответствует номеру блока памяти П2, в котором записаны коэффициенты А1. Перейти к шагу 3.
8. Попарно сравнить ai,N)i и a;, N2 . Выбрать
минимальную из двух сравниваемых ПНФ. Память, в которой записаны коэффициенты не минимальной ПНФ, выбирается для записи коэффициентов, вычисляемых на шаге 11 алгоритма. Перейти к шагу 9.
9. Увеличить содержимое R2 на 1. Если |R^ = i < 2n, то перейти к шагу 10. В противном случае к шагу 15.
10. Сложить поразрядно по mod 2 два n -разрядных двоичных числа (i -1) © i, представленных з коде Грея.
На шаге 9 определяется разряд "k", которым состояние (i -1 отличается от i. Это позволяет определить переменную xk, которая входит с отрицанием в ПНФ с коэффициентами а; и отличается от ПНФ с коэффициентами а;_i только полярностью одной переменной xk. Перейти к шагу 11.
11. Сложить по mod 2 пары коэффициентов а; , записанных в ячейки памяти с сопряженными по xk адресами. Результаты сложения пар
aj(x1, x2,..., xk-iA xk+1v..xn) ©
®aj(x1, x2,..., xk-id, xk+1v..xn)
записать в блок памяти, определенный на шаге 8, по адресу (xi,x2,...,xk_1,0,xk+i,...xn) для всех 2n_1, сопряженных по xk пар адресов. Перейти к шагу 12.
12. Если на шаге 8 установлено, что а;_i определяет минимальную ПНФ из всех множеств коэффициентов, вычисляемых на предыдущих циклах алгоритма, то перейти к шагу 13. В противном случае — к шагу 14.
13. Считать коэффициенты A;_i, размещенные по адресу (xi,x2,...,xk_i,1,xk+i,...xn), и записать по тому же адресу в ячейку памяти для коэффициентов А;. Выполнить эту операцию для всего множества из 2n _1 адресов. Перейти к шагу 14.
14. Для множества А; вычислить пару чисел, (Z a;,N). Перейти к шагу 3.
15. Если |R2 = 2n +1, то вычислены все 2n множеств коэффициентов ПНФ и на шаге 8 определены коэффициенты минимальной ПНФ заданной функции. Конец алгоритма.
Оценим эффективность предложенного алгоритма нахождения минимальной ПНФ с фиксированной полярностью переменных.
Известные методы вычисления 2n множеств коэффициентов разложения А; основаны на использовании таблицы истинности заданной функции
108
РИ, 2005, № 3
[2, 3, 6, 8]. Как было показано выше (см. рис. 1), для вычисления одного множества коэффициентов необходимо выполнить n • 2n _1 операций EXOR.
Таким образом, для нахождения 2n множеств коэффициентов требуется выполнить M = n • 2n _1 операций. Для вычисления необходимо иметь память емкостью 3 • 2n бит (2n х 1) — для записи таблицы истинности функции, и 2 • (2n х 1) — для хранения текущего минимального множества Л; и вычисления последующего множества коэффициентов разложения Л;+1 .
В предложенном алгоритме таблица истинности используется только при вычислении множества коэффициентов Л0, определяющих ПНФ с переменными без отрицаний. Для этого необходимо выполнить n • 2n _1 операций EXOR и иметь память емкостью (2n х 1) бит.
Для вычисления остальных (2n -1) множеств коэффициентов ПНФ необходимо выполнить (2n -1) • 2(n_1) операций. Таким образом, для нахождения всех 2n множеств коэффициентов разложения необходимо выполнить M' = 22n_1 + (n -1 • 2(n_1) операций EXOR двухбитовых чисел и иметь память емкостью 2 х (2n х 1) бит.
Проведенный анализ позволяет сделать вывод о том, что предложенный алгоритм позволяет приблизительно в n раз сократить число операций сложения и требует для реализации объем памяти на 2n бит меньше.
5. Заключение
Научная новизна. Проведен анализ и дано теоретическое обобщение существующих методов синтеза легкотестируемых схем в базисе ПНФ, предложен новый метод нахождения минимальных ПНФ, который в отличие от существующих позволяет сократить число операций суммирования и объем памяти, требуемый для вычисления.
УДК 519.713.4 “
ADAPTIVE TEST GENERATION FOR NONDETERMINISTIC NETWORKS
PETRENKO A, VETROVA M, YEVTUSHENKO N.
In this paper, we discuss transition coverage testing that is test purpose based testing. We introduce the notion of a test as a tree FSM, define preset and adaptive tests for a non-deterministic specification and demonstrate that adaptive tests achieve the above test purpose more effectively. We illustrate our approach for a so-called monolithic representation of a non-deterministic FSM.
1. Introduction
Non-deterministic networks have recently been considered in various areas oflogic synthesis [ 1] and are usually used as a joint compact representation of deterministic behaviors. In this case, a system specification
Практическая значимость. На основе предложенного метода разработан алгоритм синтеза комбинационных схем, реализующих минимальную ПНФ заданной функции с фиксированной полярностью переменных. Разработана процедура вычисления коэффициентов ПНФ функции n переменных и поиска ее минимальных форм, которая позволяет приблизительно в n раз сократить число операций сложения по mod 2 и требует для программной реализации меньший объем памяти.
Литература: 1. Поспелов ДА. Логические методы анализа и синтеза схем. М.: Энергия, 1974. 386 с. 2. Papakonftantinou G. Minimization of modulo —2 sum of products // IEEE Trans. Comput. 1979. — c — 28, №2. Р.163-167. 3. Reddy S.M. Easily testable realizations for logic functions // IEEE Trans.Comput. 1972. №11. Р.1183-1186. 4. Saluja R.K., Reddy S.M. Fault detecting test sets for reed- Muller canonic networks // IEEE Trans. Comput-1975.-c-24-№10-p/995-998. 5. PageE. W. Minimally testable Reed- Muller canonical forms functions // IEEE Trans. Comput. 1980. №8. Р.746-750. 6. Saluga K.K, Ong E.H. Minimization of Reed- Muller canonic expansion functions // IEEE Trans.Comput.1979. №7.Р.535-537. 7. Sasao T.AND-EXOR Expressions and their optimization Kluver Academic Publishers.1993. 8. Wu X, Chen X, Hurst S.L. Mapping of Reed- Muller coefficients and the minimization of XOR switching functions // IEEE Trans. Proc. E., Comput. Digital Techniguos.1982— u.129. № 1. Р.15-20. 9. Falkowski B.JA Comment on “Generalised Reed- Muller forms as a tool to detect symmetries” // IEEE Trans. on Comput. 2003. Vol.52, № 7. Р.975-976.
Поступила в редколлегию 12.05.2005
Рецензент: д-р техн. наук, проф. Дербунович Л.В.
Бережная Марина Анатольевна, канд. техн. наук, доцент кафедры ТАПР ХНУРЭ. Научные интересы: САПР. Адрес: Украина, 61166, Харьков, пр. Ленина, 14,тел. 702-14-86.
Рыжикова Марина Георгиевна, соискатель кафедры ТАПР ХНУРЭ. Научные интересы: САПР. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 702-14-86.
Татаренко Дмитрий, аспирант кафедры АУТС НТУ «ХПИ». Научные интересы: САПР. Адрес: Украина, 61166, Харьков, ул. Фрунзе, 21, тел.707-60-24.
is non-deterministic while each implementation is deterministic. Testing is needed to determine whether the behavior of a given implementation is contained in that of the specification.
The problem of testing a non-deterministic network can be formulated as testing against a non-deterministic specification Finite State Machine (FSM) w.r.t. the containment (reduction) relation when each implementation is assumed to be a deterministic FSM. A number of methods have been elaborated for generating tests from a non-deterministic FSM [2, 3, 4, 5]. Some of these methods are based on test purposes and return tests with unknown fault coverage; other methods derive tests with the guaranteed fault coverage w.r.t. an appropriate fault model. The main difference of test generation from a non- deterministic specification FS M compared to deterministic ones is that tests depend not only on the specification, but also on an Implementation Under Test (IUT), as testing becomes an adaptive
РИ, 2005, № 3
109