12.07.2015 Views

Глава 3: Настраиваемые модули из функциональных элементов

Глава 3: Настраиваемые модули из функциональных элементов

Глава 3: Настраиваемые модули из функциональных элементов

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Глава</strong> третья<strong>Настраиваемые</strong> <strong>модули</strong><strong>из</strong> <strong>функциональных</strong> <strong>элементов</strong>3-1. ПОРОЖДАЮЩИЕ ФУНКЦИИ.СВОЙСТВА И ХАРАКТЕРИСТИКИВыше мы уже говорили, что основная цель создания НЛМ - сокращение номенклатуры составляющихсхем при повышении уровня интеграции. Платой за достигаемый эффект при этом является<strong>из</strong>быточность по числу наружных выводов и внутренних <strong>элементов</strong>.С теоретической точки зрения построить НЛМ - это значит так объединить между собой заданныефункции, чтобы затем путем настройки можно было получить любую <strong>из</strong> этих функций.Например, широко используют такие функции от двух переменных, как «И» и «ИЛИ», т. е. xx1 2,x1Úx2. Как ихобъединить? Это зависит от выбранного способа настройки (классификация способов приведена в предыдущей главе).Простейший вариант - механическое объединение функций. Он малоинтересен, так как при этом у соответствующегомодуля отсутствует функциональная интеграция: сложность модуля по числу внешних выводов и числу составляющихсовпадает с этими характеристиками у объединяемых <strong>элементов</strong>.Другой вариант - настройка путем выбора нужного выхода, в случае если входные выводы соответствующих<strong>элементов</strong> объединены.Третий вариант - настройка по входам. Выходной вывод один, а входных три: один настроечный и дваинформационных. При этом модуль выполняет функцию y = zz1 2Ú z3.Легко заметить, что при подаче сигналов z1 = x1, z2 = x2, z3= 0 получим первую <strong>из</strong> требуемых функцийy = xx1 2, а при подаче z1 = xz ,2= 1, z3 = x3- вторую функцию y = x1Ú x2.Аналогичным будет результат в случаеприравнивания входов: z1 = z2 = x1,z3 = x2. Может сложиться впечатление, что настройка по входам ничего не даетпо сравнению с настройкой по выходам: в обоих случаях число внешних выводов равно четырем, а внутренняясложность модуля определяется суммой объединяемых <strong>элементов</strong> «И» и «ИЛИ». Однако так получилось лишь в частномслучае, <strong>из</strong>-за того, что объединяемые функции не имеют общих составных частей. Если добавить к ним еще однуфункцию, например xx1 2Úxx1 2, то настройка выбором выхода потребует при наилучшем построении схемы пятьвнешних выводов и четыре двухвходовых элемента. Настройка же по входам также потребует четырех внутренних<strong>элементов</strong>, но число внешних выводов будет меньше - четыре вместо пяти.Функция, выполняемая модулем, в этом случае имеет вид:y = zzz Ú zzzПри z3= 1; z x1При z3= 0; ; 1 1При z x ; 3 21= ; z2x2z = x z2 x2= z1 z2 x1= y = x Ú x ; 1 2= y = xx;1 2= = y = xx 1 Ú xx22 1;1 2 3 1 2 3 .При настройке по входам применяются следующие операции: подача на определенные входыконстант 0 и 1, приравнивание входов друг к другу, приравнивание к инверсии и подача наинформационные входы нужного сочетания прямых и инверсных значений входных переменных.Если последнее возможно, то должна использоваться PN - классификация; если допустима толькоперестановка входных переменных без их инвертирования, то – Р - классификация, и, наконец, прижесткой связи с источниками информации приходится объединять заданные функции, даже еслиотличие между ними состоит лишь в порядке следования букв.С возрастанием числа объединяемых функций относительные преимущества настройки по входамвозрастают, даже если общие части отсутствуют.Пусть, например, в списке имеется сто функций от десяти переменных. Тогда при настройке повыходам потребуется сто десять внешних выводов, а при самой элементарной настройке по входам(без использования операции приравнивания входов и при полном разделении информационных инастроечных входов): 10 + ]log2100[ = 17 внешних выводов, т. е. имеет место выигрыш в 6,5 раза!Иногда варианты настройки по входам и выходам объединяют. Объясняется это тем, что отодних и тех же переменных могут потребоваться одновременно разные функции. Настройка по


выходам это обеспечит, в то время как настройка по входам - нет. Чаще всего требуетсяодновременно использовать прямое иОценки числа входов модулей,универсальных в классе всех булевых функцийот n переменных и имеющих два выхода - прямой и инверсныйn 2 3 4 5 6 7 8 9 10Нижняя 3 5 6 10 17 32 62 119 230оценкаВерхняяоценка3 5 7 16 28 39 72 137 266Таблица 3-1инверсное значения функции и поэтому у модулей в этих случаях предусматривают два выхода:y и y .Функция, которую выполняет объединенный модуль при использовании настройки по входам, носитназвание порождающей (ПФ). Она порождает, в первую очередь, требуемый список функций,а кроме того, еще ряд функций, которые также могут оказаться полезными. При этом порожденныефункции зависят от меньшего числа переменных, чем ПФ.Различные ПФ обладают различной порождающей способностью. В литературе [16, 34, 37]были исследованы пр<strong>из</strong>наки, по которым можно найти наиболее эффективные функции,порождающие максимальное число подфункций. Однако, взяв одну <strong>из</strong> таких функций за основу припостроении модуля, мы можем ошибиться, так как подфункций она порождает много, но, возможно,не тех, которые нам требуются. Проверка и выбор «правильной» функции связаны с большимперебором, затруднительным даже при использовании ЦВМ.Подход, состоящий в выборе нужной ПФ <strong>из</strong> числа наиболее эффективных, применялся при построениимодулей, универсальных в классе всех булевых функций от двух, трех и четырех аргументов [9, 69].При большем числе переменных удалось установить только верхние и нижние оценки числа внешнихвыводов универсальных модулей, приведенные в табл. 3-1.Для модулей этого типа была найдена также асимптотическая оценка числа входов, котораяимеет следующий вид [25, 52]:n2M ( n) = .(3-1)n®¥log2nКак было отмечено выше, подход, основанный на исчерпывающем исследовании логическихвозможностей булевых функций, связан с большим перебором, поэтому в литературе рассматривалисьтакже процедуры построения модулей без использования перебора или с меньшим его объемом,приводящие обычно к построению модулей с большим числом внешних выводов.Наиболее простой метод построения модулей основан на том факте, что про<strong>из</strong>вольная булевафункция представима в видегдеn-1i1 i11 n 1 n 1 ni=0f( x ,..., x ) = å x ... x f( i ,..., i ), (3-2)1;i ì xjпри ij=xjj = íî x j при i = 0;jНа основе этого соотношения может быть построен модуль, универсальный в классе всех булевыхфункций от п переменных, имеющий число внешних выводовnM( n) = 2 + n+ 1.(3-3)Этот модуль имеет 2 n настроечных входов, на которые должны подаваться только константы 0 и 1.


Если допустить подачу на настроечные входы не только констант, но и переменных, то числовнешних выводов универсальных модулей может быть уменьшено [74]. Это достигается при построениимодуля на основе соотношенияЧисло внешних выводов такого модуля12 --1i1i n -11 n 1 n-1 i 1 n-1nj=0f( x ,..., x ) = å x ... x f ( i ,..., i , x ). (3-4)n-1 n-1M( n) = 2 + ( n- 1) + 1= 2 + n.(3-5)В этой же работе впервые для класса модулей <strong>из</strong> ФЭ был предложен метод построения модулей,универсальных в классе всех булевых функций <strong>из</strong> двух составляющих.В <strong>из</strong>ложенных подходах основное внимание уделялось построению модулей, универсальных вклассе всех булевых функций. Рассмотрим методы построения модулей, реал<strong>из</strong>ующих путемнастройки заданный набор функций.Модуль, реал<strong>из</strong>ующий путем настройки N заданных булевых функций я переменных, может бытьпостроен на основе соотношенияF( x ,..., x ) =å x ... x f ( x ,..., x ),(3-6)Njn+ 1 jn+11 n+ d n+ d n+1 i n 1i=1где d = ]log2N[;][- символ округления до ближайшего большего целого числа.Информационные и настроечные входы этого модуля независимы, а его настройкаосуществляется путем подачи констант. Число внешних выводов такого модуляM = ]log N[ + n- 1.(3-7)2Для уменьшения числа внешних выводов необходимо отказаться, хотя бы частично, от жесткогоразделения информационных и настроечных входов. В предельном случае любой вход может являтьсякак информационным, так и настроечным:1( ,..., ) j n+d jF x x =å x ... x c ( j ,..., j ), (3-8)где1 n+ d n+ d 1 i n+d 1ì0;ci( jn+d,..., j1)=í î 1.Из этого соотношения следует, что построение такого модуля связано с нахождением значений ciи d .Э. А. Якубайтисом [59] был предложен метод построения модулей с минимальным числомвыводов, реал<strong>из</strong>ующих путем настройки заданный набор <strong>из</strong> N булевых функций, базирующийся насоотношении (3-8). Сущность метода состоит в отборе на каждом шаге конъюнкций определенногоранга, включаемых в порождающую функцию, и в нахождении настроек, обеспечивающих выделение<strong>из</strong> получаемой порождающей функции заданных функций п переменных. Метод позволяет строить<strong>модули</strong> с минимальным числом внешних выводов, вследствие того что поиск оптимального значениявыполняется «сн<strong>из</strong>у вверх» от конъюнкций ранга n+ 1. Однако использование этого методаограничивается относительно небольшими значениями N и п, так как в противном случае объемперебора становится чрезвычайно большим.Наряду с общими подходами к построению модулей, <strong>из</strong>ложенными выше, в настоящее время <strong>из</strong>литературы <strong>из</strong>вестны работы, посвященные модулям, универсальным в некоторых классах булевыхфункций.В работах [18, 74] рассматривались <strong>модули</strong>, универсальные в классе симметрических функций ппеременных. При этом было установлено, что число внешних выводов таких модулей равно 2п, а ихсложность линейно зависит от числа переменных.В работе [60] были рассмотрены <strong>модули</strong>, универсальные в классе пороговых функций. Построение этихмодулей выполнялось с использованием ЦВМ. При этом было установлено, что существует модуль с


восьмью входами, универсальный в указанном классе функций от пяти переменных, и модуль сдесятью входами, универсальный в том же классе функций от шести переменных.В работах [12, 44] были предложены подходы, на основе которых была разработана структурамногофункционального модуля, реал<strong>из</strong>ующего путем настройки 26. бесповторных в базисе{&, Ú, } формул <strong>из</strong> восьми букв. Другой тип много<strong>функциональных</strong> модулей, реал<strong>из</strong>ующих путемнастройки некоторые бесповторные формулы в базисе {&, Ú , } <strong>из</strong> четырех букв, выпускается внастоящее время в виде микросхемы, входящей в серию 501 [55].К сожалению, большинство методов, <strong>из</strong>ложенных в указанных выше работах, носят частныйхарактер, не имеют достаточного математического обеспечения и неприменимы поэтому в общемслучае. Перейдем к <strong>из</strong>ложению метода, позволяющего устранить эти недостатки.3-2. ПОСТРОЕНИЕ МОДУЛЕЙ С МИНИМАЛЬНЫМ ЧИСЛОМ ВНЕШНИХ ВЫВОДОВОграничимся рассмотрением модулей, настраиваемых по входам с помощью следующих операций:а) фиксация входов константами ( xi= 0;1) ; б) отождествление входов ( xj= xi); в) антиотождествлениевходов ( x = xi).jВходы, с помощью которых осуществляется настройка, образуют настроечное поле, остальные -информационное. Иногда настроечное поле жестко отделяют от информационного: например, <strong>из</strong> пятивходов первые три используют всегда для подачи логических переменных, а два остальных - только длянастройки.Иногда разделение на настроечные и информационные входы носит условный характер - в каждомконкретном случае тот или иной входной вывод может служить для настройки.Второй <strong>из</strong> указанных способов «богаче», так как появляется возможность различных вариантоввыбора информационных и настроечных входов.Пример. Пусть задана формулаy = x ( x Úx ) Ú xxx1 2 3 1 2 3Если в этой формуле настроечной переменной считать всегда только x1, то получим две подфункцииот двух аргументов: y = x2 Ú x3при x1= 0 и y = xx2 3при x1= 0. Если же считать, что настроечнымимогут быть как x1, так и x2, то получим три подфункции: y = x2 Ú x3при x1= 0 , y = xx2 3при x1= 1 иy = xx1 3Ú xx1 3при x2= 0 .Как правило, жесткое разделение информационного и настроечного полей выступает как ограничение,связанное с требованиями технологии или выбором структуры. В каких случаях оно имеет место, мырассмотрим в дальнейшем. А сейчас попробуем глубже разобраться в процессе порожденияподфункций. Что именно происходит с ПФ, когда мы фиксируем или отождествляем(антиотождествляем) входы?Предположим, что ПФ найдена и для нее построена таблица истинности. Условимся в таблицевсегда располагать настроечные переменные на позициях старших разрядов. Пусть числоинформационных переменных равно а, а настроечных d. Тогда приТаблица 3-2Число настроек N(d;b)db0 1 2 3 4 5 6 7 8 91 2 12 4 6 13 8 28 12 14 16 120 100 20 15 32 496 720 260 30 16 64 2016 4816 2800 560 42 17 128 8128 30912 27216 8400 1064 56 18 256 32640 193600 248640 111216 21168 1848 72 1


9 512 130816 1194240 2182720 1360800 365232 44640 3000 90 1фиксации всех настроечных переменных константами от столбца значений ПФ останется подфрагмент длиной2 a . При этом число различных подфрагментов равно 2 d .Каждый подфрагмент - это не что иное, как одна <strong>из</strong> остаточных функций в разложении Шеннона [57], котороепро<strong>из</strong>водится по настроечным аргументам.Пример. Пусть задана функцияy = xx1 2Úx3Предположим, что x1- настроечная переменная; тогда разложение Шеннона по переменной x1имеетследующий вид:y = xx Úx ( x Ú x ).1 3 1 2 3При этом имеют место два подфрагмента: первый x3, а второй x2Úx3. Как раз такие подфункции иполучаются при соответствующей настройке: y = x3при x1= 0 и y = x2 Ú x3при x1= 1.Теперь рассмотрим случай, когда фиксируется только часть переменных настроечного поля, аостальные b переменных остаются свободными. При такой операции осуществляется выбор иобъединение некоторых подфрагментов. Они также образуют «остаточную функцию». Тем самым мыможем не только выделять подфрагменты, но и объединять их между собой. Каждый вариантвыделения и объединения - это новая настройка, порождающая функцию, но не обязательно новую, таккак среди подфрагментов могут быть и одинаковые.Таблица 3-3Число настроек N(d;b)db0 1 2 3 4 5 6 7 81 2 12 4 5 13 8 19 9 14 16 65 55 14 15 32 211 285 125 20 16 64 665 1551 910 245 27 17 128 2059 6069 5901 2380 434 35 18 256 6305 26335 35574 20181 5118 714 44 1Оценки числа вариантов настройки. Число возможных вариантов настройки определяется числомпеременных в настроечном поле d , числом свободных переменных b и числом используемыхопераций настройки.В работе [52] найдена формула для подсчета числа настроек Ndb ( ; ) порождающей функции,содержащей d переменных, для реал<strong>из</strong>ации остаточной функции b переменных при использованииопераций фиксации, отождествления и антиотождествления:где Sd ( + 1; b+ 1) - число Стирлинга второго рода [49].d-bNdb ( ; ) = 2 Sd ( + 1; b+ 1), (3-9)В табл. 3-2 приведены значения Ndb, ( ; ) подсчитанные по формуле (3-9) при d £ 9, b£9.В той же работе найдена также формула для подсчета числа настроек Ndb ( ; ) ПФ, содержащей dпеременных, для реал<strong>из</strong>ации остаточной функции b переменных при использовании операцийфиксации и отождествления переменных:Ndb ( ; ) = Sd ( + 2; b+ 2) - Sd ( + 1; b+ 2) . (3-10)В табл. 3-3 приведены значения Ndb, ( ; ) подсчитанные по формуле (3-10) при d £ 8, b£ 8.Приведенные соотношения и количественные характеристики позволяют определить нижние оценкичисла переменных g в ПФ, обеспечивающие число настроек, большее или равное числу заданных


функций N, зависящих от b переменных. Эти оценки могут быть получены в случае, если в ПФинформационные и настроечные переменные совпадают.При атом g = d и справедливы неравенстваd-bN(d;b)=2 Sd ( + 1; b+ 1) ³ Nb ( ),(3-11)Ndb ( ; ) = Sd ( + 2; b+ 2) - Sd ( + 1; b+ 2) ³ Nb ( ). (3-12)Объединение подфрагментов для получения остаточных функций. Если <strong>из</strong> d переменныхнастроечного поля b являются свободными, то с их помощью могут объединяться 2 b подфрагментовдлины 2 a . Номенклатура объединяемых подфрагментов зависит от вида операции настройки.Обозначим операцию объединения столбцов значений подфрагментов знаком *.Пример. Пусть задана булева функция от g = 2 переменных. Предположим, что а = 0, d = 2, b=1. Приэтом длина каждого подфрагментаТаблица 3-4Объединение подфрагментов при а = 0, d = 2, b=1x2x1F x2= 0 x2= 1 x1= 0 x1= 1 x2 = x1x2= x100110101ABCDAB----CDA-C--B-DA--D-BC-равна 2 a = 1, а их число 2 d = 4. Обозначим их буквами А, В, С, D. Выполняя операции настройки,получим шесть различных фрагментов, состоящих <strong>из</strong> 2 b = 2 подфрагментов (табл. 3-4):A* B; C* D;A* C;B* D;A* D;B*C.Предположим, что a = 1, d = 1, b = 0. При этом длина подфрагментов 2 a = 2, а их число 2 d = 2.Обозначим подфрагменты буквами G, К. Выполняя операции настройки, получим два фрагмента,совпадающих с соответствующими подфрагментами (2 b = 1) (табл. 3-5).Определим условия, при выполнении которых имеется возможность объединить любые 2 bподфрагментов ПФ <strong>из</strong> общего их числа 2 b в остаточную функцию таким образом, чтобы подфрагмент,имеющий меньший номер в столбце значений ПФ, был размещен в остаточной функции надподфрагментом с большим номером. Для того чтобы иметь возможность выполнить указанноеобъединение подфрагментов при использовании операций фиксации переменных константами иотождествлении переменных, необходимо выполнение соотношения2bNdb ( ; ) ³ C , (3-13)d2Объединение подфрагментов при a = 1, d = 1, b = 0x2x1F x2= 0 x2= 100110101G G -K - Kа при использовании также операции «Антиотождествление» требуется, чтобы выполнялосьсоотношение2bNdb ( ; ) ³ C .(3-14)d2Таблица 3-5Исследуем, при каких значениях b эти соотношения выполняются.Случай 1: b = 0. Использование операции фиксации переменных константами позволяет выбратьлюбой одиночный подфрагмент столбца значений ПФ. Действительно, <strong>из</strong> табл. 3-3 следует, что числонастроек при b = 0 равно 2 d .


Случай 2: b = 1. Использование двух операций — фиксации переменных константами иотождествления переменных — не позволяет объединить любую пару подфрагментов ПФ востаточную функцию так, чтобы подфрагменг с меньшим номером всегда размещался надподфрагментом с большим номером.Пусть задано настроечное поле ПФ <strong>из</strong> d переменных. Объединение любых двух <strong>из</strong> 2 dподфрагментов ПФ так, как это было указано выше, возможно2C2dспособами. С другой стороны,число различных вариантов настройки, объединяющих подфрагменты, которое обеспечивает этонастроечное поле для одной свободной переменной к при использовании указанных операций, наосновании (3-10) равноПри этом справедливость неравенстваNd ( ;1) = Sd ( + 2;3) - Sd ( + 1;3) . (3-15)2C d < Sd ( + 2;3) - Sd ( + 1;3)(3-16)2доказывает высказанное утверждение.2Пример. Пусть d = 3, тогда C 3 = 28. При этом, так как N(3, 2) = 19,2то не удается объединить любую пару подфрагментов ПФ в остаточную. Докажем следующееутверждение. Использование трех операций настройки, указанных в начале параграфа, позволяетобъединить любую пару подфрагментов ПФ в остаточную так, что подфрагмент с меньшим номеромвсегда будет размещен над подфрагментом с большим номером.Пусть задано настроечное поле ПФ <strong>из</strong> d переменных. Объединение любых двух <strong>из</strong> 2 d2подфрагментов ПФ так, как это указано в формулировке утверждения, возможно C способами. С2 dдругой стороны, число различных вариантов настройки для одной свободной переменной ииспользования указанных в формулировке утверждения операций на основании (3-10) равноNdПри этом справедливость равенстваd -1( ;1) 2 Sd ( 1;2)= + . (3-17)2 d -1C d = 2 Sd ( + 1;2)(3-18)2доказывает утверждение.Введенные выше операции настройки позволяют объединить пару подфрагментов в указанномпорядке. Для обеспечения возможности их объединения в про<strong>из</strong>вольном порядке введем четвертуюоперацию настройки - замену переменных их инверсиями. При этом справедливо следующееутверждение: использование четырех операций настройки позволяет объединить любую паруподфрагментов ПФ в остаточную функцию при про<strong>из</strong>вольном порядке их расположения в ней.Случай 3: b = 2. Пусть в настроечном поле имеются две свободные переменные и используютсятри операции настройки; тогда для d = 3 число настроек N (3;2) = 12. Следовательно, в этом случаеосуществляется выбор и объединение четырех подфрагментов <strong>из</strong> восьми в двенадцати различныхсочетаниях. С другой стороны, общее число сочетаний <strong>из</strong> 2 d подфрагментов по четыре при условии,что в столбце значений остаточной функции каждый подфрагмент ПФ с меньшим номером будет44расположен над подфрагментом ПФ с большим номером, равно C . При d = 3 C2 d8= 70 . Поэтомууже при d = 3 не удается выбрать и объединить в остаточную функцию про<strong>из</strong>вольные четыреподфрагмента ПФ.В общем случае объединение про<strong>из</strong>вольных четырех подфрагментов ПФ при использовании трехопераций настройки не удается, так как4C d > Nd ( ;2)(3-19)24Например, при d = 6 C64= 635376, в то время как N (6;2) = 4816 .Так как объединение про<strong>из</strong>вольных четырех подфрагментов невозможно, а выбор определенныхсочетаний <strong>из</strong> четырех подфрагментов связан с большим перебором, то в дальнейшем будемрассматривать лишь случай, когда объединению подлежат два подфрагмента.


Построение порождающей функции настраиваемого модуля.При построении модулей <strong>из</strong> ФЭ основным критерием является число внешних выводов, которое пр<strong>из</strong>аданных <strong>функциональных</strong> возможностях требуется миним<strong>из</strong>ировать [32].Рассмотрим следующую задачу. Пусть дан список <strong>из</strong> N булевых функций, каждая <strong>из</strong> которыхсущественно зависит от п переменных: f1( xn,..., x1), f2( xn,..., x1),..., fN( xn,..., x1). Требуется построитьбулеву функцию F( zg,..., z1), зависящую от возможно меньшего числа переменных g > n, котораяспособна в результате выполнения над ней операций настройки порождать любую <strong>из</strong> N упомянутыхфункций.Под возможно меньшим числом переменных g будем подразумевать не абсолютный минимум, аминимум, достижимый при реальном объеме перебора.Из <strong>из</strong>ложенного ранее следует, что для построения ПФ надо решить две основные задачи: а)сформировать на основании списка f1, f2,..., fNопределенный состав подфрагментов; б) разместитьподфрагменты в рациональном порядке, позволяющем выбирать и объединять их путем настройки.Решение этих задач позволяет математически обеспечить метод построения ПФ.Простейший вариант решения - использовать в качестве подфрагментов сами функцииf1, f2,..., fN. При этом порядок их расположения может быть про<strong>из</strong>вольным, а настроечное полеотделено от информационного. Число настроечных переменных в этом случае определяется <strong>из</strong>соотношенияd = ]log2N[.(3-20)ПФ при таком подходе имеет следующий вид:гдеNσ σ σF =Ú z z ... z f ( z ,..., z ),(3-21)i=1d d-1 1n+ d n+ d- 1 n+1 i n 1zì z при σ = 1;= íî z j при σ = 0.σ j j jn+jПример. Построить ПФ для следующего набора функций:f= xxx;1 1 2 3f = xxx Úxxx Úxxx Ú xxx;2 1 2 3 1 2 3 1 2 3 1 2 3f = x Úx Úx;3 1 2 3f = xx Úxx Úxx.4 1 2 1 3 2 3Поскольку N = 4, то d = log24= 2.Введем настроечные переменные x4и x5; тогда функцияF = xx f Ú xx f Úxx f Ú xx f1 5 4 1 5 4 2 5 4 3 5 4 4является порождающей.Точно так же порождающими являются функции с любым другим расположением подфрагментов,например функцияF = xx f Úxx f Úxx f Ú xx f2 5 4 2 5 4 4 5 4 1 5 4 3Несмотря на то, что <strong>модули</strong>, соответствующие этим функциям, имеют одинаковое число внешнихвыводов, их элементная сложность различна: некоторые формулы миним<strong>из</strong>ируются в большей,некоторые в меньшей степени.В <strong>из</strong>ложенном способе формирования ПФ вид порождаемых функций fiникак не влияет на числовходов. Оно всегда составляет g' = n+ ]log2N[. В то же время в функциях fiмогут быть общиесоставные части.Возникает предположение, что наличие одинаковых составных частей в различных функциях можетбыть использовано с целью сокращения суммарного числа подфрагментов. В самом деле, какой смыслj


дважды вносить в ПФ идентичные «половины» двух функций? Может быть, достаточно записать в ПФкаждую <strong>из</strong> составных частей функции fiвсего один раз, а потом, объединяя их, составлять требуемыефункции?Предположение это оправданно. Только, к сожалению, в большинстве случаев не удается в качестве«строительного материала» ПФ использовать составные части, меньшие чем «половина» функции fi,так как выше мы показали, что любые два подфрагмента можно путем настройки объединить в любомпорядке. Этот вывод по отношению к четырем, восьми и большему числу подфрагментовнесправедлив.Следовательно, для формирования ПФ достаточно: а) определить номенклатуру подфрагментов1длиной: 2 n- , <strong>из</strong> которых могут быть сформированы заданные функции; б) объединить подфрагменты водну функцию, которая и будет соответствовать искомой ПФ.Формирование подфрагментов осуществляется путем разложения каждой <strong>из</strong> функций fiпо одной <strong>из</strong>переменных. Так как допустимо про<strong>из</strong>вольное переименование входных переменных, то будем считать,что разложение про<strong>из</strong>водится по переменной xn:f ( x ,..., x ) = x f (0, x ,..., x ) Ú x f (1, x ,..., x ) = x ϕ ( x ,..., x ) Ú x ϕ ( x ,..., x ). (3-22)' "i n 1 n 1 n-1 1 n i n-1 1 n j n-1 1 n j n-1 1При табличной форме задания, когда переменные имеют порядок расположения xn, xn- 1,...,x1иразложение функции выполняется по переменной xn, одному подфрагменту соответствует верхняяполовина столбца значений функции, а другому - нижняя половина.Разложим каждую <strong>из</strong> N функций по одной переменной и предположим, что суммарное числоразличных подфрагментов у всех этих N функций равно r . Два подфрагмента будем называтьразличными, если порядки расположения нулей и единиц в их столбцах значений не совпадают.Необходимым условием для того, чтобы некоторая функция была порождающей, являетсявходимость каждого <strong>из</strong> r подфрагментоп, указанных выше, в столбец значений этой функции покрайней мере один раз. Выполнение этого условия обеспечивает минимальную номенклатуруподфрагментов, которую должен иметь столбец значений функции, претендующей на рольпорождающей для заданного набора <strong>из</strong> N функций.Если подфрагменты в функции могут быть выбраны в любом сочетании и порядке, то ихминимальная номенклатура является и достаточной, так как ни одна <strong>из</strong> N заданных функций не1должна иметь двух одинаковых подфрагментов длиной 2 n- ввиду того, что в противном случае оназависела бы от одной <strong>из</strong> переменных несущественно.Вторым вопросом, решаемым при построении ПФ, является определение порядка расположениянайденных подфрагментов требуемой номенклатуры в столбце значений ПФ.]log 2 r[1Пусть имеется столбец значений некоторой функции, разделенный на 2 позиций длиной 2 n- ,в котором значения функций еще не проставлены. Разместим на некоторых позициях столбца в1про<strong>из</strong>вольном порядке r различных подфрагментов длиной 2 n- ]log 2 r[, а остальные 2 - r позицийзаполним про<strong>из</strong>вольно.Из сказанного выше следует, что сформированная таким образом функция являетсяпорождающей для заданного набора N функций при использовании операций настройки четырехтипов, так как любая пара подфрагментов, номенклатура которых совпадает с номенклатуройподфрагментов заданных функций, может быть выбрана в любом сочетании и порядке, образуяостаточные функции, совпадающие с заданными.Таким образом, при указанном способе формирования ПФ число настроечных переменных d = ]log2r[,а число информационных переменных a= n- 1. При этом общее число переменных ПФg" = ]log2r[ + n- 1, (3-23)а число различных ПФ]log 2 r[v = (2 ).(3-24)При аналитической форме представления построенная ПФ имеет видгде(3-25)


Эффективность метода. Для того чтобы ПФ, построенная при помощи <strong>из</strong>ложенного метода, содержаламеньшее число переменных по сравнению с их числом, получаемым при объединении в ПФ самихфункций, необходимо выполнение неравенства8" < *'. (3-26)(3-27)Подставляя в (3-26) значения g' и g", получимРешение этого неравенства имеет следующий вид:M ° BlJVI . (3-28)Полученная оценка для числа подфрагментов может быть в ряде случаев улучшена. Для этогоопределим, какое число различных подфрагментов длиной 2 п ~ 1 содержится во всех булевых функцияхп переменных. Значение этой величиныГш.х = 2 2Я - 1 . (3-29)На основе объединения полученных соотношений можно утверждать, что число различных фрагментовг должно удовлетворять неравенствуr Pç ÷δxδxè k ø è i ø(3-32)Введенный критерий предложен для разложения функций, принадлежащих классу про<strong>из</strong>вольныхфункций. Покажем, что выбор этого критерия является естественным. Пусть задана функция,принадлежащая классу пороговых. Про<strong>из</strong>ведем разложение этой функции по переменной,


обладающей наибольшим весом [7]. Для этого класса функций выбор переменной, по которой должновыполняться разложение, по любому <strong>из</strong> двух указанных критериев приводит обычно к одному и томуже результату. Если же некоторая функция является симметричной по переменным xkи xi, торазложение может выполняться по любой <strong>из</strong> этих переменных.Если задано несколько булевых функций, каждая <strong>из</strong> которых зависит от п переменных, то ихпервоначально необходимо переобозначить так, чтобы при разложении по какой-либо однойпеременной общее число различных фрагментов было минимальным. Для достижения этоговоспользуемся следующей процедурой: а) в каждой <strong>из</strong> заданных формул определяем веса про<strong>из</strong>водныхпо всем переменным; б) про<strong>из</strong>водим переобозначение переменных в каждой формуле так, чтопеременная с большим весом про<strong>из</strong>водной будет иметь и больший порядковый номер; в) раскладываемвсе заданные формулы по переменной с наибольшим порядковым номером.Использование этой процедуры, как правило, позволяет уменьшить число различных подфрагментов всистеме заданных функций по сравнению с разложением в соответствии с исходной нумерациейпеременных, хотя это положение и не удается доказать.Пример. Пусть заданы функции f1 = vvv1 2 3, f2 = v1( v2Ú v3), f3 = vv1 3Ú v2, f4 = v1Úv2 Ú v3. Определимнумерацию переменных, при котором число различных подфрагментов будет минимальным. Составимтаблицу истинности для заданных функций (табл. 3-6).Таблица 3-6Таблица истинности функций f1¸f4v3v2v 1 1f2f3f4v3v2v 1 1f2f3f400000011010100000001001101111111001101010001010101111111Таким образом, заданный набор функций содержит шесть различных подфрагментов: ϕ1= 0000 ;ϕ2= 0001; ϕ3= 0011 ; ϕ4= 0101; ϕ5= 0111, ϕ6= 1111. Попытаемся уменьшить значение r путемпереобозначения переменных. Функции f и 1f4симметричны по всем переменным; в f2наибольшимвесом про<strong>из</strong>водной обладает переменная v1, а в f3— переменная v2. Поэтому переобозначимпеременные следующим образом: f1 = xxx1 2 3, f2 = ( x1Ú x2)x3, f3 = xx1 2Ú x3, f4 = x1Úx2 Ú x3.Из таблицы истинности этих функций (табл. 3-7) следует, что число различных подфрагментовпосле переобозначения при разложении по переменной x3равно четырем: ϕ1= 0000 ;ϕ2= 0001; ϕ3= 0111 ; ϕ4= 1111.Таблица 3-7Миним<strong>из</strong>ация числа подфрагментовx3x2x f 1 1f2f3f4x3x2x f 1 1f2f3f40 0 0 0 0 0 0 1 0 0 0 0 1 10 0 1 0 0 0 1 1 0 1 0 1 1 10 1 0 0 0 0 1 1 1 0 0 1 1 10 1 1 0 0 1 1 1 1 1 1 1 1 1Таким образом, использование предложенной процедуры позволило уменьшить число различныхподфрагментов и тем самым сократить число входов модуля.Миним<strong>из</strong>ация элементной сложности модуля. Эта задача сводится к задаче упрощения ПФ,зависящей от фиксированного числа переменных, и, в частности, к миним<strong>из</strong>ации числа букв в ней.Так как ПФ при большом числе подфрагментов в объединяемых функциях зависит от сравнительнобольшого числа переменных, то нахождение формулы, минимальной по числу букв, дляпредставления ПФ в аналитическом виде с помощью классического аппарата миним<strong>из</strong>ации являетсячрезвычайно громоздким и трудоемким. При некоторых условиях, которые будут определены ниже,удается упростить процесс миним<strong>из</strong>ации. Запишем ПФ модуля в следующем виде:


гдеvσ g σ n 12 g 1 g n+1 + ψi n 1i=1F ( z ,..., z ) =Ú z ... z ( z ,..., z ), (3-33)v= g = r + n-]log 2 r [ -2 1 , ]log2[ 1.Такое представление ПФ может быть получено в результате объединения соседних пар подфрагментов.При этомψ ( z ,..., z ) = z ϕ'( z ,..., z ) Ú znϕ''( z ,..., z ). (3-34)i n 1 n n-1 1 n-1 1Поскольку подфрагменты представляют собой функции и поэтому могут быть проминим<strong>из</strong>ированыотдельно, направим усилия на миним<strong>из</strong>ацию числа букв в той части конъюнкции в выражении (3-33),которая состоит <strong>из</strong> настроечных переменных. Для этого ПФ будем искать в форме, отличающейся отформы выражения (3-33) тем, что буквы с инверсиями, соответствующие настроечным переменным, вней исключены. При этом указанные части конъюнкций соответствуют всевозможным сочетаниям <strong>из</strong>]log2r[ - 1 переменных настроечного поля без инверсий, взятым по 0,1,2,...,]log2r[ - 1 переменным, аобщее число конъюнкций в этой форме не <strong>из</strong>меняется по сравнению с их числом в выражении (3-33)]log 2 r[ 1и равно 2- . Назовем эту форму ПФ миним<strong>из</strong>ированной. Для того чтобы такая формапредставления ПФ была эквивалентна F2, фрагменты ψiдолжны удовлетворять системе соотношений,получаемой <strong>из</strong> условий равенства ПФ, представленных в этих формах. Сравнение этих выраженийбудем выполнять в табличной форме.Для формал<strong>из</strong>ованного обозначения соотношений между фрагментами ψiи ψjвведем в рассмотрениефункцию импликации. В первой главе мы уже пользовались функцией, задаваемой таблицейистинности вида табл. 3-8, которая называется импликацией x1в x2.Говорят, что функция fiимплицирует fj( fi ® fj), если столбец значений таблицы истинности fj«покрывает» соответствующий столбец fi;. При этом, если значение fiна некотором наборе равнонулю, то и значение fiна том же наборе также равно нулю; если значениеравно единице, то значение fiнаТаблица истинности функции импликации Таблица 3-8x fx1 2fjна некотором наборе001101011101этом наборе может быть про<strong>из</strong>вольным. Поэтому, в частности, можно утверждать, что .1 2 1 2Отметим, что если при построении ПФ без учета ее элементной сложности подфрагменты моглиразмещаться в столбце значений про<strong>из</strong>вольно, то при нахождении ПФ в миним<strong>из</strong>ированной форме,системе импликаций которой должны удовлетворять фрагменты, накладываются ограничения напорядок их размещения, несмотря на возможность использования четырех разновидностей операцийнастройки, рассмотренных выше.Пример. Пусть число подфрагментов, зависящих от трех переменных, в ПФ равно восьми. Тогда этафункция имеет видF( z ,..., z ) = z zz ϕ Úz zz ϕ Úzzz ϕ Ú zzz ϕ Úzzz ϕ Úzzz ϕ Úzzz ϕ Ú zzzϕ.1 6 1 6 5 4 1 6 5 4 2 6 5 4 3 6 5 4 4 6 5 4 5 6 5 4 6 6 5 4 7 6 5 4 8Приведем это выражение к виду (3-33):F ( z ,..., z ) = z z ( z ϕ Ú z ϕ ) Úzz ( z ϕ Ú z ϕ ) Úzz ( z ϕ Úz ϕ ) Úzz ( z ϕ Ú z ϕ ) =2 6 1 6 5 4 1 4 2 6 5 4 3 4 4 6 5 4 5 4 6 6 5 4 7 4 8= z zψ Ú zz ϕ Úzz ϕ Úzzϕ.(3-36)6 5 1 6 5 2 6 5 3 6 5 4Определим условия для ψi, при выполнении которых F2может быть представлена в миним<strong>из</strong>ированнойформе:F ( z ,..., z ) = ψ Úzψ Úzψ Ú zzψ. (3-37)3 6 1 1 5 2 6 3 5 6 4


Составим таблицы истинности для функции F 2 и F 3 и определим условия, выполнение которыхнеобходимо для эквивалентности этих функций (табл. 3-9)Таблица 3-9Условия эквивалентности функции F2и F3z6z5F2F300110101ψ1ψ2ψψ34ψ1ψ1Úψ2ψ Ú ψ1 3ψ Úψ Úψ Ú ψ1 2 3 4При этом F3 = F2, если выполняется система соотношений вида:ψ = ψ ;(3-38)1 1ψ Ú ψ = ψ ;(3-39)1 2 2ψ Ú ψ = ψ ;(3-40)1 3 3ψ Úψ Úψ Ú ψ = ψ ;(3-41)1 2 3 4 4Из соотношения (3-41) следует, что фрагмент ψ1должен быть построен в результате объединенияподфрагментов ψ и ψj, так чтобы выполнялась система импликации1 4 2 4 3 4iψ ® ψ ; ψ ® ψ ; ψ ® ψ , (3-42)Т. е. столбец значений ψ4должен «покрывать» столбцы значений ψ1, ψ2, ψ3.Из соотношений (3-39) и (3-40) следует, что фрагмент ψ1должен удовлетворять системе импликацийψ ® ψ ; ψ ® ψ ,(3-43)1 2 1 3т. е. столбцы значений ф 2 и ф 3 должны «покрывать» столбец значений ψ1 . Таким образом, фрагмент ψ1должен быть выбран так, чтобы он «покрывался» всеми остальными фрагментами, а фрагмент ψ4 самдолжен «покрывать» все остальные фрагменты. Фрагменты ψ2 иψ3 строятся так, чтобысоответствующие им функции были наиболее простыми. При этом, как следует <strong>из</strong> табл. 3-9, порядокрасположения фрагментов должен быть следующим: ψ1 , ψ2 ,ψ3 , ψ4 .Следовательно, если фрагменты могут быть сформированы так, что соотношения (3-42) и (3-43)выполняются, то ПФ может быть представлена в миним<strong>из</strong>ированном виде (3-37). После этого ПФможет быть проминим<strong>из</strong>ирована еще больше с помощью классических методов. Если хотя бы одна <strong>из</strong>импликаций не выполняется, то ПФ записывается в виде (3-36), после чего она также миним<strong>из</strong>ируетсяклассическими методами.Процедура построения порождающей функции. На основании результатов, <strong>из</strong>ложенных выше,может быть предложена процедура построения ПФ модуля, реал<strong>из</strong>ующего путем настройки заданныйнабор <strong>из</strong> N булевых функций, каждая <strong>из</strong> которых существенно зависит от п переменных.1. В каждой <strong>из</strong> N заданных функций определяем веса про<strong>из</strong>водных по всем переменным.2. Про<strong>из</strong>водим переобозначение переменных в каждой функции так, что переменная с большимвесом про<strong>из</strong>водной будет иметь и больший порядковый номер.3. Раскладываем все функции по переменной с наибольшимпорядковым номером.4. Формируем список различных подфрагментов ϕi, содержащихся в N функциях набора.5. Подсчитываем число различных подфрагментов ϕi. При этом число переменных в ПФопределяется <strong>из</strong> соотношенияg = ]log r[ + n- 1.(3-44)26. Если полученные подфрагменты ф, могут быть объединены таким образом, что выполняетсясистема соотношений вида


гдеψ1 = ψ1;üψ2 = ψ1Úψ2;ïïψ3 = ψ1Úψ3;ý (3-45)........................ ïïψ = ψ Úψ Ú... Úψ, ï þt1 2ψ ( z ,..., z ) = z ϕ'( z ,..., z ) Ú z ϕ''( z ,..., z ),i n 1 n n-1 1 n n-1 1то искомая ПФ может быть представлена в видеF( z ,..., z ) = ϕ Ú z ψ Úz ψ Ú... Úz ψ Úz z ψ Ú... Ú z z ... z ψ . (3-46)g 1 1 n+ 1 2 n+ 2 3 g j n+ 1 n+ 2 k n+ 1 n+2 g tЕсли найденные подфрагменты ϕi, не могут быть объединены так, чтобы выполнялось каждое <strong>из</strong>соотношений приведенной системы, то ПФ представляется в видеttσgσσng σn1g 1 g nϕi n- 1 1 g n+1 + ϕj n 1i= 1 i=1tF( z ,..., z ) =Ú z ... z ( z ,..., z ) =Ú z ... z ( z ,..., z ), (3-47)где]log 2r[ ]log 2r[ -1v= 2 ; t = 2 .7. Осуществляем миним<strong>из</strong>ацию найденной функции с помощью классических методов с цельюуменьшения элементной сложности настраиваемого модуля.8. Составляем таблицу истинности <strong>из</strong> переменных настроечного поля z ,..., z , в столбце значенийкоторой проставляем виденные подфрагменты ϕi, в порядке их расположения в ПФ.9. Каждую <strong>из</strong> N заданных функций представляем путем объединения столбцов значенийподфрагментов в видеfi = ϕj× ϕk.(3-48)10. Таблицу настроек искомого модуля для реал<strong>из</strong>аций функций, однотипных с заданными,определяем на основе сопоставления каждого <strong>из</strong> выражений вида fi = ϕj × ϕkи таблицы истинностинастроечного поля, с помощью которой осуществляется выбор и объединение подфрагментов ϕjи ϕk.3-3. ПРИМЕР ПОСТРОЕНИЯ ПОРОЖДАЮЩЕЙ ФУНКЦИИНАСТРАИВАЕМОГО МОДУЛЯВоспользуемся предложенной процедурой для нахождения структуры модуля, универсального в классеформул в базисе {&, Ú , } <strong>из</strong> пяти букв.Предполагая, что прямые и инверсные входы ИИ равнодоступны и возможна перестановка входныхпеременных, для построения ПФ модуля воспользуемся PN-классификацией. При этом в ПФдостаточно объединить следующие 24 представителя PN-типов бесповторных формул в базисе{&, Ú , } <strong>из</strong> пяти букв:gn


1. f = xxxxx;1 1 2 3 4 52. f = ( x Úx ) xxx;2 1 2 3 4 53. f = ( xx Úx ) xx;3 1 2 3 4 54. f = ( x Úx Úx ) xx;4 1 2 3 4 55. f = ( xxx Úx ) x ;5 1 2 3 4 56. f = [( x Úx ) x Úx ] x ;6 1 2 3 4 57. f = ( xx Úx Úx ) x ;7 1 2 3 4 58. f = ( x Úx Úx Úx ) x ;8 1 2 3 4 59. f = xxxx Úx;9 1 2 3 4 510. f = ( x Úx ) xx Úx;11. f10 1 2 3 4 5= ( xx Úx ) x Úx;11 1 2 3 4 513. f = xxx Ú x Ú x ;13 1 2 3 4 514. f = ( x Úx ) x Úx Úx;14 1 2 3 4 515. f = xx Úx Úx Úx;15 1 2 3 4 516. f = x Úx Úx Ú x Ú x ;16 1 2 3 4 517. f = xx Úxx Úx;17 1 2 3 4 518. f = ( x Úx )( x Úx ) Úx;18 1 2 3 4 519. f = ( xx Úxx ) x ;19 1 2 3 4 520. f = ( x Úx )( x Úx ) x ;20 1 2 3 4 521. f = xxx Úxx;21 1 2 3 4 522 1 2 3 4 512. f12 = ( x1Úx2Úx3) x4Úx5;24. f24 = ( x1Úx2Úx3)( x4Úx5).Нумерация переменных в этих формулах выбрана так, что переменные с большим весом булевойпро<strong>из</strong>водной имеют больший порядковый номер. Выбранное правило нумерации обеспечиваетсокращение числа различных подфрагментов для заданного набора формул и в конечном итогеприводит к уменьшению числа внешних выводов в модуле.Для нахождения различных подфрагментов составим таблицу истинности них формул (табл. 3-10).Заданный набор формул содержит 16 различных подфрагментов длиной 16 (табл, 3-11).22. f= ( x Úx ) x Úxx;23. f = ( xx Úx )( xx);23 1 2 3 4 5


Таблица 3-105x 4x 3x 2x 1x 1f 2f 3f 4f 5f 6f 7f 8f 9f 10f 11f00000000000000001111111111111111000000001111111100000000111111110000111100001111000011110000111100110011001100110011001100110011010101010101010101010101010101010000000000000000000000000000000100000000000000000000000000000111000000000000000000000000000111110000000000000000000000000111111100000000000000000000000111111111000000000000000000000111111111110000000000000000000111111111111100000000000000000111111111111111000000000000000111111111111111110000000000000111111111111111111100000000000111111111111111111111


f12f13f14f15f16f17f18f19f20f21f22f23f2400000000011111111111111111111111000000011111111111111111111111110000011111111111111111111111111100011111111111111111111111111111011111111111111111111111111111110001000100011111111111111111111100000111011101111111111111111111000000000000000000010001000111110000000000000000000001110111011100000001000000010000000111111111000001110000011100000111111111110000000000011111000111110001111100000000011111110111111101111111В аналитической форме подфрагменты имеют следующий вид:1. ϕ = 0;9. ϕ = ( xx Úx ) x ;12. ϕ = xxxxx;2 1 2 3 4 53. ϕ = xxx;3 1 2 34. ϕ = xxx Úx;4 1 2 3 45. ϕ = ( x Úx ) xx;5 1 2 3 46. ϕ = ( x Ú x ) x ;6 1 2 37. ϕ = ( x Úx )( x Úx);7 1 2 3 49 1 2 3 410. ϕ = xx Úx;10 1 2 311. ϕ = xx Úxx;11 1 2 3 412. ϕ = xx Úx Úx;12 1 2 3 413. ϕ = ( x Úx Úx ) x ;13 1 2 3 414. ϕ = x Úx Úx;14 1 2 315. ϕ = x Úx Úx Úx;15 1 2 3 48. ϕ8 = ( x1Ú x2) x3Úx4;16. ϕ16= 1;Отметим, что эти подфрагменты представляют собой все PN-типы формул, бесповторных в базисе{&, Ú, } <strong>из</strong> 4,3 и 0 букв.Так как число различных подфрагментов в этом случае r = 16 , то общее число переменных, от которогозависит ПФ:g = ]log2r[ + n- 1=8.При этом ПФ может быть представлена в виде


F( z ,..., z ) = z z z z ϕ Ú zz zz ϕ Úz zzz ϕ Úz zzzϕÚ8 1 8 7 6 5 α 8 7 6 5 β 8 7 6 5 j 8 7 6 5Úzzz z ϕ Úzzzz ϕ Úzzzz ϕ Ú zzzz ϕ Úzz z z ϕ Ú8 7 6 5 ω 8 7 6 5 v 8 7 6 5 p 8 7 6 5 e 8 7 6 5 tÚzz zz ϕ Ú zzzz ϕ Úzzzz ϕ Úzzz z ϕ ÚzzzzϕÚ8 7 6 5 h 8 7 6 5 k 8 7 6 5 n 8 7 6 5 r 8 7 6 5Úzzzz ϕ Ú zzzz ϕ = zz z ( z5ϕ zÚ z ϕ ) Ú zzz 8 7 ( z5ϕ Úzϕ ) Ú8 7 6 5 h 8 7 6 5 κ 8 7 65 β6 j 5Úzzz ( z ϕ Úz ϕ ) Úzzz ( z ϕ Úz ϕ ) Ú zz z ( z ϕ Úz ϕ ) Úzzz ( z ϕ Ú z ϕ ) Úzzz ( z ϕ Úzϕ ) Ú8 7 6 5 ω 5 v 8 7 6 5 p 5 e 8 7 6 5 t 5 s 8 7 6 5 k 5 n 8 7 6 5 r 5Úzzz 8 7 6( z5ϕhÚz5ϕκ).(3-49)Таким образом, миним<strong>из</strong>ированной формой ПФ является формула видаF( z8,..., z1)= z8z7z6ϕ1Úz8zz 7 6ϕ2 Úzzz 8 7 6ϕ4 Ú zz8 7z6ϕ5Ú(3-50)Úzzz 7 ϕ Úzzz6ϕ Úzzzϕ.8 6 6 8 7 7 8 7 6 8αОпределим соотношение для ψ1, при выполнении которых F может быть представлена в видеF'( z8,..., z1) = ψ1Úz6ψ2 Úz7ψ3 Úzz 7 6ψ 4Úz8ψ5Ú zz8 6ψ6 Úzz 8 7ψ7 Ú zzz8 7 6ψ8.(3-51)Составим таблицы истинности для функции F и F ' и определим условия, при которых эти функцииэквивалентны (табл. 3-12).Таблица 3-11Таблица истинности подфрагментовx x3x2x1ϕ1ϕ2ϕ3ϕ4ϕ5ϕ6ϕ7ϕ8ϕ9ϕ10ϕ11ϕ12ϕ13ϕ14ϕ15ϕ1600000000111111110000111100001111001100110011001101010101010101010000000000000000000000000000000100000001000000010000000111111111000000000000011100000111000001110000011101110111λu0000011111111111u0000000000011111000111110001111100010001000111110001111111111111000000000111111101111111011111110111111111111111λ1111111111111111z8z7 60000111100110011При этомУсловия миним<strong>из</strong>ации ПФz F F '01010101ψψψψψψψψ12345678ψ1ψ Úψ1 2ψ Úψ1 3ψ Úψ Úψ Úψ1 2 3 4ψ Úψ1 5ψ Úψ Úψ Úψ1 2 5 6ψ Úψ Úψ Úψ1 3 5 7ψ Úψ Úψ Úψ Úψ Úψ Úψ Úψ1 2 3 4 5 6 7 8F'= F , если имеет место система соотношенийТаблица 3-12


ψ = ψ ;1 1ψ Ú ψ = ψ ;1 2 2ψ Ú ψ = ψ ;1 3 3(3-52)(3-53)(3-54)ψ Ú ψ = ψ ;1 5 5ψ Úψ Úψ Ú ψ = ψ ;1 2 5 6 6ψ Úψ Úψ Ú ψ = ψ ;1 3 5 7 7(3-56)(3-57)(3-58)ψ1Úψ2 Úψ3Ú ψ4 = ψ4;(3-55)ψ1Úψ2Úψ3Úψ4Úψ5Úψ6Úψ7 Ú ψ8 = ψ8;(3-59)Из этих соотношений следует, чтоψ ® ψ ; ψ ® ψ ; ψ ® ψ ; ψ ® ψ ; ψ ® ψ ; ψ ® ψ ; ψ ® ψ , (3-60)2 1 3 1 4 1 5 1 6 1 7 1 8т.е столбец значений ψ1должен «показываться» любым <strong>из</strong> оставшихся семи фрагментов ψi.Пустьψ 1= ϕ 1× ϕ zzzzz.2=1 2 3 4 5(3 - 61)Соотношения (3-53)-(3-55) порождают импликациюψ Ú ψ ® ψ . (3-62)2 3 4Соотношения (3-53),(3-56),(3-57)-импликациюψ Ú ψ ® ψ , (3-63)2 5 6а соотношения (3-54), (3-56), (3-58)-импликациюψ Ú ψ ® ψ . (3-64)3 5 7Из соотношения (3-59) следует, чтоψ ® ψ ; ψ ® ψ ; ψ ® ψ ; ψ ® ψ ; ψ ® ψ ; ψ ® ψ ; ψ ® ψ ; (3-65)1 8 2 8 3 8 4 8 5 8 6 8 7 8т.е. столбец значений ψ8должен «покрывать» любой <strong>из</strong> оставшихся семи фрагментов ψi.Пустьψ = ϕ × ϕ = z Ú z Úz Úz Ú z . (3-66)8 15 16 1 2 3 4 5Если выбрать (табл. 3-13)ψ2 = ϕ3× ϕ4 = zzz1 2 3Ú zz4 5;üïψ3 = ϕ5× ϕ6 = ( z1Úz2) z3( z4Úz5); ý(3-67)ψ4 = ϕ7× ϕ8 = ( z1Úz2)( z3Úz4) Úzz4 5;ïþто будет выполняться импликация (3-62).При выбореψ5 = ϕ9× ϕ10 = ( zz1 2Úz3)( z4 Úz5);üý(3-68)ψ6 = ϕ11× ϕ12 = zz1 2Úzz 3 4Ú( z3Úz4) z5;þудовлетворяется импликации (3-63).И, наконец, выбравψ7 = ϕ13× ϕ14 = ( z1Úz2 Úz3)( z4Úz5),(3-69)закончим формирование фрагментов (табл. 3-13).При этом ПФ имеет видF( z ,..., z ) = zzzzz Ú( zzz Úzz ) z Ú( z Úz ) z ( z Úz ) z Ú8 1 1 2 3 4 5 1 2 3 4 5 6 1 2 3 4 5 7Ú( zz Úz )( z Úz ) z Ú( z Ú z )( z Úz ) zz ÚzzzzÚ1 2 3 4 5 8 1 2 3 4 6 7 1 2 6 8Ú( z Úz )( z Úz ) zz Ú( z Úz Ú z Úz Úz ) zzz.(3-71)1 2 3 4 7 8 1 2 3 4 5 6 7 8Таблица объединения фрагментовТаблица 3-13


Таблица 3-14Таблица истинности переменных настроечного поля8z 7z 6z 5zF00000000111111110000111100001111001100110011001101010101010101011ϕ2ϕ3ϕ4ϕ5ϕ6ϕ7ϕ8ϕ9ϕ10ϕ11ϕ12ϕ13ϕ14ϕ15ϕ16ϕ5z 4z 3z 2z 1z 1ψ 2ψ 3ψ 4ψ 5ψ 6ψ 7ψ 8ψ00000000000000001111111111111111000000001111111100000000111111110000111100001111000011110000111100110011001100110011001100110011010101010101010101010101010101010000000000000000000000000000000100000001000000010000000111111111000000000000011100000111000001110000011101110111000001110000011100000000000111110001111100011111000100010001111100011111111111110000000001111111011111110111011101111111111111111111111111111111


Так как полученная формула достаточно сложна (она содержит 47 букв), продолжим процесс ееминим<strong>из</strong>ации:F( z ,..., z ) = zz ( zzz Ú zz ) Ú{ zzz Úzz Ú[( z Úz )( z Úz Úz )( z Úz Úz ) z ] z } z Ú8 1 1 2 3 4 5 6 8 1 2 3 4 5 1 2 3 4 8 3 4 5 8 7 6Ú[( z Ú z )( z Úz ) z Ú( zz Úz ) z ]( z Úz).(3-72)1 2 3 8 7 1 2 3 8 4 5Эта формула содержит 34 буквы.Составим таблицу истинности для переменных настроечного поля ПФ с целью определения настроек,порождающих заданные функции (табл. 3-14).Таблица 3-15Таблица настроек для К=5Настройка Объединяемые фрагменты Реал<strong>из</strong>уемая формулаz = 0, z = 0, z = 0ϕ × ϕF = zzzzz8 7 61 21 1 2 3 4 5z8 = 0, z6 = 0, z5= 0ϕ1×ϕ5F2 = ( z1Úz2)zzz3 4 7z7 = 0, z6 = 0, z5= 0ϕ1×ϕ9F3 = ( zz1 2Ú z3)zz4 8z8 = z7, z6 = 0, z5= 0ϕ1×ϕ13F4 = ( z1Ú z2 Úz3)zz4 7z8 = 0, z7 = 0, z6 = z5ϕ1×ϕ4F5 = ( zzz 1 2 3Úz4)z5z8 = 0, z7 = z6 = z5ϕ1×ϕ8F6 = [( z1Úz2) z3Úz4]z5z8 = z6 = z5, z7= 0ϕ1×ϕ12F7 = ( zz 1 2 Ú z3Úz4)z5z8 = z7 = z6, z5= 0ϕ1×ϕ15F8 = ( z1Úz2 Úz3Úz4)z6z8 = z7 = z6, z5= 1ϕ2×ϕ16F9 = zzzz1 2 3 4Ú z6z8 = z6 = z5, z7= 1ϕ5×ϕ16F10 = ( z1Ú z2)zz3 4Úz5z8 = 1, z7 = z6 = z5ϕ9×ϕ16F11 = ( zz1 2Úz3)z4Úz5z8 = 1, z7 = 1, z6 = z5ϕ13×ϕ16F12 = ( z1Ú z2 Ú z3)z4Ú z 5z8 = z7, z6 = 1, z5= 1ϕ4×ϕ16F13 = zzz1 2 3Ú z4Úz7z7 = 1, z6 = 1, z5= 1ϕ8×ϕ16F14 = ( z1Ú z2)z3Úz4 Ú z8z8= 1, z6 = 1, z5= 1ϕ12×ϕ16F15 = zz1 2Úz3Ú z4Úz7z8 = 1, z7 = 1, z6= 1ϕ15×ϕ16F16 = z1Ú z2 Úz3Úz4 Ú z5z8 = 1, z7 = z6, z6= 1ϕ11×ϕ16F17 = zz1 2Úzz 3 4Úz5z8 = z5, z7 = 1, z6= 1ϕ7×ϕ16F18 = ( z1Úz2)( z3Ú z4)Ú z5z8 = z6, z7 = 0, z5= 0ϕ1×ϕ11F19 = ( zz1 2Úzz 3 4)z6z8 = 0, z7 = z6, z5= 0ϕ1×ϕ7F20 = ( z1Ú z2)( z3Úz4)z6z8 = 0, z7 = z6, z5= 0ϕ3×ϕ4F21 = zzz1 2 3Úzz4 5z8 = 0, z7 = 0, z6= 1ϕz8 = 0, z7 = 1, z5= 16×ϕ8F22 = ( z1Ú z2)z3Úzz 4 6z8 = 1, z7 = 0, z6= 0ϕ9×ϕ10F23 = ( zz1 2Ú z3)( z4 Úz5)z8 = 1, z7 = 0, z6= 0ϕ13×ϕ14F24 = ( z1Ú z2 Úz3)( z4 Ú z5)Заданные формулы <strong>из</strong> пяти букв могут быть образованы в результате объединения следующихподфрагментов:f = ϕ × ϕ ; f = ϕ × ϕ ; f = ϕ × ϕ ; f = ϕ × ϕ ;fffff1 1 2= ϕ × ϕ ;2 1 5= ϕ × ϕ ;3 1 9= ϕ × ϕ ;4 1 13= ϕ × ϕ ;5 1 4= ϕ × ϕ ;6 1 8fffff7 1 12= ϕ × ϕ ;8 1 15= ϕ × ϕ ;9 2 16= ϕ × ϕ ;10 5 16= ϕ × ϕ ;11 9 16= ϕ × ϕ ;12 13 16fffff13 4 16= ϕ × ϕ ;14 8 16= ϕ × ϕ ;15 12 16= ϕ × ϕ ;16 15 16= ϕ × ϕ ;17 11 16= ϕ × ϕ ;18 7 16fffff19 1 11= ϕ × ϕ ;20 1 7= ϕ × ϕ ;21 3 4= ϕ × ϕ ;22 6 8= ϕ × ϕ ;23 9 10= ϕ × ϕ ;24 13 14


Поэтому таблица настроек (табл. 3-15) искомого модуля для реал<strong>из</strong>аций функций, однотипных сзаданными, определяется на основе сопоставления каждого выражения вида fi = ϕj × ϕkи таблицыистинности настроечного поля, с помощью которой осуществляется выбор и объединениеподфрагментов ϕjи ϕk.Таблица 3-16Таблица настроек модуля для К=4Настройка Реал<strong>из</strong>уемая формулаz = 0, z = 0, z = 0, z = 1 F = zzzz8 7 6 5z = 0, z = 1, z = 0, z = 08 7 6 5z = 1, z = 0, z = 0, z = 08 7 6 5z = 1, z = 0, z = 0, z = 08 7 6 5z = 0, z = 0, z = 1, z = 18 7 6 5z = 0, z = 1, z = 1, z = 18 7 6 5z = 1, z = 0, z = 1, z = 18 7 6 5z = 1, z = 1, z = 1, z = 08 7 6 5z = 1, z = 0, z = 1, z = 08 7 6 5z = 0, z = 1, z = 1, z = 08 7 6 51 1 2 3 4F = ( z Ú z ) zz2 1 2 3 4F = ( zz Úz ) z3 1 2 3 4F = ( z Ú z Úz ) z4 1 2 3 4F = zzz Úz5 1 2 3 4F = ( z Úz ) z Ú z6 1 2 3 4F = zz Úz Úz7 1 2 3 4F = z Ú z Úz Úz8 1 2 3 4F = zz Úzz9 1 2 3 4F = ( z Úz )( z Úz)10 1 2 3 4Модули, разрабатываемые с помощью <strong>из</strong>ложенного в § 3-2 метода, обладают характерным свойством,состоящим в том, что если модуль универсален в классе формул в некотором базисе <strong>из</strong> К букв, то онтакже универсален в том же классе формул <strong>из</strong> К-1 букв при условии, что его информационные инастроечные входы независимы.Таким образом, модуль универсален при выполнении указанного условия для К=4 (табл. 3-16).Порождающая функция модуля, универсального в классе формул в базисе {&, Ú , } <strong>из</strong> трех букв,найденная с помощью той же процедуры, имеет видF( z4, z3, z2, z1) = ( z1Úz2 Úz3) z4 Ú zzz1 2 3.Приведем таблицу настроек этого модуля (табл. 3-17).Настройкаz = 0zzz4433= 1= 0= 1Реал<strong>из</strong>уемая формулаF = zzz1 1 2 3F = z Úz Úz2 1 2 3F = ( z Ú z ) z3 1 2 4F = zz Úz4 1 2 43-4. Техническая реал<strong>из</strong>ация настраиваемых логических модулейВ состав некоторых серий интегральных микросхем, выпускаемых отечественной промышленностью внастоящее время, входят НЛМ, принципы построения которых бл<strong>из</strong>ки принципам, <strong>из</strong>лагаемым внастоящей работе. Рассмотрим функциональные и электрические характеристики этих модулей.В состав серии 108 [51] входит НЛМ среднего уровня интеграции, реал<strong>из</strong>ованный на МОПтранзисторахв виде микросхемы, оформленной в прямоугольном стеклянном корпусе 401.14-1. Этамикросхема имеет следующие электрические характеристики:Напряжение источника питания, В………………………………………. - 27±10%Потребляемая мощность, мВт, не более………………………………….100Потребляемый ток, мА, не более.........................................…………….... 2,6Амплитуда импульсов входного напряжения, В, не менее……………. - 9,0Напряжение логической единицы (выходное), В, не менее…………… - 9,5Напряжение логического нуля (выходное), В, не более……………..… - 0,7Частота следования импульсов входного напряжения, кГц, не более….100


Таблица 3-18Бесповторные формулы <strong>из</strong> восьми букв, реал<strong>из</strong>уемые модулем К1ЖЛ081 путем настройкиСпособ настройки F1F211x = 0, x = 0 F = xxxxxxxx8F = xxxxxxxx8xxxxx9 10= 0, x = 19 10= 1, x = 09 10= 1, x = 19 10= 1, x = 19 7= 1, x = 110 7x = x , x = 09 10 8x = 0, x = x0 7 8x = 0, x = x9 4 8x = 0, x = x10 7 8x = x , x = 09 10 7x = x , x = x9 10 4 8x = 0, x = x10 6 81 1 2 3 4 5 6 7F = xxxx Ú xxxx21 1 2 3 4 5 6 7 8F = xx Ú xx Úxx Úx Úx31 1 2 3 4 5 6 7 8F = xxx Ú xxx Úxx41 1 2 3 4 5 6 7F = xx Úxx Úxx Úx Úx51 1 2 3 4 5 6 8 10F = xxxx Úxxx Úx61 1 2 3 4 5 6 8 9F = xxxxxxx Úx71 1 2 3 4 5 6 7 9F = ( xxxx Úxxx ) x81 1 2 3 4 5 6 7 109F1 = ( xxx1 2 3Úxxx 5 6 7)x4x10F = ( xx Úxx Úxx Ú x ) x101 1 2 3 4 5 6 7 9F = ( xxx Úxxx Úx ) x111 1 2 3 4 5 6 8 9F = ( xxx Úxx Ú x Ú x ) x121 1 2 3 5 6 7 8 9F = [ xx Úxx Úx ( x Ú x )] x131 1 2 3 4 6 5 7 981 1 2 3 4 5 6 7F = xxxx Ú xxxx21 1 2 3 4 5 6 7 8F = xx Ú xx Úxx Úx Úx31 1 2 3 4 5 6 7 8F = xxx Ú xxx Úxx41 1 2 3 4 5 6 7F = xx Úxx Úxx Úx Úx51 1 2 3 4 5 6 8 10F = xxxx Úxxx Úx61 1 2 3 4 5 6 8 9F = xxxxxxx Úx71 1 2 3 4 5 6 7 9F = ( xxxx Úxxx ) x81 1 2 3 4 5 6 7 109F1 = ( xxx1 2 3Úxxx 5 6 7)x4x10F = ( xx Úxx Úxx Ú x ) x101 1 2 3 4 5 6 7 9F = ( xxx Úxxx Úx ) x111 1 2 3 4 5 6 8 9F = ( xxx Úxx Ú x Ú x ) x121 1 2 3 5 6 7 8 9F = [ xx Úxx Úx ( x Ú x )] x131 1 2 3 4 6 5 7 9Модуль имеет десять логических входов, два выхода и реал<strong>из</strong>ует функции видаF( x ,..., x ) = xxxxxxxxxx 8 9 10 Ú( xx Úxx Úxx Ú xx ) xx10Ú1 1 10 1 2 3 4 5 6 7 1 2 3 4 5 6 7 8 9Ú( xxxx Úxxxx ) xx Ú( xxx Ú xxx Úx Úx ) xx ;(3-73)1 2 3 4 5 6 7 8 9 10 1 2 3 4 5 6 7 8 9 10F2( x1,..., x10) = F1( x1,..., x10).Для определения <strong>функциональных</strong> возможностей модуля в классе формул, бесповторных в базисе{&, Ú , }, приравняем переменные друг другу и константам. Получившиеся при этом бесповторныеформулы запишем в таблицу, формируя тем самым таблицу настроек модуля.В табл. 3-18 приведены все бесповторные формулы максимальной длины (восемь букв), реал<strong>из</strong>уемыемодулем путем настроек, а в работе [6] указаныБесповторные формулы <strong>из</strong> четырех букв, реал<strong>из</strong>уемыеМодулем К1ЖЛ014 путем настройкиУправляющие входыFАрифметический полиномP 0 R0 0 0 F1 = AA1 2Ú AA2+23 40 0 1F2 = AAAA41 2 3 40 1 00 1 1 F3 = AA1 2Ú A3ÚA2+ 1+141 0 0 F4 = AA1 2( A3ÚA4)2(1+1)1 0 1F5 = A1Ú A2 Ú AA1+ 1+23 41 1 01 1 1 F6 = ( A1ÚA2)AA(1+1)23 4F7 = A1Ú A2 Ú A3ÚA1+ 1+ 1+14F = ( A Ú A )( A Ú A )(1+ 1)(1+1)8 1 2 3 48Таблица 3-19Все бесповторные формулы меньшей длины, получаемые <strong>из</strong> формул, приведенных в табл. 3-18.Анал<strong>из</strong> <strong>функциональных</strong> возможностей этого модуля, выполненный в § 5-1, позволил установить, чтопри использовании PN-классификации он универсален в классе про<strong>из</strong>вольных формул в базисе{&, Ú, } <strong>из</strong> пяти букв и в классе бесповторных ДНФ <strong>из</strong> шести букв.Другой настраиваемый логический модуль входит в состав серии К501.


Микросхема К1ЖЛ014 состоит <strong>из</strong> трех одинаковых НЛМ с прямым и инверсным выходами,настраиваемыми общими входами P, θ , R[55].Порождающая функция, описывающая поведение каждого <strong>из</strong> трех модулей на прямом выходе, имеетвидF = [( A Ú A ) PÚ AA Ú[( A Ú A ) θ Ú AA ] RÚ[( A Ú A ) PÚ AA ][( A Ú A ) θ Ú AA].(3-74)1 2 1 2 3 4 3 4 1 2 1 2 3 4 3 4Этот модуль позволяет реал<strong>из</strong>овать путем настройки шесть представителей <strong>из</strong> десяти существующихтипов бесповторных формул в базисе{&, Ú, } <strong>из</strong> четырех букв (табл. 3-19).Как следует <strong>из</strong> приведенных результатов, этот модуль не универсален в классе формул в базисе{&, Ú, } <strong>из</strong> четырех букв, так как не позволяет реал<strong>из</strong>овать путем настройки представителей остальныхчетырех типов формул: 3+ 1;(1+ 1)1+ 1;(1+ 1+ 1)1;(2+ 1)1. Однако этот модуль универсален врассматриваемом классе формул <strong>из</strong> трех и менее букв.Микросхема К1ЖЛ014 реал<strong>из</strong>ована на МОП-структурах и имеет следующие основные электрическиепараметры:Выходные напряжения, Влогической единицы………. - 9,5логического нуля…………... - 1,0Входное напряжение, Влогические единицы………. - 8,5логического нуля………..… - 2,0Напряжение питания, В…... - 12,6±10%Напряжение смещения, В… - 27±10%<strong>Настраиваемые</strong> <strong>модули</strong> в настоящее время реал<strong>из</strong>уется не только средствами микроэлектроннойинтегральной технологии. Так, в состав универсальной системы <strong>элементов</strong> промышленнойпневмоавтоматики (УСЭППА) [11] входит одновыходное трехмембранное реле Р-3Ф, структуракоторого описывается функцией четырех переменных:y = x1( x1Úx3) Úxxx2 3 4.(3-75)Исследование <strong>функциональных</strong> возможностей этого модуля показано, что он реал<strong>из</strong>ует путемнастройки большое число формул, и в том числе следующие формулы <strong>из</strong> трех букв:при x1= 0y1 = xxx 2 3 4º 3;при x1= 1y2 = x2 Úx3Ú x4 º 1+ 1+1;при x3= 1y3 = x1( x2Ú x4) º 1(1+1);при x4 0, x4 x2= = y' = x ( x Ú x3) º 1(1+1);3 1 2при x2 = x1y4 = x1Ú xx3 4º 1+2;при x4 = 1, x4 = x3y' 4= x1Ú xx 2 3º 1+2.Таким образом, можно утверждать, что рассматриваемый модуль универсален в классе формул в базисе{&, Ú, } <strong>из</strong> трех букв при использовании PN-классификации.То, что мы <strong>из</strong>ложили выше, отвечает на вопросы: «Какие <strong>модули</strong> делать?» и «Как их проектировать?»Но этого, конечно, недостаточно: необходимо еще знать, что делать с готовыми модулями, т.е. какпостроить <strong>из</strong> них схемы, обладающие минимальной элементной сложностью. Это и составляет предметследующей главы.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!