2009 Теоретические основы прикладной дискретной математики №2(4)
УДК 519.7
РЕАЛИЗАЦИЯ ФУНКЦИЙ НА ПОЛУРЕШЁТКАХ ПЕРЕКЛЮЧАТЕЛЬНЫМИ СХЕМАМИ
И. А. Панкратова Томский государственный университет, г. Томск, Россия E-mail: [email protected]
Формулируются критерии реализуемости функций на полурешётках схемами в реальных базисах переключательных элементов, в том числе схемами, обладающими свойством функциональной устойчивости к состязаниям.
Ключевые слова: функции на полурешётках, динамическое поведение, переключательные схемы, устойчивость к состязаниямм.
Введение
Данная работа является развитием одного из направлений, предложенных в [1] (см. также [2]), где показано, что задача синтеза дискретного автомата, обладающего заданным динамическим поведением, сводится к синтезу схемы в некотором базисе, реализующей функции на полурешётках, описывающие это поведение. В связи с этим представляет научный и практический интерес разработка методов схемной реализации функций на полурешётках. В работе [1] описан метод реализации функции на полурешётке подмножеств трёхэлементного множества схемой в произвольном базисе и сформулированы необходимые и достаточные условия полноты базиса для случая однокаскадных параллельно-последовательных схем. Проблеме полноты в классе функций на произвольной конечной полурешётке посвящена также работа [3]. При проектировании реальных дискретных устройств на базе БИС и СБИС чаще всего используется элементный RS-базис, состоящий из элементов двух типов — резистора, представляющего собой двухполюсник с постоянной конечной проводимостью между полюсами, и переключателей, являющихся многополюсниками, в которых проводимости между полюсами принимают значения в полурешётке всех непустых подмножеств множества {0,1} и являются функциями от состояний полюсов элемента. К сожалению, ни один из RS-базисов не удовлетворяет критериям полноты из [1, 3], поэтому актуальной становится проблема реализуемости функций на полурешётках схемами в заданном (неполном) RS-базисе. Далее формулируются критерии реализуемости функций на полурешётках однокаскадными (теорема 1) и многокаскадными (теорема 2) схемами. Доказательства теорем можно найти в [4]; они конструктивны и содержат методы построения соответствующих схем. Методы реализации функций и систем функций на полурешётках, направленные на оптимизацию получаемых схем, приводятся в [5, 6].
На практике к проектируемым схемам, помимо их функционального поведения, зачастую предъявляются дополнительные требования, например устойчивость схемы к состязаниям на заданном множестве переходов. Неформально, состязание заключается в более чем однократном изменении состояния выхода схемы при однократном изменении входного состояния, и это понятие ранее определялось только для булевых функций и реализующих их схем. В работах [7, 8] вводятся формальные определе-
ния состязаний для функций на полурешётках и обсуждается задача проектирования функционально устойчивых схем, реализующих такие функции.
1. Условия реализуемости функций на полурешётках в реальных базисах переключательных элементов
Будем рассматривать комбинационные схемы с двухполюсным источником питания, проводимости в которых принимают значения из множества Р3 = {0,1, X}, где 0 — нулевая, 1 — бесконечная и X — конечная проводимости. Состояние узла схемы определяется парой проводимостей от этого узла до полюсов источника питания. Для описания процесса асинхронного изменения проводимостей в схеме построим полуре-шётку проводимостей Р3 = {0,1, X, 0', 1', X', E} — верхнюю полурешётку всех непустых подмножеств множества Р3, отношение порядка ^ в которой совпадает с отношением включения множеств, а операция сложения — с объединением множеств. Здесь 0 = {0}, 1 = {1}, X = {X} (эти значения являются точками полурешётки), 0' = {1, X},
1' = {0, X}, X' = {0, 1}, E = {0,1, X}. Для описания изменяющихся (динамических)
~ 2
состояний узлов построим полурешётку I = Р3 , элементами которой являются пары проводимостей от узла до полюсов источника питания GND и VDD.
Функции от переменных в I со значениями в Рз называются функциями проводимости. С их помощью описываются изменения проводимостей цепей в схеме, вызываемые изменениями состояний её полюсов. Функция состояний определяется как ^ : Uv ^ I, где U^ С In, и представляет собой пару независимых функций проводимости (/o,/i) с областью определения Uf0 = Uf1 = U^ и со значениями в полурешётке Р3 таких, что (/0(a),/1(a)) = ^(a) для любого a Е U^. С её помощью описываются изменения состояния узла в схеме в зависимости от изменений состояний её полюсов.
Для функций состояний и ф говорят, что функция <р реализует функцию ф, и пишут ^ ^ ф, если U^ С U^ и <^(a) ^ ф(а) для любого а Е U^. Функция на полурешётке называется монотонной, если она сохраняет отношение порядка на полурешётке, и квазимонотонной, если существует реализующая её монотонная функция. Бинарное отношение на полурешётках Г С Р3 х I называется квазимонотонным, если оно реализуется монотонной функцией, т. е. если для некоторой монотонной функции g : Ug ^ I, где Ug С Р3 , верно следующее: (a, b) Е Г ^ а Е Ug & g(a) ^ b.
Переключательный элемент определим как пару e = (X, /е), где X = {x1,..., xk} — множество управляющих полюсов элемента, /е : Ik ^ Р3 — монотонная функция проводимости между исполнительными полюсами, зависящая от состояний управляющих полюсов; для остальных пар полюсов проводимости между ними тождественно равны 0.
Переключательная сеть N(x1,... , xn, a, b) в базисе B есть пара (X, G), где X = {x1,... ,xn} — множество управляющих полюсов сети, G — параллельно-последовательный граф с двумя выделенными вершинами a и b, каждому ребру которого сопоставлен переключательный элемент (Xj, /i) Е B, Xi С X. Функция проводимости /n : In ^ Р3 сети N определяется следующим индуктивным образом:
1) если G содержит одно ребро (a,b), то /n = /е, где e — соответствующий этому ребру элемент;
2) если G есть параллельное соединение графов G1 и G2, то /n = /n1 V /n2 , где /n1 , /n2 — функции сетей (X, G1) и (X, G2) соответственно, V — операция дизъюнкции проводимостей;
3) если G есть последовательное соединение графов G1 и G2, то /n = /n1 Л /n2 , где Л — операция конъюнкции проводимостей.
Однокаскадная схема С(я1,... ,2п,у) в базисе В есть пара сетей в том же базисе (N1(2:1,... ,хп,у, ОКБ), N2(2:1,... , хп, УББ, у)), где х1,... , жга — входные полюсы схемы, у — выходной полюс, ОМБ, УББ — полюсы источника питания. Функция состояний рс : 1п ^ I схемы С определяется как пара функций сетей N1, N2: рс = (/^, /м2).
Двухкаскадная схема С(х1,... , хп, у) есть совокупность однокаскадных схем (С1 (21, . . . ,2п,У1), . . . , С (21, . . . ,Ж„,Ук), Ск+1(Х1, . . . ,2п,У1, ... ,Ук, у)), где СЬ . . ., С — схемы первого уровня, С^+1 — схема второго уровня с управляющими полюсами х1, ..., хп, у1, ..., у^. Функция состояний схемы С определяется как суперпозиция у = рс(21,... ,Хп) = рс^ (21,... ,Хп, рс (21,... ,2п),... , рск(21,... ,ж„)). г-Каскадная
схема определяется аналогично, если С1, ..., С суть (г — 1)-каскадные схемы.
Будем говорить, что функция состояний р реализуема в базисе В, если существует схема С в том же базисе, для функции рс которой имеет место рс ^ р. Заметим, что функции схем, являясь суперпозициями монотонных функций, также монотонны, поэтому реализуемы только квазимонотонные функции.
Обозначим через Я резистор и через Е2 класс всех переключательных элементов, функции проводимости которых принимают значения в полурешётке Р2 всех непустых подмножеств множества {0,1}. В качестве элементного базиса будем рассматривать Ий-базис Ви{Я}, где В С Е2. Как уже отмечалось, ни один из Ий-базисов не является полным в классе квазимонотонных функций состояний; в частности, даже при В = Е2 в таком базисе не реализуема функция р : {а, Ь, с} ^ I такая, что р(а) = 0', р(Ь) = 1', р(с) = X' и аПЬ = 0, ЬПс = 0, аПс = 0. Для формулировки критериев реализуемости функций состояний переключательными схемами в Ий-базисах введём ещё некоторые понятия.
Пусть заданы базис В = {(Х1,/1),... , (Х8,/8)}, где |Х^| = к для г = 1,...,5, и функция состояний р : ^ I, С /га. Для каждого элемента е^ = (Х^/^) Е В
рассмотрим всевозможные отображения ^ : {1,... , к} ^ {1,... , п} множества управляющих полюсов элемента в множество номеров аргументов ж1, ..., жга функции /. Их количество равно ^ . Каждой паре (е^, ^), г = 1,... , 5, = 1,... , ^, сопоставим
функцию /^ ) : ^ Р3, область определения которой совпадает с областью опреде-
ления функции р, и /^}(Ж1,... ,2п) = /(ж^(1),... ,2^.(^)). Содержательно, /^) — это функция проводимости базисного элемента е^ между его исполнительными полюсами после отождествления его управляющих полюсов с полюсами ^(1), ..., ^(к) схемы. Перебирая всевозможные отображения ^, получим функции проводимости элемента е^ при всевозможных способах подключения его управляющих полюсов к входным полюсам схемы. Обозначим множество всех полученных функций проводимости через :
= {/^’) : г = ^ - . ,5,.7 = ^.. . ,^г}.
Построим бинарное отношение Г^д С ( Р3)г хЬ, где г = ^1 +£2+^ • •+£.,, следующим образом: для каждого набора а Е запишем вектор ад = (ж1,1,... , ж1,*1,... , 28д,... , ж5,*3) размерности г, где = /^)(а), и положим (ад, р(а)) Е Г^,в. Других пар в Г^,в нет.
Пару наборов (а, Ь), где а,Ь Е /га, назовём (1, 0)-разделимой множеством функций проводимости С, если существует функция $ Е С, что ($(а),$(Ь)) = (1, 0).
Теорема 1 [4]. Функция состояний р = (/о, /1) : ^ I реализуема однокаскад-
ной схемой в базисе В и {Я} для В С Е2, если и только если для любой функции / Е {/о, /1} выполнены условия:
а) для любых а, Ь Е если /(а) = 1 и /(Ь) ^ 1', или /(а) ^ 0' и /(Ь) = 0, то пара
(а,Ь) является (1, 0)-разделимой множеством Сд;
б) для любых a0,a!,b Є Up, таких, что /(a0) ^ І', /(a!) ^ О' и /(b) = X', хотя бы
одна из пар (a!,a0), (a!,b) или (b, a0) является (І, О)-разделимой множеством Gs.
Построим бинарное отношение rp,s, состоящее из всех пар (as,p(a)), где as — вектор значений всех функций в Gs на наборе a, и введём в рассмотрение бинарное отношение y на Р3 как
7 = {(І, О), (І, X), (1, 1'), (X,О), (О',О)}
и распространим его покомпонентно на векторы с компонентами в Р3, в том числе на элементы полурешётки состояний и на векторы состояний. Содержательно, отношение y имеет следующий смысл: (a, b) Є 7 тогда и только тогда, когда все проводимости в a «больше» всех проводимостей в b, где І «больше» X, І «больше» О и X «больше» О.
Теорема 2 [4]. Функция состояний р = (/0, /!) і Up ^ I, не реализуемая однокаскадной схемой, реализуется в базисе BU{R} для B С E2, если и только если отношение rp,s квазимонотонно и множество B содержит элемент, не сохраняющий отношения 7; в этом случае р реализуется двухкаскадной схемой в данном базисе.
Доказан также следующий важный факт.
Теорема 3 [9]. Классы функций на полурешётках, реализуемых в RS-базисах параллельно-последовательными схемами и схемами с мостиковыми соединениями, совпадают.
2. Функции на полурешётках и состязания
Пусть даны полурешётка состояний I, комбинационная схема C с функцией ф : In ^ I и переход (a, b) Є (In)2. В силу монотонности ф имеем ф^)+ф(^ ^ ^(a + b). Будем говорить, что схема C функционально устойчива к состязанию на переходе (a,b), если имеет место равенство ф^ + b) = ф^) + Ф(Ь). Содержательно это означает, что при любом распределении задержек элементов и любом порядке изменения компонент входного состояния выход схемы останется в пределах (не превзойдёт) минимально возможного значения ф^) + Ф(Ь) в процессе изменения входного состояния с a на b. Для решения вопроса о возможности реализации функции состояний устойчивой к состязаниям схемой введём понятия состязаний для функций на полурешётках.
Пусть дана функция р ; Up ^ I, a,b Є Up и a + b Є Up. Будем говорить, что функция р содержит функциональное состязание на переходе (a,b), если для любой монотонной определённой на a+b функции ф из условия ф ^ р следует ф^+b) ^ p(a)+p(b). Будем говорить, что функция р, свободная от функционального состязания на переходе (a,b), содержит логическое состязание на этом переходе, если существует монотонная определённая на a + b функция ф, такая, что ф ^ р и ф^ + b) ^ р^) + р(Ь). Содержательный смысл определений тот же, что для булевых функций и реализующих их схем. Если функция р содержит функциональное состязание на переходе (a, b), то невозможно построение функционально устойчивой к этому состязанию схемы, реализующей функцию р. Если функция р содержит логическое состязание на переходе (a, b) , то для реализации р возможно построение как устойчивой, так и неустойчивой к состязанию на этом переходе схемы.
Для квазимонотонной функции р : Up ^ I построим всюду определённую функцию р* : In ^ I следующим образом: для любого a Є In пусть
, *, , Г supI, еслиXa = 0,
Xa = {x Є Up : a ^ x}, и р (a) = < . „ , ,
p [inf р(ла) иначе.
Построенная так функция р * является наибольшей монотонной реализацией функции р.
Для x Е In обозначим m(x) множество точек полурешётки In, содержащихся в элементе x. В [7] доказаны следующие тесты наличия (отсутствия) состязаний.
Теорема 4 (тест наличия функционального состязания). Квазимонотонная функция состояний р содержит функциональное состязание на переходе (a, b), если и только если существует элемент с Е m(a + b), такой, что р * (с) П (p(a) + p(b)) = 0.
Теорема 5 (тест отсутствия состязаний). Пусть функция р : Up ^ I квазимонотонна, a,b Е Up и a + b Е Up. Тогда р не содержит ни логического, ни функционального состязания на переходе (a, b), если и только если р * (a + b) ^ р^) + р(Ь).
Множество переходов T С (In)2 назовём совместимым для функции р, если существует монотонная функция ф, такая, что ф ^ р и ф^ + b) ^ р^) + р(Ь) для любого (a, b) Е T. Таким образом, если множество T не совместимо для функции р, то невозможно построить схему, реализующую функцию р и устойчивую к состязаниям на всех переходах из множества T одновременно. В [7] приводится алгоритм построения всех максимальных по включению совместимых для квазимонотонной функции р подмножеств множества переходов T.
Рассмотрим следующую ситуацию. Предположим, что функция р реализована некоторой схемой C, функционально неустойчивой к состязанию на переходе (a,b), т. е. имеет место строгое неравенство ф^) + ф(Ь) < ф^ + b), где ф — функция схемы C. Вместе с тем, ввиду ф^) + ф(Ь) ^ р^) + р(Ь), возможно выполнение условия ф^ + b) ^ р^) + р(Ь), т. е. выходной сигнал схемы ни при каком распределении задержек не выходит за пределы предполагаемого значения р^) + р(Ь) при изменении входного состояния с a на b. Такое состязание в схеме считается несущественным для данной функции р. Будем называть схему C р-устойчивой к состязанию на переходе (a,b), если ф^ + b) ^ р^) + р(Ь). Сформулируем условия реализуемости произвольной функции р схемой, р-устойчивой к состязаниям на всех переходах из заданного множества T, в произвольном базисе (теорема 6) и в RS-базисе (теорема 7). Для этого построим отношение Пр,у С In х I следующим образом: Пр,т = {(x^(x)) : x Е Up} U {(a + b, р^) + р(Ь)) : (a,b) Е T}. В общем случае это действительно отношение, а не функция, ввиду возможности равенства a + b = с + d при (a, b) = (с, d). Из определения совместимого множества переходов следует, что множество T совместимо для функции р, если и только если отношение Пр,у квазимонотонно. В этом случае по тесту квазимонотонности [1] для любого (a, b) Е T существует нижняя грань множества = {р(с) + р^) : (с, d) Е T & с + d = a + b}, и можно построить расширение рт функции р на множество Up U {a + b : (a, b) Е T}, положив рт (a + b) = inf Fab.
Теорема 6 [8]. Функция р реализуема в базисе B схемой, р-устойчивой к состязаниям на всех переходах из совместимого для р множества T, если и только если в базисе B реализуема функция рт. В этом случае любая реализация рт реализует р и является р-устойчивой к состязаниям на всех переходах из T.
Таким образом, установлено, что задача реализации функции на полурешётках функционально устойчивой схемой есть задача реализации надлежащего расширения исходной функции.
Теорема 7 [8]. Пусть множество переходов T совместимо для функции р и множество B С Е2 содержит элемент, не сохраняющий отношения 7. Тогда рт реализуется
схемой в RS-базисе B U {R}, если и только если для любого у Е M = (J m(aB)
существует нижняя грань множества Ty = {рт(a) : a Е UPt & у Е m(a^)}.
ЛИТЕРАТУРА
1. Агибалов Г. П. Дискретные автоматы на полурешётках. Томск: Изд-во Том. ун-та, 1993. 227 с.
2. Агибалов Г. П. Дискретные автоматы на полурешётках // Прикладная дискретная математика. 2009. №2. С. 26-49.
3. Агибалов Г. П., Парватов Н. Г. О полноте систем монотонных функций для реализации квазимонотонных функций на конечных полурешётках // Дискретный анализ и исследование операций. Сер. 1. 2002. Т. 9. №4. С. 5-22.
4. Панкратова И. А. Условия реализуемости функций на полурешётке в реальных базисах переключательных элементов // Дискретный анализ и исследование операций. Сер. 1. 2006. Т. 13. №3. С. 40-61.
5. Панкратова И. А. Синтез комбинационных переключательных схем с заданным динамическим поведением // Вестник Томского госуниверситета. Июнь 2000. №271. С. 107-111.
6. Панкратова И. А. Реализация функций проводимости переключательными сетями глубины 2 // Вестник Томского госуниверситета. Приложение. 2006. №18. С. 14-19.
7. Панкратова И. А. Синтез комбинационных переключательных схем без состязаний // Вестник Томского госуниверситета. Приложение. 2004. №9(1). С. 245-249.
8. Панкратова И. А. Условия реализуемости функций на полурешетках устойчивыми к состязаниям схемами // Изв. Саратовского университета. Сер. Математика. Механика. Информатика. 2008. Т. 8. Вып. 1. С. 55-58.
9. Панкратова И. А. Параллельно-последовательная реализация функции мостикового соединения на полурешётках // Вестник Томского госуниверситета. Приложение. 2005. № 14. С. 229-233.