2013 Электротехника, информационные технологии, системы управления № 7 УДК 519.1(075.8)+510(075:8)
А.А. Сулейманов
Пермский национальный исследовательский политехнический университет,
Пермь, Россия
ОЦЕНКА СЛОЖНОСТИ РЕАЛИЗАЦИИ ТИПОВЫХ БУЛЕВЫХ ФУНКЦИЙ. ПРЕДСТАВЛЕНИЕ В РАЗНЫХ БАЗИСАХ
Рассмотрен синтез функций в ФПТ-базисах Х1Х2 VхзХ4 и х1х2 V х3х4 . Дана оценка реализации элементарных функций в обоих базисах. Выделено пять различных типов функций и рассмотрены подходы к их синтезу. Для каждого типа функций построены схемы в обоих базисах и сделан анализ аппаратных затрат полученных схем. Также рассмотрена реализация мажоритарного мультиплексора в обоих базисах и сделан сравнительный анализ полученных результатов. В конце статьи приводятся примеры синтеза нескольких типовых мажоритарных функций. Для всех примеров построены соответствующие комбинационные схемы в базисах ФПТ1 и ФПТ2, проведена оценка транзисторных задержек. Сделаны оценки целесообразности использования данных базисов в различных ситуациях с учетом инверсий и парафазности входов.
Ключевые слова: базисная функция, функционально-полный толерантный элемент, мажоритарная функция, методика синтеза, правила инвертирования, мажоритарный мультиплексор.
A.A. Suleimanov
Perm National Research Polytechnic University, Perm, Russian Federation
COMPLEXITY EVALUATION OF TYPICAL BOOLEAN FUNCTIONS IMPLEMENTATION IN EXCESSIVE BASIS
The synthesis of functions in functionally full tolerance (FFT) basis xiX2 vX3X4 and x1x2 v x3x4
has been considered. The evaluation of elementary functions implementation in both basis has been given. Five different types of functions have been defined and some approaches to their synthesis have been considered. For every type of functions electrical circuit schemes in both basis have been built, and hardware expenditure analysis of the schemes mentioned has been done. The implementation of majority multiplexer in the both basis has been also considered, and comparative analysis of the results obtained has been done. At the end of the article the examples of synthesis of some typical majority functions have been given. For every given example the corresponding complex schemes in FFT1 and FFT2 basis have been built, and the evaluation of transistor delays have been worked out. Some evaluations of the given basis usage appropriateness in different situations considering the inversion and paraphase of input signals, have been done.
Keywords: basis function, functionally full tolerance element, majority function, the synthesis methodology, inversion rules, majority multiplexer.
Сложность реализации переключательных функций схемой из логических элементов существенно зависит от базиса реализации. Например, реализация функции (1) требует всего 1 элемент ИЛИ-НЕ, задержка 1 элемент.
/г = а V Ь . (1)
В базисе 2И-НЕ требуется представление (2), а это уже 3 элемента 2И-НЕ и задержка 2 элемента.
/■= а V Ь = аЬ . (2)
Напротив, функция (3) в базисе 2ИЛИ-НЕ требует 3 элемента с задержкой 2 элемента, а в базисе 2И-НЕ - 1 элемент (4).
1] = а V Ь , (3)
¡■=а V Ь = аЬ . (4)
В [1-8] разработаны так называемые функционально-полные толерантные элементы (ФПТ-элементы). ФПТ1-элемент реализует функ-
цию Х1 х 2 V х3 х4 или, что то же самое, функцию (х^х2)(х V х4). ФПТ2-элемент реализует функцию (х1 V х 4)(х 2 V х 3) или, что то же
самое, функцию хЛ х3х4.
Пусть задана функция (5). Для её реализации необходим только
1 элемент с базисом ФПТ2, а элементов с базисом х1 х2 V хэ х 4 нужно 6: 1 элемент реализует функцию ФПТ1, а 5 - инверсии.
аЬ V cd. (5)
Если задана функция (6), то для её реализации необходим только 1 элемент с базисом ФПТ1, а элементов с базисом х 1 х 2 V х 3 х 4 нужно 6, из них 5 для инверсий.
аЬ V cd . (6)
Первый тип логической операции имеет вид:
х=аг V Ь^0 V ЬISl. (7)
Представим её в базисе ФПТ2:
х=а{ V ЬiSl V Ьр0,
(8)
х =аЬ1 V aiS1 V Ь^0. (9)
Всего 2 элемента с 1 инвертором и задержкой в 3 элемента (рис. 1).
Рис. 1. Реализация функции хг в базисе ФПТ2
В базисе ФПТ1 надо 5 элементов, а общая задержка равна 3 элементам:
= aiЬiS1 V агЬ^0 = агЬг V S1 V агЬг V S0. Соответствующая схема для ФПТ1 показана на рис. 2.
(10)
1 ■Уо Ь (
1
а,-
1—А&
1
Рис. 2. Реализация функции хг в базисе ФПТ1 Второй тип логической операции имеет вид:
у=агЬ .£2 V ар^у Преобразуем её к виду ФПТ2:
у =аг(Ь^2 V ЬЛ)=аг (Ь#2 V Ь^3).
(11) (12)
Для её реализации необходимо 4 элемента в базисе (•V Х4)(^2 V хз)=х1х2 V х3х4 (рис. 3). Всего 4 элемента, но и задержка тоже равна 4 элементам.
&
&
& 1
и s2
\ ' С
iL &
h.
&
&
а,-
&
&
О—
Рис. 3. Реализация функции у1 в базисе ФПТ2 Для представления в базисе ФПТ 1 берём:
y=ai vbtsз vbiS2. (13)
Это выражение можно представить в базисе ФПТ1 (14) и требует так же четыре элемента, задержка тоже четыре (рис. 4).
y=üi v biS3 v biS2.
(14)
1 bi
1
Рис. 4. Реализация функции yi в базисе ФПТ1
Другое представление в ФПТ1 требует 5 элементов, но задержка меньше - всего 3 элемента:
y=at v biS3 v bis2=üt v (bi v s3)(bi v s2)=ai v bis2 v biS3. (15)
Соответствующая схема представлена на рис. 5. Третий тип логической операции имеет вид:
gl=x•0 mv у0с0 т. (16)
Преобразуем g1 для реализации в базисе ФПТ2 (17). Такое представление требует четырех элементов ФПТ2 (рис. 6).
g=xo m v У0С0 m.
(17)
$2
>&
$2
)&
ь,
& 1
Ьг
г
)&
1_Л&
>&
&
а,
)&
&
Рис. 5. Альтернативная реализация функции уi в базисе ФПТ1
т
&
&
О
т
х0
Уо
Со
&
&
6-
У ос о
& 1
О
&
У 0 с 0
&
&
О—
Рис. 6. Реализация функции в базисе ФПТ2
Реализация в базисе ФПТ2 требует преобразования (18). Соответствующая схема изображена на рис. 7.
(х о V т )(у 0 V с0 V т )=т V х о( у 0 V с о) =
=т V х о у0с0=т V х о у 0 с о.
¿& 1
1
& 1
т
и
& 1
Рис. 7. Реализация функции в базисе ФПТ1 Четвёртый тип логической операции имеет вид:
§2=х1т V у1 х0 т V у1у0с0 т. Преобразуем (19) для представления в базисе ФПТ2:
§2=х т V У1 (Хо т V туоСо),
§2=Х т V у (хо V т)(т V уо V со),
§2=х1 т V у[т V хо(у о V с о)],
§2=х1 т V У1[т V хо(Уосо)].
Реализация (23) требует 5 элементов ФПТ2 (рис. 8). Реализация в базисе ФПТ1 требует представления:
§2=(х1 V т)(у 1 V х о V т)(у 1 V у о V с о V т)=
= т V Х1( у 1 V х о )(у 1 V у о V с о) =
=т V Х1[у 1 V х о (у о V с о)]=т V Х1 у1(хо V уосо) =
=т V Х1 у 1 х о V у 1 у о со=т V Х1 у 1 х о V у 1 у о V с о.
(19)
(20)
(21) (22)
(23)
(24)
Выражение (24) требует 6 элементов ФПТ1. Соответствующая схема изображена на рис. 9.
Рис. 8. Реализация функции g2 в базисе ФПТ2
Рис. 9. Реализация функции g2 в базисе ФПТ1
Пятый тип логической операции имеет вид:
gз=X2 т V У 2Х1 т V У 2У1Х0 т V У2У1У0С0 т . (25)
Представим функцию в базисе ФПТ2:
g3= ( Х2 V У2 Х1)т V У2У1( Х0 V У0С0)т
g 3= ( Х2 V У 2 Х1) т V У 2 У1( Х0 V У0 С0) т
g3= ( Х2 V У 2 Х1) т V У2 У1 V Х0 V У0С0 т .
(26)
(27)
(28)
Таким образом, необходимо 7 элементов ФПТ2 с задержкой в 3 элемента (рис. 10).
Х2
У2 Х1
&
&
1
т
6-
У2
Х1
&
&
&
&
1
6-
т
Х2 V У2 Х1
о-
Х0
У0 С0
&
&
&
&
г
Х2 V У2 Х1
У 2 Х
Х0 V У0С0
&
&
& 1
& (
У2У1 V Х0 V У0С0
Рис. 10. Реализация функции g3 в базисе ФПТ2 Представим функцию в базисе ФПТ1:
gз=Х2m V У2Х1т V У2У1Х т V У2У1У0С т
g3=(Х2 V т)(у2 V Х1 V т)(У 2 V У1 V Х0 V т) х
х (у2 V У1 V У0 V с0 V т),
g3=т V Х2 (У 2 V Х1 )(у 2 V у 1 V х 0)(у 2 V у 1 V у 0 V с 0) = = т V х2[у2 V х 1 )(у 1 V х0)(у 1 V у0 V с0)],
(29)
(30)
(31)
1
1
1
1
g з = m V x 2 { y 2 V x i[ y 1 V x о ( y 0 V с о)]} =
= m V x 2 y 2 V x 2 x 1 y, V x 2 x 1 x о y 0 V x 2 x 1 x о с о =
_ _ _ ____ (32)
= m V x2 {y 2 V xi[y 1 V xо (y о V со)]}= = m V x 2 y 2 (xi V yi)( xi V xo V y о)( xi V X0 V с 0),
g3=m v x2 y2[xi V yi(x0 v Уо )(xo V со)] =
= m v x2 У 2 xi v У 2 У1(x0 V У 0 )(x0 V с0) =
_ = = (33)
=m v x 2 y 2 xi v y 2 y1 v x о y 0 v x о с о =
= m v x 2 y 2 xi v y 2 y1 v xo y 0 с о.
Соответствующая схема изображена на рис. 11. Таким образом, в базисе ФПТ1 требуются 9 элементов с задержкой в 5 элементов.
Рис. 11. Реализация функции g3 в базисе ФПТ1
Мажоритарный мультиплексор используется для структур глубокого мажоритирования и реализует функцию:
/(аЬсх1 х2) = ах2 х1 V Ьх1 х2 V сх1 х2 V (аЬ V ас V Ьс)х1 х2. (34) Выполним представление в ФПТ1-базисе:
/(аЬсх1 х2) = х2(ах1 V Ьх1) V х2[сх1 V (аЬ V ас V Ьс)х1], (35) / (аЬсх1 х2) = х2 (ах1 V Ьх1) V х2 [сх1 V (аЬ V ас V Ьс) х1 ], (36)
f (аЬсх1 х2) = х2 ах1 V Ьх1 V х2[сх1 V (аЬ V ас V Ьс)х1], (37)
f (аЬсх1 х2) = х2 ах1 V Ьх1 V х2[сх1 V (аЬ V (ас V Ьс)х1], (38)
/(аЬсх1 х2) = х2 ах1 V Ьх1 V х2[сх1 V (аЬ V с V аЬ)Х1]. (39) Всего 13 элементов ФПТ1, а задержка равна 7 элементам (рис. 12).
Рис. 12. Реализация функции/(аЬсх2х 1) в базисе ФПТ1
Таблица истинности мажоритарного мультиплексора представлена ниже.
Таблица истинности мажоритарного мультиплексора
•2 х1 а Ь с
0 0 1 - -
0 1 - 1 -
1 0 - - 1
1 1 1 1 -
1 1 1 - 1
1 1 - 1 1
Представим функцию мажоритарного мультиплексора в базисе ФПТ2: f (аЬсх 2х1)=х2(ах 1 V Ьхх) V х2[сх 1 V (аЬ V ас V Ьс)х1]. (40)
х2
& 1 о
&
& 1 о
&
& 1 о
&
& 1 о
&
& 1 о
&
XI
хх
& 1
& о
XI
& 1
& о
& 1
& с
XI
& 1
о
&
&
&
&
&
Рис. 13. Реализация функции/(аЪсх2х г) в базисе ФПТ2
По правилу инверсирования ортогональных выражений (по х2 и х2) получаем:
/(аЬсх2х1) = х2(ах1 V Ьх1) V х2[сх1 V (аЪ V ас V Ьс)х1]. (41) Возьмём двойную инверсию выражения мажоритарной функции:
/(аЪсх2х1)=х2(ах1 V Ъх1) V х2[сх1 V (аЪ V ас V Ъс)х1].
(42)
Получим инверсную мажоритарную функцию:
f (аЬсх, Х1)=Х2 (ах1 V Ьх1) V х2[сх1 V (аЬ V ас V Ьс)х ]. (43)
Возьмём двойную инверсию двух из трёх конъюнкций инверсной мажоритарной функции:
f (abcx2x1)=x2(axi v bx1) v x2[cxi v (ab v ac v bc)x1 ]. (44)
Это окончательное выражение. Итак, необходимо пять инверсий переменных, а так же ещё 6 элементов ФПТ2, всего 11 элементов, с задержкой в 6 элементов (рис. 13).
Рассмотрим реализацию мажоритарной функции
f (abc) = ab v ac v cb. (45)
i&
i &
i&
№
&
A 1
br
—Л& 1
&
Рис. 14. Реализация мажоритарной функции^аЬс) в базисе ФПТ1 Представим (45) в базисе ФПТ1:
f (abc) = ab v c(a v b) f(abc)= ac v cab .
(46)
(47)
Выражение (47) требует 6 элементов ФПТ1, а задержка - 3 элемента (рис. 14).
Реализуем мажоритарную функцию (45) в базисе ФПТ2:
Д.аЬс) = аЬ V ас V Ьс,
ДаЬс) = аЬ V ас V Ьс, (48)
(49)
(50)
ДаЬс)=аЬ V аЬ V с. (51)
Такая реализация требует 4 элемента ФПТ2, а задержка - 2 элемента (рис.15).
ДаЬс) = аЬ V ас V Ьс,
а
&
6-
а
Ъ
&
6-
Ъ
& 1
о
&
& 1
& с
Рис. 15. Реализация мажоритарной функции ДаЬс) в базисе ФПТ2
Интересно, что представление мажоритарной функции в базисе 2И-НЕ требует 6 элементов 2И-НЕ, что лучше по числу транзисторов (4 транзистора на один 2И-НЕ, то есть 24 транзистора), но задержка -8 транзисторов. А для (54) 32 транзистора, но задержка всего 4 транзистора, т.е. в два раза меньше.
ДаЬс) = аЬ V ас V Ьс,
/ (аЬс) = аЬасЬс,
f(аЬс)= аЬ(асЬс).
(52)
(53)
(54)
В базисе 2ИЛИ-НЕ:
/(аЬс) = аЬ V ас V Ьс,
(55)
/(аЬс) = а V Ь V а V с V Ь V с .
(56)
Таким образом, для (56) необходимо 8 элементов 2ИЛИ-НЕ (32 транзистора), а задержка - 8 транзисторов.
Таким образом, сравнительный анализ реализаций в ФПТ-базисе и базисе 4И-НЕ показывает, что ФПТ-реализация по сложности лучше более чем в два раза даже при отсутствии парафазных входов, при этом имеется более чем 50%-ное повышение быстродействия при числе каналов 16...64.
Приведенные схемы мультиплексоров на базе ФПТ-элементов обладают свойством сохранения работоспособности при одном отказе входа 1 элемента (отказах всех элементов в одной половине) - можно использовать половину мультиплексора. Так, например, мультиплексор на 16 каналов модифицируется в мультиплексор на 8 каналов. Это позволяет в так называемых «крупнозернистых» ПЛИС обеспечить частичное восстановление логики после отказов и соответствующего диагностирования.
Библиографический список
1. Тюрин С.Ф. Функционально-полные толерантные булевы функции // Наука и технология в России. - 1998. - № 4. - С. 7-10.
2. Тюрин С.Ф. Синтез адаптируемой к отказам цифровой аппаратуры с резервированием базисных функций // Приборостроение. -1999. - № 1. - С. 36-39.
3. Тюрин С.Ф. Адаптация к отказам одновыходных схем на генераторах функций с функционально-полными толерантными элементами // Приборостроение. - 1999. - № 7. - С. 32-34.
4. Тюрин С.Ф. Проблема сохранения функциональной полноты булевых функций при «отказах» аргументов // Автоматика и телемеханика. - 1999. - № 9. - С. 176-186.
5. Программируемое логическое устройство: пат. № 2146840 Рос. Федерация / С.Ф. Тюрин, В.А. Несмелов, В.А. Харитонов [и др.]; опубл. БИ № 8. - 2000.
6. Tyurin S., Kharchenko V. Redundant Basises for Critical Systems and Infrastructures // General Approach and Variants of Implementation Proceedings of the 1st International Workshop on Critical Infrastructures Safety and Security, Kirovograd, Ukraine 11-13, May, 2011. Vol., 2. - Р. 300-307.
6. Тюрин С.Ф., Харченко В.С. Автоматно-базисный подход к созданию естественно надежных и безопасных систем // Системи обробки шформаци. - 2010. - Вип. 9(90). - С. 115-119.
7. Функционально-полный толерантный элемент: пат. № 2438234 Рос. Федерация / С.Ф. Тюрин, О.А. Громов. №2010123392; заявл. 08.06.2010; опубл. 27.12.2011. Бюл. №36.
Сведения об авторе
Сулейманов Алексей Александрович (Пермь, Россия) - ассистент кафедры автоматики и телемеханики Пермского национального исследовательского политехнического университета (614990, Пермь, Комсомольский пр., 29, e-mail: [email protected]).
About the author
Suleimanov Alexey Alexandrovich (Perm, Russian Federation) is an Assistant at the Department of Automation and Telemechanics, Perm National Research Polytechnic University (614990, 29, Komsomolsky prospect, Perm, e-mail: [email protected]).
Получено 06.09.2013