УДК: 519.714.22, 510.649 MSC2010: 06E25, 93B25
МАЖОРИТАРНАЯ АЛГЕБРА ДЛЯ СИНТЕЗА КОМБИНАЦИОННО-ЛОГИЧЕСКИХ СХЕМ. ОБЗОР1
© C. И. Гуров
Московский ГОСУДАРСТВЕННЫЙ университет имени М.В.ЛомоносовА Факультет Вычислительной математики и кибернетики Ленинские горы, д. 1, стр. 52, Москва, ГСП-1, 119991, Российская Федерация;
Институт проблем пректирования в микроэлектронике РАН, ул. Советская, д. 3, Москва, Зеленоград, 124365, Российская Федерация.
e-mail: [email protected]
Majority algebra for the synthesis of combinational logic schemes. Review.
Gurov S.I.
Abstract. The article contains an overview of the results on the application of majority logic of combinational logic schemes. In this first part, the theoretical foundations of majority algebra, its axiomatization and primitive functions, and the use of majority logic in solving practical problems of circuit synthesis are considered.
In general, the existing automation tools for the design of electronic systems show satisfactory results of logical synthesis. At the same time, the possibilities of further increasing their efficiency by traditional means have practically been exhausted.
This explains the interest of developers of optimization algorithms and software in new methods of synthesis of combinational-logic circuits. The approach with the use of majority and inversion operations as the basic operations for representing Boolean functions seems to be promising. Quantum-dot cellular automaton, Single Electron Tunnelin, Tunneling Phase Logic, etc. are considered as alternatives to CMOS technology. It is important here that in these technologies the main logical units used to implement the schemes are the majority and/or minority logical elements.
The article contains the definition of majority algebra and its generally recognized axiomatization Q. The primitive functions of the majority are considered, which are realized on one majority gate. The main applications of majority logic are described: Logic Optimization, Boolean Satisfiability, Decoding of Repetition Codes.
A brief description of the first algorithms for synthesizing majority schemes is given: MALS (Majority Logic Synthesizer, 2007), Kong's Synthesis (2010), MLUT (Majority Expression Lookup Table, 2015). A comparison of the results of these algorithms is presented.
Keywords: majority logic, boolean algebra, axiomatization, primitive functions, logic synthesis.
1Работа финансировалась грантом РНФ 17-19-01645 «Разработка методов и средств проектирования реконфигурируемых систем на кристалле повышенной надежности».
1. Введение
Характеристики цифровых интегральных микросхем (ИМС) в значительной степени зависит от возможностей средств их логического синтеза.
В целом существующие средства автоматизации проектирования электронных систем показывают удовлетворительные результаты логического синтеза. При этом возможности дальнейшего повышения их эффективности традиционными средствами практически исчерпаны. Это объясняет интерес разработчиков к новым методам синтеза комбинационно-логических схем.
Естественной идеей здесь является разработка и использование нетрадиционных способов представления булевых функций (БФ). Перспективным представляется подход с использованием операций мажорирования (MAJ) и инвертирования (INV) в качестве базовых операций представления БФ [6]. Функция большинства Maj(x, y, z) есть функция от трёх аргументов, которая принимает значение истина, если хотя бы два из её входов истины. Отметим, что эта функция давно изучалась в приложениях логического синтеза. Д. Кнут в последнем 3-м томе своей фундаментальной монографии «Искусство программирования» пишет, что эта функция большинства «вероятно, самая важная троичная операция во всей Вселенной».
В данной работе дан обзор основных понятий и алгоритмов синтеза ИМС, основанных на функции большинства.
Обычно при логическом синтезе в качестве базовых операций рассматриваются инвертирование, конъюнкция (AND), дизъюнкция (OR) и условный оператор если-то-иначе (If-Then-Else). Другие логические операции получают композицией базовых. Простейшие традиционные структуры данных и соответствующие алгоритмы оптимизации основаны на двухуровневом представлении булевых функций в форме «сумма произведений» (Sum Of Products, SOP) или «произведение сумм» (Product of Sums, POS), в которых некоторые вхождения переменных могут браться с отрицанием.
Ещё одной структурой данных для представления и оптимизации логических функций и схем является двоичные решающие диаграммы (Binary Decision Diagram, BDD), основанные на операторах If-Then-Else, реализуемых мультиплексорами (MUX). Применяют также многоуровневые логические сети, использующие в качестве базисных операции AND, OR, INV, MUX с более мощными средствами оптимизации и синтеза [2].
Непрерывное увеличением сложности логических схем привело к появлению однородных многоуровневых логических сетей, состоящими только из узлов AND, соединенных обычными и инвертирующими цепями [3]. Отметим, что современным
программным обеспечением для оптимизации и синтеза больших схем при научных исследованиях считается пакет ABC, основанный на графах с вершинами AND/INV (AIG) [4]. Они описывают т. н. дистрибутивные схемы [5]. Схемы, синтезированные новыми алгоритмами обычно сравнивают с результатами работы пакета ABC.
Важным вопросом является физическая реализация мажоритарных элементов. Отметим, что физические ограничения КМОП-технологии (CMOS) побуждают обращаться к альтернативным технологиям реализации логических элементов. Как возможные замены CMOS рассматриваются различные нанотехнологии, и прежде всего — следующие.
1. Клеточные автоматы квантовых точек (Quantum-dot cellular automaton, QCA), которые представляют собой предлагаемую физическую реализацию «классических» клеточных автоматов путем использования квантово-механических явлений.
2. Технологии одноэлектронного туннелирования (Single Electron Tunnelin, SET), использующие возможность получения чувствительных изменений напряжения при манипуляции с отдельными электронами.
3. Фазовая логика туннелирования (Tunneling Phase Logic, TPL).
4. Спинтронные устройства, в которых для физического представления информации кроме заряда электрона используется и его спин.
Важным здесь является то, что в указанных технологиях основными логическими единицами, используемыми для реализации схем, являются именно мажоритарные и/или миноритарные логические элементы. Конкретно вопросы физической реализации таких элементов рассмотрены в работе [7]. Некоторое примеры приведены в разделе 2.7.
2. Алгебра большинства
2.1. Определение и основные свойства. Напомним, что булевой алгеброй называется множество B, содержащее по крайней мере два элемента — нуль o и единица ь, с заданными на нём бинарными операциями объединения U, пересечения П и унарной операцией дополнения ' таких, что для любых элементов x,y,z 6 B выполняются пары аксиом или законов алгебры коммутативности, дистрибутивности, нейтральных свойств особых элементов, а также два основных законы дополнения [8].
Таким образом, булева алгебра есть шестёрка (B, U, П, ', o, i), в которой операции подчиняются указанном аксиомам. Данные аксиомы влекут справедливость законов инволютивности дополнения, взаимной дополнительности o и ¿, законы
Де Моргана, поглощающих свойств универсальных граней, ассоциативности, идемпотентности и поглощения [9].
Если множество B двухэлементно, то получаем тривиальную (двухэлементную) булеву алгебру. Алгебра логики — это тривиальная булева алгебра, в которой символы нуль и единицы будем обозначать обычными 0 и 1. Операцию дополнения в этом случае называют инвертированием. Операции объединения и пересечения алгебры логики будем обозначать + и ■ (иногда опускается) и называть, как принято в схемотехнике, ИЛИ (OR) и И (AND) соответственно,.
Определение ([1, 6, 10]). Мажоритарной булевой алгеброй (логики) называют пятерку ( {0,1}, M, ', 0, 1), где {0,1} — двухэлементный носитель, ' — унарная операция инвертирования, а M — тернарная операция мажорирования:
M(x, y, z) = x ■ y + y ■ z + z ■ x = (x + y) ■ (y + z) ■ (z + x) =f x#y#z, (1)
причём операции ', +, ■, константы 0 и 1 и их свойства наследуются из алгебры логики.
Таким образом, функция M осуществляет выбор «2 из 3» голосования, реализуемой схемой воутера (см. Табл. 1) [11-13].
x y z M (x, y, z) x y z M(x, y, z)
0 0 0 0 1 0 0 0
0 0 1 0 1 0 1 1
0 1 0 0 1 1 0 1
0 1 1 1 1 1 1 1
Таблица 1. Таблица истинности функции большинства M
В общем случае при нечётных п рассматривают и-местную функцию большинства Мп общего вида [11, 15]:
" п
Mn(xi, x2, . . . , xn) = 1
xi + x2 + ... + xn >
2
(2)
Далее считаем M = M3. Фиксируя в M одну из переменных, можно получить функции AND и OR, например:
M(x, y, 0) = x ■ y, M(x, y, 1) = x + y.
Это означает, что пара функций M и ' образует полный базис во множестве P2 всех функций алгебры логики.
2.2. Аксиоматизация функции большинства (О). Следующие пять основных правил преобразований функции И большинства называют набором её аксиом и традиционно обозначают О [6, 15, 16]. Каждая аксиома из О может быть доказана либо полным перебором значений аргументов, либо формульными преобразованиями полиномов Жегалкина, заметив, что соотношение (1) эквивалентно
И(х, у, г) = (х • у) ф (у • г) ф (г • х), (3)
где ф — операция суммирования по mod 2.
Аксиома коммутативности О.С определяет, что порядок переменных в И не меняет её значения:
И(х, у, г) = И(х, г, у) = И(г,у,х). (О.С)
Аксиома ассоциативности О.Л позволяет проводить обмен аргументов (х и г) между двумя функциями большинства, если они находятся на последующих уровнях вложенности и имеют одну общую переменную (т):
И(х,т,И(у, т, г)) = И(г,т,И(у,т,х)). (О.Л)
Аксиома дистрибутивности О.Б определяет, что можно распределить набор переменных ({х,у}) по вложенным функциям:
И (х, у, И (и, V, г)) = И (И (х, у,и), И (х,у,у),И (х,у,г)). (О.Б)
Аксиома распространения инверсии 0.1, определяет, что мажоритарная функция является самодвойственной [17]:
И'(х, у, г) = И(х',у',г'). (0.1)
Аксиома мажорирования О.И представляется двумя равенствами:
И (х,х,у) = х, и И (х,у,х') = у. (О.И)
Первое выражает основной смысл понятия большинства, а второе — отношения «между ».
Алгебра (В, И,', 0,1) аксиоматизированная системой О является непротиворечивой и полной [16].
Аксиоматизация функции большинства общего вида (2) дана в [15]. Соответствующие аксиомы обозначаются теми же символами С, И, Л, Б и I, но с префиксом 0П. Для примера приведём некоторые из аксиом для п-арных функций большинства.
Коммутативность для: п = 5: И5(а, Ь, с, ¿, е) = И5(Ь, а, с, ¿, е) = И5(а, Ь, с, е, ¿).
Мажоритарностъ для: п = 7: И7(а,Ь,с,с1,е,д,д') = И5(а,Ь,с,в,,е).
Ассоциативность для: n = 5: M5(a, b, c, d, M5(a, b, e, g, h)) =
= M5(a,b,e,d,M5(a,b,c,g,h)). Дистрибутивность для: n = 7: M7(a, b, c, d, e, g, M7(x, y, z, w, k, t, v)) = = M7 (M7(a, b, c, d, e, g, x), M7(a, b, c, d, e, g, y), M7(a, b, c, d, e, g, z),
M7(a, b, c, d, e, g, w), k, t, v) . Распространение инверсии для: n = 9: M9(a, b, c, d, e, g, h, x, y) =
= M9(a', b', c', d', e', g', h', x', y').
Соответствующую логику обозначают MAJ-n, а ранее рассмотренную — MAJ-3. Заметим, что возможны и другие аксиоматизации для функции большинства. Например, можно показать, что правило в fi.D следует из fi.C, fi.A и fi.M. Избыточность системы аксиом не является недостатком на практике и только облегчает вывод тех или иных закономерностей. Здесь fi.D включается в аксиоматическую систему.
2.3. Примитивные функции большинства. Примитивные функции большинства (мажорирования, Primitive Majority Functions) получаются из одной функции M при подстановке в качестве аргументов тех или иных конкретных значений. При схемной реализации они могут быть получены на одном мажоритарном вентиле.
В мажоритарной алгебре примитивные функции (или просто примитивы) используются как база для построения более сложных функций. Множество всех примитивов подразделяют в семейства C, V, G и T функций, каждое из которых содержит функции от определённого количества переменных [18].
Семейство C состоит только из функций-констант 0 и 1 (с пустым множество аргументов). Следовательно, |C| = 2.
Семейство V включает в себя все функции от одной переменной, в прямой или инверсной форме:
V = { x, x', y, y', z, z'}, |V| = 6.
Понятно, что в логике MAJ-n имеем | V| =2 ■ n.
Множество G = {E, O} образовано функциями от двух переменных И или ИЛИ, образующих подмножества E и O соответственно. Для n = 3 имеем E = { A ■ B, A ■ C, B ■ C } и O = { A + B, A + C, B + C }. Каждая комбинация имеет 4 варианта инверсии, например комбинация A + B, имеет варианты { A + B, A + B, A + B, A + B }. Для n = 3 все 24 функции из G приведены в Табл. 2. В общем логике MAJ-n имеем |G| = (4 ■ |E|) + (4 ■ |O|).
х ■ у = М(х, у, 0) х' ■ у = М(х', у, 0) х ■ у' = М(х, у', 0) х' ■ у' = М'(х, у, 1) х + у = М (х, у, 1) х' + у = М (х', у, 1) х + у' = М (х, у', 1) х' + у' = М'(х, у, 0)
х ■ г = М(х, 0, г) х' ■ г = М(х', 0, г) х ■ г' = М(х, 0, г') х' ■ г' = М'(х, 1, г) х + г = М(х, 1, г) х' + г = М (х', 1, г) х + г' = М(х, 1, г') х' + г' = М'(х, 0,г)
у ■ г = М(0,у,г) у' ■ г = М(0,у',г) у ■ г' = М(0,у,г') у' ■ г' = М'(1,у,г) у + г = М (1,у,г) у' + г = М (1,у',г) у + г' = М (1,у,г') у' + г' = М' (0,у,г)
Таблица 2. Функции семейства С для и = 3
Семейство Т состоит из всех функций, получаемых из одной функции большинства инвертированием всевозможных подмножеств аргументов. Поскольку каждая комбинация имеет 8 вариантов инвертирования, что в общем случае |Т| = £ ■ 8, где £ есть представляет количество возможных комбинаций аргументов. Ясно, что при и = 3 имеется только одна такая комбинация. Список всех функций из Т при и = 3 приведён в Табл. 3.
х ■ у + у ■ г + г х= М(х, у, г)
х' ■ у + у г + г ■ х = М (х', у, г)
х ■ у' + у' ■ г + г х = М (х, у', г)
х ■ у + у ■ г' + г' х = М(х, у, г')
х' у' + у' ■ г + г х = М'(х, у, г')
х ■ у' + у' г' + г' ■ х = М'(х', у, г)
х' у + у ■ г' + г' х = М'(х, у', г)
х' ■ у' + у' г' + г' х = = М'(х, у, г)
Таблица 3. Семейство функций Т при и = 3
Суммарно получим |С| + IV| + |С| + |Т| =40 примитивных функций большинства.
2.4. Медианная алгебра. Мажоритарная булева алгебра тесно связана с медианной алгеброй [19].
Определение. Медианная алгебра есть множество с определённой на нём тернарной операцией (х, у, г ), удовлетворяющей следующим аксиомам:
1) (х,у,у) = у;
2) (х,у,г) = (г,х,у) = (х,г,у);
3) ((х,т,у ),т,г) = (х,т, (у,т,г)).
Данные аксиомы обобщают понятия «между» и функции мажорирования «2 из 3». Любая дистрибутивная решётка (и, следовательно, любая булева алгебра) есть медианная алгебра с операцией (1).
Мы видим, что аксиома 2) эквивалентна аксиоме коммутативности О.С. Это приводит к эквивалентности 1) и первого равенства из аксиомы мажорирования О.И и 3) — аксиоме ассоциативности О.Л. В то же время медианная алгебра беднее мажоритарной алгебры по выразительной силе: в первой алгебре отсутствует операция дополнения.
Показано, что медианная алгебра с элементами 0 и 1 и операцией (х,у,г) со свойством (0,х, 1) = х есть дистрибутивная решётка.
В свою очередь, медианная алгебра связана с медианными графами. Медианным называется неориентированный граф, в котором для каждой тройки вершин х, у и г существует единственная вершина х, у, г называемая медианой, и которая находится на некотором (их может быть несколько) кратчайшем пути между любой из пар вершин (х,у), (х,г) и (у, г). Пример медианного графа приведён на Рис. 1.
т{а,Ь,с)
Рис. 1. Пример медианного графа: т(а, Ь, с) — медиана вершин х, у и г.
Ясно, что операция (х,у,г) определяет медианную алгебру на вершинах медианного графа как на своих элементах.
2.5. Функция минорирования. Вместе с функцией мажорирования, рассмотрим функцию минорирования.
Вариант такой функции предложен в [7]. Она обозначена т и определена как дополнительная до функцией большинства
т(х,у,г) = И'(х,у,г) = х' • у' + у' • г' + г' • х'. (4)
Ясно, что
т(х,у, 0) = х' + у' = (ху)', т(х,у, 1) = х'у' = (х + у)'. (5)
Такое определение удобно для при схемотехническом проектировании в технологии одноэлектронного туннелирования SET для реализации логических схем используются как мажоритарные, так и неосновные вентили [7].
Для нас более интересной будет функция минорирования определяемая как
x, y, z) = x'y'z + x'yz' + xy'z' + xyz = x ф y ф z. (6)
Неформально ^ может быть проинтерпретирована как функция голосования «против», за выбывание:
V(x,x,y) = y.
При этом второе равенство в (Q.M) остаётся справедливым:
V(x,x',y) = y.
Очевидно для ^ справедлив аналог аксиомы коммутативности. Полностью примитивные функции меньшинства мы приводить не будем в связи с элементарности их получения. Приведём только некоторые из них:
x, y, 0) = x ■ y' + x' ■ y ^(x, y, 1) = x' ■ y' + x ■ y ^(x, 0, 0) = ^(x, 1,1) = x ^(x, 0,1) = ^(x, 1, 0) = x' v(x,y,z') = x',y',z') = = (x' + y) ■ (x + y') v(x,y',z') = y(x,y,z)
Таблица 4. Некоторые примитивные функции меньшинства ^
Поскольку все примитивные функции меньшинства, очевидно, могут быть представлены в виде
а ■ x ф b ■ y ф c ■ z ф d, a, b, c, d E {0,1},
то всего их имеется 15: исключён случай а = b = c = d = 1.
Легко также показать справедливость равенств, связывающие M и ^:
x, y, z) = ^(M(x, y, z), M(x, y, z), ^(x, y, z)), M(x, y, z) = ^(M(x, y, z), ^(x, y, z), ^(x, y, z)), M(x', y, z) = ^(^(x, y, z), M(x, y, z),x)), M(x',y',z) = ^(M(x,y,z),^(x,y,z), 0)), и аналогичных с учётом аксиомы коммутативности.
Реализация функций ^ вместе с М на одном обратимом элементе может быть использована при синтезе обратимых схем с использованием элемента ОТО [14].
2.6. Применения мажоритарной логики. Некоторые возможные применения мажоритарной логики рассмотрены в [15]. Кратко изложим здесь их.
2.6.1. Логическая оптимизация. Так называют процесс трансформации некоторой структуры, представляющей логические данные (например логической схемы) с целью улучшения некоторых её характеристик: размера (количество узлов или элементов), глубины (максимальное количество уровней), взаимосвязей (количество ребер или цепей) и т. д.
Результаты теоретических исследований в данной области показывают, что большинство логических схем в мажоритарной логике представляются в гораздо более компактном виде, чем через операции конъюнкции и дизъюнкции. Например большинство логических схем глубины 2 и 3, реализующие арифметические функции умножения, деления, сложения и т. д., имеют полиномиальный размер, в то время как традиционные И/ИЛИ-аналоги — экспоненциальный.
Естественным набором правил для логической оптимизации мажоритарных схем является аксиоматическая система
Например, рассмотрим логическую схему, задающую булеву функцию
f = М5 (М3(а,Ь,с),М3(а,М),М3(а,Ь,е),М3(а,Ь,д),Н),
где М5 по (2) есть функция большинства от 5 аргументов.
Предположим, желательно минимизировать количество мажоритарных операторов, оставляя путь от Н к f максимально коротким (в один оператор). Первоначальная стоимость схемы составляет 5 операторов. Сначала обеспечим одинаковое количество аргументов у всех мажоритарных операторов. Для этого, используя аксиому ^П.М, добавим фиктивную переменную х:
f = М5 (М5(а, Ь, с, х, х'), М5(а, Ь, х, х'), М5(а, Ь, е, х, х'), М5(а, Ь, д, х, х'), Н). Теперь применяем
f = М5 (М5(а, Ь, с, х, х'), М5(а, Ь, х, х'), М5(а, Ь, е, х, х'),д, Н). Наконец, посредством ^П.М уменьшаем арность операторов до минимума:
f = М5 (М3(а,Ь,с),М3(а,М),М3(а,Ь,е),д,Н). и итоговая стоимость схемы составляет 4 мажоритарных оператора.
Очевидно все эти правила легко реализуются программно, как и для работы с
большими системами — аксиоматика Qn.
2.6.2. Задача выполнимости. Данная задача выполнимости булевых формул (Boolean Satisfiability problem, SAT) является первой известной NP-полной задачей. Она заключается в следующем: можно ли назначить всем переменным формулы значения 0 и 1 так, чтобы оценка её значения стала равной 1, и тогда формула является выполнимой. Обычно SAT формулируется для формул в КНФ (CNF). Однако в последнее время рассматривается и мажоритарная логика.
В некоторых случаях, например, при отсутствии общих логических констант, проблема SAT с мажоритарной логикой становится тривиальной, оставаясь сложной для других случаев. Тем не менее, подход к решению проблемы SAT с помощью мажоритарной логики представляется перспективным. При этом должны применяться правила преобразований мажоритарных выражений. Для этой цели может быть использована описанная выше аксиоматическая система Qn.
В качестве примера приведем решение проблемы SAT по мажоритарным правилам Qn. Рассмотрим функцию
f = M5 ( M3(a, b, c), M5(M5(a,b,c, 0, 0), b', c, 0, 0), a', b', 0),
Для установления выполнимости f, решатель SAT на основе мажоритарных функций пытается определить, имеют ли значение 1 как минимум 3/5 аргументов в функции M5 на верхнем уровне. В противном случае возникает ситуация, называемая конфликтом. Если все возможные входные значения приводят к конфликту, то функция невыполнима.
Сначала рассмотрим элемент, реализующий функцию M5(M5(a, b, c, 0, 0), b', c, 0, 0). Прежде чем искать возможные значения аргументов, заметим, что аксиома переупорядочивания переменных представляет эту функцию в виде M5(M5(b', b, c, 0, 0),a, c, 0,0). В этой формуле аксиома аннулирует b и b' приводя формулу к виду к M5(M3(c, 0, 0), a, c, 0, 0).
Далее дважды применяя правила , приходим к виду M5(0,a,c, 0,0),
а затем и к 0. После этого исходная функция представляется формулой M5(M3(a, b, c), 0, a', b', 0). Теперь решение проблемы SAT упрощается: для избежания конфликта необходимо, чтобы a' = b' = 1, то есть a = b = 0. Эти значения приводят к M3(a, b, c) = 0, что означает наличие конфликта при всех значениях остальных входных переменных. Таким образом, рассматриваемая функция является невыполнимой.
2.6.3. Декодирование кодов повторения. Коды повторения являются простейшими кодами, исправляющими ошибки. Они используют многократную передачу сообщений по каналу с шумом, в предположении, что канал изменит меньшую часть битов. Тогда декодирование принятого сообщения естественно проводить с помощью мажоритарной логики.
Обычно для уменьшения вероятности ошибки в критически важных системах связи, и, как следствие, сбоя, используется иерархическое кодирование. Пороговое декодирования применяется на нескольких уровнях, а эффективность определяется количеством мажоритарных операторов. При этом необходимо обеспечить минимальную вероятность ошибки. В этом случае возможно использование аксиоматической системы 0П.
Приведем пример оптимизации логического декодирования на основе мажоритарных функций с использованием 0П. Для этого рассмотрим систему связи, отправляющую одно и то же двоичное сообщение по пяти различным каналам С1,... ,С5.
Пусть уровень шума в каждом канале различен, и для С1, ..., С4 повторений данных не требуется, а для С5 необходимо 5 повторений. Предположим также, что связь по каналу С5 намного медленнее, чем по другим каналам. Окончательное декодированное сообщение определяется по большинству для каждого сообщения в каждом канале.
Если декодированное сообщение ¿-го канала обозначить х^, а у — результат декодирования, то в мажоритарной логике система декодирования выражается формулой у = И5(х1, х2, х3, х4, х5). Очевидно для х1, х2, х3, х4 декодирование не требуется и единственным сообщением, нуждающимся в пороговом декодировании является х5. Для него имеем х5 = И5(г1, г2, г3, г4, г5), где г^ — принятые сообщения по каналу С5. В результате декодирующая система представляется в виде
у = И5 (х1,х2,хг,х4,И5(г1,г2,гг,г4,г5)).
При декодирования у критическим по производительности элементом является И5(г1, г2, г3, г4, г5). При этом последним поступающим сообщением, которое должно быть обработано, является г5. Для улучшения эффективности декодирования можно использовать аксиому 0п.Б. Однако её применение не очевидно. Покажем, как это можно сделать.
Идея здесь состоит в том, чтобы переменные г^ поднять к верхним уровням до максимально возможных. Правило 0п.Б приведёт к преобразованию
у = И5 (х1,х2,хз,х4,Иь(г1,г2,гз,г4,гь))
в
У = М5 ( М5(хъ Х2 ,Х3, Х4, ¿х), М5(х1 ,Х2, Х3, Х4, г2), М5 (XI, Х2, Х3, Х4, ¿3), ¿4, ¿5 ).
В результате большая часть вычислений будет выполняться до того, как поступят последние сообщения ¿4 и ¿5. Это означает, что когда поступит самое позднее значение ¿5, потребуется только один уровень вычисления большинства, а не два, как в исходном представлении.
2.7. Физическая реализация мажоритарной/миноритарной логики. В инновационных нанотехнологиях основными логическими единицами, используемыми для реализации схем, являются элементы (гейты) мажоритарных или миноритарных функций. На их основе было предложено несколько методов синтеза логических схем.
За последние четыре десятилетия КМОП-технология была основной в создании ИМС. Эта технология позволила создать схемы высокой степени интеграции, быстродействия и низкого энергопотребления. Однако к настоящему времени фундаментальные физические пределы этой технологии уже достигнуты [20]. В качестве замены КМОП-технологии рассматриваются указанные выше QCA, SET, TPL, спин-тронные устройства и др. Ожидается что они обеспечат дальнейшее уменьшение размеров элементов и других функций интегрированных систем.
Для примера рассмотрим физическую реализацию мажоритарной логики в технологии SET одноэлектронного туннелирования [7]. В этой технологии для реализации логических схем используются как мажоритарные, так и миноритарные элементы. Миноритарный вентиль SET реализует логическую функцию (4) минорирования с тремя входами. Поскольку эта функция является просто инверсией функцией большинства, она выдает выходной сигнал 0, если один или несколько её входов равны 1, ив противном случае — сигнал 1.
Рис. 2. Элементы в технологии SET: (a) миноритарный, (b) мажоритарный
На рис. 2 (а) показан базовый миноритарный элемент SET. Он состоит из трех входных конденсаторов, одноэлектронных блоков (single-electron box, SEB) и выходного конденсатора. Входы Vi, V2 и V3 проходят через входные конденсаторы, образуя сеть суммирования напряжения. Эти конденсаторы вырабатывают среднее напряжение на своих входах в узле A. Основываясь на значении среднего напряжения, электрон будет туннелировать через SEB, что приведёт к отрицательному потенциалу узла A. В противном случае потенциал на A останется положительным. Отрицательные и положительные потенциалы представляются логическими значениями 0 и 1.
При установке одного из трех входов в 0 или 1, вентиль реализует по (5) соответственно логический NAND с двумя входами или логический вентиль NOR с двумя входами.
Мажоритарный вентиль SET состоит из трех входных конденсаторов, сбалансированной пары SEB и трех выходных конденсаторов, как показано на рис. 2 (b). Когда напряжение смещения (Vdd) увеличивается, происходит туннелирование электронов, что приводит к (0,1) или (1,0) состояниям. Если большинство входов равно 1, возникает состояние (0,1), означающее положительный потенциал в узле B. В противном случае возникает состояние (1,0), означающее отрицательное значение потенциала в узле B.
Отметим, что по мнению высказанному журнале в Electronic Design (Mar 06, 2013) исследователем Р. Зарром из Texas Instruments, КМОП технология ещё будет востребована какое-то время, и в ближайшем будущем останется основой производства высокопроизводительных логических устройств. Однако проблемы масштабирования, плотности мощности и её рассеяния заставят перейти на альтернативные технологии. Наибольшие шансы вытеснить КМОП в области создания логических элементов для цифровых ИС схем имеет технология клеточных квантовых автоматов ККА, которая, возможно, уже к 2025 г. станет основной при производстве компонент электронных устройств.
Для создания логических вентилей клеточные квантовые автоматы упорядочиваются путем их размещения друг рядом с другом в определенной последовательности. В технологии ККА имеются две фундаментальные вентильные структуры. Одна представляет собой инвертор, а другая — мажоритарный вентиль, представленные на рис. 3. Все остальные логические функции являются производными от этих двух структур.
Первоначально логика на основе ККА будет, видимо, создаваться с использованием традиционных методов изготовления кремниевых пластин, с помощью
Инвертор (функция НЕ)
® о о ® ® о о ® ® о о ®
® о о ® ® о о ® ® о о ® ® о о ® о ® ® о о ® ® о о ® ® о
® о о ® ® о о ® ® о о ®
Мажоритарный элемент
® о о ®
® о о ® ® о о ® ® о о ®
® о о ®
А в с D
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1
Рис. 3. Два основных логических элемента в технологии квантовых клеточных автоматов: инвертор, или вентиль НЕ (вверху), и мажоритарный вентиль (внизу).
(ЬйрБ: //www.electronicdesign.com/technologies/analog/article/21796222/the-quest-for-zero-power-logic)
электронно-лучевой литографии. Однако она малопригодна для массового производства. Перспективными для крупносерийного изготовления структур с размерами менее 10 нм являются, например, фотолитография в дальней области ультрафиолетового спектра.
3. Первые Алгоритмы синтеза мажоритарной логики
Простейшие методы синтеза мажоритарной логики, такие как карты Карно, таблица сокращений-унификации, разложение Шеннона и др., подходят только для синтеза несложных сетей, и они используются только для ручного синтеза. Также известны методы, ориентированные на синтез булевых функций от трёх переменных. Некоторые алгоритмы, разработанные в 2004-2008 гг. приведены в работах [21-25].
Затем были предложены и более мощные методы: на основе интерактивного синтеза (пакет SIS), разложения булевых функций на три-выполнимые или четыре-выполнимые сети, на базе генетического алгоритма и дизъюнктивных методов [7].
Опишем некоторые методы логического синтеза мажоритарной/миноритарной логики.
3.1. Алгоритм MALS. MALS (Majority Logic Synthesizer) является первым (2007) предложенным комплексным методом синтеза, который способен синтезировать многоуровневые логические сети большинства/меньшинства с несколькими выходами [26]. Идея алгоритма — на основе уже оптимизированной схемы в традиционном базисе получить схему на функциях большинства.
На вход алгоритма MALS подаётся представление минимизированной многовыходной комбинационно-логической схемы, а выход представляет собой эквивалентный мажоритарный граф. Обработка начинается с такой декомпозиции входной схемы, чтобы каждый элемент имел бы три входа. Этот процесс выполняется с использованием методов предварительной обработки и декомпозиции в пакете SIS [27].
Следующим шагом является проверка каждого декомпозированного элемента, реализует ли он мажоритарную функцию. Если это не так, элемент проверятся на наличие дублирующих входов. При их наличии будет проведена факторизация функции узла и затем — представление её в базисе И/ИЛИ.
Если дублирующих входов не имеется, но функция узла может быть реализована менее, чем четырьмя логическими элементами И/ИЛИ, будет проведена соответствующая реализация. Когда такая реализация невозможна, данный узел схемы будет преобразован в эквивалентное двухуровневое мажоритарное выражение с максимум четырьмя основными элементами. Данная процедура выполняется следующим образом.
Сначала строится карта Карно логической функции узла. Затем на этой карте находится конфигурация, которую можно описать функцией большинства; её обозначают /1. Далее ищется вторая такая допустимая конфигурация, дающая функцию большинства /2; аналогично находится функция /3. В результате исходный узел оказывается возможно заменить на функцией этих трех функций в виде M (/1, /2, /3).
3.2. Алгоритм Конга. Другой общий метод синтеза мажоритарной/миноритарной сети (2010) был предложен в работе К. Конга с соавторами [28].
Входом алгоритма является произвольная логическая многовыходная функция, а выходом является эквивалентная мажоритарная сеть. Алгоритм начинает с предварительной обработки входной сети и проверки её правильности с помощью пакета SIS. Если ошибок нет, для упрощения и декомпозиции применяются несколько методов предварительной обработки.
После предварительной обработки с помощью SIS функции, чтобы каждый узел имеет не более трех входных переменных. Для получения минимального количества
трёхвходовых узлов используют четыре различных метода. Затем сеть проверяется на наличие узлов, которые могут быть представлены разветвлениями цепей, сохраняя при этом правильное функционирование. Этот процесс может ещё больше сократить количество узлов.
На следующем шаге проверяется каждый узел в декомпозированной сети, реализует ли он мажоритарную функцию. Если это так, функция преобразуется в соответствующее выражение с использованием вышеописанных сорока примитивных мажоритарных булевых функций от 3 аргументов. В противном случае все допустимые группы выражений находятся из сорока мажоритарных выражений. Каждая группа состоит из трех мажоритарных выражений (fi, /2, /з), где узел является мажоритарной функцией этих выражений, т. е. M (fi, /2, /3).
Затем выбираются все функции большинства, которые состоят из групп выражений с минимальным числом узлов. После этого выбранные функции проверяются для выбора функций с минимальным количеством аргументов. Наконец, выбранные функции снова проверяются для выбора функций с минимальным количеством инверторов. Те же шаги повторяются для инвертированной функции узла.
Следующим шагом является выбор из найденных функций большинства, функций с минимальным числом узлов, входов и инверторов. Последний шаг состоит в проверке полученных мажоритарных выражений и проверки на наличие дублирующих узлов. Если таковые найдутся, они удаляются, а вся сеть соответствующим образом будет перестраивается. Этот процесс продолжается до тех пор, пока находятся дублирующие узлы. На этом алгоритм заканчивает работу.
3.3. Алгоритм MLUT. Одним из методов синтеза мажоритарной/миноритарной логики является метод, использующий таблицу подстановки мажоритарных выражений (Majority Expression Lookup Table, MLUT, 2015) [29].
Входными данными алгоритма является произвольная логическая сеть, а выходными — эквивалентная ей сеть мажоритарной логики. Алгоритм также начинает с предварительной обработки и декомпозиции входной сети с использованием SIS, как и в методе Конга. Однако здесь эти процедуры могут работать с логическими функциями от четырёх аргументов.
В результате предварительной обработке входные булевы функции упрощаются. При декомпозиции сети используются четыре метода из алгоритма Конга. Эти методы разлагают сеть на 2-, 3- и 4-входовые подсети.
В ходе своей работы алгоритм MLUT использует таблицу поиска мажоритарных выражений. Она строится путем генерации эквивалентных мажоритарных выражений для всех возможных булевых функций от четырёх аргументов. Таблица
содержит девяносто четыре булевых функции и их эквивалентные мажоритарные выражения. На основе этой таблицы каждый узел, имеющий до четырех переменных, преобразуется в соответствующее мажоритарное выражение.
Далее проводится удаление избыточности. Этот процесс, состоящий из нескольких шагов может обеспечить дальнейшее упрощение сети. Начинается он с удалением дублируемых узлов. Затем удаляются дублирующие входы узлов. Наконец последний шаг устранения избыточности состоит в минимизации числа инверторов (если в сети имеются два последовательных инвертора).
Также возможен случай, когда мажоритарный элемент в сети имеет два или три инвертора на входе. Тогда он заменяется имеющим единственный инвертор на выходе. Такое удаление избыточности проводится неоднократно, пока дальнейшее упрощение станет невозможным.
3.4. Сравнение и обсуждение. Три вышеизложенных метода синтеза отличаются друг от друга методами предварительной обработки, декомпозиции, преобразования и критериями оптимизации — число элементов, глубина схемы, число инверторов и возможное число входов элементов.
В статье [7] обсуждаются и сравниваются этапы данных алгоритмов: предобработка, декомпозиция, преобразование булевых функций в выражения над мажоритарными, оптимизация по выбранным критериям.
Далее представлена следующая информация.
1. Результаты синтеза схем вычислений восьми стандартных булевых функций от 3-х переменных различными методами. Приведены число элементов, глубина схемы, число инверторов и входных переменных. Из полученных результатов следует, что MALS дает оптимальное решение для некоторых функций, в то время как алгоритмы Конга и MLUT получают оптимальные выражения по числу элементов, уровней и инверторов для всех булевых функций. Однако ни один из этих методов не приводит к минимальному количеству входов у элемента для всех функций.
2. Сравнение результатов синтеза 40 тестовых функций с использованием вышеописанных методов синтеза.
3. Анализ возможностей оптимизации для вышеописанных методов.
СПИСОК ЛИТЕРАТУРЫ
1. amarU, l., testa, e., couceiro, m., zografos, o., de micheli, g.,
& SOEKEN, M. (2018). Majority logic synthesis. Proceedings of the International Conference on Computer-Aided Design. doi:10.1145/3240765.3267501.
2. YANG, C., CIESIELSKI, M., (2002) BDS: A BDD-Based Logic Optimization System, IEEE Trans. CAD, 21(7): 866-876.
3. BRAYTON, R., MISHCHENKO, A., (2010) ABC: An Academic Industrial-Strength Verification Tool, Proc. CAV.
4. ABC synthesis tool — available online.
5. МАРАХОВСКИЙ, В. Б., РОЗЕНБЛЮМ, Л. Я., ЯКОВЛЕВ, А. В. Моделирование параллельных процессов. Сети Петри. — СПб.: Профессиональная литература, 2014.
MARAKHOVSKY, V. B., ROSENBLUM, L. Ya., YAKOVLEV, A.V. (2014) Modeling of parallel processes. Petri nets. — Saint Petersburg: Professional literature.
6. AMARU, L. G., GAILLARDON, P.-E., MICHELI, G. DE. (2014) Majority-inverter graph: A novel data-structure and algorithms for efficient logic optimization. In: Design Automation Conference, pp. 194:1-194:6.
7. AMJAD ALMATROOD, HARPREET SINGH. (2017) A Comparative Study of Majority/Minority Logic Circuit Synthesis Methods for Post-CMOS Nanotechnologies Engineering, 9, 890-915. http://www.scirp.org/journal/eng.
8. ГУРОВ, С. И. Булевы алгебры, упорядоченные множества, решётки: определения, свойства, примеры. — М.: КРАСАНД, 2012.
GUROV, S. I. (2012) Boolean algebras, ordered sets, lattices: definitions, properties, examples. — M: KRASANG.
9. ЯГЛОМ, И. М. Булева структура и её модели. — М.: Сов. радио, 1980. YAGLOM, I. M. (1980) Boolean structure and its models. - M.: Sov. radio.
10. EVANDRO, C. FERRAZ, JEFERSON, DE LIMA MUNIZ, ALEXANDRE, SILVA, C. R. DA, DUECK, GERHARD W. (2020) Synthesis of Majority Expressions through Primitive Function Manipulation. In: Advanced Boolean Techniques. Selected Papers from the 13th International Workshop on Boolean Problems. Springer Nature Switzerland AG, pp. 135-158.
11. CHATTOPADHYAY, A., AMARU, L., SOEKEN, M., GAILLARDON, P., MICHELI, G. D. (2016) Notes on Majority Boolean Algebra, 2016 IEEE 46th International Symposium on Multiple-Valued Logic (ISMVL), Sapporo, pp. 50-55.
12. СТЕМПКОВСКИЙ, А. Л., ТЕЛЬПУХОВ, Д. В., ЖУКОВА, Т. Д., ДЕМЕНЕ-ВА, А. И., НАДОЛЕНКО, В. В., ГУРОВ, С. И. Синтез схемы функционального контроля на основе спектрального R-кода с разбиением выходов на группы // Микроэлектроника. 2019. Т. 48. № 4. С. 284-294.
STEMPKOVSKY, A. L., TERPUGOV, D. V., ZHUKOVA, T D., DEMENEVA, A. I., NADOLENKO, V. V., GUROV, S. I. (2019) The synthesis scheme of functional control based on spectral R-code partitioning the outputs into groups / / Microelectronics. Vol. 48. No. 4., P. 284-294.
13. ГУРОВ, С. И., КОРМАКОВ, Г. В. Сбоеустойчивые обратимые схемы и метод их синтеза в пространстве Хемминга / Прикладная математика и информатика: Труды факультета Вычислительной математики и кибернетики. М.: МАКС Пресс, 2018, № 57. - С. 21-35. ISBN 978-5-317-05872-2. http://en.cs.msu.ru/sites/cmc/files/docs/g.v._kormakov_s.i._gurov.pdf
GUROV, S. I., KORMAKOV, G. V. (2018) Fault-Tolerant reversible schemes and a method for their synthesis in the Hamming space / Applied mathematics and computer science: Proceedings of the faculty of Computational mathematics and Cybernetics, Moscow: MAX Press, № 57, Pp. 21-35.
14. THAPLIYAL, H. AND RANGANATHAN, N. (2010) Reversible logic based concurrent error detection methodology for emerging nanocircuits, 10th IEEE International Conference on Nanotechnology, Seoul, pp. 217-222, doi: 10.1109/NANO.2010.5697743.
15. AMARU, L., GAILLARDON, P. E., CHATTOPADHYAY, A., DE MICHELI, G. A sound and complete axiomatization of majority-n logic. IEEE Transactions on Computers 65(9), 2889-2895 (2016)
16. AMARU, L., GAILLARDON, P. E., DE MICHELI, G. (2014) Majority-inverter graph: A novel data-structure and algorithms for efficient logic optimization. In: Proceedings of the 51st Annual Design Automation Conference. Pp. 1-6. ACM(2014). DAC '14, June 1-5 2014, San Francisco, CA, USA. http://dx.doi.org/10.1145/2593069.2593158.
17. AKERS, S. B. (1962) Synthesis of combinational logic using three-input majority gates. In: Switching Circuit Theory and Logical Design, 1962. SWCT 1962. Proceedings of the Third Annual Symposium on. pp. 149-158.
18. ZHANG, R., WALUS, K., WANG, W., JULLIEN, G. A. (2004) A method of majority logic reduction for quantum cellular automata. IEEE Transactions on Nanotechnology 3(4), 443-450.
19. ISBELL, JOHN R., Median algebra, Trans. Amer. Math. Soc., 319-362, 1980.
20. International Technology Roadmap for Semiconductors (ITRS). (2013) http: //www.semiconductors.org.
21. RUMI, Z., WALUS, K., WANG, W., JULLIEN, G. A. (2004) A Method of Majority Logic Reduction for Quantum Cellular Automata. IEEE Transactions on Nanotechnology, 3 3, 443-450. https://doi.org/10.1109/TNAN0.2004.834177.
22. WALUS, K., SCHULHOF, G., JULLIEN, G. A., ZHANG, R., WANG, W. (2004) Circuit Design Based on Majority Gates for Applications with Quantum-Dot Cellular Automata. Conference Record of the Thirty-Eighth Asilomar Conference on Signals, Systems and Computers, Pacific Grove, CA, 7-10 November 2004, 1354-1357.
23. BONYADI, M. R., AZGHADI, S. M. R., RAD, N .M., NAVI, K., AFJEI, E. (2007) Logic Optimization for Majority Gate-Based Nanoelectronic Circuits Based on Genetic Algorithm. International Conference on Electrical Engineering, ICEE '07, Lahore, 11-12 April 2007, 1-5.
24. RAI, S. (2008) Majority Gate Based Design for Combinational Quantum Cellular Automata (QCA) Circuits. 40th Southeastern Symposium on System Theory, New Orleans, LA, 16-18 March 2008, 222-224. https://doi.org/10.1109/SSST.2008.4480225.
25. HUO, Z., ZHANG, Q., HARUEHANROENGRA, S., WANG, W. (2006) Logic Optimization for Majority Gate-Based Nanoelectronic Circuits. 2006 IEEE International Symposium on Circuits and Systems, Island of Kos, 21-24 May 2006, 1307-1310.
26. ZHANG, R., GUPTA, P., JHA, N. K. (2007) Majority and Minority Network Synthesis. DOI: 10.4236/eng.2017.910054 913 Engineering with Application to QCA-, SET-, and TPL-Based Nanotechnologies. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems, 26, 1233-1245. https://doi.org/10.1109/TCAD.2006.888267
60
C. H. rypoe
27. SENTOVICH, E. M., SINGH, K. J., LAVAGNO, L., MOON, C., MURGAI, R., SALDANHA, A., SAVOJ, H., STEPHAN, P. R., BRAYTON, R. K., SANGIOVANNI-VINCENTELLI, A. (1992) SIS: a system for sequential circuit synthesis. Tech. rep., EECS Department, University of California. http://www2.eecs.berkeley.edu/Pubs/TechRpts/1992/2010.html.
28. KONG, K., SHANG, Y., LU, R. (2010) An Optimized Majority Logic Synthesis Methodology for Quantum-Dot Cellular Automata. IEEE Transactions on Nanotechnology, 9, 170-183. https://doi.org/10.1109/TNANO.2009.2028609.
29. WANG, P., NIAMAT, M. Y., VEMURU, S. R., ALAM, M., KILLIAN, T. (2015) Synthesis of Majority/Minority Logic Networks. IEEE Transactions on Nanotechnology, 14, 473-483. https://doi.org/10.1109/TNANO.2015.2408330.
30. Predictive Technology Models — available online ptm.asu.com, ptm.asu.edu.
31. SOEKEN, M., AMARU, L. G., GAILLARDON, P. E., DE MICHELI, G. (2017) Exact synthesis of majority-inverter graphs and its applications. IEEE Transactions on ComputerAided Design of Integrated Circuits and Systems .