Текст
                    

АКАДЕМИЯ НАУК ЛАТВИЙСКОЙ ССР ИНСТИТУТ ЭЛЕКТРОНИКИ И ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ ИЗДАТЕЛЬСТВО «ЗИНАТНЕ» РИГА 1978
у э о < ч о я А. Л. ГУРТОВЦЕВ А. Ф. ПЕТРЕНКО В. П. ЧАПЕНКО ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ УСТРОЙСТВ АВТОМАТИКИ - / МАЙ W
6S6.S Г 957 УДК 62-507:621.382.8 Логическое проектирование устройств автоматики. Гуртовцев А. Л., Петренко А. Ф., Чапен- ко В. П. Рига, «Зинатнё», 1978." 212 с. Книга посвящена вопросам логического проекти- рования быстродействующих дискретных устройств автоматики, выполненных на потенциальных логиче- ских элементах и интегральных схемах. Системати- зированы виды состязаний между сигналами, возмож- ных в комбинационных схемах и схемах с памятью. Излагаются методы логического проектирования устройств, устойчивых к состязаниям. Рассматривает- ся модель дискретного устройства, состоящая из уп- равляющего и управляемых конечных автоматов, функционально связанных между собой. Предлагает- ся методика устранения состязаний в устройстве, син- тезированном на основе этой модели. Методика иллю- стрируется на большом количестве примеров синтеза цифровых интегральных субсистем широкого примене- ния: триггеров, счетчиков, регистров сдвига, много- устойчивых пересчетных схем, формирователей сигна- лов. Табл. 213, ил. 84, библиогр. 38 назв. Печатается по решению Редакционно-издатель- ского совета Академии наук Латвийской ССР от 29 ап- реля 1976 года © Издательство «Зинатне», 1978 г. 30502—022 ГМ811(11)-78 5 7
ПРЕДИСЛОВИЕ В современной автоматике широко применяются дискретные устройства обработки и хранения информации. Техническая реа- лизация таких устройств осуществляется преимущественно на основе полупроводниковой интегральной технологии, позволя- ющей представить сложные устройства в виде композиции инте- гральных схем малой и средней степени интеграции или как одну интегральную схему большой степени интеграции. Процесс проектирования устройств автоматики, выполняю- щих достаточно сложные функции, условно подразделяют на два крупных последовательных этапа: логическое и техническое про- ектирование. Логическое проектирование (синтез) начинается с выяснения и описания функционирования устройства и заканчи- вается нахождением его функциональной схемы, состоящей из логических элементов заданного типа. Техническое проектирова- ние начинается с размещения элементов по конструктивным мо- дулям, платам и заканчивается выработкой технической доку- ментации на производство будущего устройства. ’ Практика создания устройств автоматики на интегральных схемах малой и средней степени интеграции, а также разра- ботки новых типов интегральных схем большой степени интегра- ции требует применения (и, конечно, развития) формализован- ных методов логического проектирования, основанных на теории .конечных автоматов. Дело в том, что проверка правильности и /оптимальности устройств, созданных на основе опыта и интуиции йнженера-схемотехника, затруднена из-за невозможности вос- произведения процесса проектирования. Кроме того, ужесточение сроков проектирования диктует необходимость использования
6» ПРЕДИСЛОВИЕ ЭВМ для автоматизации рутинных процессов логического проек- тирования, что может быть сделано только с помощью формали- зованных методов. Тем не менее необходимость использования формализованных методов инженерами-схемотехниками зача- стую ставится под сомнение. Ведь не секрет, что многие удачные схемотехнические решения получаются неформализованными^ интуитивными приемами в результате творческой работы инже- неров. По мнению авторов, это сомнение вызвано непониманием роли методов теории конечных автоматов, неверием в возможно- сти таких методов. На наш взгляд, формализованные методы яв- ляются полезным средством, инструментом в руках инженера- проектировщика, и умелое использование этого инструмента ни- чуть не сковывает творческую инициативу инженера, наоборот,, оно позволяет локализовать те задачи, для решения которых не- обходима именно творческая мысль. Неверие в возможности ме- тодов теории конечных автоматов обусловлено определенной не- развитостью практических аспектов самой теории. В данном от- ношении предстоит, несомненно, еще немалая работа. Вместе с тем, как будет показано на ряде примеров в данной книге, реше- ния, полученные формализованными методами, зачастую не усту- пают лучшим эвристическим решениям. Одной из основных задач, решаемых при логическом проекти- ровании интегральных схем большой степени интеграции и устройств на интегральных схемах малой и средней степени инте- грации наиболее распространенного потенциального типа, явля- ется обеспечение независимости работы создаваемого устройства от разброса задержек срабатывания логических элементов, обра- зующих его схему. Эта задача рассматривается в теории асин- хронных конечных автоматов как обеспечение безошибочного функционирования проектируемого устройства в условиях состя- заний сигналов. В создание этой теории существенный вклад внесли С. Ангер, А. Д. Закревский, С. Колдуэлл, В. Г. Лазарев, Р. Миллер, В. Н. Рогинский, Д. Хаффман, Э. А. Якубайтис [17— 19, 22, 29, 35—38]. В настоящей книге излагаются методы логического проекти- рования устойчивых к состязаниям быстродействующих дискрет- ных устройств на потенциальных логических элементах. Предло- женные методы ориентированы в первую очередь на устройства,
1 ПРЕДИСЛОВИЕ реализуемые в виде цифровых интегральных субсистем широкого применения. Характерным отличием излагаемого материала яв- ляется представление проектируемого устройства в виде компо- зиции управляющего и набора управляемых автоматов, выходы которых соединены со входами управляющего автомата. Книга ориентирована прежде всего на инженеров. Это пред- определило характер изложения материала. От читателя не тре- буется знания теории конечных автоматов. Вместе с тем предпо- лагается, что читатель знаком с основами булевой алгебры. Все необходимые понятия теории конечных автоматов изложены в первых двух главах. Материал носит конспективный характер и не преследует целью строгость изложения. Лица, желающие углу- бить свои знания в области асинхронных конечных автоматов, могут ознакомиться с первоисточниками, которые указаны в списке литературы, а также с обзорами [5, 32], в которых приве- дена довольно полная библиография. В гл. 3 рассматривается модель устройства, состоящая из управляющего и управляемых автоматов, функционально связан- ных между собой. Такая модель названа авторами композицион- ной. Представление устройства в виде композиционной модели позволяет использовать при проектировании типовые схемы. С точки зрения инженерной практики такой подход кажется вполне естественным, так как отражает обычное стремление инженера представить будущее устройство, уже в начальной стадии проек- тирования в виде композиции устройств, известных ему по опыту проектирования. С точки зрения теории конечных автоматов управляемые автоматы выполняют дополнительно функцию па- мяти проектируемого устройства. Примеры синтеза обширного класса цифровых субсистем, рас- сматриваемые в последующих главах, должны, по мнению авто- ров, помочь читателю освоиться с методикой логического проек- тирования устойчивых к состязаниям устройств на основе компо- зиционной модели. Для инженеров-схемотехников этот материал может быть полезен и при анализе устройств на интегральных схемах малой и средней степени интеграции, которые в большом объеме приводятся в литературе [2, 3, 21]. Вместе с тем авторы стремились проиллюстрировать тот факт, что с помощью аппа- рата логического проектирования можно получить схемы, удо-
ПРЕДИСЛОВИЕ s влетворяющие требованиям современной интегральной техноло- гии и схемотехники. Для специалистов в области теории конечных автоматов этот материал может быть полезен как набор типо- вых задач, предназначенных для сравнительной оценки эффектив- ности алгоритмов синтеза автоматов. Книга адресуется специалистам по автоматике, схемотехнике и интегральным схемам, а также всем лицам, интересующимся логическим проектированием. Авторы считают приятным долгом выразить благодарность Э. А. Якубайтису за постоянную поддержку и внимание к данной работе, А. Ю. Гобземису, взявшему на себя труд по редактирова- нию книги, и рецензенту Ю. Н. Артюху, способствовавшему улуч- шению содержания и стиля. Отзывы и пожелания просим направлять по адресу: 226006, г. Рига, ул. Академияс, 14, Институт электроники и вычислитель- ной техники АН Латвийской ССР. Авторы
Г ла в а 1 КОМБИНАЦИОННЫЕ СХЕМЫ В настоящее время широкое, распространение получили устройства автоматики, предназначенные для логической перера- ботки дискретной информации и выполненные на потенциальных элементах. В устройствах такого типа информация. представля- ется с помощью двоичных потенциальных, сигналов. Двоичный по- тенциальный сигнал можно рассматривать как некоторую аб- страктную переменную, принимающую два значения, например О VI, при этом одному уровню сигнала соответствует нулевое значе- ние, другому •— единичное. По функциональным свойствам дис- кретные устройства можно разделить на два класса. Первый класс образуют устройства, в которых любая комбинация значе- ний входных сигналов Xi, х2,..., хп устанавливает на выходах одну комбинацию, или набор, значений выходных сигналов Z\, z%,... ... ,Zi (рис. 1.1). Второй, более сложный класс составляют устрой- ства, в которых одному и тому же набору значений входных сиг- налов могут соответствовать несколько наборов значений выход- ных сигналов, причем это соответствие определяется предысто- рией работы устройства (последовательностью изменений значе- ний входных сигналов). Говорят, что устройства второго класса обладают памятью, т. е. способностью сохранять информацию о предыдущих входных воздействиях. Такие устройства называют устройствами с памятью, а для первого класса употребляется на- звание «устройства без памяти» или «комбинационные схемы». .Устройства с памятью рассматриваются в последующих главах, а настоящая глава посвящена логическому проектированию (син- тезу) комбинационных схем. г, Zg гг Рис. 1.1, Комбинационная схема
ГЛАВА I. КОМБИНАЦИОННЫЕ СХЕМЫ 10 1.1. СПОСОБЫ ЗАДАНИЯ И ФОРМЫ ПРЕДСТАВЛЕНИЯ БУЛЕВЫХ ФУНКЦИЙ В комбинационных схемах соответствие между наборами зна- чений входных и выходных сигналов определяется системой, функций 2i = fi(Xb х2,..., хп), Z2 = f2(xl,x2,...,xn), Zi = fi(Xi,X2, . . . ,Хп), где каждая функция f является булевой функцией, которая вместе с аргументами может принимать только два значения:: нулевое и единичное. Основным способом задания булевой функции Z=f(xi, х2,... ... ,Хп) является табличный. В строках таблицы истинности буле- вой функции записываются наборы значений всех аргументов,, столбцам соответствуют аргументы и один столбец таблицы пред- назначен для записи значений функции. Пример таблицы истин- ности булевой функции z=f(xi, х2, х3) представлен в табл. 1.1. Если рассматривается несколько функций, то в таблицу можно ввести дополнительные столбцы. Набор значений хр, х2г,..., хп’- аргументов в t-й строке будем обозначать пц; набор miy для кото- рого = 1, будем называть единичным, а набор т}, для кото- рого7(т,) =0, — нулевым набором. Для функции от п аргумен- тов имеется в точности 2” различных наборов. Булева функция, значения которой определены на всех наборах, называется пол- ностью определенной; булеву функцию, заданную не на всех на- борах, называют частично определенной. Очевидно, что при описании функционирования комбинацион- ной схемы составление таблицы истинности становится утоми- тельным занятием по мере увеличения числа входов комбина- ционной схемы (аргументов булевых функций). В этом случае Т а б л и ц а 1.1 Таблиц а 1.2 %] х2 х3 Z X] Х2 *3 Z 1 ООО 0 1 0 0 — 0 2 0 0 1 0 2 0 1 0 0 3 0 1 0 0 3 — 1 1 1 4 0 1 1 1 4 1 — — 1 5 1 0 0 1 6 1 0 1 1 7 1 1 0 1 8 1 1 1 I
11 1.1. СПОСОБЫ ЗАДАНИЯ И ФОРМЫ ПРЕДСТАВЛЕНИЯ БУЛЕВЫХ ФУНКЦИЙ можно использовать интервальную форму таблицы истинности булевой функции, которая отличается от таблицы истинности тем, что в ней значения некоторых аргументов для части строк не фик- сированы, т. е. безразличны. Табл. 1.2 представляет пример такой таблицы. Содержимое строки 1 табл. 1.2 интерпретируется следу- ющим образом: если х1 = х2 = 0, то независимо от значения аргу- мента %з функция принимает нулевое значение. Данная информа- ция представлена в табл. 1.1 с помощью двух нулевых наборов: (ООО) и (001). Таким образом, оба эти набора можно задать компактно в виде набора (00—). В строке 2 табл. 1.2 содер- жится третий набор из табл. 1.1, строка 3 представляет единичные наборы (011) и (111), и набору (1-------) соответствует мно- жество единичных наборов {(100), (101), (НО), (111)}. Из срав- нения табл. 1.1 и 1.2 следует, что обе они задают одну и ту же бу- леву функцию. Множество наборов значений п аргументов, которое можно представить в виде одного набора значений k(n^k) аргументов, будем называть интервалом булевой функции, а такие аргументы — внешними переменными интервала, в отличие от внутренних переменных, значения которых на интервале не фиксированы. Интервал с k внешними переменными содержит в точности 2^~h наборов. Если n=k, то интервал совпадает с набором значений п аргументов. В приведенном примере интервал (1--------) содержит че- тыре набора, поскольку он имеет одну внешнюю Xt и две внутрен- ние Хг, Хз переменные. Интервал Ц, на котором функция прини- мает единичное значение, назовем единичным интервалом, а ин- тервал Ij, для которого f (Zj) = 0, — нулевым. Будем говорить, что два интервала пересекаются, если они имеют хотя бы один об- щий набор. Например, интервалы (—11) и (1----) пересекаются, так как набор (111) принадлежит обоим интервалам; интервалы (00—) и (—11) не пересекаются, поскольку {(000), (001) }f|{ (011), (П1)} = 0. Признаком непересечения двух интервалов является наличие для них общей внешней переменной, которая принимает различные значения на этих интервалах. Интервальную форму таблицы истинности булевой функции в дальнейшем для краткости будем называть таблицей интервалов булевой функции. При использовании таблицы интервалов для задания булевой функции следует обращать внимание на недо- пустимость пересечения единичных и нулевых интервалов. Пе- ресечение единичного Ц и нулевого 0- интервалов свидетельствует •о наличии противоречия в задании булевой функции. Если при задании условий работы устройства в виде таблицы интервалов такое противоречие встречается, то его можно расценить либо как допущенную ошибку, либо как доказательство того, что син- тезируемое устройство обладает памятью. в
ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ 12" Рассмотрим далее нормальные формы представления булевых функций и покажем их связь с таблицей истинности и таблицей интервалов. Конъюнкцию булевых переменных назовем элементарной^ если каждая переменная входит в нее только один раз (с отрица- нием либо, без него). Элементарную конъюнкцию всех перемен- ных Xi, х2,... ,хп заданной булевой функции будем называть пол- ной конъюнкцией. Набору пц значений аргументов Х\, х2,..., хп. МОЖНО СОПОСТаВИТЬ ПОЛНУЮ КОНЪЮНКЦИЮ, В КОТОРУЮ Xj, j = = 1,2,..., п, входит с отрицанием, если х/ = 0, либо без него, если х/= 1. Например, набору (011) соответствует полная конъюнкция: Х1Х2Хз- Дизъюнкцию полных конъюнкций, соответствующих всем еди- ничным наборам булевой функции f (хц, х2,..., хп), назовем совер- шенной дизъюнктивной нормальной формой (СДНФ) заданной функции. Например, функция, заданная табл. 1.1, имеет следую- щую СДНФ: Z = XiX2X2УХгХ2Хз УХ1Х2ХзVX1X2X3 УХ[ХгХз. Аналогично набору интервал булевой функции можно пред- ставить конъюнкцией его внешних переменных. Так, интервал (01—) будем записывать в виде конъюнкции Х]Х2- Элементар- ную конъюнкцию внешних переменных единичного интервала бу- левой функции назовем импликантой булевой функции. Напри- мер, в табл. 1.2 представлены две импликанты заданной функ- ции: Х2Л'з и Х1. Дизъюнкцию всех импликант, представленных в таблице ин- тервалов заданной функции, назовем дизъюнктивной нормальной формой (ДНФ) булевой функции. Так, табл. 1.2 соответствует следующая ДНФ: Z=x2x2\lx\. Очевидно, что любая полностью определенная булева функ- ция имеет в точности одну СДНФ, в то время как число ДНФ булевой функции может быть достаточно велико. Из всего разнообразия ДНФ, возможных для заданной буле- вой функции, нас будет интересовать ДНФ, имеющая наимень- шее число импликант, называемая в дальнейшем кратчайшей. ДНФ. Заданная булева функция может иметь несколько крат- чайших ДНФ. С точки зрения простоты комбинационной схемы: во многих случаях функцию выгодно представлять в виде крат- чайшей ДНФ, содержащей импликанты с минимальным числом, букв. Будем говорить, что интервал Ц покрывает интервал Jj, если" множество наборов интервала Ц включает все наборы интервала
13 1.2. ПОСТРОЕНИЕ КРАТЧАЙШЕЙ ДНФ Ц. В этом случае конъюнкция внешних переменных первого ин- тервала поглощает конъюнкцию внешних переменных второго интервала. Так, интервал (0--1) покрывает (01—1), поскольку ИЛИ {(0101), (011 1)}е{(0001), (ООН), (0101), (0111)}. Импликанту булевой функции назовем простой, если пред- ставляемый ею интервал не покрывается никаким другим еди- ничным интервалом этой же функции. В тех сдучаях, когда по- строение комбинационной схемы производится по ДНФ булевой функции, целесообразно выбрать кратчайшую ДНФ, содержа- щую простые импликанты. В следующем параграфе рассмотрим метод построения та- ких ДНФ по таблице истинности булевой функции ![6]. Данный метод в равной степени применим и к таблице интервалов, хотя при этом отсутствует уверенность, что полученная ДНФ явля- ется всегда кратчайшей. Отличительной чертой метода является то, что при его применении не требуется перечислять наборы или интервалы, на которых функция не определена. 1.2. ПОСТРОЕНИЕ КРАТЧАЙШЕЙ ДИЗЪЮНКТИВНОЙ НОРМАЛЬНОЙ ФОРМЫ Пусть булева функция Z=f(x>i, х2, ...,хп), частично или пол- ностью определенная, задана таблицей истинности. ДНФ, содер- жащую минимальное число простых импликант (кратчайшую ДНФ), можно найти в такой последовательности: 1. Определить простые импликанты, покрывающие единич- ный набор. Повторить эту процедуру для всех единичных набо- ров таблицы истинности. 2. Найти минимальное число простых импликант, покрываю- щих все заданные единичные наборы. Метод построения кратчайшей ДНФ (метод минимизации булевой функции) будем излагать на примере таблицы истинно- сти (табл. 1.3). Заданная функция имеет пять единичных и шесть нулевых наборов, значения функции на остальных 27—5— —6=117 наборах не определены. Рассмотрим единичный набор mi= (1000110); его можно представить полной конъюнкцией Х1Х2Хз*4Х5ХбХ7. Любая импликанта, покрывающая набор т\, со- держит согласно определению некоторые буквы из этой конъ- юнкции, иными словами, она получается вычеркиванием ряда букв из полной конъюнкции, соответствующей набору т\. Для того чтобы понять, какие буквы можно удалить из полной конъ- юнкции, сравним набор т\ с нулевым набором те. Эти наборы различаются значением только одной, переменной х4, поскольку х41 = 0, а х46 = 1. Если букву х4 удалить из полной конъюнкции, то
ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ 14 Таблица 1.3 Xi х2 х3 xt х$ х6 Х7 Z 1 2 3 4 5 6 7 8 9 10 11 1 0 0 0 10 0 0 10 0 1 0 110 10 10 1 0 0 1 О 0 0 о 0 10 1 0 0 10 О 11 о 0 10 0 1 1 О 1 о о О 1 о о 1 1 I о 1 о 1 о о о о о о 1 о 1 о о 1 1 1 о о 1 1 1 1 1 о о о о о о Таблица 1.4 Х2 Хз х4 Хз хв х7 6 7 8 9 10 11 1 1 11 11 1 11 11 11 111 11 11 11 полученная конъюнкция xix2xsx5x6x7 покроет нулевой набор т6 и поэтому не может являться импликантой заданной функции. Та- ким образом, любая импликанта, покрывающая единичный на- бор, содержит буквы, которые отличают его от всех нулевых на- боров. Итак, для набора mi удалить букву х4 из полной конъюнкции нельзя. Сравним далее этот набор с нулевым набором т7. Дан- ная пара наборов различается значениями переменных Xi, Хв и х7, поэтому любая импликанта, покрывающая набор т\, должна содержать хотя бы одну из букв Xi, хв, х7. Подобные сравнения набора mi следует, очевидно, проделать со всеми нулевыми на- борами таблицы истинности. Полученную в результате сравнения наборов информацию представим в виде таблицы различий еди- ничного набора, строкам которой сопоставлены нулевые наборы, а столбцам — буквы полной конъюнкции. Единичный элемент на пересечении строки и столбца таблицы указывает на то, что ну- левой набор строки отличается от рассматриваемого единичного набора буквой, приписанной столбцу. Таблица различий набора mi приведена в табл. 1.4. Заметим, что содержимое строк этой таблицы можно рассматривать как результат суммирования по модулю два единичного набора с нулевыми наборами.
15 1.2. ПОСТРОЕНИЕ КРАТЧАЙШЕЙ ДНФ Любая импликанта, покрывающая единичный набор, состоит из совокупности букв, которой соответствуют столбцы, содержа- щие в каждой строке таблицы различий не менее одного единич- ного элемента. Например, набор т\ покрывается импликантой Х1Х4, поскольку четвертый столбец табл. 1.4 имеет единицу в первой, а первый — во всех остальных строках. Для того чтобы найти другие импликанты, нужно проверить остальные совокуп- ности столбцов. Сложность этой проверки состоит в том, что в общем случае единичный и нулевой наборы могут различаться значениями нескольких переменных и одна переменная, в свою очередь, может отличать единичный набор от целого ряда нуле- вых наборов. Налицо необходимость решения комбинаторной за- дачи, которая носит название задачи покрытия. Напомним основ- ной метод решения задачи покрытия и необходимые определе- ния. Покрытием таблицы (в данном случае таблицы различий) на- зовем совокупность ее столбцов, которая в каждой строке таб- лицы содержит не менее одного единичного элемента. Естественно, что совокупность всех столбцов таблицы разли- чий является покрытием. Для табл. 1.4 пример покрытия, кото- рому соответствует импликанта Х1Х4, был приведен ранее (пер- вый и четвертый столбцы). Покрытие таблицы назовем безызбыточным, если при исклю- чении из него любого столбца оставшаяся совокупность столб- цов не образует покрытия. Покрытие, например {Xi, х4}, является безызбыточным, а покрытие {%], х4, х$} — избыточным для табл. 1.4, поскольку из него можно удалить х5. Из построения таблицы различий следует, что безызбыточное покрытие опреде- ляет простую импликанту булевой функции, покрывающую дан- ный единичный набор. Покрытие таблицы назовем кратчайшим, если для этой таб- лицы не существует другого покрытия с меньшим числом столб- цов. Например, для табл. 1.4 покрытие {х2, х4, х7} является безыз- быточным, но не кратчайшим из-за наличия покрытия {xi,x4}. По- крытия {%], х4}, {х4, %б} являются кратчайшими, так как в табл. 1.4 нет столбца с единицами во всех строках. Кратчайшему покры- тию таблицы.различий соответствует наиболее короткая простая импликанта. Рассмотрим строку 6 табл. 1.4. В ней записана только одна еди- ница (на пересечении со столбцом х4). Совокупность таких столб- цов будем называть ядром покрытия. Ядро обладает тем замеча- тельным свойством, что оно обязательно входит в любое покры- тие таблицы. В нашем примере ядро состоит из одного столбца х4, следовательно, любая импликанта, покрывающая набор mi, содержит букву х4. Столбец х4 имеет единицу также на пересе- чении со строкой 8. Этот столбец входит в любое покрытие
16 ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ Таблица 1.5 Xi Хз Хз X, Х5 ' Xg Ху 6 1 7 1 11 11 1 1 11 табл. 1.4, поэтому строку 8 можно удалить из таблицы. Будем говорить в таком случае, что строка 8 поглощается строкой 6. Возможны и более сложные случаи поглощения строк. Так, в табл. 1.4 строка 9 поглощается строкой 7, поскольку располо- жение единиц в строке 7 сохраняется в строке 9. Поглощаемые строки отмечены в табл. 1.4. знаком «*». Поглощаемые строки можно удалять из таблицы различий без потери вариантов ее покрытия. Удаляя из табл. 1.4 поглощаемые строки, получим табл. 1.5. Основной метод нахождения всех безызбыточных покрытий состоит в следующем. Информацию, содержащуюся в одной строке, представляют в виде дизъюнкции букв. Каждая буква дизъюнкции соответствует столбцу, на пересечении которого с рассматриваемой строкой имеется единичный элемент. Так, строке 6 (табл. 1.5) соответствует буква х4, строке 7 —выраже- ние (xiV^eV*?), строке 11 — (xiVx2VX5Vх6)• Полученные дизъюнкции объединяются конъюнкцией в конъ- юнктивную нормальную форму (КНФ) [35], которая затем пре- образуется в ДНФ путем раскрытия скобок. ДНФ упрощается за счет выполнения поглощений вида а\{аЬ—а. Каждой конъюнк- ции упрощенной ДНФ соответствует безызбыточное покрытие таблицы различий и, следовательно, простая импликанта, покры- вающая тот единичный набор, для которого эта таблица была составлена. Для табл. 1.5 КНФ имеет вид x4(xi Vx6Vx7) (X1VX2VX5V Vxe). Раскрывая скобки и проводя поглощения, получим ДНФ Х1Х4V X4X6V Х2Х4Х7 V Х4Х5Х7. Таким образом, единичный набор mi покрывается четырьмя простыми импликантами. Заметим, что эти импликанты мы могли бы выписать непосредственно из табл. 1.5. Более того, простые импликанты, покрывающие этот набор, можно было бы попы- таться определить сразу по таблице истинности, булевой функции путем сравнения данного набора с нулевыми наборами. Построе- ние таблицы различий, а также составление и преобразование КНФ предохранили от потери вариантов покрытия. Составляем далее таблицы различий для остальных единич- ных наборов m2, т3, т4 и т5 (табл. 1.6—1.9). Полученные про-
17 1:2. ПОСТРОЕНИЕ КРАТЧАЙШЕЙ ДНФ Таблица 1.6 Х1 Х2 Хз Xi XS Xq Ху '6 11 1 7 1 11 8 11111 9 1 • 1 11 10 1 11 1 1 1111 11 Таблица 1.7 Х[ Х2 Л-3 *^4 Xq X'j 6 1 1 7 1 11 1 8 11 11 9 1 111 1 10 1111 11 1 1 1 Таблица!.8 Xl Х2 Х3 Xi Xs xs x7 -6 11111 1 7 11 11 8 1111 9 1 11 10 11 11 1 11 Таблица 1.9 Xj X2 X3 Xi Хз Ха Xy 6 1111 7 1 1 1 1 8 11111 1 9 1 • 1 1 10 1 1 11 111 стые импликанты приведены в табл. 1.10, из которой видно, что некоторые простые импликанты покрывают несколько единичных наборов. Так, простая импликанта покрывает наборы mi, m2 и т<. Нашей задачей является определение кратчайшей ДНФ, поэтому необходимо выбрать минимальное число простых импли- 2 — 5499
18 ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ Таблица 1.10' 1 2 3 4 5 Xj%4, *4*6, *2*4*7, *4*5*7 *1*4, *1*5, *1*7, *2*5, *4*6,_ *5*6, *5*7, Х6Х7 XiXs, *1*6, X2XiXs,_ X2Xsl *2*6*7, *4*5, *4*6*7 X4X6, X2X6, X3X6, *4*6, *s*«,_ *6*7,_ *5*7,_ *2*3*?L *2*4*7 *!*3, *j*4, *1*5, *1*6, *2*3*7, *2*4*7, *2*6*7, *2*5 Таблица 1.11 IX 14 IX IX >x co in co <£> 14 1И H IH X 1Ц ц H IH 1Ц IH 1Ц К |С\|1П1ЛЧЭ—। ц [Ц 1Ц 1Ц ц 1Ц |ц 1Ц IH Ц 1^ CD <O co en co CM CO CN <м — сч X X X X X IX 1 2 3 4 5 1111 11 111111 1 1 11111 1 111 11111 1111 11 11 кант так, чтобы они в совокупности покрывали все единичные- наборы заданной булевой функции. Это можно сделать, вновь, решая задачу покрытия. Образуем таблицу покрытия (табл. 1.11), в которой стро- кам приписаны единичные наборы, а столбцам — простые импли- канты. Единица на пересечении, например строки 1 и первого- столбца, свидетельствует о том, что простая импликанта Х1Х4. покрывает набор т\. Кратчайшее покрытие этой таблицы опре- деляет простые импликанты — члены кратчайшей ДНФ задан- ной функции. Укажем на возможность дополнительного упро- щения таблицы покрытия в случае, когда требуется определить только один вариант кратчайшей ДНФ. В табл. 1.11 первый еди- ничный набор покрывается четырьмя простыми импликантами. Из них первые три покрывают, кроме того, и другие единичные наборы, в то время как импликанта Х4Х5Х7 покрывает только на- бор mi. Поэтому простую импликанту Х4Х5Х7 можно удалить из табл. 1.11. Аналогично можно установить, что из этой таблицы удаляются все столбцы с одной и двумя единицами. Из табл. 1.11 уберем также простую импликанту Х2Х5, поскольку имеется рав- ноценная импликанта xix5, покрывающая те же единичные на- боры и содержащая то же число букв, что и Х2Х5. В результате получим табл. 1.12. Ядро покрытия, состоящее из второго и третьего столбцов, является кратчайшим покрытием. Следова- тельно, кратчайшая ДНФ функции, заданной табл. 1.3, имеет вид, 2=х4ХбУх1Х5-
19 1.2. ПОСТРОЕНИЕ КРАТЧАЙШЕЙ ДНФ Таблица 1.12 X.‘.XS XjXs 11 1 2 11 1 Т а б л и ц а 1.13 Xi Х2 Хз х4 xs Х6 Х7 Z 1 0 0 1 0 1 0 :2 — 0 0 1 1 — -— 0 3 0 — 1 0 — 0 — 0 4 0 1 0 0 — -— 0 0 5 __ 0 1 0 1 6 — —— — — 0 1 1 1 7 0 1 1 0 — 1 — 1 8 — — 1 0 1 1 0 1 9 1 0 1 0 — 0 1 10 — 0 1 — 1 1 0 1 Как уже отмечалось, такой метод минимизации булевых функций применим и к функциям, заданным таблицей интерва- лов. Проиллюстрируем особенности минимизации на следующем примере. Необходимо синтезировать на элементах ИЛИ—НЕ комби- национную схему, алгоритм функционирования которой задан табл. 1.13. Синтез схемы из элементов ИЛИ—НЕ целесообразно производить исходя из ДНФ функции Z, т. е. функции, инверс- ной заданной Z=f(xi, Хг,...,х7). Нулевые (единичные) интер- валы функции Z являются единичными (нулевыми) интервалами функции Z, поэтому построение ДНФ будем вести по нулевым интервалам функции Z, сравнивая их с единичными интервалами этой же функции. Рассмотрим первый нулевой интервал. Его можно предста- вить конъюнкцией внешних переменных xix3x5xex7. Любая про- стая импликанта функции Z, покрывающая данный интервал, со- держит буквы именно из этой конъюнкции. Следовательно, таб- лица различий (табл. 1.14) для интервала /1 имеет пять столб- цов, а не семь (число аргументов функции). В табл. 1.14—1.17 представлены таблицы различий для всех нулевых интервалов. 9* । ' 1СИ
20 ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ Полученные простые импли- канты функции Z указаны в табл. 1.18. Составляя табл. L19, находим ДНФ функции Z: Z = Х3Х5 V X 1X3%6 V Х3Х4Х7. Вопрос о том, является ли полученная ДНФ крат- чайшей для функции Z, оста- ется открытым. Чтобы ре- шить его, следует перечис- лить все нулевые наборы функции Z (число которых равно 23) и определить крат- чайшую ДНФ функции Z. Для построения схемы оста- ется лишь перейти к базису элементов ИЛИ—НЕ. Изло- жение методов перехода от ДНФ к выражениям, описы- вающим схему из элементов заданного базиса, выходит за рамки книги. С подобны- ми методами читатель может ознакомиться, например, в работе [30]. В рассматривае- мом примере достаточно взять отрицание от Z и ис- пользовать закон де Мор- гана Таблица 1.15 хг х3 Xi х5 5 1 6 . 1 * 7111 *. 8 11. * 9 11 * 10 1 Таблица 1.16 Xi Х3 Х4 Хв 5 11 6 1 7 1 8 1 9 1 10 1 Z = x3\/x5\Jx1Vx3\! x6V x3\f х^У Т а б л и ц а 1.17 Х1 Х2 Х3- Xi Х7 Vx7. Таким образом, функция, за- данная табл. 1.13, реализу- ется комбинационной схе- мой, состоящей из четырех элементов ИЛИ—НЕ, не счи- тая инверторов для получе- 5 6 7 8 9 1 1 10 1 НИЯ х3, х3. В дальнейшем описанный метод минимизации булевой функ- ции будем использовать и для синтеза многовыходной комбина- ционной схемы, определяя ДНФ (кратчайшие или близкие к ним)
21 1.3. СОСТЯЗАНИЯ В КОМБИНАЦИОННЫХ СХЕМАХ Таблица 1.18 1 2 3 4 Х3Х5, Х1Х5Хв, ХдХдХ7 ^pV3X6, JC1X4X6 ^3X4^7 Т а б л и ц а 1.19 %3%5 Х1Х5Х6 Х3ХеХ7 Х1Х3Хв XjX4X6 Х3Х4Х7 .1111 2 1 3 1 1 4 1 для каждой функции в отдельности. Методы сов- местной минимизации си- стемы булевых функций (см., например, [22]) бо- лее сложны и ориентиро- ваны, как правило, на применение ЭВМ. Огра- ничимся для этого слу- чая лишь следующей ре- комендацией. При по- строении ДНФ функции Zi; надо попы- таться использовать про- стые импликанты, най- денные ранее для ДНФ функций Zi, Z2, ...,Z,_i. 1.3. СОСТЯЗАНИЯ в КОМБИНАЦИОННЫХ СХЕМАХ Пусть комбинационная схема со входами xlt Х2,...,хп и вы- ходом .z реализует булеву функцию Z=f(xi, х2,...,хп). Рассмот- рим функционирование комбинационной схемы во времени. В стационарном или установившемся режиме значения сигналов в промежуточных точках и на выходе схемы совпадают со значе- ниями соответствующих булевых переменных. При изменении входных сигналов внутри схемы и на ее выходе имеет место пе- реходный процесс, отражающий реакцию элементов схемы на изменение входных сигналов. Длительность переходного про- цесса, т. е. интервал времени между моментом поступления вход- ного воздействия и моментом окончания изменения значений всех сигналов схемы, определяется внутренними (естествен- ными) задержками элементов схемы. Величины этих задержек будем считать ненулевыми, ограниченными сверху некоторой максимальной величиной. Следующее входное воздействие мо- жет поступать лишь по окончании переходных процессов во всех точках схемы. Переходные процессы внутри схемы определяют вид переходного процесса на выходе схемы. В соответствии с таблицей истинности булевой функции требуется, чтобы выход- ной сигнал z либо оставался неизменным, либо изменял свое значение не более одного раза. Однако в действительности вы- ходной сигнал комбинационной схемы может изменяться не- сколько раз в ответ на одно переключение входных сигналов. В этом случае говорят о неустойчивой работе схемы. Причиной не-
ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ______________________ устойчивой работы схемы яв- ляются состязания сигналов. В схеме имеются состяза- ния, если существуют такие соотношения величин естест- венных задержек элементов схемы и моментов изменения входных сигналов, при кото- рых на ее выходе наблюдают- ся ложные изменения выход- ного сигнала. Для иллюстрации этого яв- ления обратимся к схеме (рис. 1.2), которая реализует булеву 'функцию (табл. 1.20), пред- ставленную в виде ДНФ Z—Х1Х2УХ1Х2Х3. Пусть на входах схемы на- •бор те= (101) значений вход- ных сигналов сменяется набо- ром т8=(111) (осуществляет- ся переход тв~+т$). Исходя из таблицы истинности буле- вой функции устанавливаем, что выходной сигнал z дс Рис. 1.2. Комбинационная схема с со- стязаниями *1 Таблица 1.20 *2 *3 Z 1 0 0 0 0 2 0 0 1 0 3 0 1 0 0 4 0 1 1 0 5 1 0 0 0 6 1 0 1 1 7 . 1 1 0 1 8 1 1 1 1 оставаться неизменным, поскольку f(те) =f(m8) = 1. Рассмотрим переходный процесс в схеме. При изменении Х2:0->1 выходной сигнал первого эле- мента, реализующего конъюнкцию Х1Х2, устанавливается в еди- ницу, а выходной сигнал второго элемента, реализующего конъ- юнкцию -УХг-Гз, — в нуль. Если при этом второй элемент пере- ключится раньше первого, то на выходе схемы будут наблю- даться ложные изменения сигнала z: 1->0-И. Для перехода тб~>-т8 состязания можно устранить обеспечением следующего •соотношения между величинами п, тг, т3 естественных задержек элементов: тз+т2>ть Однако для обратного перехода т&->тб ложные изменения сигнала z произойдут как раз при условии, что первый элемент переключится раньше второго. Как следует из рассмотренного примера, состязания в ком- бинационной схеме могут возникнуть лишь при условии, что в ней одновременно изменяются два или более сигналов. Это усло- вие назовем условием состязаний. В приведенном выше примере условия состязаний можно обнаружить в ДНФ, которая содер- жит импликанту с буквой х2 и импликанту с х2. По числу изменений выходного сигнала состязания разделяют на статические и динамические.
23 1.3. СОСТЯЗАНИЯ в КОМБИНАЦИОННЫХ СХЕМАХ Статические состязания приводят к четному числу изменений' сигнала на выходе схемы. Такие состязания возможны для пере- ходов mi-^rrij, при которых В схеме, приведенной: на рис. 1.2, имеют место статические состязания, например для переходов m6->m8 и ms-^m5. Динамические состязания проявляются в виде нечетного- числа изменений сигнала на выходе схемы, при этом начальное и конечное значения выходного сигнала будут различными. Рас- смотрим переходный процесс в схеме (рис. 1.2), возникающий во- время перехода m2-^ms. При наборе т2=(001) на входе вто- рого элемента установлены сигналы Xi = 0, х2=1, х3=1. Пусть одновременно изменились значения сигналов Хц х2. Тогда новое- значение сигнала х2 — 0 может установиться лишь через время т3. Следовательно, сигналы на входе второго элемента сначала примут значения Xi = l, х2=1, х3 = 1, а через время т3 установятся в состояния %i = l, х2 = 0, х3 = 1. При этом сигнал на выходе вто- рого элемента изменится два раза: О-М->0. Если эти изменения произойдут раньше, чем выходной сигнал первого элемента, установится в единицу, то выходной сигнал z изменится три раза:: О—И->0->-1. Динамические состязания в комбинационных схемах и схемах с обратными связями (устройствах с памятью) не имеют таких нежелательных последствий, как статические. По- этому в дальнейшем ограничимся рассмотрением только стати- ческих состязаний и там, где это не вызывает недоразумений, будем называть их просто состязаниями. По значению выходного сигнала состязания можно разделить, на состязания в нуле и состязания в единице, которые порож- дают соответственно ложные единичное и нулевое значения вы- ходного сигнала. Дальнейшая классификация состязаний может быть проведена по причинам их возникновения. Определим вначале интервал /(m^m,) перехода между набо- рами nii, m.j как интервал, покрывающий оба этих набора и: имеющий в качестве внешних переменных все те переменные, ко- торые сохраняют свои значения для наборов m.j. Например, для перехода между наборами m,= (1010) и mj=(1100) интер- вал перехода I(пц, тД ={(1010), (1000), (1110), (1100)} можно- представить в виде (1----0). Состязания в схеме для перехода т—>/71,- назовем функцио- нальными, если существует такой набор т;,.е/(т7-, тф, для ко- торого f(nth.) Рассмотрим это явление на при- мере схемы (рис. 1.2). Пусть на входе схемы происходит смена набора т6= (101) на набор т7 = (ПО). Как следует из табл. 1.20, f (щ6) =f (Щ7) = 1. Если допустить, что схема воспримет измене- ние сигнала х3 до изменения сигнала х2, т. е. если на входе схемы кратковременно установится набор (100), которому соответ- ствует 2 = 0, то на выходе схемы сначала установится нуль, а
ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ 24 затем единица. Эти состязания обнаруживаются по таблице ис- тинности: I(m&, т7)={(101), (100), (111), (ПО)}, т5=(100), /(т5)=0. Функциональные состязания обусловлены тем, что сиг- налы на входе схемы изменяются не строго одновременно. На- звание этих состязаний подчеркивает их зависимость от свойств реализуемой булевой функции, а не от свойств ДНФ или схемы, которая реализует эту функцию. Условием функциональных со- стязаний является наличие двух или более входных сигналов, которые должны измениться одновременно. Если в схеме имеют место функциональные состязания для перехода то устранить их можно лишь запрещением этого перехода или из- менением самой функции. Функциональные состязания имеются в любой комбинационной схеме, реализующей функцию, отлич- ную от константы, при условии, что для схемы возможны любые переключения на ее входе. В дальнейшем будем считать, что на- ряду с таблицей истинности булевой функции имеется список пар наборов, связанных переходами, принимая, что функциональные состязания для этих переходов отсутствуют. Состязания в комбинационной схеме, свободной от функцио- нальных состязаний, назовем логическими. Причиной этих состя- заний является разброс величин естественных задержек логиче- ских элементов схемы. Их наличие может быть обнаружено из- учением схемы или ДНФ, которую она реализует. Для простоты изложения рассмотрим схемы, построенные в соответствии с ДНФ булевой функции. Пример такой схемы приведен на рис. 1.2. Схема, построенная по ДНФ, не имеет логических со- стязаний в нуле. Это объясняется тем, что в ДНФ входят лишь элементарные конъюнкции, а ложный единичный сигнал может быть произведен логическим элементом, реализующим конъ- юнкцию вида Х1Х1Х2, при %] : 0->1 (1->0) и х2=1. Поэтому при анализе логических состязаний в схеме, построенной по ДНФ, следует рассматривать переходы только между единичными на- борами. Условие отсутствия логических состязаний формулируется следующим образом: схема свободна от логических состязаний для перехода между единичными наборами пи и mj, если в ДНФ реализуемой функции имеется импликанта, покрывающая как набор ггц, так и m.j. В рассмотренном примере состязаний для перехода между наборами т6=(101) и т8=(111) логические состязания в единице возникают из-за отсутствия в ДНФ импли- канты Х1Х3. Устранить эти состязания можно, заменив импли- канту лдхгХз на Х1%з (упростив в данном случае схему). Таким образом, задачу устранения логических состязаний можно ре- шать путем построения такой ДНФ функции, в которой для каж- дого из заданных переходов между единичными наборами име- ется импликанта, покрывающая наборы этого перехода. ДНФ,
25 1.4. ПОСТРОЕНИЕ ДНФ, СВОБОДНОЙ ОТ СОСТЯЗАНИИ обладающую данным свойством, будем называть свободной от состязаний. Комбинационная схема, построенная по такой ДНФ,. не имеет логических состязаний для всех заданных переходов. Эта схема свободна также и от динамических состязаний, если все переходы между нулевыми и единичными наборами связаны с изменением только одного входного сигнала. Комбинационную схему, свободную от функциональных и ло- гических состязаний, будем называть устойчивой комбинацион- ной схемой. На выходе устойчивой комбинационной схемы отсут- ствуют ложные изменения выходного сигнала для всех заданных переходов между наборами значений входных сигналов при про- извольном соотношении величин естественных задержек элемен- тов схемы. Очевидно, что построение устойчивой схемы ведется с расчетом на «наихудший случай». Естественно предположить, что учет реального разброса величин задержек может привести к меньшим аппаратурным затратам, однако на практике часто точное знание величин задержек в схеме не представляется возможным. ДНФ, свободная от состязаний, используется непосредственно для построения комбинационной схемы на элементах И, ИЛИ, НЕ без ограничения на число входов элементов. В случае ис- пользования элементов с ограниченным числом входов и других базисов элементов необходимо производить преобразования ДНФ, свободной от состязаний. Эти преобразования не должны выводить получаемую форму представления функции из класса форм, свободных от состязаний. К числу таких преобразований относятся упрощения вида a\/ab = a, a\[ab = a\!b, ab\ab = a, преобразования, основанные на законах де Моргана, а также- факторизация, состоящая в вынесении за скобки одной или не- скольких букв в членах ДНФ. 1.4. ПОСТРОЕНИЕ ДИЗЪЮНКТИВНОЙ НОРМАЛЬНОЙ ФОРМЫ, СВОБОДНОЙ ОТ СОСТЯЗАНИЙ Пусть булева функция Z = f(xi, х2,... ,хп) представлена табли- цей истинности и задан список переходов между наборами зна- чений аргументов (заданы все возможные переключения на входе синтезируемой схемы), причем каждый переход осущест- вляется без функциональных состязаний. Укажем способ по- строения кратчайшей ДНФ, свободной от состязаний, под кото- рой понимается ДНФ, имеющая наименьшее число членов из.
ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ 26 всех возможных для заданной функции ДНФ, свободных от со- стязаний. Как было показано в предыдущем параграфе, ДНФ, свобод- ная от состязаний, есть такая ДНФ, в которой для любой пары единичных наборов mt, m.j, связанных переходом, имеется им- лликанта, покрывающая эту пару наборов, т. е. импликанта, по- крывающая интервал I(m-i, m.j) перехода между наборами ггц, .mj. Исходя из этого можно указать следующий путь построения кратчайшей ДНФ, свободной от состязаний [4]. Определим интервалы переходов между единичными набо- рами и построим таблицу интервалов булевой функции. Крат- чайшую ДНФ, свободную от состязаний, найдем по таблице ин- тервалов, воспользовавшись методом минимизации булевой «функции (см. § 1.2). Этот способ решения рассматриваемой за- дачи рассчитан непосредственно на случай, когда все возмож- ные по условиям работы переходы происходят между соседними «наборами значений аргументов, т. е. когда в любом переходе из- меняется только один из сигналов хь х2,..., хп- Построение кратчайшей ДНФ, свободной от состязаний, дан- ным способом имеет ряд особенностей в тех случаях, когда на .входе синтезируемой схемы возможны одновременные измене- ния нескольких сигналов. Первая особенность состоит в том, что при построении таб- лицы интервалов для переходов между единичными наборами возникает возможность удаления некоторых интервалов из таб- лицы. Например, интервал /(mi, т2) = (1—00), где mi=(1000), т2= (1100), покрывается интервалом /(mi, т3) = (1— —0), где .т3=(1110), и может быть удален из таблицы, поскольку любая простая импликанта, покрывающая I (mi, т3), покрывает также I(mi,m2). Вторая особенность состоит в том, что перед построением таблиц различий необходимо произвести частичное доопределе- ние функции, если она определена неполностью. Покажем это на примере. Пусть заданы переходы между единичными mi = (ООН), .т2= (1011) и нулевыми т3= (0000), m4 = (1101) наборами. Пред- положим, что значение функции на наборах «15= (0001) и /7Г6 = = (1001) не определено. Для интервала I (mi, т2) = (—011) в этом случае можно было бы найти простую импликанту x2xit ко- торая доопределяет единицей значение функции для наборов т3, ms. Если такая импликанта включена в искомую ДНФ, то она вызывает для перехода между т3 и т4 функциональные состя- зания в нуле, поскольку т$, т6^1 (т3, пи). Чтобы этого не про- изошло, следует доопределить нулем значение функции для всех -наборов, покрываемых интервалами переходов между нулевыми наборами, т. е. включить в таблицу интервалов все интервалы пе- реходов между нулевыми наборами.
27 1.4. ПОСТРОЕНИЕ ДНФ, СВОБОДНОЙ ОТ СОСТЯЗАНИИ Рассмотрим пример. Булева функция Z задана с помощью- табл. 1.21, в которой перечислены единичные наборы, и табл. 1.22„ в которой записаны нулевые наборы. Известно, что возможны следующие переходы между единичными наборами (указаны; номера единичных наборов): 1—10, 1—13, 2—4, 2—6, 2—7, 2—11„ 3—4, 4—7, 4—11, 5—6, 6—11, 7—8, 7—11, 8—10, 8—12, 9—10,. 10—13, 12—13; переходы между нулевыми наборами: 1—5, 1— 10, 3—4, 4—10, 6—-7, 8—9. Переходы между единичными и ну- левыми наборами происходят при изменении только одного сиг- нала. Построим вначале единичные интервалы (табл. 1.23). Удалим- интервалы, покрываемые другими интервалами. Например,, Цшг, пц), 1(т2, т6), 1(т2, т7), 1(т2, тп), 1(пц, ти),1(т6, тц)„ 1(т7, шц) покрываются интервалом 1(т4, т7). Все удаляемые- интервалы в табл. 1.23 отмечены знаком «*». Остальные интер- валы приведены в табл. 1.24. Далее строим нулевые интервалы,, доопределяющие заданную функцию (табл. 1.25). Удаляя покры- Xl х2 Хз х4 Т а б л иц а 1.21 х5 xs х7 1 1 0 0 0 1 1 0 2 1 0 0 0 0 1 1 3 1 0 0 1 0 0 0 4 1 0 0 1 0 1 1 5 0 0 0 1 0 0 0 6 0 1 0 1 0 1 1 7 0 1 1 0 0 1 1 8 0 1 1 0 1 1 0 9 1 0 1 0 0 0 0 10 1 0 1 0 1 1 0 11 0 1 0 0 0 1 1 12 0 0 1 0 1 1 0 13 0 0 0 0 1 1 0 та б л и ц а 1.22 Х1 х2 Хз х4 Хз Хе Х7 1 0 0 0 0 1 0 1 2 1 0 0 0 0 0 0 3 1 0 0 1 1 1 0 4 0 0 0 1 1 0 1 5 0 1 0 1 1 0 1 6 0 0 1 0 1 0 1 7 0 1 1 0 0 0 0 8 0 1 0 0 1 1 0 9 0 1 0 0 0 0 0 10 0 1 0 0 1 0 1
ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ 28 Таблица 1.23 i, / Xi Х2 х3 Х4 Х$ Хв X? 1, 10 1 0 0 1 1 0 * 1, 13 — 0 0 0 1 1 0 * 2, 4 1 0 0 — 0 1 1 * 2, 6 — 0 — 0 1 1 * 2, 7 — —— 0 0 1 1 % 2, 11 —- — 0 0 0 1 1 3, 4 1 0 0 1 0 — — 4, 7 — — — 0 1 1 4, И — — 0 — 0 1 1 * 5, 6 0 — 0 1 0 — 6, 11 0 1 0 — 0 1 1 * 7, 8 0 1 1 0 — 1 — 7, 11 0 1 — 0 0 1 1 * 8, 10 — — . 1 0 1 1 0 8, 12 0 — 1 0 1 1 0 * 9, 10 1 0 1 0 — — 0 10, 13 — 0 — 0 1 1 0 12, 13 0 0 — 0 1 1 0 * Таблица 1.24 Х1 Х2 Хз х. Xs XS X? 1 1 0 0 1 0 2 ——. — — 0 1 1 3 0 —— 0 1 0 — — 4 0 1 1 0 — 1 — 5 — — 1 0 1 1 0 6 1 0 1 0 — — 0 7 — 0 — 0 1 1 0 Таблица 1.25 i, 1 Х1 х2 Хз Хз хе X? 1, 5 0 0 1 0 1 1, 10 0 .—- 0 0 1 0 1 * 3, 4 0 0 1 1 — — 4, 10 0 — 0 —— 1 0 1 * 6, 7 0 — 1 0 — 0 — 8, 9 0 1 0 0 — — 0 ваемые интервалы и добавляя нулевой набор m2, не покрывае- мый нулевыми интервалами, получим таблицу нулевых интер- валов (табл. 1.26), определяющую совокупность всех наборов, на .которых функция принимает нулевое-значение.
29 1.4. ПОСТРОЕНИЕ ДНФ, СВОБОДНОЙ ОТ СОСТЯЗАНИЙ Таблица 1.26 Х1 х2 Хз Х4 Хз х6 х7 1 0 0 1 0 1 2 — 0 0 1 Г — — 3 0 — 1 0 .— 0 — 4 0 1 0 0 — —— 0 5 1 0 0 0 0 0 0 .. Для каждого единичного интервала из табл. 1.24 находим простые импликанты с помощью таблиц различий. В табл. 1.27 представлена, например, таблица различий первого единичного интервала; ее покрытие совпадает с ядром и определяет про- стую импликанту Х4Х5. Составляя таблицы различий для других интервалов, находим простые импликанты, которые сведены в табл. 1.28. Кратчайшая ДНФ, свободная от состязаний, имеет вид Z = X4X5 \!Х~Хс,Ху\1 ХгХй\! X\XZ\!X2%iXb- В заключение рассмотрим возможность построения ДНФ, свободной от состязаний, для функции, которая представлена в виде некоторой ДНФ (кратчайшей или близкой к ней). Будем считать, что заданы все переключения, возможные при работе синтезируемой схемы. Предположим, что исходная ДНФ имеет логические состязания. Если ДНФ не свободна от состязаний, то существуют интер- валы переходов между единичными наборами, которые не По- крыты импликантами заданной ДНФ. Для устранения состяза- ний достаточно определить переходы, во время которых возни- кают состязания, и включить в ДНФ наименьшее число простых импликант, покрывающих интервалы всех таких переходов. При определении указанных переходов между единичными наборами следует использовать условие логических состязаний в схеме, построенной по ДНФ. Напомним, что этим условием' является’ наличие переменной, например хг, которая в одну им- пликанту входит с инверсией, а в другую — без нее. Переход между единичными наборами, различающимися хг-, происходит с состязаниями, если в ДНФ не включена импликанта,. покрываю- щая интервал этого перехода. Проиллюстрируем сказанное на примере булевой функции, заданной табл. 1.29. Известно, что переключения на входе син- тезируемой схемы происходят следующим образом:
ГЛАВА 1. КОМБИНАЦИОННЫЕ СХЕМЫ ЗФ Пусть с целью построе- ния схемы на двухвходовых элементах ИЛИ—НЕ най- дена кратчайшая ДНФ j функции Z: | Z = X\Xz\JX\X2- 4 В данную форму представ- ления переменная %i входит как с инверсией, так и без нее. Поэтому наличие состя- заний необходимо прове- рять только для тех пере- ключений на входе, при ко- торых изменяется входной сигнал хц а выходной сиг- нал схемы сохраняется в ну- ле. Единственным таким пе- реключением является пере- ход между наборами mi — (ООО), т2=(100). Интервал 7(mb т2) = (—00) не покры- вается ни импликантой xix3, ни Х1Хг- Это свидетельствует о том, что для данного пе- рехода приведенная ДНФ имеет состязания. Чтобы по- лучить на ее основе ДНФ, свободную от состязаний, достаточно добавить про- стую импликанту х2х3, по- крывающую указанный ин- тервал: Таблица 1.27 Xi Х2 х3 х4 х3 1 1 1 1 Таблица 1.29 Xi х2 х3 Z 1 2 3 4 5 6 7 8 0 0 О1' 0 1 0 0 0 1 0 1 0 0 0 1 1 0 1 1 1 1 1 1 1 1 1 0 1 0 1 0 0 Таблица 1.28 Номер интервала перехода Простая импликанта 1 *4*5 2 х5х6х7 3 Х4Х5 4 х3х6 5 Хз«6 6 . Х1Хз 7 Х2Х4Х6 Z — X^sVXiXzVXzXs. Структурную формулу, описывающую устойчивую комбина- ционную схему из двухвходовых элементов ИЛИ—НЕ, можно получить следующим образом: Z=xtxsVxiX2Vx2X3=X3 (xi Ух2) Ух1Х2=х3У х1Ух2Ух1Ух2.
Глава 2 СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ При логическом проектировании дискретных устройств с па- мятью необходимо обеспечить устойчивость их к состязаниям. Как и в комбинационных схемах, состязания в устройствах с памятью возникают во время переходного процесса в устройстве и обусловлены наличием естественных задержек в логических элементах и соединительных линиях, изменением величин этих задержек, неидеальностью формы перерабатываемых сигналов. При использовании интегральной технологии и интегральных схем практически трудно осуществить наладку спроектирован- ных устройств путем введения корректирующих задержек во внутренние точки устройства для обеспечения его устойчивости. Применение специальных задержек, построенных на основе кон- денсаторов и сопротивлений, также ограничено из-за специфики интегральной технологии. Введение принудительной синхрониза- ции прохождения сигналов по различным каналам проектируе- мого устройства позволяет лишь частично решить проблему обес- печения устойчивости и связано со значительной потерей быс- тродействия. В то же время естественное стремление макси- мально использовать быстродействие элементов приводит к ши- рокому внедрению устройств, работающих в асинхронном ре- жиме. Требование высокого быстродействия характерно для весьма широкого класса устройств автоматики. Далее рассмот- рим логическое проектирование устойчивых быстродействующих асинхронных устройств с памятью, предназначенных для логи- ческой переработки дискретной информации. 2.1. ПОНЯТИЕ О КОНЕЧНОМ АВТОМАТЕ Дискретное устройство условно можно представить в виде многополюсника (рис. 2.1) с п внешними входами, т внешними выходами и k обратными связями, в каждую из которых вклю- чен элемент задержки.
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 32 Пусть Xi, х2,... ,хп — вход- ные сигналы, zi, z2, — выходные сигналы, Уь ¥2,... ...,Yk— сигналы на входах элементов задержки, у\, у2,... •,Ук — сигналы на выходах элементов задержки. Сигналы на выходах элементов задерж- ки принято называть проме- жуточными. Полагаем, что все сигналы устройства по- тенциальные, двухуровневые. Комбинационная схема устрой- ства, представленная на рис. 2.1, состоит из логических эле- ментов и соединительных ли- ний. Элементы задержки обра- зуют блок памяти. блок паггати Рис. 2.1. Представление дискретного устройства с памятью Каждый элемент задержки в с-й цепи обратной связи за- держивает на конечное время тс>0 сигнал Ус, появляющийся на входе элемента в момент t. Иными словами, после временной задержки тс (в момент t+rc) сигнал ус принимает значение Ус, с= 1, 2,..., k. Условимся, что t-й. набор значений входных сигналов (или, короче, i-й входной набор) (хр, х2\ ...,хп’) образует состояние входа pt. Здесь хД — значение входного сигнала ха в i-м вход- ном наборе (а=1, 2,...,п). Все возможные состояния входа образуют множество состояний входа R={p\, р2,. ..,рг}, и, по- скольку сигналы двузначные, г^2п. Аналогично /-Й набор зна- чений выходных сигналов (Z-й выходной набор) (zil, z2l,...,zml) образует состояние выхода где гъ1 — значение выходного сиг- нала гь в Z-м выходном наборе (Ь = 1, 2,...,пг). Все возмож- ные выходные состояния образуют множество состояний выхода L = {Xi, Х2, ...Др}, причем р^2т. Далее, условимся, что /-Й на- бор значений промежуточных сигналов на выходах элементов задержки (у^, у2\... ,yiP) образует внутреннее состояние х3-, где yj — значение промежуточного сигнала ус в /-м наборе (с= 1, 2,Все возможные внутренние состояния образуют мно- жество внутренних состояний Х={хь %2, •, xs}, где 5^24 Пару состояний (х3-, рг) принято называть полным состоянием Цц=(х3-, pi), где Xj-sK, р,еД. Множество упорядоченных пар элементов, из которых первый принадлежит К, а второй — R (де- картово произведение множеств KXR), образует множество
33 2.1. ПОНЯТИЕ О КОНЕЧНОМ АВТОМАТЕ полных состояний 9Л=Кх7? = {цц, щг, • •, Щг}. Например, пусть. {>С1, х2} = {(0), (1)}, /? = {р1, р2, Рз, р4} = {(00), (01), (Ю), (Н)}. Тогда Ж = КХ/?=[(0,00), (1,00), (0,01), (1,01), (0,10), (1,10), (0,11), (1,11)}. Математической моделью рассматриваемых дискретных уст- ройств является конечный автомат, под которым принято по- нимать совокупность шести объектов: конечного множества R состояний входа, конечного множества L состояний выхода, ко- нечного множества К внутренних состояний, начального внутрен- него состояния хУетК, функции переходов ср и функции вы- ходов f. Функцией ф задается отображение подмножества ^KXR в К (<р(х,, pi) = xg, Kg^K), а функцией f — отображение подмножества ЗЯ/^KxR в L (f (хд р<) =Лг). Запись вида ф(хд р,) =%g означает, что конечный автомат, на- ходящийся во внутреннем состоянии хд при подаче состояния входа р< переходит в следующее внутреннее состояние xg. Если f(xj, рО=Ц, то автомат, находящийся во внутреннем состоянии хд при подаче состояния входа р< порождает состояние выхода Z/. Далее рассматриваются только конечные автоматы, поэтому прилагательное «конечные» часто будет опускаться. Если ЭДФ = ЭД/ = ЭД, то автомат называют полностью опреде- ленным. Если же существует хотя бы одно полное состояние цд-,, для которого хотя бы одна из функций ф или f не определена, то автомат является частичным. Будем рассматривать только такие автоматы, для которых в любом полном состоянии обе функ- ции ф и f либо определены, либо не определены одновременно.. Автомат, характеризующийся одним внутренним состоянием, называют автоматом без памяти, или комбинационной схемой. В практике логического проектирования широко применяются две модели автомата: модель Мура и модель Мили. В модели Мура вместо функции выходов Цхд pj используется новая функ- ция Ц(х,), которая отображает подмножество К. в множество L. Иными словами, в этой модели состояния выходов непосред- ственно зависят только от внутренних состояний. В модели Мили функция выходов f(x, р) отображает подмножество ЭД/ в L. В этой модели состояние выхода зависит непосредственно от со- стояния входа и внутренних состояний. Функции переходов обеих моделей совпадают. Существуют способы [22], позволяющие пре- образовать автомат модели Мура в эквивалентный (в смысле реализации одного и того же закона функционирования) автомат модели Мили, и наоборот. Конечный автомат принято рассматривать в начале логиче- ского проектирования сложных дискретных устройств — в про- цессе так называемого абстрактного синтеза автомата. Цель 3 — 5499
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 34 абстрактного синтеза — построение конечного автомата, например его таблиц переходов и выходов по одному из способов задания отображения множества входных последовательностей (т. е. по- следовательностей состояний входа) в множество выходных по- следовательностей (последовательностей состояний выхода), ко- торое должен реализовать автомат. Абстрактный синтез условно разбивают на два этапа. Первый этап заключается в получении таблиц переходов и выходов, на втором этапе осуществляется сжатие этих таблиц с целью минимизации числа внутренних со- стояний автомата. Результаты абстрактного синтеза служат ис- ходными данными для последующего структурного синтеза авто- мата. На этапе структурного синтеза модель дискретного устрой- ства уточняется и на основе конечного автомата вводится новая модель — структурный автомат. Затем осуществляется оптими- зация этой модели. 2.2. ПРЕДСТАВЛЕНИЕ АВТОМАТА ТАБЛИЦЕЙ ПЕРЕХОДОВ Существуют различные способы представления конечного ав- томата. Мы рассмотрим один из них — представление функций переходов и выходов автомата с помощью таблиц переходов и выходов. Использование таблиц переходов и выходов оказыва- ется удобным средством представления автоматов как при син- тезе, так и при анализе их функционирования. Таблица переходов представляет функцию переходов авто- мата. Строки этой таблицы соответствуют внутренним состоя- ниям автомата, столбцы — состояниям входа автомата. На пересечении j-й строки и i-ro столбца указывается соответствую- щее значение <р(хд pi) функции переходов. Прочерк на пересече- нии j-й строки и i-ro столбца соответствует неопределенности в функции ф(и7-, pi). В табл. 2.1 приведен пример таблицы перехо- дов автомата, для которого A={zi, ж хз> И4, %з, и6}, Я = {рь рг, рз, р4}, L={%i, %2, М, Hi — начальное внутреннее состояние. Так, в верхней строке табл. 2.1 указаны три значения функций перехо- дов: ф(хь pi) =хь ф(х1, рг) =Х2, ф(%],р4)=Х4- Это означает, что если автомат находится во внутреннем состоянии zi, то при воз- действии на автомат состояния входа pi он остается в том же внутреннем состоянии, при воздействии состояния входа рг авто- мат переходит в новое внутреннее состояние Z2 (факт перехода дальше будем обозначать zi-^-xa), воздействие на автомат вход- ного состояния рз запрещено (прочерк в верхней строке таб- лицы), при воздействии состояния входа р4 автомат переходит в новое внутреннее состояние Х4 (И1-Ж4) • Функция переходов опре-
35 2.2. ПРЕДСТАВЛЕНИЕ АВТОМАТА ТАБЛИЦЕЙ ПЕРЕХОДОВ’. Таблица 2.1 Таблица 2.2 Внут- реннее состояние Состояния входа Pi Р2 Рз Рз 1н (1) 2 - 4 2 1 (2) 3 — 3 — (3) 4 4 1 — 5 (4) 5 — 6 (5) 4 6 1 (6) —• Таблица 2.3 Внут- Состояния входа состояние Pi Р2 Рз р4 1в (1) 2 4 2 1 (2) 3 — 3 — (3) 4 4 1 — 5 (4) 5 2 6 (5) 4 6 1 (6) — делена не для всех пар значе- ний р и х, поэтому данная таб- лица переходов представляет частичный автомат. Внутреннее состояние авто- мата %,- назовем устойчивым при состоянии входа рг, если. ф(%д рг)=ид Внутреннее со- стояние автомата х-; назовем неустойчивым при состоянии входа pi, если ф(хд рг-) Например, в табл. 2.1 указано: ф(з<ьР1) =И1, следовательно, внутреннее состояние х2 устой- чиво при состоянии входа рг, ф(хь Р2)=Х2=7^Х1, значит, внут- реннее состояние %i неустой- чиво при состоянии входа р2; <р(%2, Рг)=Х2, следовательно, внутреннее состояние /.> устой- чиво при состоянии входа р2. Все внутренние состояния, устойчивые при соответствую- щем состоянии входа, отмеча- ются в таблице переходов сим- волом х, взятым в круглые скобки. Для простоты усло- вимся указывать в таблице пе- реходов вместо к; номер / (см. табл. 2.2, где приведена та же таблица переходов, что и в табл. 2.1). В этой таблице че- рез 1Н обозначено начальное внутреннее состояние авто- мата. Важный класс составляют автоматы, которые представля- ются нормальной таблицей переходов. В таких автоматах заданы переходы только во внутренние состояния, устойчивые при соот- ветствующем состоянии входа. Более строго говоря, таблица пе- реходов автомата является нормальной таблицей переходов, если ДЛЯ любого ПОЛНОГО СОСТОЯНИЯ Цц, на котором функция ф (Xj, рг) определена, имеет место ф(ф(хд Рг), Рг) =ф(х;, Рг). Так, в табл. 2.2. представлена нормальная таблица переходов. Если же в ней вместо прочерка указать значение функции з*
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ переходов <р(х5,р1) =х2, то получим другую таблицу переходов автомата (табл. 2.3), не являющуюся нормальной. Действительно, в табл. 2.3 указан переход из внутреннего состояния (5) под воз- действием состояния входа pi во внутреннее состояние 2, не- устойчивое при состоянии входа рь В книге основное внимание уделяется изучению автоматов, представляемых нормальной таб- лицей переходов. Таблица выходов автомата представляет его функцию выхо- дов. Как и в таблице переходов, ее строки соответствуют внут- ренним состояниям автомата, а столбцы — состояниям входа автомата. На пересечении /-Й строки и i-ro столбца указывается соответствующее значение f(xj, р,) функции выходов. Прочерки в таблице выходов соответствуют неопределенностям в функ- ции f. Таблицы переходов и выходов автомата принято совмещать в одну таблицу, которая задает обе функции и f и полностью представляет данный автомат. В зависимости от принятой модели автомата состояние выхода сопоставляется при этом со строкой таблицы переходов (для модели Мура) или указывается на пе- ресечении строки и столбца и сопоставляется с полным состоя- нием (для модели Мили). В табл. 2.4 приведена сов- мещенная таблица пере- ходов и выходов для мо- дели Мура, а в табл. 2.5 — для модели Мили. Обе таблицы построены на основе табл. 2.2. В даль- нейшем для простоты из- ложения вместо названия «совмещенная таблица переходов и выходов» для модели Мили или Мура будем употреблять на- звание «таблица перехо- Таблица 2.4 Внут- реннее состоя- ние Состояния входа Состоя- ние выхода Pi Р2 Рз Pi 1н (1) 2 4 X] 2 1 (2) 3 — ^2 3 — (3) 4 4 1 — 5 (4) X] 5 — 6 (5) 4 Лз 6 1 (6) — <3 дов», указывая на модель автомата лишь тогда, ког- да это принципиально важно. Таблицу переходов, в каждой /-Й строке кото- рой содержится не более одного внутреннего со- стояния (xj), устойчивого при состоянии входа pie е/?, принято называть Таблица 2.5 Внут- реннее состояние Состояния входа Pi Рз Рз р« 1н (1), 2, Х2 — 4, %i 2 1, (2), Х2 3, Хз — — 3 — — (3), %2 4, 4 1, Х1 — — 5, /.?, (4), X! 5 — — 6, Хз (5), Хз 4, Xi 6 1, (6), Хз 5 " —, —
37 2.2. ПРЕДСТАВЛЕНИЕ АВТОМАТА ТАБЛИЦЕЙ ПЕРЕХОДОВ первоначальной таблицей переходов. Например, в табл. 2.4 и 2.5 представлены первоначальные таблицы переходов. Первоначальная таблица переходов является исходной фор- мой представления автомата. В процессе составления этой таб- лицы выясняется число внутренних состояний автомата (это число может быть избыточным), задаются функции переходов и выходов, определяющие закон функционирования автомата. Со- ставлению первоначальной таблицы переходов предшествует формулировка задания на проектирование автомата. В ходе по- строения таблицы выясняются непротиворечивость и полнота задания закона функционирования автомата. Табличная форма записи функций переходов и выходов компактна и удобна для заключительного этапа абстрактного синтеза и для последую- щего структурного синтеза автомата. Однако при задании автомата по словесному описанию его работы, особенно в случае проектирования сложных автоматов, табличная форма представляется не столь естественной и на- глядной, как, например, графический способ задания автомата. В инженерной практике часто пользуются графическими методами описания функционирования проектируемых устройств, нагляд- но отображающими последовательности поступления входных сигналов на автомат и порождаемые ими последовательно- сти выходных сигналов. Поэтому представляется целесообраз- ным записывать эти последовательности в стандартной графиче- ской форме, а затем переходить к первоначальной таблице пере- ходов автомата. Укажем на естественный переход от первоначальной таблицы переходов автомата к соответствующему ей ориентированному графу, и наоборот. Для этого каждой /-й строке первоначальной Рис. 2.2. Граф автомата таблицы переходов сопоста- вим /-ю вершину графа ав- томата. Далее условимся, что если на пересечении /-й строки таблицы со столбцом, обозначенным рг-, указано внутреннее состояние с но- мером g, то из вершины / графа должна исходить ду- га, заходящая в вершину g графа. В этом случае гово- рят, что из вершины j име- ется дуга в вершину g. Если j—g, то вершина / имеет петлю. Затем, если на пере- сечении /-й строки таб- лицы и столбца, обо-
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 38 значенного р<, указаны значения функций <р(ху pi)=ng и Pi)=Xz, то вершине g графа припишем в качестве обозначения пару символов (рь Xi). Начальному внутреннему состоянию с но- мером /н в таблице сопоставим вершину ;н графа. Построенный описанным выше способом граф называют графом авто- мата [35]. На рис. 2.2 представлен граф автомата, сопоставленный пер- воначальной таблице переходов (табл. 2.4). Рассмотрим подроб- нее данный граф. Каждая вершина графа представлена парой: состоянием входа и состоянием выхода %;<=L. Каждую та- кую пару можно рассматривать как некоторое следующее сооб- щение (информацию) о поведении автомата: состояние входа ав- томата р, порождает состояние выхода Ki. Так, в начальной вер- шине 1н графа отражается начальное сообщение: состояние входа р; порождает состояние выхода %]. Если состояние входа pi не ме- няется, то начальное сообщение неизменно — это отражено пет- лей у вершины 1н- Состояние входа автомата pi может смениться либо на состояние входа р2, либо на состояние входа р4, что от- ражено на графе двумя дугами из вершины 1н в вершины 2 и 4. Это повлечет за собой смену начального сообщения на новое: со- стояние входа р2 порождает состояние выхода %2 (вершина 2) либо состояние входа р4 порождает состояние выхода М (вер- шина 4). Подобный анализ можно проводить и далее, рассмат- ривая указанные на графе последовательности смены сообще- ний. Обратим внимание на две вершины — 2 и 6. Эти вершины представляют неоднозначные сообщения: одно и то же состоя- ние входа р2 порождает состояния выхода %2 (вершина 2) и вы- хода Аз (вершина 6). Вершины 3 и 5 также представляют неод- нозначные сообщения. Для устранения этой неоднозначности необходимо организовать память в автомате, в которой будет фиксироваться предшествующая смена сообщений, что можно сделать, приписав каждой вершине графа внутреннее состояние. После этого рассмотренные сообщения станут однозначны: если автомат находится во внутреннем состоянии ziH (вершина 1н), то состояние входа р2 порождает состояние выхода Л2 (из вершины 1Н имеется дуга в вершину 2); если же автомат находится во внутреннем состоянии хв (вершина 5), то состояние входа р2 по- рождает состояние выхода Х3 (из вершины 5 имеется дуга в вер- шину 6). Граф автомата является полным, если в нем заданы вершины для всех состояний входов, в любой вершине задано состояние выхода и из любой вершины имеются дуги в вершины, представ- ляющие все другие состояния входа. Если это условие не выпол- няется, граф автомата принято называть частичным. Полный граф представляет полностью определенный автомат, а частич- ный граф — частичный автомат.
39 2.2. ПРЕДСТАВЛЕНИЕ АВТОМАТА ТАБЛИЦЕЙ ПЕРЕХОДОВ При логическом проектировании нередко приходится рабо- тать с частичными графами автомата. Дело в том, что специа- лист, приступающий к проектированию дискретного устройства автоматики, обычно имеет (допустим, исходя из технического за- дания на проектирование) информацию о том, сколько внешних входов и выходов должен содержать автомат, какие входные и выходные.наборы двоичных сигналов сопоставлены возможным состояниям входа и выхода автомата, в какой последовательно- сти возможно поступление двоичных сигналов на входы автомата и т. д. Он знает, как должно взаимодействовать проекти- руемое устройство с другими устройствами или блоками созда- ваемой системы автоматики в целом. При этом известно, что не- которые последовательности состояний входа и выхода автомата могут быть запрещены. При построении графа автомата необходимо выполнить два требования: 1) в графе автомата должны быть представлены своими вершинами все возможные по условиям работы автомата пары (р, к) и указаны все возможные по условиям работы дуги между этими вершинами (требование полноты); 2) из любой вершины графа автомата запрещены дуги в две и более вершин, представляющих одинаковые состояния входа (требование не- противоречивости). Подробно с методом построения графа авто- мата можно ознакомиться в работах [35, 36]. Пример 2.2.1. Составить граф автомата и по нему перво- начальную таблицу переходов для формирователя сигналов. Из технического задания на проектирование известно, что формиро- ватель имеет два входа, на один из которых подается периоди- чески меняющийся сигнал хц а на другой — управляющий сиг- нал х2, и два выхода: с одного выхода снимается сигнал гь а с другого — сигнал z2; оба сигнала Xj и х2 не могут меняться одновременно. В зависимости от значения и длительности управ- ляющего сигнала х2 сигнал Xi воспроизводится выходным сигна- лом 21 либо выходным сигналом z2 так, как показано на времен- ной диаграмме работы формирователя, представленной в техни- ческом задании (рис. 2.3,а) [9, 13]. Известно также, что в течение времени, когда сигнал Xi = l, запрещено более одного изменения сигнала х2. Рассмотрим вре- менную диаграмму и выделим в ней все сообщения о поведении формирователя. Для этого разобьем диаграмму на промежутки времени, в течение которых все сигналы хь х2, Zi, z2 постоянны, и пронумеруем их, как указано на рис. 2.3,а. Для каждого выде- ленного промежутка времени определим пару (р, X) и сведем в таблицу найденные различные пары (табл. 2.6). В этой таблице цифрой 1н обозначено начальное сообщение. Каждую строку табл. 2.6 представим соответствующей вершиной на графе, а дуги между вершинами зададим в соответствии с последовательно-
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 40 О) Рис. 2.3. Временные диаграммы работы формирователя сигналов: а — диаграмма, приведенная в техническом задании; б — фрагмент диаграммы, дополняющий временную диаграмму а-, в — фрагмент временной диаграммы, отражающий запрещенную последовательность входных сигналов стью смены сообщений, отраженной на временной диаграмме, приведенной на рис. 2.3,а, В результате такого построения полу- чим граф, изображенный на рис. 2.4. Проверим, удовлетворяет ли построенный граф двум требо- ваниям к графу автомата, сформулированным выше. Сначала выясним, представлены ли на графе все возможные сообщения о работе формирователя. На входе формирователя возможны
41 2.2. ПРЕДСТАВЛЕНИЕ АВТОМАТА ТАБЛИЦЕЙ ПЕРЕХОДОВ Рис. 2.4. Граф автомата, построенный по временной диаграмме, представленной на рис. 2.3,а четыре входных состояния: Р1=(00), р2=(01), рз=(10), Р4 = (11). Все они представ- лены вершинами графа. Со- стояние выхода (11) запре- щено по условиям работы формирователя. Если Xi = 0, то реакцией формирователя на это значение является состояние выхода = (00); если Xi = l, то %2= (01) либо Х3=(10). Следовательно, вершины графа, изображен- ного на рис. 2.3, представ- ляют все возможные сооб- щения. Проверим, указаны ли все возможные дуги между вершинами графа. Начнем проверку с верши- ны 1н. В качестве обозначе- ния ей приписано входное состояние pi =(00). Согласно условиям ра- боты формирователя одно- временное изменение значе- ний сигналов Xi, запре- щено. Поэтому за входным состоянием pi=(00) может последовать состояние вхо- да р2=(Ю) или состояние входа р4= (01). Первая по- следовательность состояний входа отражена на графе дугой из вершины 1н в вер- шину 2, вторая не отражена ни на временной диаграмме рис. 3,п, ни на графе (рис. 2.4). Воспроизведем фрагмент временной диаграммы на рис. 2.3,6, проследив предполагаемый путь на графе от вершины 1н к вершине 4. Из построенного фрагмента диаграммы видно, что последо- вательная смена сообщения 1н на сообщение 4 не противоречит •ограничениям на функционирование проектируемого устройства, сформулированным в техническом задании, и отражает требуе- мые условия его работы. Однако временная диаграмма рис. 2.3,а, которая приведена в этом задании и по которой мы первоначально построили граф автомата, не полностью отражает требуемые условия работы. Продолжив построение фрагмента диаграммы
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 42 на рис. 2.3,6, убеждаемся в том, что по условиям работы допустима также последовательность сообщений 4, 5, 4, 1н. Од- нако на графе автомата не указана дуга из вершины 4 в вер- шину 1н. Таким образом, на графе автомата необходимо указать дугу из вершины 1н в вершину 4, а также дугу из вершины 4 в вершину 1н. Продолжим анализ вершины 1Н графа автомата. Петля при вершине 1и указывает, что если сигналы Х\, х2 не ме- няют своих значений, то и выходные сигналы не меняют своих значений. Далее, поскольку запрещена последовательность со- стояний входа (00), (11), то переходы из вершины 1Н в вершины 3 и 5 невозможны по условиям работы. Вершине 2 приписано то же состояние входа, что и вершине 6. Согласно требованию не- противоречивости возможен переход только в одну из этих двух вершин. Убеждаемся, что' переход из вершины 1н в вершину 6 запрещен. Таким образом, из вершины 1н указаны все возмож- . ные переходы в другие вершины. Аналогично должны быть про- анализированы и остальные вершины графа. Заметим, что из-за ограничений на порядок изменения входных сигналов следует, что из каждой вершины составляемого графа могут исходить не более двух дуг в другие вершины. Из вершин 3, 4 и 6 исходит по одной дуге. Рассмотрим вершину 3 графа и выясним, допустимо ли по условиям работы формирователя указание дуги из вер- шины 3 либо в вершину 6, либо в вершину 2 (в обе вершины не- допустимо согласно требованию непротиворечивости). Обра- тимся к начальной вершине 1и графа и, проследив путь, ведущий от нее через вершину 2 в вершину 3, воспроизведем фрагмент временной диаграммы, отражающей смену сообщений (рис. 2.3, в). Из построенного фрагмента диаграммы сле- дует, что сигнал х2 дважды меняет свое значение в тече- ние времени, когда сигнал %i = l, а это запрещено по условиям работы. Следова- тельно, нельзя указать дугу из вершины 3 в вершину 6 либо в вершину 2 графа. По тем же соображениям за- прещена дуга из вершины 6 в вершину 5 или 3. Построенный граф авто- мата и соответствующая пер- воначальная таблица пере- ходов автомата приведены на рис. 2.5 и в табл. 2.4. этом наблюдаемую при в 5 Рис. 2.5. Граф автомата примеру 2.2.1 ю ю и ю 10 01 00 00 01 00 11 01
43 ' 2.3. сжатие таблицы переходов На примере формирователя сигналов будет иллюстриро- ваться и дальнейшая последовательность логического проекти- рования. 2.3. СЖАТИЕ ТАБЛИЦЫ ПЕРЕХОДОВ Число строк в первоначальной таблице переходов и число вершин графа автомата совпадают с числом внутренних состоя- ний автомата, введенных в процессе задания его функциониро- вания. Поскольку процесс задания недостаточно формализован, введенное число внутренних состояний может быть избыточным. Уменьшение числа внутренних состояний автомата, или умень- шение количества строк его первоначальной таблицы переходов, позволяет в более компактной форме представить автомат на по- следующих этапах синтеза и в ряде случаев ведет к более про- стой реализации будущего устройства. Процесс сокращения раз- меров таблицы переходов путем объединения ее строк принято называть сжатием таблицы переходов. Две строки таблицы переходов автомата будем называть явно совместимыми, если в этих строках на пересечении с каж- дым столбцом указаны непротиворечивые значения функции вы- ходов и одинаковые значения функции переходов или в одной строке указаны значения функций переходов и выходов, а в дру- гой значения этих функций не определены (прочерк), или в обеих строках указан прочерк. Два значения функции выходов (два выходных набора) называют непротиворечивыми, если значения каждой выходной переменной в обоих наборах совпадают с точ- ностью до прочерка. Например, наборы A,i=(0—) и Хг=(—1) являются непротиворечивыми. Две явно совместимые строки можно объединить в одну но- вую строку таблицы переходов по следующему правилу. Новой строке приписывается номер одной из объединяемых строк, а в таблице этим номером заменяется номер другой объединяемой строки (внутреннего состояния). В новой строке в каждом столбце указывается номер устойчивого внутреннего состояния, если он был указан хотя бы в одной из объединяемых строк; но- мер неустойчивого внутреннего состояния, если в этих строках указаны только неустойчивые внутренние состояния или прочерк и неустойчивое внутреннее состояние; прочерк, если в обеих стро- ках указан прочерк. Несколько строк можно объединить в одну строку, если все они попарно являются явно совместимыми. Рассмотрим, например, таблицу переходов для модели Мура из примера 2.2.1 (табл. 2.7). Строки 1 и 4 явно совместимы, так как им сопоставлены одинаковые состояния выхода; в столбцах, пред- ставляющих состояния входа (00) и (01), указаны одинаковые
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 44 номера внутренних состояний, а в столбцах, представляющих состояния входа (10) и (11),— номер внутреннего состояния и прочерк. Нетрудно убедиться, что строки 2, 3 и 5, 6 также явно совместимы. При поиске явно совместимых строк в таб- лице переходов для модели Мура надо просматривать лишь строки, которым сопо- ставлены непротиворечивые со- стояния выхода. Обратимся к таблице переходов для модели Мили из того же примера 2.2.1 (табл. 2.8). Но здесь, в отли- чие от табл. 2.7, для определе- ния явно совместимых строк j надо просматривать каждую 2 пару строк и сравнивать в каж- 3 дом столбце как номера внут- ренних состояний, так и сопо- g ставленные им состояния вы- хода. В этой таблице имеются явно совместимые строки 1, 2; 1, 3; 1, 4; 2, 3; 3, 6; 4, 5; 4, 6; 5, 6. При поиске всех явно сов- местимых строк необходимо сравнить каждую строку таб- лицы переходов со всеми дру- гими строками. Для этого целе- сообразно построить так назы- ваемую диаграмму объедине- ний, представляющую собой неориентированный граф, вер- шинами которого служат стро- ки таблицы переходов, а ребра соединяют две вершины тогда, когда сопоставленные этим вершинам строки таблицы явно совместимы. На рис. 2.6 приве- дены диаграммы объединений для табл. 2.7 и 2.8. Для выясне- ния возможности объединения нескольких строк в одну надо про- вести анализ диаграммы объединений. Если эти строки образуют полный подграф диаграммы объединений, т. е. такой подграф, Таблица 2.7 Х|Х2 00 10 11 01 2122 (1) 2 4 00 1 (2) 3 — 01 — (3) 4 01 1 — 5 (4) 00 — 6 (5) 4 10 1 (6) — 10 Таблица 2.8 АД 2 00 10 и 01 (П, 00 2, 01 4, 00 1, 00 (2), 01 3, 01 — —- — (3), 01 4, 00 1, 00 — 5, 10 (4), 00 — 6, 10 (5), 10 4, 00 1, 00 (6), 10 — — Таблица 2.9' ХД2 00 10 11 01 2122 (1) 2 3 (1) 00 1 (2) (2) 1 01 1 (3) (3) 1 10 Таблица 2.10
45 2.3. сжатие таблицы переходов 1 в 2 В) 5 2 Рис. 2.6. Диаграмма объ- единений: а — для таб- лицы переходов 2.7; б — для таблицы перехо- дов 2.8 каждая вершина которого соединена реб- рами со всеми вершинами подграфа, то строки, представленные данным подгра- фом, можно объединить в одну. Так, из диаграммы объединений на рис. 2.6,а сле- дует, что строки табл. 2.7 можно объеди- нить в три строки и построить сжатую таблицу переходов автомата (табл. 2.9). В диаграмме объединений на рис. 2.6,5 содержатся два полных подграфа: под- граф, представленный вершинами 1—3 и соединяющими их ребрами, и подграф, представленный вершинами 4—6 и соеди- няющими их ребрами. При объединении строк 1—3 и 4—6 получим сжатую табл. 2.10). Анализ табл. 2.9 и 2.10 показывает, что в результате объединения строк каж- дая новая строка представляет внутрен- нее состояние, устойчивое при несколь- ких состояниях входа. Например, в стро- ке 1 табл. 2.9 указано, что внутреннее состояние 1 устойчиво как при состоянии входа (00), так и при состоянии входа (01). Это означает, что если автомат на- ходится во внутреннем состоянии I, устой- чивом при состоянии входа (00), то при воздействии на автомат состояния входа (01) последний останется в том же внутреннем состоянии 1, устойчивом уже при состоянии входа (01). В таблице переходов это соответствует передвижению вдоль строки 1 из крайнего левого столбца в крайний правый столбец. Две строки таблицы переходов назовем явно несовмести- мыми, если на пересечении этих строк хотя бы с одним столб- цом указаны различные состояния выхода. Например, в табл. 2.8 на пересечении строк 1 и 5 со столбцом, представляющим состоя- ние входа (10), указаны различные состояния выхода, поэтому строки 1 и 5 явно несовместимы. Допустим теперь, что на пере- сечении пары строк (/, g), не являющихся явно несовместимыми, с некоторым столбцом указаны два внутренних состояния с раз- личными номерами (р, г), которым сопоставлены два непротиво- речивых значения функции выходов. Строки /, g можно было бы совместить в одну строку при условии, что строки р и г также можно совместить в одну. Проверка совместимости пары строк (р, г) влечет за собой проверку совместимости других пар. В об- щем случае процедура проверки носит итеративный характер и всегда заканчивается через конечное число шагов выявлением
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 46 возможности совмещения строк /, g [22]. Если для пары строк (/. g) найдены все пары, которые должны быть проверены на совместимость, и ни одна из них не содержит явно несовмести- мых строк, то пара строк (/, g) является неявно совместимой. При этом строки /, g, а также строки, образующие проверенные на совместимость пары, могут быть попарно объединены. Таким образом, в таблице переходов автомата возможен случай, когда некоторая строка явно совместима с одной строкой и неявно со- вместима с другой. При поиске вариантов объединения строк можно также воспользоваться диаграммой объединений. Нетрудно понять, что если в каждом столбце нормальной таблицы переходов автомата не найдется ни одной пары устой- чивых внутренних состояний, которым сопоставлены непротиво- речивые состояния выхода, то такая таблица может содержать только явно совместимые строки. В тех случаях, когда таблица обладает указанным свойством, целесообразно осуществлять по- иск явно совместимых строк. В последующем изложении будем использовать это полезное свойство. Если таблица переходов со- держит неявно совместимые строки, необходимо использовать специальные методы минимизации числа состояний автомата, из- ложенные, например, в работах [17, 19, 22]. Как и для первоначальной таблицы переходов, для сжатой таблицы переходов автомата существует естественный переход к графической форме представления того же автомата в виде диаграмм переходов, и наоборот. В диаграмме переходов модели Мура в вершине графа, представляющей внутреннее состояние хд записывается символ или номер этого внутреннего состояния, а под ним — соответствующее ему состояние выхода Хд Если значение функции <р(%д pi)=xg, то из вершины / имеется дуга в вершину g, которая отмечается символом р,. Так, на рис. 2.7, а Рис. 2.7, Диаграмма переходов автомата из примера 2.2.1: а — для модели Мура; б — для модели Мили
47 2.4. АСИНХРОННЫЙ АВТОМАТ приведена диаграмма переходов модели Мура, представляющая тот же автомат (формирователь сигналов из примера 2.2.1), что и табл. 2.10. В диаграмме переходов модели Мили в вершине, представляющей внутреннее состояние zj, записывается символ или номер этого внутреннего состояния, и если <р(х-;, рг-)=х§, f(nj, Pi) = fa, то из вершины j имеется дуга в вершину g, которая отмечается помимо символа рг- символом X/, т. е. в виде pi/Xi. На рис. 2.7,6 приведена диаграмма переходов модели Мили, пред- ставляющая автомат-формирователь сигналов и построенная на основе табл. 2.9. При за'дании автомата его часто представляют в виде диа- грамм переходов, минуя этап построения графа автомата или первоначальной таблицы переходов. Однако это требует от про- ектировщика известных навыков и опыта построения диаграмм переходов. 2.4. АСИНХРОННЫЙ АВТОМАТ За этапом абстрактного синтеза следует этап структурного синтеза, целью которого является построение схемы автомата*. На данном этапе выбирается структурная модель устройства (структурный автомат), наиболее полно отражающая требова- ния к проектируемому дискретному устройству, и осуществля- ется оптимизация выбранной модели. Исходным для этапа струк- турного синтеза является автомат, представленный сжатой таблицей переходов, и набор логических элементов и элементов памяти. На этапе структурного синтеза осуществляется кодирование состояний входа, выхода и внутренних состояний символами из двоичного структурного алфавита, т. е. осуществляется выбор способа представления этих состояний в виде наборов двоичных сигналов. Как уже отмечалось, коды состояний входа и выхода проектируемого устройства зачастую бывают известны из его связи с другими устройствами системы. Однако кодирование внутренних Состояний обычно осуществляется в процессе струк- турного синтеза и существенно зависит от требований к проек- тируемому устройству, отраженных структурной моделью. Ниже будем рассматривать устройства, которые выполняются из логических элементов потенциального типа, обладающих свой- ством усиления сигналов. Память устройства организуется не за счет специально введенных элементов памяти и задержек, а за счет контуров обратных связей и задержек логических элемен- тов. В таких устройствах могут иметь место состязания, обуслов- * Строгое понятие «схема автомата» можно найти, например, в [17].
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 48 .ленные разбросом задержек, присущих реальным логическим элементам. Устранение состязаний часто связано с введением структурной или временной избыточности [35—37]. Поэтому кри- терии устойчивости к состязаниям, быстродействия и сложности проектируемого устройства взаимосвязаны. Рассмотрим реальную комбинационную схему. Логические элементы и соединительные линии между ними, образующие та- кую схему, обладают внутренними задержками. Суммарную за- держку момента изменения сигнала на выходе комбинационной схемы относительно начала изменения сигналов на входе схемы можно промоделировать и указать ее на выходе в виде последо- вательного соединения выхода комбинационной схемы и эле- мента задержки [36]. Тем самым можно отобразить свойство инерционности реальной комбинационной схемы моделью, со- стоящей из идеальной (безынерционной) комбинационной схемы и элементов задержки, вынесенных на ее выходы. Представим структурную модель устройства в виде комби- национной схемы, имеющей « внешних входов, т внешних вы- ходов и k обратных связей от внутренних выходов схемы к ее внутренним входам. Естественные ненулевые задержки всех элементов и соединительных линий схемы вынесены на внеш- ние выходы и в каждую из обратных связей так, как показано на рис. 2.8. Комбинационная схема представляется безынерцион- ной. На внешних выходах комбинационной схемы указаны за- держки Ti, Т2, ...,тт, а в обратных связях — задержки Tm+i, Тт+2, • • • ,Tm+fe, где Xi (i~ 1, 2,..., m + k) — конечная ненулевая за- держка. Модель характеризуется конечным числом сигналов: входных Xi,..., хп, выходных zi,..., zm и промежуточных IJ1, ... ... ,Ук- Каждому состоянию входа автомата, состоянию выхода Рас. 2.8. Структурная модель автомата
49 2.4. АСИНХРОННЫЙ АВТОМАТ (значению функции выходов автомата), внутреннему состоянию (значению функции переходов автомата) однозначно сопостав- лены наборы значений соответствующих сигналов. Значения вы- ходных сигналов безынерционной комбинационной схемы модели определяются булевыми функциями , Хп, 1/1, У2, , Ук), Z2 = f2(xi,x2, .. ., хп,У1,у2, • • • ,Ук), (2.1) Zm fm (Х{, Х2, . . . , Хп, У\, У 2, , У к) , а значения сигналов Yi,..., Yh на выходах безынерционной ком- бинационной схемы модели — булевыми функциями У1 = Ф1(Х1, Х2, . . . ,Хп, У1, у2, . . . ,Ук), Y2 = <P2(X1, х2, . .. ,ХП,У1, у2, . . . , Ук), (2.2) Ул = фй(Х1, х2, . . . ,хп, yi, у2, • • , Ук)- Система уравнений (2.1) называется системой уравнений вы- ходов, система (2.2) — системой уравнений переходов. Входные, выходные и промежуточные сигналы в уравнениях (2.1) и (2.2) рассматриваются соответственно как двоичные входные, выход- ные и. промежуточные переменные. Построенную указанным способом модель будем называть структурным автоматом. Функционирование структурного авто- мата зависит от соотношения величин задержек Хг, характера изменения во времени сигналов, образующих входной набор (эти сигналы могут меняться в изменяющемся наборе одновременно или неодновременно), частоты изменения наборов входных сиг- налов. Пусть задержки, вынесенные на внешние выходы комби- национной схемы (рис. 2.8), образуют множество выходных за- держек Тв={ть та, ...,тт}. Они определяют длительность про- хождения сигналов от различных входов Х\,...,хп, yb...,yk к выходам структурного автомата. Максимальная по длительности задержка из множества Тв задает максимальное время, не- обходимое для установления нового состояния выхода, т. е. время реакции структурного автомата на входное воздействие. Анало- гично максимальная по длительности задержка из множества задержек в обратных связях Тп={тт+ь тт+2, . •., тт+4 задает максимальное время, необходимое для установления следующего внутреннего состояния, устойчивого при новом состоянии входа, сменившем предыдущее, т. е. время переходного процесса в це- пях обратной связи структурного автомата. 4 — 5499
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 50 Потребуем, чтобы интервал времени между любыми двумя соседними изменениями состояния входа автомата всегда пре- вышал время реакции и время переходного процесса в цепях обратной связи структурного автомата. Пусть описанный структурный автомат удовлетворяет сле- дующим требованиям: 1) величины всех задержек из множества выходных задержек Тв равны между собой; 2) величины всех задержек из множества задержек в обратных связях Тп равны между собой; 3) изменения всех входных сигналов при смене входных наборов происходят одновременно. Такой структурный ; автомат будем называть синхронным автоматом. Структурный s автомат, не являющийся синхронным, будем называть асинхрон- НЫМ. Неодновременность.изменений входных сигналов, неравенство величин выходных задержек и задержек в обратных связях могут быть причиной состязаний в структурном автомате. В синхронном автомате «выравнивание» задержек и достижение одновременно- сти изменения входных сигналов осуществляются с помощью синхронизирующих сигналов, подаваемых на входы автомата извне от специального генератора и «регулирующих» поря- док изменения во времени наборов входных., выходных и проме- жуточных сигналов. В ряде случаев источником синхронизирую- щих сигналов могут служить изменения входных сигналов [37]. В синхронных автоматах синхронизирующие сигналы позволяют устранить состязания, однако используемая для этой цели при- нудительная синхронизация приводит к снижению быстродейст- вия. Далее рассматриваются только асинхронные автоматы, назы- ваемые автоматами. Считается, что вынесенные суммарные за- держки реальных элементов комбинационной схемы конечны и могут изменяться во времени. Эти задержки далее будем назы- вать случайными, подчеркивая тем самым случайный характер изменения их величин во времени. Соотношения между этими ве- личинами произвольны в некоторых заданных пределах. При этом будем считать, что известна верхняя граница величин за- держек. В условиях разброса временных характеристик элемен- тов необходимо обеспечить безошибочную работу автомата, т. е. при произвольных соотношениях задержек автомат всегда дол- жен реализовать функции переходов и выходов, указанные в его таблице переходов. Рассмотрим процесс функционирования автомата, изображен- ного на рис. 2.8, который представлен нормальной таблицей пе- реходов. В таком автомате в ответ на изменение входного набора значение каждой переменной Zb, Yc (b = 1, 2,..., tn, с = 1,2,.. . , k) может измениться не более одного раза. Пусть автомат находится во внутреннем состоянии, устойчивом при действую-
51 2.4. АСИНХРОННЫЙ АВТОМАТ состояниях, а в промежутки — в неус- тойчивых внутренних состояниях щем входном наборе. При этом все входные, выходные и проме- жуточные сигналы постоянны. Предположим, в некоторый мо- мент времени произошла смена действующего входного набора на новый (рис. 2.9). На выходах безынерционной комбинацион- ной схемы (рис, 2.8) в этот же момент появляются сигналы Z\,... ... ,Zm, Kj,..., Yk, значения которых определяются выражениями (2.1) и (2.2). После задержки ть^Тв значение выходного сиг- нала Zb становится значением zb. Аналогично после временной задержки тИ1+,еТп значение Yc становится значением уе, и пере- ходный процесс в элементах задержки тт+с заканчивается. На входах комбинационной схемы устанавливается новый набор значений промежуточных сигналов, определяемых уравнениями (2.2), а автомат переходит в предписанное внутреннее состояние, устойчивое при новом входном наборе. Дальнейшее функциони- рование происходит аналогично. Если бы все задержки на внеш- них выходах были равны между собой и все задержки в обрат- 4*
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 52 ных связях также были равны между собой, то сигналы zb из- менились бы строго одновременно и сигналы ус также измени- лись бы строго одновременно. При этом автомат перешел бы- в предписанное устойчивое внутреннее состояние через одно внут- реннее состояние, неустойчивое при новом входном наборе. Так как условие равенства задержек не выполняется, то сигналы zb, уа изменяются неодновременно, и в общем случае переход в пред- писанное устойчивое состояние может осуществиться через по- следовательность нескольких внутренних состояний, неустойчи- вых при новом входном наборе (как показано на рис. 2.9) и не указанных в таблице переходов автомата. Однако выражения (2.1) и (2.2), описывающие комбинационную схему автомата,, должны быть такими, чтобы сигналы Zb, Yc не изменялись в от- вет на изменение сигналов yi,..., уь- В этом случае автомат ра- ботает безошибочно при произвольных соотношениях задержек. Конечной целью структурного синтеза является нахождение схемы автомата, реализующей заданные условия работы и удо- влетворяющей некоторому критерию оптимума. Под оптималь- ной будем понимать устойчивую к состязаниям схему автомата, обладающую максимально возможным быстродействием при ми- нимальном числе логических элементов. Оптимизация по всем трем требованиям в комплексе затруднительна из-за необходи- мости перебора большого числа вариантов. Поэтому при выпол- нении синтеза будем искать схему автомата, близкую к опти- мальной в следующем смысле. Требование устойчивости схемы к состязаниям необходимо выполнять всегда, и в процессе синтеза ему должны подчиняться остальные требования, которые учиты- ваются при выборе тех или других способов устранения состяза- ний. Для обеспечения устойчивости схемы выбираются такие спо- собы, которые по возможности не накладывают ограничений на быстродействие будущей схемы и позволяют учесть при этом тре- бование простоты структуры автомата, т. е. построения схемы, близкой к минимальной по числу ее элементов. Структурный синтез выполняется в следующей последова- тельности: 1. Кодирование внутренних состояний автомата. На этом этапе вводятся промежуточные переменные, и наборы их значений сопоставляются внутренним состояниям. Различным состояниям сопоставляются различные наборы, поэтому число k этих пере- менных должно удовлетворять неравенству 2ft^s, где s — число внутренних состояний. Код выбирается таким, чтобы схема не имела специфических состязаний, вызванных неодновременно- стью изменений промежуточных переменных и чтобы при этом не накладывалось ограничений на ее быстродействие. При этом в определенном смысле учитывается требование простоты струк- туры автомата. Кодирование заканчивается построением кодиро-
53 - 2.5. СОСТЯЗАНИЯ В АСИНХРОННОМ АВТОЛ-1АТЕ ванной таблицы переходов автомата, в которой вместо состояний указаны их коды. 2. Синтез комбинационной схемы автомата. На этом этапе анализируется кодированная таблица переходов и строятся таб- лицы интервалов, на основе которых находятся кратчайшие ДНФ, свободные от состязаний, функций переходов и выходов. По ДНФ' находятся формулы, описывающие комбинационную схему, реализуемую на элементах заданного базиса. В качестве таких элементов в книге рассматриваются элементы ИДИ—НЕ. Синтез заканчивается представлением схемы автомата в графи- ческой форме. 2.5. СОСТЯЗАНИЯ В АСИНХРОННОМ АВТОМАТЕ Целью структурного синтеза является получение схемы авто- мата, т. е. комбинационной схемы с обратными связями. Напом- ним, что специальные элементы памяти в цепях обратной связи не используются, поскольку память автомата реализуется за счет естественных задержек элементов комбинационной схемы. Как следует из гл. 1, в комбинационной схеме во время переходного процесса могут возникнуть состязания, вызванные как неодно- временностью изменения сигналов, так и наличием естественных задержек элементов. Асинхронный автомат (рис. 2.8) отражает возможность появления состязаний из-за неравенства вынесен- ных суммарных задержек комбинационной схемы. Однако, как было показано в гл. 1, при анализе некоторых видов состязаний требовалось учитывать естественные задержки отдельных логи- ческих элементов. Следовательно, для учета всех видов состяза- ний в устройстве с памятью необходимо допустить наличие естественных задержек логических элементов комбинационной схемы автомата. При изменении входных хь х2,..., хп и промежуточных у2, ••,Ун сигналов в схеме асинхронного автомата могут иметь место логические и функциональные состязания, анализ которых можно свести к анализу состязаний в комбинационной схеме, по- скольку они имеют одинаковую природу. Тем не менее остано- вимся подробнее на функциональных состязаниях, поскольку они накладывают специфические требования на выполнение струк- турного синтеза. Дело в том, что если состязания в комбинацион- ной схеме могут привести лишь к кратковременным ошибочным сигналам на ее выходах, то в схеме автомата с памятью из-за со- стязаний возможны «длительные» ошибки, ведущие к неверному функционированию автомата после появления ошибочных выход- ных и промежуточных сигналов.
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 54 Логические состязания, возникающие в схеме автомата, можно устранить путем построения ДНФ, свободных от состя- заний, для каждой из булевых функций систем (2.1) и (2.2). Бо- лее подробно этот вопрос будет рассмотрен в § 2.7. Обобщим понятие «функциональные состязания» на случай многовыходной комбинационной схемы. Для этого представим выражения (2.1) и (2.2), описывающие комбинационную схему автомата, в виде следующей системы булевых функций: = х2, • , хп, yi,y2,.. ., ук), /= 1, 2,... ,m+k, где 1Ег = { Zi при l^i^m, Уг-m при + f fi при 1 щ г'гД т, I фг-m при m<Zi^m + k. Пусть автомат находится в полном состоянии у.гу, которому со- ответствует набор а = .(х1а, х2а, ..., хпа, yia, у2а, • •, Ука) значений входных и промежуточных переменных. Предполо- жим, что в результате изменения значения некоторых перемен- ных автомат должен перейти согласно таблице переходов в полное состояние которому соответствует набор ₽ = (хф, Х2$, . . . ,Х„₽, уф, . . . ,У/ф). Пусть, далее, W=(lEi|3, IF2₽,..., Wm+k®) — набор значений функций Wi, W2, • • •, Wm+k, порождаемых набором р. Через 7 (та, р), как и раньше, будем обозначать интервал пе- рехода та-*р. Состязания в многовыходной комбинационной схеме для пере- хода та->р назовем функциональными, если существует такой на- бор 8^1 (та, р), для которого W6=^= W. Функциональные состязания в схеме автомата по виду пере- менных, значения которых изменяются при переходе та->р, принято делить на три типа. Функциональные состязания для перехода та->Р называют состязаниями между входными переменными, если наборы та и р различаются значениями только вход- ных переменных. Если переход та-^р сопровождается функцио- нальными состязаниями, причем наборы аир различаются зна- чениями только промежуточных переменных, то их называют состязаниями между промежуточными переменными, или гон- ками. Функциональные состязания для перехода та-э-р являются
55 2.5. СОСТЯЗАНИЯ В АСИНХРОННОМ АВТОМАТЕ Таблица 2.11 состязаниями между входными и промежуточными перемен- ными, если наборы а и 0 раз- личаются значениями как 00 01 11 10 У\У2 1 2 3 4 (1), 0 3, 0 (3), о (4), 1 2, 1 (2), 1 (3), 0 3, 0 (D, о (2), 0 2, 0 (4), 0 3, 1 4, 0 (3),1 (4), 0 00 01 и 10 входных, так и промежуточ- ных переменных. Часто состя- зания этого вида называют су- щественными состязаниями. Проиллюстрируем состяза- Таблиц А1Х2Аз а 2.12 ния указанных типов на при- мере таблицы переходов авто- мата (табл. 2.11), справа, в ко- торой указаны значения про- межуточных переменных у\, у2, сопоставленные внутренним со- стояниям этого автомата. Состязания между 000 010 ПО 100 101 1 (1), %! (1), A1 (1), Д (1), Ч 2, Х2 вхо дн ым и пер ем ен н ы м и. Этот тип состязаний возникает из-за неодновременности измене- ния значений входных переменных (сигналов) на входах или во внутренних узлах комбинационной схемы при смене состояния входа автомата. Рассмотрим переход от набора а=(00, 00) к набору 0 = (11, 00). В этом переходе должны измениться одно- временно значения переменных хг, х2 (в автомате имеются усло- вия состязаний между входными переменными). Для набора 0 в- таблице переходов указан на пересечении строки 1 и третьего столбца набор IW=(ZP, Y^, У2Р) = (0, 00). Интервал перехода от а к 0 Ца, р) ={(00, 00), (01, 00), (10, 00), (11, 00)}. Пусть 6= (01, 00). В таблице переходов для набора б указано = (1, 01). По- скольку то в автомате для рассматриваемого перехода имеются состязания между входными переменными. Действительно, если на входе автомата сигналы Xi, х2 изме- няются не строго одновременно или если из-за случайных вели- чин задержек логических элементов сигналы появляются в опре- деленных узлах комбинационной схемы так, что изменения не являются одновременными, то автомат для рассматриваемого перехода может оказаться в полном состоянии, характеризуемом набором (01,00) либо (10,00). Рассмотрим вновь случай набора 6= (01, 00). Этот набор вызывает появление ошибочных значе- ний переменных Z=l, У2=1. Если ошибочное значение У2 сохра- няется в промежутке времени, превышающем величину задержки комбинационной схемы в цепи У2—у2, то, как следует из табл. 2.11, на входе автомата набор б сменится набором (01, 01), а затем, когда в комбинационной схеме установится значение Х1 = 1, — набором (11, 01), для которого в табл. 2.11 указано
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 56 $7= (0,01). В результате такого перехода выходной сигнал ме- няется дважды: 0->1->-0 (кратковременный ошибочный сигнал), а промежуточная переменная принимает устойчивое ошибоч- ное единичное значение. Если же при переходе от набора а, к на- бору р сначала изменится значение хь а затем х2, то возможна следующая последовательность смены наборов на входах ком- бинационной схемы автомата: (00, 00), (10, 00), (10, 11), (11, И), (И, 01). На выходах комбинационной схемы устано- вятся те же значения сигналов, что и в предыдущем случае. Проанализируем еще один переход от сс= (11, 10) к р = (00, 10). В этом случае возможна последовательность смены наборов: (11,10), (01, 10), (01, 11), (00, 11). На входе комбинационной схемы установится набор (00, 11), который порождает ошибоч- ные значения Z=0, У2= 1. Рассмотрим возможности обеспечения устойчивости автомата к состязаниям между входными переменными. Два входных на- бора pl =(Х]1, Х2\ . . , Хп1) , Р2= (%12, х22,..., хп2) являются сосед- ними, если лу.’^лу2 для одного «(l^a^n) и хе[ = хе2 для всех е=Н=а. Если любому изменению состояния входа автомата, ука- занному в таблице переходов, сопоставлен переход между со- седними входными наборами, то, очевидно, в автомате отсутст- вуют состязания между входными переменными. Ограничение на переходы между соседними входными наборами является факти- чески ограничением на условия работы синтезируемого авто- мата, которое надо учитывать в начале логического проектиро- вания. Однако в некоторых случаях этого можно не требовать и допускать изменение значений более чем одной входной пере- менной при смене входных наборов автомата. Тем самым в авто- мате допускается существование условий состязаний между входными переменными, если при этом не нарушается предпи- санный автомату закон функционирования. Например, в табл. 2.12 показан фрагмент таблицы переходов (одна строка), ана- лиз которого выявляет возможность изменения значений двух входных переменных. Так, при изменении входного набора от (010) к (100) интервал перехода содержит четыре набора: {(000), (010), (НО), (100)}. Любому из этих наборов соответствуют одно и то же состояние выхода Xi и внутреннее состояние щ. Сле- довательно, условия состязаний между входными переменными Х[ и х2 в данном случае не приводят к появлению ошибок. Анало- гично можно проанализировать каждую строку таблицы пере- ходов и выяснить, имеются ли в автомате состязания между входными переменными. В случае, когда такие состязания обна- руживаются, следует изменить условия работы (таблицу пере- ходов) автомата, если это возможно по системным соображе- ниям. Если же такое изменение нельзя произвести, можно вос- пользоватьсья другими структурными моделями автомата [23,24],
57 2.5. СОСТЯЗАНИЯ В АСИНХРОННОМ АВТОМАТЕ рассмотрение которых выходит за рамки книги. Ограничимся классом таблиц переходов, для которых состязания между вход- ными переменными отсутствуют. Состязания между промежуточными пере- менными (гонки). Гонки в автомате возникают из-за того, что при переходе автомата из одного внутреннего состояния В; другое промежуточные сигналы изменяются неодновременно. Проиллюстрируем гонки на примере перехода Z2->(z<) (табл. 2.11). Этому переходу соответствует смена набора а=: = (10, 01) на набор 0= (10, 10). Интервал перехода содержит че- тыре набора I (а, ₽) ={(10, 01), (10, И), (10, 00), (10, 10)}. На- бор 6= (10, 11)е/(и, 0) порождает на выходе комбинационной схемы набор 1^б=(1,11). Поскольку 1F6=^IFp= (0,10), то в авто- мате имеются гонки для перехода Результат гонок опре- деляется действительным соотношением величин естественных задержек. В рассматриваемом примере автомат может перейти либо в намеченное внутреннее состояние (к*) (при этом на его выходе возможно появление кратковременной ошибки Z=l), либо в ошибочное внутреннее состояние (х3). Наличие или отсут- ствие гонок в автомате зависит от кода внутренних состояний синтезируемого автомата. § 2.6 посвящен изложению способов, построения противогоночного кода внутренних состояний. Существенные состязания. Для иллюстрации состя- заний этого типа обратимся вновь к таблице переходов автомата (табл. 2.11). Пусть автомат под действием входного набора XiX2=(01) переходит из внутреннего состояния (1) в состояние (2). Согласно таблице в этом переходе изменяется вначале сиг- нал х2, а затем сигнал Если элементы комбинационной схемы воспримут изменения сигналов х2, у2 в этой последовательности, то данный переход окончится благополучно, поскольку в нем нет условий ни для гонок, ни для состязаний между входными пере- менными. Предположим, что часть схемы, реализующая функ- цию У1, еще не восприняла новое значение Х2=1, но уже воспри- няла новое значение у2=1. Иными словами, ко входам подсхемы, реализующей функцию У], приложен набор (00, 01). Согласно- таблице переходов этому набору соответствует переход автомата во внутреннее состояние (3). Следовательно, значение У) изме- нится с нуля на единицу и автомат перейдет во внутреннее со- стояние (3). Когда же изменение х2 с нуля на единицу достигнет под-, схемы, реализующей Уь автомат останется в том же внутреннем состоянии (3), устойчивом при входном наборе (01). Таким обра- зом, вместо предписанного перехода (1)->(2) автомат может со- вершить переход (1)->-(3). Выходной сигнал примет при этом ошибочное значение z — О, что свидетельствует о возможности» нарушения требуемого функционирования автомата из-за
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 58 существенных состязаний. Это можно установить и формально: а-(00, 00), р=(01, 01), /(а, ₽) ={(00, 00), (01, 00), (00, 01), (01, 01)}. Пусть 6= (00, 01). Тогда 1Кй=(0, 11). Поскольку (1, 01), то в автомате имеются существенные состязания. Как следует из данного примера, даже если коды входных и внутренних состояний являются соседними, в автомате имеются условия существенных состязаний, которые могут привести к ошибочному функционированию. В общем случае для обеспече- ния устойчивости автомата к существенным состязаниям требу- ется введение в обратные связи специальных искусственных за- держек или фильтров [22, 35]. Интуитивно ясно, что эти меры нужны, чтобы обеспечить изменение промежуточных сигналов на входах комбинационной схемы лишь после того, как все изме- нения входных сигналов будут восприняты всеми элементами схемы. Однако если предположить, (см. § 2.8), что соединитель- ные линии между логическими элементами схемы обладают ну- левыми задержками, то устойчивость автомата к существенным состязаниям можно обеспечить без использования задержек пу- тем специальных преобразований схемы автомата. Кроме состязаний указанных видов в автомате с несколькими выходами Zi, Z2,...,zm могут возникать специфические состяза- ния, обусловленные тем, что величины задержек в прохождении сигналов от входов автомата к его выходам различны и слу- чайны. Эти состязания, называемые в дальнейшем состязаниями между выходными сигналами, возникают в процессе смены од- ного выходного набора другим и могут привести к кратковремен- ному появлению на выходах автомата наборов значений выход- ных сигналов, не предусмотренных законом функционирования автомата. Пусть, например, на выходах некоторого автомата на- бор (01) сменяется на (10). В этом переходе на выходах авто- мата можно наблюдать любой набор из интервала/((01), (10)) = ={(01), (00), (11), (Ю)}. Известно, что этот автомат не дол- жен порождать набор (И). Однако если наборы изменятся в последовательности (01)->-(11)->(10), то данное требование будет нарушено. Если состязующиеся выходные сигналы пода- ются на входы другого автомата, то такие состязания, по суще- ству, являются состязаниями между входными сигналами этого автомата и должны быть устранены. Один из способов устране- ния состязаний между выходными сигналами заключается в синхронизации переходного процесса на выходах автомата. Дру- гой способ состоит в упорядочении изменений выходных сигна- лов, например, так, чтобы каждый переход от одного набора к другому происходил только через соседние выходные наборы. Иными словами, реакцией автомата на появление нового вход- ного набора должна быть последовательность соседних выход- ных наборов. Ясно, что данное требование можно учитывать уже
59 2.6. ПРОТИВОГОНОЧНОЕ КОДИРОВАНИЕ; при составлении таблицы переходов. Этот способ может повлечь необходимость введения дополнительных внутренних состояний автомата и преобразования таблицы переходов автомата в таб- лицу, не являющуюся нормальной. Способ устранения состяза- ний между выходными сигналами будет иллюстрироваться на примерах синтеза в § 2.9. Согласно вышеизложенному в схеме асинхронного автомата могут иметь место состязания следующих видов: между вход- ными сигналами, между выходными сигналами, гонки, логиче- ские, существенные. Необходимость устранения состязаний первых двух видов учитывается при построении таблицы переходов автомата, по ко- торой производится структурный синтез. Устойчивость автомата к гонкам достигается за счет выбора соответствующего кода' внутренних состояний. Логические состязания устраняются пу- тем построения ДНФ, свободных от состязаний, для каждой из булевых функций, описывающих комбинационную схему авто- мата. И наконец, устойчивость автомата к существенным состя- заниям достигается за счет соответствующей организации схемы автомата. 2.6. ПРОТИВОГОНОЧНОЕ КОДИРОВАНИЕ На данном этапе синтеза асинхронного автомата необходимо выбрать код внутренних состояний, сопоставляя каждому внут- реннему состоянию набор значений промежуточных перемен- ных. Кодирование внутренних состояний определяет не только число обратных связей автомата и число булевых функций, реа- лизуемых комбинационной схемой, но и многие важные свойства синтезируемого автомата и прежде всего его устойчивость к гонкам. Кодирование внутренних состояний, позволяющее обеспечить, устойчивость автомата к гонкам, будем называть противогоноч- ным. Противогоночный код внутренних состояний дает возмож- ность такого задания системы булевых функций переходов и вы- ходов, при котором в комбинационной схеме не возникают функ- циональные состязания, обусловленные изменениями значений промежуточных переменных. Способ реализации этой возможно- сти будет описан в следующем параграфе, а сейчас рассмотрим два основных подхода к построению противогоночного кода внут- ренних состояний [32]. В соответствии с определением функциональных состязаний условия гонок возникают в том случае, если во время перехода изменяются значения нескольких промежуточных пере- менных. Если внутренние состояния закодированы соседним;
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 60 кодом, то промежуточные переменные никогда не изменяются одновременно и гонки в автомате невозможны. Поэтому наличие соседнего кода внутренних состояний может служить достаточ- ным условием отсутствия гонок в автомате. Первый подход к рассматриваемой задаче заключается в со- седнем кодировании внутренних состояний. Его особенностью является то, что внутренним состояниям, связанным переходом, последовательно приписываются соседние наборы значений фик- сированного числа промежуточных переменных. При неудачном исходе кодирования предпринимается попытка увеличить длину кода и процесс повторяется сначала. Следует отметить ограни- ченность данного подхода, поскольку соседнее кодирование воз- можно далеко не для всех таблиц переходов. Для таких таблиц можно попытаться произвести соседнее кодирование, видоизме- нив таблицу переходов, путем ввода, например, дополнительных состояний [18]. Обычно это сопровождается перебором большого числа вариантов. Кроме того, введение дополнительных состоя- ний может вызвать снижение быстродействия синтезируемого автомата. Поэтому соответствующие методы преобразования и кодирования таблиц переходов рассматривать не будем. Суть второго подхода состоит в поразрядном способе образо- вания противогоночного кода с использованием необходимого и достаточного условия противогоночного кодирования. Опишем данный способ для нормальных таблиц переходов модели Мили. Обозначим через Mi>2 множество внутренних состояний, в кото- рых хотя бы кратковременно может находиться автомат при пе- реходе Ki->х2, заданном таблицей переходов. В это множество входят также внутренние состояния xi и х2. Если, например, xi = (010), х2 = (001) и известно, что сигнал г/2 изменяется раньше сигнала z/з, то Mii2 = {(010), (000), (001)}. Если же порядок изме- нения значений промежуточных переменных неизвестен, то Mj>2 = = {(010), (000), (011), (001)}. В последнем случае множество A4i>2 является интервалом и его можно представить следующим образом: JW]j2= (0—-). Пусть в одном столбце указаны два устойчивых состояния х2, Х4(х2¥=Х4). Назовем парой переходов любые два перехода xj->x2, И3-Ж4 в эти состояния под воздействием одного и того же состоя- ния входа. Для произвольной пары переходов xi->x2, гонки отсутствуют тогда и только тогда, когда •Л11,2 Г)0- (2-3) Это условие будем называть необходимым и достаточным усло- вием противогоночного кодирования [32]. Для произвольного порядка изменения значений промежуточ- ных сигналов интервалы ТИ1,2 и ТИ3,4 не пересекаются только при
61 2.6. ПРОТИВОГОНОЧНОЕ КОДИРОВАНИЕ наличии переменной yt, являющейся внешней переменной для обоих интервалов и принимающей различные значения на этих интервалах, т. е. при Уг1=Уг2^У^=У^- (2.4) В дальнейшем будем говорить, что переменная Уг развязы- вает переходы и zg->X4, или является развязывающей пе- ременной для пары переходов «i->x2, из->Х4. Если, например, xi=(010), х2—(001), хз=(Ю1), «4= (НО), то у\ является развя- зывающей переменной для этой пары переходов, поскольку yi! = = У!2 = 0, z/i3 = y14= 1. Код внутренних состояний заданного автомата будем назы- вать правильным, если для любой пары переходов в нем имеется развязывающая переменная. Правильный код внутренних со- стояний не накладывает никаких ограничений на быстродействие автомата. Сложность задачи построения правильного кода для задан- ной таблицы переходов обусловлена ее комбинаторным харак- тером. Это объясняется тем, что для одной пары переходов мо- жет быть несколько развязывающих переменных, а промежуточ- ная переменная, в свою очередь, может развязывать несколько пар переходов. Одним из основных способов решения этой задачи является сведение ее к хорошо изученной задаче покрытия. В таблице покрытия строкам соответствуют пары переходов, а столбцам — возможные разряды кода (промежуточные перемен- ные). Наличие единицы на пересечении столбца и строки свиде- тельствует о том, что переменная, соответствующая столбцу, раз- вязывает пару переходов, приписанную данной строке. Разряды кода, приписываемые столбцам таблицы, можно определить по- следовательным перебором двоичных «-разрядных чисел, где « — число внутренних состояний автомата. При этом следует рас- сматривать не более половины всех 2s двоичных чисел, поскольку двоичное число (разряд кода) и его инверсия удовлетворяют условию (2.4) для одних и тех же пар переходов. Учитывая, что промежуточная переменная, сохраняющая нулевое (единичное) значение для всех внутренних состояний, не развязывает ни одной пары переходов, получаем: число возможных разрядов кода не превышает 2s"1 —1. Построение правильного кода проис- ходит путем определения безызбыточного покрытия таблицы по тому или иному критерию. Например, кратчайшему покрытию соответствует правильный код минимальной длины. Такому коду соответствует автомат с минимальным числом обратных связей. Однако при этом часто не удается получить автомат с наимень- шим числом логических элементов. Построение правильного кода, при котором синтезируемый автомат имеет минимальную
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 62 сложность структуры, является одной из тех задач, для кото- рых эффективный метод реше- ния еще не найден. Мы огра- j ничимся способом построения 2 такого правильного кода внут- 3 ренних состояний, который оп- ределяет минимум числа буле- вых функций, реализуемых ком- бинационной частью автомата. Таблица 2.13 1 2 3 4 5 5 И) (П 5 1 — (2) (2) - 5 4 (3) (3) — 5 (4) (4) 2 — (5) 1 4 3 2 Проиллюстрируем способ построения правильного кода на примере таблицы переходов автомата без выходов (табл. 2.13). Таблица 2.16 Таблица 2.15 числим все пары переходов из таблицы переходов, а сверху запи- шем 25-1 —1 = 15 двоичных чисел. Значения элементов данной таблицы определим, пользуясь условием (2.4). В результате столбцы у\, у2, у& остались незаполненными. Это свидетельствует о том, что промежуточные переменные у\, у%, уз не развязывают ни одну из заданных пар переходов и их можно было не вклю-
63 2.6. ПРОТИВОГОНОЧНОЕ КОДИРОВАНИЕ Таблица 2.17 00 10 11 01 . У (1), 00 (1),01 (11,01 2, 00 0 1, 00 (2), 10 (2), 10 (2), 00 1 чать в таблицу покрытия. В этой таблице знаком «*» отме- чены столбцы, образующие один из вариантов кратчайшего покрытия, которому соответст- вует правильный код минималь- ной длины (табл. 2.15). Для таблицы переходов с т выходными переменными получение правильного А-раз- рядного кода приводит к систе- ме m + k уравнений выходов и переходов. Это число может быть сокращено лишь при усло- вии, что выходная переменная Zi одновременно является и промежуточной переменной. Такой случай возможен, если каждому внутреннему состоя- нию соответствует одно зна- чение переменной Z{. Подоб- ные переменные следует отме- чать в таблице покрытия среди разрядов кода и использовать их для образования правиль- ного кода. Наибольшие воз- Таблица 2.18 можности совмещения уравнений выходов и переходов возникают в таблицах переходов модели Мура. Продолжим рассмотрение примера 2.2.1. Формирователь импульсов описывается таблицей переходов модели Мура (табл. 2.16). Из ее анализа следует, что существуют только две пары переходов: из и zi-^-из, х2. Переменная Zi развя- зывает первую пару, так как zil = Zi2 = 0, Zi3=l, а переменная z2 — пару xi-Жз, х2, поскольку z2I = 223 = 0, 222=1. Таким обра- зом, код состояний выхода является правильным кодом внут- ренних состояний. При этом достигнуто полное совмещение урав- нений выходов с уравнениями пер-еходов. Для сравнения приведем таблицу переходов модели Мили для синтезируемого формирователя (табл. 2.17). В этом случае автомат имеет два внутренних состояния, для кодирования кото- рых достаточно ввести промежуточную переменную у. Система уравнений выходов и переходов содержит три уравнения, в то время как для модели Мура потребовалось лишь два уравнения. Приведем еще один пример. Определим правильный код внут- ренних состояний для таблицы переходов счетного триггера
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 64 (Т-триггера) (табл. 2.18). Выходная переменная z развязывает пару переходов xi-жг, Z3—>-я4. Чтобы развязать оставшуюся пару переходов х4->Х1, И2~>хз, достаточно ввести промежуточную пе- ременную у, для которой справедливо у4 = г/1^=у2 = у3. В итоге получим правильный код внутренних состояний (табл. 2; 19), ко- торый является к тому же соседним. Рассмотренные примеры иллюстрируют тот факт, что пред- ставлению синтезируемого автомата таблицей переходов мо- дели Мура соответствует система уравнений выходов и перехо- дов, имеющая не больше уравнений, чем система для модели Мили. Доказательство утверждения приводится в работах [26, [33]. Вопрос о том, всегда ли при этом структура автомата для модели Мура будет проще, остается, к сожалению, открытым. Сравнительный синтез ряда устройств автоматики и изучение практических схем показывают, что во многих случаях реализа- ция таблицы переходов модели Мура действительно приводит к экономии аппаратурных затрат. Это позволяет в дальнейшем ис- пользовать указанный критерий выбора правильного кода. 2.7. СИНТЕЗ КОМБИНАЦИОННОЙ СХЕМЫ АСИНХРОННОГО АВТОМАТА Код внутренних состояний определяет число промежуточных переменных автомата и их значения на всех внутренних состоя- ниях, задавая неявно систему уравнений выходов и переходов Zl=fl(Xl,X2, • • . , Хп, Уъ У2,. -.,Ук), Zm — fm(X[, Х2, , Хп, У1, У2, • , Ук) , <2 У1 = <Р1(Х1, Х2> • • , Хп, У!, у2, • • • , Ук) , —<Ра(-Ч, х2, . .., хп, У}, у2,. .. , Ук) • Ниже рассмотрим, каким образом осуществляется построе- ние комбинационной схемы, реализующей систему (2.5). Прежде всего необходимо определить эту систему путем построения таб- лицы системы булевых функций. Данную таблицу легко получить из кодированной таблицы переходов синтезируемого автомата. Под этой таблицей понимается таблица переходов, в кото- рой номера всех состояний (входа, выхода и внутренних состоя- ний) заменены их кодами. Система (2.5) будет задана кодиро- ванной таблицей переходов полностью лишь в случае соседнего кода внутренних состояний. Несоседнее кодирование внутренних состояний, например zi и приводит к тому, что во время пе-
65 2.7. СИНТЕЗ КОМБИНАЦИОННОЙ СХЕМЫ АВТОМАТА рехода Х1-Ж2 автомат может находиться в состояниях, отличных от zi и х&. Для того чтобы из этих состояний автомат переходил в требуемое состояние хг, в кодированной таблице необходимо перечислить наборы, сопоставленные всем возможным неустой- чивым состояниям, и указать для них в столбце таблицы перехо- дов набор, сопоставленный хг. Как следует из определения про- тивогоночного кодирования, при таком доопределении системы булевых функций никогда не встретится противоречие, т. е. си- туация, когда в одном пересечении строки и столбца таблицы должны быть записаны различные коды исходя из требований двух переходов при одном состоянии входа. Тем самым устра- няются функциональные состязания, вызываемые неодновремен- ными изменениями значений промежуточных переменных, иными словами, реализуется способность кода устранять гонки в авто- мате. Проиллюстрируем сказанное на примерах. Исходя из таб- лицы переходов Т-триГгера (табл, 2.18) построим кодирован- ную таблицу переходов (табл. 2.20). Внутренние состояния за- кодированы соседним кодом, поэтому система булевых функций У1 и У2 определяется ею полностью. Приводя данную таблицу к виду, принятому для представления булевых функций, получим таблицу системы (2.5) (табл. Случай несоседнего кода Т а б л и ц а 2.20 Т а б л и ц а 2.21 X У> Уг У1 У2 1 0 0 0 0 0 2 0 0 1 1 1 3 0 1 1 1 1 4 0 1 0 0 0 5 1 0 0 0 1 6 1 0 1 0 1 7 1 1 1 1 0 8 1 1 0 1 0 5 — 5499 2.21). внутренних состояний рассмотрим на примере таблицы переходов (табл. 2.22)-, Заданный код яв- ляется правильным, поскольку для каждой пары переходов имеется развязывающая пере- менная. В нижней части коди- рованной таблицы переходов (табл. 2.23) приведены все воз- можные неустойчивые, состоя- ния (строки 6—9). Состояние 6 возникает во время перехо- дов Х1~>Х5, Xg—>Х1 и Хд—>Х2, ПО- ЭТОМУ для строки 6 указаны КОДЫ СОСТОЯНИЙ Х5, XI II Х2 СООТ- ветственно в первом, втором и пятом столбцах. Аналогично заполнены остальные строки. После того как построена таблица системы булевых функций (2.5), требуется опре- делить такую форму представ- ления системы, которой соот- ветствует , наиболее простая
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ Таблица 2.22 1 2 3 4 5 1 ООО 001 ОН 010 У1 Уз Уз 1/4 5 (1) . .—. (1) 1 0 0 1 5 — (2) (2) 1 0 1 0 5 — (3) (3) 0 1 1 0 5 (4) (4) '— 0 1 0 1 (5) 1 4 3 2 0 0 0 0 Таблица 2.23 Х1АГгХ3 1 000 001 011 010 У1 У2 Уз //4 0000 (1001) .— (1001) 1 0 0 1 0000 — — (1010) (1010) 1 0 1 0 0000 — (ОНО) (ОНО) — 0 1 1 0 0000 (0101) (0101) — 0 1 0 1 (0000) 1001 0101 оно 1010 0 0 0 0 0000 1001 .— — 1010 1 0 0 0 0000 1001 0101 — — 0 0 0 1 0000 — 0101 оно — 0 1 0 0 0000 — — оно 1010 0 0 1 0 (по числу заданных элементов) ком- бинационная схема. При этом синте- зируемая схема не должна содер- жать логических состязаний. Дан- ную задачу можно решить, восполь- зовавшись методами, изложенными в гл. 1. Прежде всего необходимо опре- делить список возможных переходов между наборами значений аргумен- тов. Очевидно, что данная информа- ция содержится в кодированной таблице переходов. Получение списка основано на правиле функ- ционирования модели автомата. Пе- реход между внутренними состоя- ниями совершается согласно при- нятой модели (рис. 2.8) в два этапа: на первом этапе изменяются значе- ния входных переменных (проис- Т а б л и ц а 2.24 Шг, nij /Л}) Yi 145 — 0 0 0 5,6 1 0 — 0 2,3 0 — 1 1 3,7 — 1 1 1 7,8 1 1 — 1 4,1 0 — 0 0 Таблица 2.25 ПЦ, 1(пц, mi) и 5,6 1 0 1 6,2 — 0 1 I 2,3 0 — 1 1 7,8 1 1 — 0 8,4 — 1 0 0 4,1 0 — 0 0
67 2.7. СИНТЕЗ КОМБИНАЦИОННОЙ СХЕМЫ АВТОМАТА ходит переход по строке), на втором — значения промежуточ- ных переменных (один или несколько переходов по столбцу таб- лицы переходов). Каждому этапу соответствуют пары наборов значений аргументов булевых функций, связанные переходом. Например, для Т-триггера (табл. 2.20 и 2.21) имеем следующее чередование строк наборов значений аргументов (строк табл. 2.21): 1, 5, 6, 2, 3, 7, 8, 4, 1. Имея таблицу для каждой из функций и список наборов, свя- занных переходами, можно найти кратчайшие ДНФ, свободные от состязаний (см. гл. 1). Затем, применяя правила де Моргана и выполняя факторизацию, где это возможно, следует перейти от ДНФ к структурным формулам, описывающим схему из элемен- тов заданного базиса. Для 7-триггера таблицы интервалов функций У1 и Уг приве- дены в табл. 2.24, 2.25. Функции У] и У2 имеют следующие крат- чайшие ДНФ, свободные от состязаний: У1 = х?/1 \!y\y2\/xy2=Zx, У2^Ху2\/У1У2Уху{. Выполнение синтеза комбинационной схемы в приведенной последовательности гарантирует получение устойчивой комбина- ционной схемы, однако требует полного перечисления неустой- чивых состояний автомата и составления ряда вспомогательных таблиц. Представляется заманчивым отказаться от такого пере- числения и строить таблицу интервалов для системы булевых функций исходя только из таблицы переходов и противогоноч- ного кода внутренних состояний. Оказывается, что это возможно, если при построении ДНФ не требовать устойчивости к логиче- ским состязаниям, возникающим при изменении значений вход- ных переменных. Рассмотрим способ такого построения интервалов для нор- мальной таблицы модели Мили, внутренние состояния которой закодированы правильным кодом. В дальнейшем покажем, что принятые ограничения несущественны и способ применим для более широкого класса таблиц переходов. Столбцы нормальной таблицы переходов задают переходы между устойчивыми внут- ренними состояниями. Любому переходу xi->Z2 при состоянии входа pi соответствует множество М\,2 внутренних состояний, в которых может находиться автомат в течение перехода. Для пра- вильного кода внутренних состояний данное множество является интервалом. Приписывая к этому интервалу набор значений входных переменных (код состояния входа pi), можно получить интервал на множестве наборов значений аргументов системы (2.5). Полученный интервал обладает тем свойством, что на нем все функции сохраняют свои значения, поскольку для модели 5*
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 68 Мили значения выходных и промежуточных переменных изме- няются лишь при изменении значений входных переменных. Внутренними переменными интервала являются промежуточные переменные, поэтому при изменении их значений не могут воз- никнуть логические состязания. Если же для состояния входа pi задан единственный переход то такой переход можно представить интервалом, внутренними переменными которого являются только входные переменные. Для такого перехода на- личие данного интервала позволит устранить логические состя- зания из-за изменения значений входных переменных. Таблицу интервалов всех переходов между внутренними состояниями, за- даваемых таблицей переходов, назовем структурной таблицей асинхронного автомата. Рассмотрим построение структурной таблицы автомата, за- данного табл. 2.22. В первом столбце этой таблицы задано одно устойчивое состояние (xs), в которое имеются переходы из остальных состояний. Все эти переходы мы вправе представить интервалом (1— — -----------), для которого У1 = Уг= Уз= У4 = = 0. Во втором столбце табл. 2.22 есть переход xs->-xi, которому соответствуют интервал (ООО—00—) и значения У1 = У4=1, У2 = = Уз = 0. Переход в состояние 4 отображается интервалом (00—• 0101). Определяя аналогично интервалы всех переходов между внутренними состояниями, получим структурную таблицу авто- мата (табл. 2.26). ДНФ, определяемые из этой таблицы, следует проверять на логические состязания при изменении значений только входных переменных по методике, описанной в гл. 1. Т а б л и ц а 2,26 Переход Xl Х2 Хз У1 1/2 Уз Z/4 у У Уз y4 1—4—5 1 ' 0 0 0 0 5—1 0 0 0 — 0 0 — 1 0 0 1 4—4 0 0 — 0 1 0 1 0 1 0 . 1 5—4 0 0 1 0 .—. 0 — 0 1 0 1 3—3 0 — 1 0 1 1 0 0 1 1 0 5—3 0 1 1 0 — .—. 0 0 1 1 0 2—2 0 1 .—. 1 0 1 0 1 0 1 0 5—2 0 1 0 — 0 — 0 1 0 1 0 1 — 1 0 — 0 1 0 0 1 1 0 0 1 Структурная таблица для У-триггера представлена в табл. 2.27. Из нее можно записать кратчайшие ДНФ Ух=хг/2 V^r/i, Y2 = xy^xyl.
69 2.7. СИНТЕЗ КОМБИНАЦИОННОЙ СХЕМЫ АВТОМАТА Таблица 2.27 Переход X У1 У1 y1=z у2 1 2->3 0 1 1 1 2 4->1 0 — 0 0 0 3 1->2 1 0 — 0 1 4 3^-4 1 I — 1 0 Таблица 2.28 В каждое уравнение входная переменная входит и с отрица- нием, и без него, что свидетельствует о наличии логических со- стязаний. Из табл. 2.20 следует, что для У] состязания имеют место при переключении (011)->(111), а для У2 — при (101)-> —>-(001). Пары этих наборов покрываются простыми импликан- тами уху2 и у\у2, включение данных импликант в ДНФ приводит к получению ранее указанных ДНФ, свободных от состязаний. Закончим синтез формирователя (пример 2.2.1). В таблице переходов (табл. 2.16) заданы переходы только в первое внут- реннее состояние при pi = (00) и р4=(01), поэтому все эти пере- ходы можно отобразить одним интервалом (0------------), для ко- торого У1 = У2=0. Данный интервал записываем в строке 1 структурной таблицы (табл. 2.28). Из этой таблицы, пользуясь ранее описанным методом мини- мизации булевых функций, полу- чим кратчайшие ДНФ для инвер- сий функций с целью построения схемы на элементах ИЛИ—НЕ: У1=Х1 \Jy2\>x2yY, Y2=xx\Jyx\!x2y2. Полученные ДНФ свободны от состязаний, поскольку любой ар- гумент входит в ДНФ только один раз. От этих выражений Рис. 2.10. Формирователь сиг- налов
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 70 переходим к структурным формулам У] =XlVi'2V^2Vpl=Z1, K2=*iVf/iVx2V У2=22, которым соответствует схема, приведенная на рис. 2.10. 2.8. УСТРАНЕНИЕ СУЩЕСТВЕННЫХ СОСТЯЗАНИЙ Как уже отмечалось в § 2.5, существенные состязания в схеме автомата возникают в тех случаях, когда какой-либо ло- гический элемент воспримет изменение промежуточного сигнала Уг до изменения входного сигнала х,, вызвавшего изменение yi. Для того чтобы выяснить возможности устранения сущест- венных состязаний, обратимся вновь к таблице переходов счет- ного триггера (Т-триггера), заданного таблицей переходов авто- мата (табл. 2.18). Функции У] и У2 представлены в виде кратчай- ших ДНФ, свободных от состязаний: У\=ХугУу1У2\/ху2, У2 = Ху2УУ1У2\'хух. Как следует из предыдущих параграфов, этим выражениям соот- ветствует схема (рис. 2.11), свободная от всех видов состязаний, кроме, разумеется, существенных. Примем, что автомат находится во внутреннем состоянии (1) с х=0, У1~У2 = О- Проведем анализ поведения схемы автомата при переключении входного сигнала. Изменение х: 0-И приводит к то- му, что выходной сигнал элемента И5 устанавливается в единицу, переключая у2:$—>-1. Если эле- мент И3 воспримет это изменение раньше, чем изменение х (из-за задержки инвертора или прово- да), то yi переключится в едини- цу. В итоге на выходах элементов И может установиться комбина- ция (10000), которой соответст- вует устойчивое состояние (4), т. е. i/i=l,//г-0. Рис. 2.11. Первый вариант схе- мы с состязаниями для Г-триг- гера
71 2.8. УСТРАНЕНИЕ СУЩЕСТВЕННЫХ СОСТЯЗАНИЙ Этот ошибочный переход имел место из-за того, что проме- жуточный сигнал у2 выиграл состязание у входного сигнала х на входах в элемент И3. Данный элемент реализует импликанту ху2, которая покрывает набор (001), соответствующий состоя- нию (3) при х=0. Таким образом, возможность ошибочного функционирования заложена уже в конфигурации таблицы пе- реходов автомата и таблицы функции Y\: X 0 1 1 (1) 2 2 3 (2) ХУ2 У1 Из этого примера можно заключить, что таблица переходов содержит условия существенных состязаний, если в ней имеется хотя бы одна тройка внутренних состояний xi, х2, хз, связанных переходами следующим образом: ф(%i, pi) =иь ф(хь р2) =х2, ф(х2, pi) = х3. Иными словами, наличие приведенной выше конфигурации в таблице переходов автомата свидетельствует о возможности су- щественных состязаний, исход которых зависит от реального со- отношения величин задержек в схеме автомата. Для того чтобы обеспечить независимость работы схемы от скоростей срабатывания логических элементов, т. е. чтобы устра- нить существенные состязания, достаточно включить в обратные связи элементы задержки, величины которых превышают макси- мальную из задержек тт+сеТп (рис. 2.8). Несмотря на то что такой способ устранения существенных состязаний приводит к увеличению длительности переходного процесса автомата при- мерно в два раза, в общем случае он оказывается единственно возможным. Использования элементов задержки можно избежать, допус- кая следующее предположение о временных параметрах схемы автомата: если сигнал от узла схемы, являющегося входом или выходом логического элемента, передается ко входам несколь- ких элементов, то изменения данного сигнала воспринимаются этими элементами практически одновременно. Иными словами, предположим, что величины задержек в проводах, соединяющих логические элементы, пренебрежимо малы по сравнению с величинами задержек элементов, а време- нами нарастания и спада сигналов можно пренебречь.
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 72 Обратимся к нашему приме- ру. В рассмотренном переходе су- щественные состязания прояви- лись как состязания в нуле из- за наличия элемента, реализую- щего импликанту ху2- Заменим его элементом ИЛИ—НЕ: ху2 — = х\/у2 (рис. 2.12). Если справед- ливо сделанное выше предполо- жение, то данный элемент всегда воспримет изменение сигнала х до изменения сигнала у2. Отсюда следует общее прави- ло устранения существенных со- стязаний, проявляющихся как со- стязания в нуле, для функций, представленных в виде ДНФ [38]. Конъюнкцию вида XpXgyitjj, пред- ставляющую единичное значение функции У в конфигурации Рис. 2.12. Второй вариант схе- мы с состязаниями для Т-триг- гера 1 (1) 2 2 3 (2) 2 1 О необходимо заменить выражением ХрХёУгУ] = Хр (Xgytyj) = XpXg V Уг\Уу Благодаря подобной замене устраняются входные инверторы, из-за которых возникают состязания в нуле и состязующиеся сигналы х и у воспринимаются элементами в нужной последо- вательности. Существенные состязания могут проявляться и как состяза- ния в единице. В нашем примере это наблюдается для У] в сле- дующей конфигурации: х О 1 з 4 (3) 4 1 (4) х 0.1 Ух Уг 3 4 К 11 11 0 1 10 Рассмотрим переход из внутреннего состояния (3) при х : 0->1. В этом случае изменения состязующихся сигналов х и у2
73 2.8. УСТРАНЕНИЕ СУЩЕСТВЕННЫХ СОСТЯЗАНИИ воспринимаются элементом ИЛИ через элементы Иь И2. Если задержка элемента Ид больше задержек элементов И2, ИЛИ- НЕ, то у\ может принять нулевое значение. Таким образом, схе- ма установится в ошибочное состояние (2) или начнет совершать переходы между состояниями (2) и (4). Это происходит из-за того, что выходной сигнал элемента, реализующего z/ij/2, уста- навливается в нуль, а выходной сигнал элемента, реализующего ху1г — в единицу. Решение проблемы состоит в такой модификации схемы, при которой состязующиеся сигналы воспринимаются одним элемен- том: xyi\/yiy2=yi(x\/y2). В результате выражение для функции У1 приобретает следу- ющий вид: Ei=xVy2Vyi(^V!/2). Проведем теперь аналогичный анализ существенных состя- заний для функции Y2. Состязания в нуле для этой функции про- являются в конфигурации X 1 О 10 yi у2 4 1 (4) 1 2 (1) Единичный набор функции У2 покрывается импликантой ху\. Состязания между сигналами х и yi не приводят к ошибке, так как элемент И5 всегда воспримет изменение х до измене- ния у\. . Состязания в единице проявляются в конфигурации 1 0 1 0 У\ У2 2 (2) 3 2 1 1 0 1 3 4 (3) 3 0 1 1 1 У2 Состязующимися сигналами в этом случае являются yi и х в импликантах у\у2 и ху2. Изменим выражение для У2 таким об- разом, чтобы сигналы х и ух поступали на один логический эле- мент, минуя другие, в том числе и инвертор: У2 = %У1 Уу\у2Уху2=хуг\/у2(х\1 У\) =xyi Уу2ху{.
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 74 Общее правило устранения существенных состязаний, прояв- ляющихся как состязания в единице, для функций, представлен- ных в виде ДНФ, состоит в следующем: а) для конфигурации 1 2 (1) 2 з (2) 1 1 1 2 0 1 Ax, Ay, АузУ/Axi—A (XiVyi) =Axiyjt где A — некоторая конъюнкция входных и промежуточных пе- ременных, уз и Xi — состязующиеся сигналы (Уз=Уз или у,-); б) для конфигурации 2 3 (2) 2 0 1 Axi АузУАх1=А(ХгУу}). В примере синтеза Т-триггера получаем структурные фор- мулы У1 =х\/у2Уу1\! хУу2, У2=ху1у2ху1, которым соответствует схема, устойчивая к состязаниям всех ви- дов (рис. 2.13). В заключение заметим, что подобный анализ и последующие изменения формул необходимо проводить и для выходных пере- менных Zi, Z2,...,Zm синтезируемого автомата. Кроме того, Рис. 2.13. Схема Т- триггера, устойчивого к состязаниям всех видов
75 2.9. ПРИМЕРЫ СИНТЕЗА преобразования форм представления функций, производимые при переходе к элементам И—НЕ, ИЛИ—НЕ, не должны на- рушать расположения полученных ранее скобок и приводить к появлению инверсий входных переменных там, где они отсутст- вовали в исходной форме. 2.9. ПРИМЕРЫ СИНТЕЗА Для иллюстрации описанной последовательности синтеза устойчивых асинхронных автоматов рассмотрим дополнительно ряд примеров. В качестве примеров исследуем широко применяе- мые в дискретной автоматике так называемые многостабильные ячейки. Эти ячейки часто используются в качестве подавтоматов при синтезе сложных автоматов. В процессе проектирования не- обходимо обеспечить их устойчивость не только к функциональ- ным и логическим состязаниям, но и к состязаниям между вы- ходными сигналами, поскольку выходы таких ячеек могут со- единяться со входами других подавтоматов, для которых, в свою очередь, требуется обеспечить устойчивость ко всем видам со- стязаний, в том числе и к состязаниям между входными сигна- лами. Рассматриваемые ниже примеры иллюстрируют возмож- ный способ обеспечения устойчивости автомата к состязаниям между выходными переменными. Пример 2.9.1. Синтез бистабильной ячейки. Предвари- тельно рассмотрим элемент памяти, имеющий два входа и один выход, на один вход которого подается сигнал Хь «записываю- щий» единицу в элемент памяти, а на другой — сигнал х2, «сти- рающий» единицу, хранящуюся в этом элементе. Сигнал Zi пред- ставляет информацию, хранящуюся в элементе памяти. Одновременное изменение сигналов Xi, х2 запрещено. Запре- щен также входной набор (xi, х2) = (И), т. е. на входе элемента памяти всегда Х1Х2 = 0. Временная диаграмма требуемой работы элемента памяти приведена на рис. 2.14,а. Согласно § 2.2 строим на ее основе граф автомата (рис. 2.14,6), а затем — первоначаль- ную таблицу переходов (табл. 2.29). Сжимая эту таблицу путем объединения строк 1 и 4, 2 и 3, строим сжатую таблицу перехо- Таблица 2.29 Таблица 2.30 Х1*2 *1*2 1 2 00 10 01 Z1 1 00 10 01 Z1 (1) 3 2 (2) 4 0 1 (1) 2 (1) 0 3 (3) 2 4 1 4 1 — (4) 0 2 (2) (2) 1 1
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 76 Рис. 2.14 Элемент памяти: а — вре- менная диаграмма функционирования; б — граф автомата дов модели Мура (табл. 2.30). В ней указано два внутренних состояния, поэтому для их ко- дирования требуется одна про- межуточная переменная yi, в качестве которой будем рас- сматривать выходную перемен- ную zi. Кодированная таблица переходов автомата представ- лена в табл. 2.31. На ее основе строим структурную таблицу автомата, в которой перечис- лены четыре интервала воз- можных переходов в автомате (табл. 2.32). Во внутреннее со- стояние (1), устойчивое при входном наборе (00) (табл. 2.30), можно перейти только из внутреннего состояния (1), устойчивого при входном наборе (01), под воздействием входного набора (00). Возможен и противоположный переход между ними под воздействием входного набора (01). Это отражено в верх- ней строке табл. 2.32. Подобным анализом возможных перехо- дов, указанных в табл. 2.30, строится структурная таблица. Таблица 2.31 Таблица 2.32 Х1Х2 Переход X] х2 yi У, 6о 10 01 zi = yi — 1 1-И 0 — 0 0 1 (0) 1 (0) 0 2 3 2->2 1->2 — 0 1 1 0 — 1 1 2 (1) (1) 0 1 4 2->1 0 1 — 0
77 2.9. ПРИМЕРЫ СИНТЕЗА Чтобы построить схему элемента памяти на элементах ИЛИ—• НЕ, будем искать ДНФ для инверсии функции Ур Для этого сравним каждый нулевой интервал (строки 1 и 4 табл. 2.32) с единичными интервалами переходов (строки 3 и 4). Нетрудно убедиться, что нулевой интервал перехода 1, представленный строкой 1 структурной таблицы, покрывается простой имплйкан- той Xiyi, а нулевой интервал 4 — простой импликантой х2. Сле- довательно, У] =Х\У{ V-^2 или У] =XiVz/i V^, Z\=yi. Схема, реализующая эти выражения, устойчива ко всем видам состязаний (рис. 2.15). Теперь проведем синтез бистабильной ячейки, которая в от- личие от полученного элемента памяти имеет два выхода: на од- ном из них по-прежнему выдается сигнал Z\, на другом — его инверсия z2=zi. Условия работы ячейки те же, что и для рас- смотренного элемента памяти, только выходные наборы пред- ставлены значениями двух переменных Zi и z2. Очевидно, таб- лицы переходов ячейки будут теми же, что и в табл. 2.29—2.31. Представим сжатую таблицу переходов таблицей модели Мили и найдем соответствующую кодированную таблицу, где по-преж- нему промежуточная переменная y\=Z\ (табл. 2.33). Структур- ная таблица получается та же, что и табл. 2.32, построенная на основе таблицы переходов модели Мура, а бистабильная ячейка Рис. 2.15. Схема элемента па- мяти Т а б л и ц а 2.33 Х1*2 00 10 01 У1 (0),01 1,10 (0),01 0 (1),Ю (1),ю 0,01 1 описывается уравнениями Zx = х{\/z\\/х2, Z2 = Zi. Ее схема приве- дена на рис. 2.16 и отличается от схемы рис. 2.15 только допол- нительным инвертором 3. Нетрудно убедиться, что в полученной ячейке имеются состязания между выходными переменными. Действительно, при изменении выходного набора (01)->(10), (Ю)^(01) возможно кратковременное появление наборов (11), (00), не предусмотренное заданными условиями работы биста- бильной ячейки. Для устранения состязаний между выходными переменными бистабильной ячейки потребуем, чтобы любое изменение выход- ного набора вызывало кратковременное появление только одного
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 78 промежуточного выходного на- бора, например набора (00) (тре- бование соседнего кодирования состояний выхода). Это требова- ние можно выполнить, возвратив- шись к начальному этапу синтеза и отразив нужные условия работы на графе автомата (рис. 2.17), а затем провести последующий син- тез (заметим, что в граф авто- мата, представленного на рис. 2.17, введены две новые вершины 5 и 6, сопоставленные внутрен- ним состояниям, неустойчивым при состояниях входа соответст- венно (10) и (01), поэтому пер- воначальная таблица его перехо- дов не является нормальной). Однако это требование можно учесть на более позднем этапе — при кодировании внутренних со- стояний. Обратимся к кодиро- ванной таблице переходов би- стабильной ячейки (табл. 2.33). По ней нетрудно установить, что условия состязаний между сигна- лами zi, z2 имеют место при взаимных переходах между внут- ренними состояниями (1) и (2). Для устранения таких состязаний введем новое внутреннее состоя- ние 3, неустойчивое при вход- ных наборах (10) и (01), и по- требуем, чтобы взаимные пере- ка, имеющая состязания между выходными сигналами бистабильной ячейки. Вершины 5, 6 представляют внутренние состояния, неустойчивые при со- стояниях входа соответственно 10 и 01 ходы между состояниями (1) и (2) всегда проходили через внут- реннее состояние 3. Очевидно, введя при этом две новые проме- жуточные переменные у\ и у2 и сопоставив внутреннему со- стоянию 3 набор значений промежуточных переменных (00), обеспечим кодирование внутренних состояний соседним кодом. В зависимости от модели Мура или Мили выходной набор (00) сопоставляется или с той строкой таблицы переходов, которая представляет введенное неустойчивое внутреннее состояние (для модели Мура), или указывается в тех местах таблицы переходов, в которых в качестве значения функции переходов записано вве-
79 2.9. ПРИМЕРЫ СИНТЕЗА денное неустойчивое внут- реннее состояние (для мо- дели Мили). Построенная указанным способом таб- лица переходов модели Мили представлена в табл. 2.34. Переходим к построению структурной таблицы (табл. 2.35). Рас- смотрим подробнее ее по- строение, поскольку табл. 2.34 не является нормаль- ной таблицей переходов. Правила построения структурной таблицы те же, что и правила ее по- строения на основе нор- мальной таблицы перехо- дов. Отличие имеет место лишь для случаев, когда необходимо отразить пе- Т а б л и ц а 2.34 00 10 01 1/1=21 2/2 = 22 (1),01 3,00 (1),01 0 1 (2),10 (2),10 3,00 1 0 . — 2,10 1,01 0 0 Таблица 2.35 Переход Х1 х2 2/1 2/2 У1=Д y2=Z2 1 0 0 1 0 1 2 (2)-(2) — 0 1 0 1 0 3 3^(2) . 1 0 0 1 0 0 4 (1)-*3 1 0 —. 0 1 0 э (2)->3 0 1 1 0 0 0 6 3->(1) 0 1 0 — 0 1 реход из одного внутреннего состояния в другое, которое неустойчиво при соответствующем входном наборе, т. е. пере- ходы (xi)-^-X2 и Например, в табл. 2.34 указаны пере- ходы (1)->3 и (2)->3 под воздействием входных наборов соот- ветственно (10) и (01). Переход (xi)~>хд совершается в два этапа: сначала изменяются значения входных переменных (пе- реход вдоль строки таблицы переходов), затем — значения про- межуточных переменных (переходы вдоль столбца). При пере- ходе вдоль столбца функция переходов изменяет свое значение. Переходы вида xi-жг между двумя внутренними состоя- ниями, неустойчивыми при одном и том же состоянии входа рг-( также сопровождаются изменением значений функции перехо- дов. Поскольку в рассматриваемых переходах изменяются зна- чения промежуточных переменных (а также выходных перемен- ных для модели Мили), то данные переходы нельзя представлять интервалом. Для каждого внутреннего состояния, в котором мо- жет находиться автомат при таком переходе, надо указать соот- ветствующий набор входных и промежуточных переменных. Учи- тывая сказанное, представим переходы (1)->3 и (2)->-3 биста- бильной ячейки строками 3 и 5 табл. 2.35. Что же касается переходов вида хг-эДхг), где xi — внутрен- нее состояние, неустойчивое при определенном входном наборе, а (хг) — состояние, устойчивое при том же входном наборе, то их можно представить интервалом перехода, в котором некото-
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 80 рые промежуточные переменные являются внутренними перемен- ными интервала. Действительно, эти переходы соответствуют пе- реходам вдоль столбца таблицы переходов, причем на пересече- нии рассматриваемого столбца и строк, представляющих состоя- ния Xi, (х2), указаны одни и те же значения функции переходов, а также функции выходов (для модели Мили). Так, в структур- ной таблице (табл. 2.35) переходы 3-»-(2) и 3->(1) представлены интервалами переходов в строках 4 и 6. На основе построенной структурной таблицы_ находим все простые импликанты для функций Fi = Zi, y2 = Z2 (табл. 2.36, 2.37). Нетрудно убедиться, что кратчайшие ДНФ, свободные от состязаний, для этих функ- ций имеют вид _ _ Таблица 2.36 Zi=X2Vz2, Z2 = X1VZ1. v —7 Таким образом, бистабильная ячейка, устойчивая к состязаниям и построенная на элементах ИЛИ— НЕ (рис. 2.18), описывается выраже- ниями Zi=X2V22, Z2=XiVzi. Заметим, что ячейка памяти на рис. 2.15 и полученная бистабильная ячейка имеют одинаковые схемы. Хотя синтез ячейки был проведен на основе таблицы переходов модели Мили, тот же результат получается на основе таблицы переходов моде- ли Мура. В инженерной практике бистабильную ячейку называют асинхронным R—S-триггером (че- рез R (англ, reset) обозначается сиг- нал х2, а через S (англ, set) —сигнал Хь через Q — выходной сигнал) [2,3]. Пример 2.9.2. Синтез трех- стабильной ячейки. Трехстабильная ячейка имеет три входа и три вы- хода и является трехстабильным элементом памяти. Входные сигна- лы X], х2, Хз «записывают» единицу в элемент памяти. Выходные сигна- лы Si, z2, 23 представляют храня- щуюся в нем информацию. Одно- временное изменение значений Номер интервала перехода Простые импликанты 1 У2, Х1У1 3 У2 5 6 *2, Х1У1 Таблица 2.37 У2 = Х2 Номер интервала перехода Простые импликанты 2 yi, х2у2 3 X] 4 Х1, х2у2 5 У1 Рис. 2.18. Схема би- стабильной ячейки
81 2.9. ПРИМЕРЫ СИНТЕЗА Рис. 2.19. Граф автомата трехста- бильной ячейки двух и более сигналов Xi, хз, Хз запрещено. Граф автома- та, отражающий требуемый алгоритм работы ячейки, приведен на рис. 2.19, а в табл. 2.38 •— первоначаль- ная нормальная таблица пе- реходов автомата. Объеди- няя строки 1 и 2, 3 и 4, 5 и 6, получаем сжатую таблицу переходов автомата с тремя внутренними состояниями (табл. 2.39). При кодирова- нии внутренних состояний в качестве промежуточных пе- ременных z/i, у2, Уз можно использовать выходные пе- ременные, сопоставив каж- дому устойчивому внутрен- нему состоянию выходной набор, указанный для этого состояния в сжатой таблице. Анализ табл. 2.39 показывает, что в первом слева столбце име- ются только устойчивые внутренние состояния, а в трех осталь- ных столбцах — по одному устойчивому внутреннему состоянию. Таблица 2.38 XiX2x3 ООО 100 010 001 ziz2z3 I (1) 2 3 5 100 2 1 (2) — — 100 3 4 (3) — 010 4 (4) 2 3 5 010 5 6 — — (5) 001 6 (6) 2 3 5 001 Таблица 2.39 Х1Х2Х3 000 100 010 001 ZlZ2Z3 (1) (1) 2 3 100 (2) 1 ; (2) 3 010 (3) 1 2 (3) 001 6 — 5499
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 82 Следовательно, выбранный код внутренних состояний является противогоночным. Как и в случае бистабильной ячейки, нетрудно убедиться, что в синтезируемом автомате имеют место состязания между выходными переменными. Для их устранения потребуем, чтобы все заданные переходы между выходными наборами проходили только через выходной набор (Z1Z2Z3) = (ООО). Для этого введем внутреннее состояние 4, неустойчивое при входных наборах (100), (010), (001), и потребуем, чтобы взаимные переходы между внутренними состояниями (1) — (3) всегда проходили че- рез внутреннее состояние 4, которому сопоставим набор значе- ний промежуточных переменных (000). Выполнив эти требова- ния, на основе табл. 2.39 получим новую таблицу переходов (мо- дель Мили), не являющуюся нормальной (табл. 2.40). Построе- ние структурной таблицы (табл. 2.41) осуществляется так же, как и при синтезе бистабильной ячейки. Затем методом, рас- смотренным в гл. 1, находим импликанты, покрывающие все ин- тервалы переходов между нулевыми наборами функций YX = Z\, Таблица 2.40 Х1Х2Х3 1 2 3 4 000 100 010 001 !/i=Zi Уг = г2 </3 = Z3 (1), 100 (1), 100 4,000 4,000 1 0 0 (2), 010 4,000 (2), 010 4,000 0 1 0 (3), 001 4,000 4, 000 (3), 001 0 0 1 — 1,100 2,010 3,001 0 0 0 Таблица 2.41 Переход Х1 х2 Хз У\ Уг Уз те N II С4 N 11 N II >7 1 ПНИ 0 0 1 0 0 1 0 0 2 (2W2) 0 —. 0 0 1 0 0 1 0 3 (3)->(3) 0 0 -— 0 0 1 0 0 1 4 (2)-*4 1 0 0 0 1 0 0 0 0 5 (3)-М 1 0 0 0 0 1 0 0 0 6 4->(1) 1 0 0 — 0 0 1 0 0 7 (1)^4 0 1 0 1 0 0 0 0 0 8 (3)->4 0 1 0 0 0 1 0 0 0 9 4->(2) 0 1 0 0 — 0 0 1 0 10 (1)->4 0 0 1 1 0 0 0 0 0 11 (2)^4 0 0 1 0 1 0 0 0 0 12 4->(3) 0 0 1 0 0 — 0 0 1
S3 2.9. ПРИМЕРЫ СИНТЕЗА Таблица 2.42 Таблица 2.43 Fi =Zi F2=Z2 Номер интервала перехода Простые импликанты Номер интервала перехода Простые импликанты 2 Уз, Х1У1 1 Уь х2у2 3 Уз, Xiyt 3 Уз, х2у2 4 Уз 4 *1 5 Уз 5 Х1, Уз, Х2у2 7 Х2 6 Х1, х2у2 8 Xi, Уз, хлух 7 У1 9 Х2, X1J/1 8 Уз 10 Хз 10 Хз, Уь Х2у2 И Хз, Уз, Х1Ух 11 Хз 12 Хз, Xiyx 12 Хз, х2у2 Т а б л и ц а 2.44 F3=Z3 Номер интервала перехода Простые импликанты 1 У\, ХзУз 2 . Уз, ХзУз 4 Х1, У2, ХзУз 5 Xt 6 Х1, ХзУз 7 Хз, У1, ХзУз 8 х2 9 х2, ХзУз 10 У1 И Уз y2 = z2j y3=Z3 (табл. 2.42—2.44). По- скольку каждый интервал перехода, представленный в таблицах, покрыва- ется однобуквенной простой импли- кантой, причем некоторые интервалы покрываются только одной импликан- той, то можно, не строя специальных таблиц покрытий, определить крат- чайшие покрытия непосредственно по табл. 2.42—2.44. Действительно, в табл. 2.42, например, интервалы 4, 5, 7, 10 покрываются только одной одно- буквенной импликантой. Эти же им- пликанты покрывают и остальные ин- тервалы переходов. Следовательно, импликанты х2, х3, г/2, Уз представляют наименьшее число импликант, покры- вающих все интервалы переходов для функции Z\. Кратчайшие ДНФ, свободные от состязаний, для функций Zi, Z2, Z3 имеют вид Zi=x2Vx3\/z2Vzs, Z2=xt VxaVzjVzs, Z3=XiVx2Vzi \/z2. Трехстабильная ячейка, устойчивая к состязаниям и постро- енная на элементах ИЛИ—НЕ (рис. 2.20), описывается выраже- ниями Zi=x2V х3Уг2Уг3, б*
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 84 Z2 = X|V Xz\Zx\/Zz, Z3=X}\/z2. Трехстабильную ячейку назы- вают трехстабильным тригге- ром [3]. Пример 2.9.3. Синтез пя- тистабильной ячейки. Пятиста- бильная ячейка имеет пять вхо- дов и пять выходов. На двух ее соседних выходах выходные сигналы принимают единичное 2.20. Схема трехстабильной значение, а на остальных ячейки трех — нулевое. В зависимо- сти от входного набора две единицы в выходном наборе циклически сдвигаются вправо» или влево. Например, выходной набор = (01100) может смениться набором (11000) или (00110). Одновременное изменение двух и более входных сигналов Xj-t-Xs запрещено. Требуемый закон функционирования пятистабильной ячейки за- дан в виде диаграммы переходов модели Мура (рис. 2.21). На основе этой диаграммы построим таблицу переходов автомата (табл. 2.45), которая в отличие от предыдущих примеров не яв- ляется первоначальной таблицей переходов автомата. В качестве кодов внутренних состояний автомата можно использовать вы- Рис. 2.21. Диаграмма пе- реходов пятистабильной ячейки с одновходовым управлением
85 2.9. ПРИМЕРЫ СИНТЕЗА. Таблица 2.45 Х1Л2ХзХ4Х6 00000 10000 01000 00100 00010 00001 Z1Z2Z3Z4Z5 1 (П 2 5 (1) (1) 11000 2 (2) (2) 3 1 (2) 01100 3 (3) (3) 4 2 (3) 00110 4 (4) (4) (4) 5 3 00011 5 (5) 4 (5) — (5) 1 10001 ходные наборы, сопоставленные устойчивым внутренним состоя- ниям (1) — (5), и убедиться непосредственно по табл. 2.45, что такой код является противогоночным. Например, под воздейст- вием входного набора (10000) возможна пара переходов между внутренними состояниями 1->2, 5->4. Для этой пары найдутся две выходные переменные з2 и z^, которые развязывают указан- ные переходы. Так, при переходе 1->2 переменная г2 сохраняет единичное, а при переходе 5->4 — нулевое значение. Аналогич- ную проверку можно провести для всей таблицы переходов. Од- нако, как и в двух предыдущих примерах, автомат, представ- ленный этой таблицей переходов, имеет состязания между вы- ходными переменными. Например, при переходе из внутреннего состояния (1) во внутреннее состояние (2) под воздействием входного набора (10000) выходной набор (11000) сменяется вы- ходным набором (01100). При этом на выходе автомата могут кратковременно появиться наборы (01000) и (11100). Для устра- нения такого вида состязаний потребуем, чтобы каждый пере- ход от одного (исходного) выходного набора к другому (конеч- ному), указанный в таблице переходов, проходил только через один набор, соседний с исходным и конечным наборами и содер- жащий одну единицу и четыре нуля. Так, для рассмотренного выше перехода между выходными наборами допустимо лишь кратковременное появление в переходе соседнего набора (01000). По табл. 2.45 для всех переходов между внутренними состоя- ниями можно найти пять различных соседних наборов требуе- мого вида. Эти наборы сопоставим пяти новым внутренним со- стояниям автомата, рассматривая найденные наборы как наборы значений промежуточных переменных у\,...,уь- Преобразуем нормальную таблицу переходов 2.45, введя в нее пять внутрен- них состояний 6—10, неустойчивых при всех входных наборах, представленных табл. 2.45, и потребуем, чтобы каждый переход из одного внутреннего состояния в другое, указанный в этой таб- лице, проходил через одно вновь введенное внутреннее состоя- ние, такое, которому сопоставлен набор значений промежуточ- ных переменных, соседний с исходным и конечным наборами зна-
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 86 Х1Х2Х3Х4Х5 Таблица 2.46 00000 10000 01000 00100 00010 00001 У\УгУгУ4Уз 1 (1), 11000 6,01000 10, 10000 (1),11000 (1), 11000 11000 '2 (2), 01100 (2), 01100 7, 00100 6,01000 (2),01100 — 01100 3 (3), 00110 — (3),00110 8,00010 7,00100 (3),00110 00110 4 (4), 00011 (4), 00011 — (4),00011 9,00001 8,00010 00011 5 (5), 10001 9, 00001 (5),10001 —. (5), 10001 10,10000 10001 6 — 2,01100 — 1, 11000 — — 01000 7 — — — -— 2,01100 — 00100 8 — —- — 4,00011 — 3,00110 00010 9 — 4,00011 3,00110 -— 5,10001 — 00001 10 — — 5,10001 — — 1,11000 10000 чений переменных У1,...,Уз и содержащий ровно одну единицу. В результате получим таблицу переходов, представляющую автомат с 10 внутренними состояниями, не являющуюся нор- мальной таблицей переходов (табл. 2.46). В этой таблице, напри- мер, указан переход под воздействием входного набора (10000) из внутреннего состояния (1), устойчивого при входном наборе (00000), сначала во внутреннее состояние 6, неустойчивое при входном наборе (10000) и представленное набором значений про- межуточных переменных (01000), а затем во внутреннее состоя- ние (2), устойчивое при входном наборе (10000). Подобным спо- собом определены и остальные значения функций переходов и выходов автомата. Очевидно, при этом не нарушается требова- ние противогоночного кодирования, так как всем внутренним со- стояниям автомата, связанным переходом, сопоставлены сосед- ние наборы значений промежуточных переменных. На основе табл. 2.46 строим структурную таблицу (табл. 2.47), а затем находим простые импликанты, покрывающие ин- тервалы переходов между нулевыми наборами функций У] = =Z1,..., Y5 = Z5 (табл. 2.48—2.52). Кратчайшие ДНФ, свободные от состязаний, для функций Zi,..., Z5 имеют вид Zi = Xj Mz3\/Z4, Z2 = X2V ZiVZs, Z3 = X3VZ1VZ5, Z4 = X4VZ1VZ2, 2.3=Х5У z2MZ3.
87 2.9. ПРИМЕРЫ СИНТЕЗА 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 Таблица 2.47 Переход Х1 xt Хз Х4 Хц У1 У2 Уз У4 Уз У1 = 7^2= /2Уз = /4X5=25 (1)~>(1) 0 0 0 0 1 1 0 0 0 1 1 0 0 0 (1)->(1) 0 0 0 0 1 1 0 0 0 1 1 0 0 0 (2W2) — 0 0 0 0 0 1 1 0 0 0 1 1 0 0 (2)-*(2) 0 0 0 — 0 0 1 1 0 0 0 1 1 0 0 (3)->(3) 0 —. 0 0 0 0 0 1 1 0 0 0 1 1 0 (З)-ЧЗ) 0 0 0 0 — 0 0 1 1 0 0 0 1 1 0 (4)-*-(4) 0 0 — 0 0 0 0 0 1 1 0 0 0 1 1 (4)->(4) —. 0 0 0 0 0 0 0 1 1 0 0 0 1 1 (5)->(5) 0 0 0 — 0 1 0 0 0 1 1 0 0 0 1 (5)—*-(5) 0 — 0 0 0 1 0 0 0 1 1 0 0 0 1 (1)^6 1 0 0 0 0 1 1 0 0 0 0 1 0 0 0 6^(2) 1 0 0 0 0 0 1 — 0 0 0 1 1 0 0 (5)->9 1 0 0 0 0 1 0 0 0 1 0 0 0 0 1 9->(4) 1 0 0 0 0 0 0 0 — 1 0 0 0 1 1 (2)->7 0 1 0 0 0 0 1 1 0 0 0 0 1 0 0 7->(3) 0 1 0 0 0 0 0 1 — 0 0 0 1 1 0 (1W0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 0 10->(5) 0 1 0 0 0 1 0 0 0 — 1 0 0 0 1 (3)->-8 0 0 1 0 0 0 0 1 1 0 0 0 0 1 0 8-44) 0 0 1 0 0 0 0 0 1 — 0 0 0 1 1 (2Н 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 6^(1) 0 0 1 0 0 -— 1 0 0 0 1 1 0 0 0 НМ 0 0 0 1 0 0 0 0 1 1 0 0 0 0 1 9->(5) 0 0 0 1 0 — 0 0 0 1 1 0 0 0 1 (3)->7 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 7->(2) 0 0 0 1 0 0 — 1 0 0 0 1 1 0 0 (5)->10 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 10->(1) 0 0 0 0 1 1 — 0 0 0 1 1 0 0 0 (4)->8 0 0 0 0 1 0 0 0 1 1 0 0 0 1 0 8+(3) 0 0 0 0 1 0 0 — 1 (У 0 0 1 1 0 F1 = Z! Таблица 2.48 Номер интервала перехода Простые импликанты 1 2 3 4 5 6 7 8 11 Уз, Х3У1У2, ХзУ1Уз, ХзХ4У1 Уз, ХзУ1У2, Х3У1У5 Уз, У4, Xsytye, УхУзУз, XzXtyt, Х4У1У2 Уз, У4, Xsyty^ уiy2ys, xsxtyh x4yty2 У4, Х^У2, ХьУхУъ У4, Х3Х4У1, х4у,у2, Х4У!У5 Xi
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 88 Окончание таблицы 2.48 1 2 12 Xi, Х3Х4уХ, Х3У!У2, хгу,у5 13 Xi 14 Xi, Х3Х4уХ, Х4уХу2 Х<У1У5 15 Уз, х2ух, X3Xtyt, Х3У1У2, Х3У1У3 16 Уз, Х2У1, ХцХ4у1, Х4уху2, ХзУ!У5, У\УчУз 19 Уз, У$, %ЗУ2, X4yiy2, у-.у2у~, х2х3у2у3 20 Уа, xsy2, х4уху2 21 Уз 23 Уа 25 Уз, у4, х4уз, xsytye, x2x3y2ys 26 Уз, х4уз, ХзУ^Уз 29 Уа, x3yi, X3X4yi, Х4У1У2, x4yiys 30 Уа, ХзУ1, х3х4ух, ХзУ1Уз, X4yty2, уху2уз Таблица 2.49 У2 = /2 Номер интервала перехода Простые импликанты 5 Уа, х4х3у2, Хлу-уу2, х4у2уз 6 Уа, х4у\у2, х4у2уз 7 Уа, Уз, х4х5у2, x4yiy2, ХзУзУз, У\УзУз 8 Уа, Уз, х4хзу2, х4уху2, ХзУзУз, У\УгУз 9 Уз, хзУхУз, хзу2уз 10 Уз, х4хзу2, Х3У1У2, ХзУзУз 13 Уз, Xiy2, Х4ХзУ2, Х3У1У2, Х5у2у3 14 Уз, Xiy2, х4Хзу2, х4у4у2, ХзУзУз У.Уз’Уз 15 Х2 16 Х2, Х4Хзу2, x4yiy2, Х4у2уз ' 17 ^2 18 Х2, ХцХзУг, Х3У1У2, ХзУзУз 19 у4, Х3У2, Х4ХзУ2, х4уху2 х4у2уз 20 у4, ХзУ2, Х4Хзу2, х4уху2, Хзу2уъ, уху2уз 23 у4, Уз, Х4уз, ХхХзУхУз, ХзУзУз, У\У2Уз 24 Уз, х4уз, Х3У2У3 25 . У4 .. 27 Уз . 29 У4, Уз, Х3У1, Х4У1У2, уху2уз, Х1Х3У1У3 30 у4, Х3У1, х4уху2
89 2.9. ПРИМЕРЫ СИНТЕЗА Fs = Z3 Таблица 2.50 Номер интервала перехода Простые импликанты 1 2 ' 7 8 9 10 И 13 14 17 18 19 20 21 22 23 24 27 28 29 У\, ХхУзУб, Х1УзУ4 У1, ХхХбУз, Xiy2y3, ХхУзУ4 Уб, ххХзУз, х3у2у3, ХъУзУ1 Уб, ХбУзУз, ХбУбУ4 У 1, Уб, ХбУзУз, УзУзУ4, X_lXSy3, Xiysyt У 1, Уб, XlX3y3, ХбУзУз, Х1УзУ4, у2у3у4 Ун У 1, Уб, Xiy2, х2х4у2у4, х3у2у3, у2у3у4 Уз, Xiy2, х3у2у3 У 1, Х2у3, Х1ХбУз, ХхУзУ4, Хху2у3 Ух, Х2у3, ХхХзУз, ХхУзУ4, х3у2у3, у2у3у4 Х3 х3, ХхХбУз, Х3у2у3, ХбУзУ4 Хз Х3, ххХбУз, Хху2уз, хху3у4 Уз, ХхХбУз, х4уз, х5у2у3, ХзУзУ4 Уб, Х4у3, ХхХзУз, ХхУзУь Хзу2у3, у2у3у4 У 1, Уз, ХбУ4, у2у3у4, х2х4у2у4, Хху3у4 Ух, х3у4, Хху3у4 Уб У4=24 Т а б л и ц а 2.51 Номер интервала перехода Простые импликанты 1 2 3 4 9 10 11 12 13 15 17 18 21 22 23 24 25 26 27 28 У1, Уз, Ххх2у4 Хху3у4, х2у4уз, у3у4уз У1, Уз, ХхХ2у4 Хху3у4, х2у4уз, у3у4уб Уз, Х2у3у4, Х2у4уз Уз, ХхХ2у4, х2у3у4, Х2у4уз У\, ХхХ2у4, Хху3у4, Хху4уз У 1, ХхУзУь хху4уз У 1, Уз, ХхУб, ХзХбУзУб, х2у4у5, УзУ'.Уз Уз, ХхУб, х2у4уб Ун Уз У 1, Уз, х2у3, у3у4уз, ХзХбУзУб, Хху3у4 Уъ х2уз, Хху3у4 Уз, Х3у4, ХхХ2у4, Х2у3у4, х2у4уз Уз, Х3у4, ХхХ2у4, ХхУзУа, х2у4уб, у3у4уз х4 х4, ХхХзу4, Хху3у4, Хху4Уб х4 х4, Ххх2у4, х2у3у4, х2у4уз У х, ХбУ4, ХхХ2у4, Ххугу4, Хху4уз Ух, х5у4, ХхХгу4, Хху3у4, х2у4у3 у3у4уз
ГЛАВА 2. СИНТЕЗ УСТОЙЧИВЫХ АСИНХРОННЫХ АВТОМАТОВ 90 y5 = Zs Таблица 2.52 Номер интервала перехода Простые импликанты 1 2 3 4 5 6 11 12 15 16 17 19 21 22 25 26 27 28 29 30 У 2, Х2Х3Уь, Х2У1У5, x2yty5 У2, ХгУ1У5^гУ4уъ У2, Уз, X2X3yS, X3yiyS, Х2у4у5, УУЦУЗ Уз, Уз, Х2х3уз, ХзУгУз, Х’аУаУз, УгУ^Уз Уз, Х3У1У5, ХзУ4Уз Уз, Х2ХзУз, ХзУ1Уз,_ Х3у4у5 Уг, Х!У5, ХгХзУз, x2yiys, х2у^Уз У2, Xlffs, ХгХзУз, Х2У4УЗ, ХзУ1Уз, У\У4Уз Уз, Уз, x2ylt ХзУ^З, XlXtyiffi, yiytys Уз, Х2У1, ХзУ\Уз У2 Уз У2, Уз, Хзу4, Х2У4УЗ, yiyty3, Х1Х4У1У4 У2, ХзУь Х1У4.УЗ Уз, Х^з, ХзХзУз, ХзУ^Уз, х3у4уз Уз, XtyS, Х2Х3У5, Х2У4У5, Х3У1У3, У!У4Уз Xs Xs, XiXsys, Х2У1УЗ, Х2У4УЗ Xs Xs, Х2ХзУз, ХзУ1Уь, ХзУзУз Пятистабильная ячейка, устойчивая к состязаниям всех ви- дов и построенная на элементах ИЛИ—НЕ (рис. 2.22), описы- вается выражениями Z4=Xt\/ZiVZ2, 22 = Х2У24\/г5, Z5=x5yz2\/Z3. Z3 = X3VZ1VZ5, Пятистабильную ячейку полученного вида называют пятиста- бильным триггером с одновходовым управлением, работающим в режиме последовательного переключения [3]. Рис. 2.22. Схема пяти- стабильной ячейки с од- новходовым управлением
Глава 3 СИНТЕЗ АСИНХРОННЫХ АВТОМАТОВ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ Как было показано в предыдущей главе, дискретные устрой- ства автоматики описываются структурной моделью — асинхрон- ным автоматом и методы теории конечных автоматов могут при- меняться для их проектирования и анализа поведения. Такие устройства автоматики, как пересчетные схемы, многостабиль- ные устройства, распределители, регистры сдвига и т. д., опи- сываются конечными автоматами, имеющими большое число' внутренних состояний, причем с увеличением числа выходных сигналов устройств число внутренних состояний резко возрас- тает. Попытка произвести логическое проектирование сложного дискретного устройства, рассматриваемого как один автомат, на- талкивается на серьезные трудности вычислительного харак- тера. Это приводит к тому, что синтез автоматов без применения вычислительных машин зачастую становится невозможным. На практике же проектируемое устройство представляют в виде композиции узлов, включающей набор стандартных устройств, и схемы, управляющей работой этих устройств. В терминах тео- рии конечных автоматов это означает, что синтезируемый авто- мат А представляется в виде композиции нескольких автоматов,, содержащей управляющий автомат (УА) и ряд автоматов, струк- тура и алгоритм функционирования которых считаются задан- ными. Синтез автомата в данном случае сводится к синтезу УА„ который имеет существенно меньше состояний, чем автомат в целом. При таком подходе к синтезу сложных автоматов преследу- ется цель не только упростить сам процесс синтеза, но и макси- мально использовать стандартные отработанные схемы для по- строения нового автомата. Задача выбора стандартных схем, наи- более подходящих для построения заданного устройства, сложна и ее рассмотрение выходит за рамки книги. Заметим лишь, что при решении этой задачи, вероятно, не следует исключать сооб- ражения, которыми руководствуется опытный инженер, подбирая узлы для построения сложного дискретного устройства. В даль-
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 92 нейшем будем считать, что такой выбор уже сделан. Настоящая глава посвящена изучению методов синтеза сложных автоматов на основе композиции нескольких автоматов [14—16]. 3.1. композиция АВТОМАТОВ Ограничимся случаем, когда композиция автоматов вклю- чает только асинхронные автоматы (рис. 3.1), причем подавто- маты Д[,..., Ар могут быть связаны между собой лишь через УА. Выходы подавтоматов являются выходами всего автомата и од- новременно входами УА, на который, кроме того, поступают внешние входные сигналы Xj,..., хп. Поскольку все автоматы являются асинхронными, то любой •сигнал 6ц,...,ера> ; Qu,..., Q pi изменяется не более одного раза в ответ на изменение внешних входных сигналов Xi,... ,хп. Примем, что функционирование во времени асинхронного автомата А, представленного данной композицией, происходит следующим образом. Пусть в некоторый начальный момент вре- мени все автоматы находятся в устойчивых внутренних состоя- ниях. В ответ на изменение внешних входных сигналов Xj,..., хп УА изменяет значения некоторых сигналов бц,..., ерК)р-Эти пере- ключения вызывают изменения выходных сигналов Qu,..., Qpz„, необходимые для установления нового состояния выхода авто- мата А. Выходные сигналы еи,... ,е рШр УА не изменяются при переключении на его входах Qu, ...,QpA- Автоматы УА, At,... ...,АР переходят в устойчивые состояния, и лишь после этого возможны новые изменения внешних входных сигналов. Будем считать, что подавтоматы Ai, ...,АР устойчивы к со- стязаниям всех видов, в том числе к состязаниям между вход- ными переменными. Иначе говоря, если для установления нуж- ного состояния выхода подавтомата Аг требуется изменить зна- Рис. 3.1. Представле- ние синтезируемого автомата в виде ком- позиции управляюще- го автомата (УА) и -подавтоматов Alt... ..... АР
«3 3.1. КОМПОЗИЦИЯ АВТОМАТОВ чения нескольких входных переменных одновременно, то он пе- реходит в соответствующее внутреннее состояние, при этом зна- чения его выходных сигналов изменяются только раз. В слу- чае, когда последовательность Е^—^ЕА состояний входа и Ef подавтомата А{ может вызвать состязания между входными пе- ременными, будем требовать, чтобы УА не генерировал таких пе- реключений на входе подавтомата А{. Например, для бистабиль- ной ячейки переключение (11)->(00) происходит с состязаниями, т. е. приводит к неопределенному переходу. Данную ячейку можно использовать в качестве подавтомата А, при условии, что УА не производит данного переключения. Возможны различные предположения о соотношении времен- ных параметров УА и подавтоматов Аг, ...,АР. Предположение, что подавтоматы Ai,...,Ap обладают существенно меньшим бы- стродействием, чем УА (например, из-за наличия элементов за- держки), позволяет произвести синтез всего автомата А путем синтеза УА в последовательности, изложенной в гл. 2. При со- ставлении таблицы переходов УА обратные связи с выходов под- автоматов можно условно разорвать и рассматривать их как рав- ноценные входы УА, поскольку изменения сигналов в обратных связях возможны только после окончания переходного процесса в УА. Однако нашей целью является построение асинхронного авто- мата А из однотипных логических элементов без использования специальных элементов задержки, поэтому в дальнейшем не бу- дем принимать такого предположения, т. е. будем считать, что все автоматы в рассматриваемой композиции (рис. 3.1) обладают быстродействием одного порядка. В этом случае при синтезе асинхронного УА возникает ряд особенностей, которые рассмат- риваются в следующих параграфах главы. 3.2. СОСТЯЗАНИЯ в композиции АСИНХРОННЫХ АВТОМАТОВ Как указывалось ранее, в композиции асинхронных автома- тов (рис. 3.1) подавтоматы А1г ...,АР должны быть устойчивы к состязаниям всех видов. Поэтому обеспечение устойчивости композиции асинхронных автоматов сводится к устранению со- стязаний в УА. Напомним, что состязания в асинхронном авто- мате разделяются на логические и функциональные. Логиче- ские состязания устраняются на этапе построения структурных формул. Функциональные состязания можно разделить на состя- зания между переменными: а) хь ... ,хп, б)
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 94 В) %1, . . . , Хп И Z/i, . . • , У к, г) Qu, • • > Qpip > д) Xi,..., хп и Qu,..., Qpip, е) Ух, • • , Ук и Qu, . . . , QPzp , где у\,..., ук — промежуточные переменные УА. Как и раньше, будем требовать, чтобы состязания между входными переменными Xj,..., хп отсутствовали, напрймер, при- нимая, что в любой момент времени изменяется лишь один внеш- ний входной сигнал. Для устранения состязаний между ух,--.,Ук необходимо, чтобы эти переменные своими значениями образо- вали противогоночный код внутренних состояний УА. Сущест- венные состязания (состязания между переменными хх,...,хп и Ух,---,Уь) будем устранять без использования элементов за- держки методом, изложенным в § 2.8, принимая предположение о нулевых задержках в соединительных линиях. Этот же метод будем применять для устранения состязаний между перемен- ными Хх,..., хп и Qu,..., QPip, если они возможны. Условия для появления состязаний между переменными Qu, • • • ,Qpip существуют лишь тогда, когда УА в ответ на изме- нение входных сигналов xlt... ,хп должен изменить значения не- скольких выходных сигналов всего автомата. Согласно условиям функционирования композиции автоматов, выходные сигналы УА должны изменяться лишь в ответ на изменения внешних входных сигналов Хх,...,хп и оставаться неизменными при последую- щем изменении сигналов Qu,..., Qp/p . Предположим, в УА, удо- влетворяющем этим условиям, имеются состязания между пере- менными Qu,..., Qpip. Из этого предположения следует возмож- ность существования такого набора значений этих переменных, обусловленного неодновременностью их изменений, который вы- зывает изменение состояния выхода УА, что противоречит усло- виям его функционирования. Таким образом, в УА отсутствуют состязания между переменными Qu,..., Qpi . Рассмотрим воз- можности устранения состязаний между переменными Ух,---,Ук и Qxx, - - - ,QPip- Ликвидировать условия для возникновения дан- ных состязаний можно, запретив одновременные изменения сиг- налов ух,---, Ук и Qu,..., Qpip . Если УА построен таким обра- зом, что согласно его таблице переходов состояние выхода Е из- меняется только при неизменном внутреннем состоянии, а пере- ходы между внутренними состояниями не вызывают такого из- менения состояния выхода Е, которому соответствуют переклю- чения сигналов Qu,..., Qpzp, то сигналы Ух, - -, Ук и Qu,..., Qpip не будут изменяться одновременно. Эту ситуацию можно проил- люстрировать на фрагменте таблицы переходов УА (табл. 3.1).
95 3.2. СОСТЯЗАНИЯ в композиции Таблица 3.1 xiQj 11 10 00 01 Ук 2,Ез (1),£2 (1), Е2 0 (2), Е3 ' — — — 1 Т а б л и ц а 3.2 XfQj 11 10 00 01 Ук — 2, £, — 0 З,£3 — (2),£2 (2),£2 (З),£3 — — — — Пусть в начальном состоянии (xi) Qj — O, а Хг=1. Изменение Xi: 1—>0 порождает такое со- стояние Е2, при котором Qj—1. Состояние выхода Е3 не вызы- вает изменения Qj. Из табл. 3.1 следует, что в УА невозможны состязания между yk и Qj. Если же для данных переключений в таблице переходов имеется фрагмент, приведенный в табл. 3.2, т. е. переход xi-жг приво- дит к изменению Е\-*-Е2, то за- претить одновременные измене- ния сигналов уь и Qj возможно, доопределяя значение функ- ции выхода для неустойчивого состояния (00, Xi) предыдущим состоянием выхода Ei. В этом случае Qj изменяется лишь после того, как сигнал уь установится в единицу. Естественно, что платой за устра- нение этих состязаний является снижение быстродействия авто- мата А. Другая возможность устранения состязаний между сигналами yi, .., Ук и Qn,... ,Qpi без снижения быстродействия автомата состоит в следующем. Допустим, что изменения сигналов £ц,...,epWp и, соответственно, выходных сигналов Qu,..., QPip могут происходить одновременно с изменениями yi,...,yh- Ины- ми словами, во время перехода Xj->X2 автомата А допускается произвольный порядок изменения значений переменных у\,..., уъ:, Qu,... ,Qpi . Наборы значений этих переменных образуют код внутренних состояний автомата А, т. е. они являются промежу- точными переменными (подавтоматы Ai,...,Ap можно рассмат- ривать как некоторые элементы памяти автомата А). Тогда в со- ответствии с § 2.6 для устранения этих состязаний в асинхрон- ном автомате А достаточно потребовать, чтобы для любой пары переходов xi-»-X2, Х3-Э-Х4, происходящих при одном входном на* боре, существовала развязывающая переменная, т. е. чтобы было справедливо Уг1=Уг2^У^ = УА или Qfic^Qbc^Q&c^-Qbc4, (3.1) Условия (3.1) являются условиями отсутствия гонок в ком- позиции асинхронных автоматов при произвольном порядке из-
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 96 менения значений промежуточных переменных. Эти условия сле- дует использовать в случаях, когда нет информации о том, в ка- кой последовательности могут изменяться сигналы у\,...,уь, Qu, , Qpzp Возможность получения такой информации появ- ляется, если выходные переменные £ц,..., epWp УА использовать в качестве промежуточных У\,..-,Ук- В следующем параграфе рассмотрим этот случай. 3.3. КОМПОЗИЦИОННАЯ МОДЕЛЬ АСИНХРОННОГО АВТОМАТА Представим синтезируемый автомат А композицией асинхрон- ного УА и р подавтоматов Ai,...,Ap. Примем, что все выходы УА соединены с его входами, т. е. выходные переменные еп, • • •, epw являются одновременно и промежуточными пере- менными (рис. 3.2). По-прежнему считаем, что для каждого под- автомата известны закон функционирования и его схема, причем схема свободна от состязаний всех видов. Такую структуру авто- мата А назовем композиционной моделью. Выясним, какие типы состязаний возникают в схеме, полученной на основе этой мо- дели, и каким образом их можно устранить. Исследуем вначале частный случай — композиционную модель с одним подавтома- том (рис. 3.3). В соответствии с принятыми выше правилами функциониро- вания УА значения его выходных сигналов ei,...,ew не изменя- ются в ответ на смену значений сигналов Qi,..., Qi- Для данной модели это означает, что в таблице переходов УА изменение Рис. 3.2. Композици- онная модель асин- хронного автомата
97 3.3. КОМПОЗИЦИОННАЯ МОДЕЛЬ АСИНХРОННОГО АВТОМАТА 47, Qe Рис. 3 3. Композицион- ная модель с одним под- автоматом входных сигналов не вызывает смены внутреннего со- стояния, т. е. УА остается в устойчивом состоянии. Следова- тельно, в УА состязания между Q],..., Qi также отсутствуют. Заметим, что УА при этом представлен таблицей переходов (диа- граммой переходов) модели Мура. Для анализа состязаний между переменными ew и Qi,..., Qi рассмотрим переходный процесс, происходящий в схеме модели при переключении внешнего входного сигнала х4, которое вызывает изменение сигнала в]. Такое изменение приво- дит к установлению нового значения сигнала Qm. Как следует из временной диаграммы (рис. 3.4), новое значение е,- воспримется комбинационной схемой КС на тл, единиц времени раньше, чем изменение сигнала Qm. По аналогии с существенными состяза- ниями (см. § 2.8) можно считать, что при нулевых задержках в Рис. 3.4. Временная диа- грамма переходного про- цесса. Ткс—величина за- держки комбинационной схемы управляющего ав- томата; Ta j — время ре- акции подавтомата Д] 7 — 5499
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 98 соединительных линиях и отсутствии инверторов для образова- ния <?, сигнал е, всегда выиграет состязание у сигнала Qm- По этой причине в схеме-композиционной модели с одним подавто- матом состязания между сигналами , ew и Qi,... ,Qi отсут- ствуют. Что касается состязаний между переменными щ,..., ew, то они отсутствуют при произвольном порядке их изменения, если для любой пары переходов существует развязывающая перемен- ная е{. Наличие такой переменной может быть установлено по таблице переходов УА. Таким образом, синтез устойчивого УА может быть произведен на основе таблицы переходов УА, кото- рая составляется в предположении, что сигналы явля- ются дополнительными входными сигналами наряду с внеш- ними — Xi,... ,хп. В общем случае, когда выходных переменных ei,..., ew не хватает для развязывания всех пар переходов в таб- лице переходов УА, потребуется ввести дополнительные проме- жуточные переменные ух,..., уь по методу, изложенному в § 2.6. Это не выводит синтезируемый автомат за рамки композицион- ной модели. Пусть в композиционной модели имеется р подавтоматов (рис. 3.2). Как следует из вышеизложенного, в данном случае отсутствуют состязания между сигналами Qn,...,QP! и состя- зания между eu,...,eiWi и Qu, • , Qnt, т. е. состязания между входными и выходными сигналами подавтомата A, Таким образом, одновременное изменение сигналов Qu, ...,Qpi и 6i 1,..., е ргОр невозможно при условии, что в ответ на любое из- менение внешних входных сигналов Xi,..., хп должны изменяться значения входных сигналов только одного подавтомата. Синтез УА выполняется при этом на основе таблицы переходов, кото- рая составляется так же, как и для УА с одним подавтоматом на выходе. При практическом синтезе УА будем пользоваться следую- щим правилом-, если по условиям работы синтезируемого авто- мата А в любом переходе требуется изменить значения выход- ных сигналов только одного подавтомата, то значения входных сигналов остальных подавтоматов следует оставлять неизмен- ными. Заметим, что данное правило нужно рассматривать как рекомендацию. Соблюдение его предотвращает появление состя- заний между входными сигналами одного подавтомата и выход- ными — другого подавтомата. Тем самым отпадает необходи- мость в анализе состязаний данного типа и принятии мер для их устранения, благодаря чему упрощается процесс синтеза УА.
99.3.4. УСЛОВИЯ ПРАВИЛЬНОГО КОДИРОВАНИЯ 3.4. УСЛОВИЯ ПРАВИЛЬНОГО КОДИРОВАНИЯ ДЛЯ КОМПОЗИЦИОННОЙ МОДЕЛИ Рассмотрим ситуацию, когда требуется произвести одновре- менное изменение выходных сигналов различных подавтоматов в ответ на смену набора значений внешних входных переменных х\, ...,хп. В данном случае возникают условия состязаний между переменными 6ц, ...,epw и Qn,... ,Qpi . Эти состязания будем называть гонками, считая что все переменные еи,..., epWp , Qu,. ., Qpi являются промежуточными. Предположим, что за- дан список всех пар переходов между внутренними состояниями автомата А, происходящих при одном и том же состоянии входа, определяемом набором значений внешних входных сигналов %1, ...,хп. Если для каждой пары переходов найдется развязы- вающая переменная е или Q, то из условий 3.1 следует, что гонки в композиционной модели автомата отсутствуют. Однако усло- вия 3.1 не являются необходимыми условиями правильного ко- дирования для композиционной модели. Это обусловлено тем, что изменение промежуточных переменных в автомате А час- тично упорядочено: для каждого подавтомата А; сигналы ец,. •, eiw. всегда изменяются раньше, чем сигналы Q,i,..., Qut Учет указанного свойства позволяет выявить дополнительные условия правильного кодирования [16]. Покажем, что в композиционной модели гонки отсутствуют тогда и только тогда, когда для любой пары переходов хз~>%4 (и2=И=И4) имеется хотя бы один подавтомат At, такой, что его входные ец,..., eiWi и выходные Qu.Qu: переменные, где li^a, Ь, с, d^l, w^g, f, h, v~^A, удовлетворяют следующим четырем условиям: 1) Qi<A=AzQicA ИЛИ ~ C^g2 Cig3 ~ Cig4, 2) Qibl^=Qibz = Qibi или e^^eif^eif2, 3) Qi<?=A=Qicl = Qic2 или eih2^:eih3=eihi, 4) Qid.r = Qid2¥=Qid3=Qidi или eiv2y=eiv4. Эти условия будем называть условиями правильного кодиро- вания для композиционной модели. Поскольку порядок измене- ния выходных сигналов подавтоматов в композиционной модели может быть произвольным, достаточно рассмотреть случай, когда в ответ на изменение входного набора изменяются выход- ные и соответственно входные сигналы двух подавтоматов Л1 и А2. Вначале убедимся в том, что если справедливы условия (3.2), то множество состояний, имеющих место в первом переходе 7*
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 100 не пересекается с множеством состояний во втором пере- ходе хз->->«4, т. е. убедимся в том, что гонки отсутствуют. Внутреннее состояние представим набором (Е, X), в котором Е — набор значений переменных 6ц,..., epw , ал — набор зна- чений переменных Qu,..., QpZjj. Состояние входа и выхода под- автоматов At и А2 обозначим соответственно через (EiE2) и (ММ- Состояние zi условимся представлять набором (EilE2x M'W), а пару переходов записывать следующим образом: (fj'WWHWW), (ЖДМ->(WW)• Множества неустойчивых состояний для этих переходов от- образим с помощью строк табл. 3.3. В ней первые четыре строки относятся к переходу (Ei1E2lKllK21)-^(El2E22^i2k22), а остальные — ко второму переходу. Здесь через Ei2] и [V, А,2] обозна- чены множества состояний, имеющих место при смене состоя- ния ЕА на Ei2 и V на X? соответственно. В строках 1 и 5 запи- саны множества состояний, в которых может находиться авто- мат А при изменении значений переменных Оц,..., e2w2, а в стро- ках 4 и 8 — при изменении значений переменных Qu,. Qn2- Строки 2 и 6 отражают тот случай, когда подавтомат Ai сраба- тывает раньше подавтомата А2. Противоположный случай, когда значения выходных переменных подавтомата А2 изменяются раньше, чем у подавтомата Аь представлен с помощью строк 3 и 7. Таблица 3.3 Состояния Вход Ai Выход Ai Вход A2 Выход Az [Ei,Ei] W [E2\Ei] Ez1 Ei [C2’,C22] W [Ei, Ei] w Ez2 [W, X?] Ei [W.VI Ei [W, M [£i3, £i4l V [Ez3,Ei] V Ei [W.Vl [Ez3,Ei] V [Ei,Ei] Ai3 Ei [V, M Ei [V, V] Ei [V,W]
101 3.4. УСЛОВИЯ ПРАВИЛЬНОГО КОДИРОВАНИЯ Сравним строки 1 и 5. Записанные в них множества не пе- ресекаются, если: [ft1, E^JHIEi3, Ei4]=0, или или [Е?, Е22]П[Е23, Е24] = 0, или А,21=#%23. Множество [Ei1, Е,2] не пе- ресекается с множеством [ЕД Е,4] при произвольном порядке из- менения значений переменных еп,...,егю. лишь в том случае, когда среди последних существует развязывающая переменная eig, т. е. такая, что = = При Qiax=A=Qia3 справед- ливо где Qia — переменная из множества переменных Qn, , Qiii- Первое из условий (3.2) выполняется, по крайней мере, для одного из подавтоматов Аг, чем и обеспечивается непе- ресечение множеств пары строк 1 и 5. Сравнив строки 1—4 со строками 5—8, убедимся, что если справедливо (3.2), то множе- ства неустойчивых состояний данной пары переходов не пересе- каются. Таким образом, условия (3.2) являются достаточными для правильного кодирования внутренних состояний авто- мата А. Предположим теперь, что для рассматриваемой пары пере- ходов первое условие (3.2) не выполняется, а гонки отсутствуют. Если гонок нет, то множества состояний для пары переходов не пересекаются. Следовательно, множества состояний, представленные, напри- мер, в строках 1, 5 табл. 3.3, не пересекаются. Данные множе- ства не пересекаются лишь в том случае, когда или [Ej1, Ei2)ni[E{3, Ei4]=0 (i равно 1 либо 2). Это возможно, если у подавтомата Л, существует переменная Qta, такая, что Qia1 =5^ =¥=Qia3, или переменная такая, что = что противоречит предположению о невыполнении первого условия (3.2) для обоих подавтоматов. Аналогично убеждаемся в том, что второе — четвертбе условия (3.2) должны быть справедливы хотя бы для одного подавтомата. Таким образом, ни одно из че- тырех условий без нарушения правильности кодирования уда- лить нельзя. Предположим, что часть условий (3.2), например первое и второе, выполняются только для подавтомата Ai, а остальные —• только для подавтомата Л2. Тогда Д4] и ЕА = ЕА; Х21 = =Л23 и Е22«£[Е23, Е24]. Пусть гонок в автомате нет. Из предположения об отсутствии гонок следует, что множе- ства, указанные, например, в строках 2 и 8 табл. 3.3, не пересе- каются, т. е. [Xi1, VlfW, Xi4] = 0 или ЕАф[Е2\ Е22]. Если [V, V]f>i3, Xi4] = 0, то существует развязывающая переменная Qid и для подавтомата Ai будут выполнены все четыре условия, а не только первые два. Если же Ег^^Ег1, Е22], то в этом случае для подавтомата Д2 справедливы все четыре условия. Таким об- разом приходим к необходимости того, что все условия должны быть выполнены по крайней мере для одного из подавтоматов.
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 102 Можно убедиться в том, что аналогичная ситуация имеет место и для других комбинаций условий. Из условий правильности кодирования следует, что для пары переходов xi->x2, хз-*Х4 подавтомат А{ не может устранять гонки, если Cij2 = eij4 для всех / = 1, 2,..., Wi и Qial = Qia3 для всех a=l,2,...,U. Условия (3.2) можно представить в виде, более удобном в практическом использовании. Для пары переходов xi~m<2, хз^-х< гонки устраняются подавтоматом Аг, если его переменные удо- влетворяют по крайней мере одному из следующих условий: 1) — — 2) 3) Qib1#=Qib2 = Qib3 = Qib4 И eih2¥=eih1 = eih3 = eih4; 4) Q;cMQicI = Qic2=Qic4 и eif4^eifi = eif2 = eif3-, 5) Qial — Qia4^=Qia2=Qia3, 6гЛ2^= e,^1 = 0ift3 = 6ift4 И ^if4~/~~ ^if2 = ^ij3, 6) Qib1¥=Qi63=Qib4 = Qib2, Qic3=7£=Qic1 = Qic2=Qic4 И ~ ^iv4^^ giv2~ ^iv3' В зависимости от типа подавтомата Ai возможны различные случаи выполнения этих условий. Если, например, в качестве подавтомата по каким-либо соображениям выбран элемент за- держки, то гонки устраняются лишь при условии, что имеется развязывающая входная или выходная переменная (случаи Г и 2). Таким образом, условие (2.4) является частным случаем условий (3.2). Для бистабильных ячеек могут выполняться только первые пять условий, так как эта ячейка имеет два входа и один выход (второй выход является инверсией первого) [15]. Воспользуемся графической иллюстрацией условий (3.3) в виде табл. 3.4. Заметим, что в этой таблице любой столбец можно заменить его инверсией. Использование этой таблицы проиллюстрируем на следующих примерах. Пусть внутренние состояния пары х(->х2, хз~>Х4 заданы табл. 3.5. Для подавтома- тов А\ и А2 не выполняется ни одно из шести условий, что свиде- тельствует о наличии гонок. Например, если А2 обладает боль- шим быстродействием, чем то в обоих переходах может воз- никнуть общий набор (000010). Гонки можно устранить, добав- ляя промежуточную переменную у, развязывающую данную пару переходов. Рассмотрим другой пример (табл. 3.6). Сравнивая табл. 3.4 и 3.6, можно установить, что для подавтомата А2 вы- полняется пятое условие. Гонки в данной паре переходов отсут- ствуют.
103 3.5. ПРИМЕРЫ СИНТЕЗА Таблица 3.4 Условия 1 . 2 3 4 5 • 6 е Q Qe Qe Qee QQe 0 0 10 00 100 100 0 0 01 00 010 001 1 1 00 10 000 011 1 1 00 01 101 000 Таблица 3.5 3«2 9<3 •Х4 At Аг У eiieisQi <321622^2 0 0 0 0 0 0 0 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 10 1 Таблица 3.6 Ai Аг eiienQi Xi 001 000 %2 100 Oil 001 001 x4 100 100 3.5. ПРИМЕРЫ СИНТЕЗА Приведем схему синтеза заданного автомата на основе ком- позиционной модели: 1. Определить внутренние состояния синтезируемого авто- мата, используя информацию об алгоритмах функционирования всего автомата и заданных подавтоматов. 2. Проверить выполнение условий правильности кодирова- ния (3.2) или (3.3). 3. Построить сжатую таблицу переходов УА модели Мура. 4. Провести синтез УА с устранением всех видов состязаний. Отметим, что синтез УА на основе таблицы переходов мо- дели Мили приводит к представлению устройства в виде компо- зиции автоматов, а не в виде композиционной модели. Пример 3. 5. 1. Необходимо синтезировать на основе ком- позиционной модели устройство, имеющее один вход С и четыре выхода Qi, Q2, Q3, Qi, первый выход реализовать на бистабиль- ной ячейке, остальные •— на трехстабильной ячейке. Наборы зна-
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 104 Таблица 3.7’ С t Qi Q2 Q3 Qt S; 7? S2 S3 S4 t +1 Qi Q2 Qs Q4 1 1 0100 0 — — 00 0100 2 0 0 10 0 0 — 0. 1 0 0 0 10 3 1 0 0 10 0 — 0 — 0 0 0 10 4 0 0 0 10 0 — 0 0 1 0 0 0 1 5 1 0 0 0 1 0 — 0 0 — 0 0 0 1 6 0 0 0 0 1 1 0 10 0 110 0 7 1 110 0 - - 0 — 00 110 0 8 0 110 0 — 0 0 1 0 1 0 1 0 9 1 10 10 — 0 0 — 0 10 10 10 0 10 10 — 0 0 0 1 10 0 1 И 1 10 0 1 — 0 0 0 — 10 0 1 1 12 0 10 0 1 0 1 1 0 0 .0100 чений выходных сигналов Qi, Q2, Qs, Q4 должны изменяться при С: 1->0 в такой последовательности: (0100), (0010), (0001), (1100), (1010), (1001), (0100),... Построим вначале вспомогательную таблицу, которую назо- вем таблицей состояний (табл. 3.7). В этой таблице представ- лены наборы значений сигналов четырех групп: внешнего вход- ного сигнала С; сигналов Qi, Q2, Q3, Q4, действующих на входе УА в момент времени сигналов Si, 7? и S2, S3, S4, управляющих работой подавтоматов Ai и А2 (рис. 3.5), и сигналов Qb Q2, Q3, Q4, определяющих состояние выхода автомата в следующий мо- мент времени / + 1. Прочерк, используемый в таблице со- стояний, означает неопреде- ленное значение соответст- вующего сигнала. Чередова- ние строк таблицы соответ- ствует заданной последова- тельности наборов значений выходов Qi, Q2, Q3, Q4. Зна- чения сигналов из 1-й, 2-й и Таблица 3.8 Si 7? S? S3 S4 1 0 0 0 0 0 2 0 0 0 1 0 3 0 0 0 0 1 4 10 10 0 5 0 110 0 Таблица 3.9-' Si 7? Sj S3 S4 Qi Q2 Q3 Q4 0 0 0 0 0 0 0 0 1 0 0 10 0 0 0 10 0 0 0 0 0 0 0 0 0 1 0 0 10 0 0 0 1 0 0 0 0 0 10 1 0 0 0 0 0 1 1 10 0 0 0 0 0 0 0 0 0 1 0 110 0 10 10 0 0 0 0 0 0 0 0 0 1 10 10 10 0 1 0 0 0 0 0 0 T 1 0 0 10 0 1 0 10 0
105 3.5. ПРИМЕРЫ СИНТЕЗА Рис. 3.5. Композиционная модель синтезируемого устрой- ства. Подавтомат^ Ai — бистабильная ячейка, подавто- мат Аг — трехстабильная ячейка 4-й групп известны. Значения сигналов Si, 7?, S2, S3, S4 определяются в процессе построения таблицы путем ана- лиза значений сигналов Qi, Q2, Q3, Q4 в моменты времени t и 7+1. Строки части таблицы, образованной группой столбцов -Si, R, S2, S3, S4, представляют возможные внутренние состояния УА. Из табл. 3.7 следует, что некоторым ее строкам соответст- вует одно и то же внутреннее состояние УА. Считая, что значе- ния сигналов Si, R, S2, S3, S4 доопределены нулями, получим код пяти внутренних состояний УА (табл. 3.8). Код внутренних со- стояний автомата запишем в табл. 3.9. Из табл. 3.7 и 3.8 следует,
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 106, что при С=Е Si = T? = S2 = = Ss = Sa = 0, т. е. УА перехо- дит из состояний 2—5 в од- но (первое) состояние. Пар переходов при С=1 нет, по- этому гонки в автомате воз- можны лишь при состоянии входа С=0. Пары внутрен- них состояний, связанные переходом при этом состоя- нии входа, отделены в табл. 3.9 горизонтальными линия- ми. Проверим, потребуется ли введение дополнительных промежуточных переменных в УА. Если переменные Si, R, Qi подавтомата Ai или пе- Таблица 3.10 Лг ременные S2, S3, S4, Q2, Q3, Q4 подавтомата Аг удовлетворяют условиям правильности кодирования (3.2) для любой пары. переходов, то гонки отсутствуют и введение дополнительных обратных связей не требуется. Для большей наглядности и удобства преобразуем табл. 3.9 в табл. 3.10, группируя переменные, относящиеся к одному под- автомату. Для пары 1->2, 3->4 значения переменных S3, Q2 удо- влетворяют условию 3 из табл. 3.4. Условие 4 этой таблицы вы- полняется для пары 1->2, 5->-6. Следующая пара 1—>-2, 7->8 имеет развязывающую переменную Qi. Аналогично убеждаемся в отсутствии гонок для всех возможных 12 пар переходов. Таким образом, табл. 3.9 задает правильный код внутренних состоя- ний. Заметим, что если условия (3.2) не выполняются для выбран- ного варианта доопределения значений переменных Si, Д, S2, S3, S4, следует вернуться к исходной таблице состояний и проверить условие (3.2) для других вариантов доопределения. Алгоритм функционирования УА удобно вначале представить с помощью диаграммы переходов (рис. 3.6). Петли при верши- нах 2—5, соответствующих внутренним состояниям УА (табл. 3.8), отражают требование к УА, заключающееся в том, что его внутреннее состояние не должно изменяться при изменении зна- чений переменных Qh Q2, Q3, Qi- От диаграммы перейдем к сжатой таблице переходов УА (табл. 3.11). В нижней части этой таблицы приведены промежу- точные состояния, которые возникают во время переходов 1->-5 и 1->4. Состояние 6 может изменить значение входных сигналов, поскольку S2=l. Если изменение Si :0->1 произойдет после пе- реключения трехстабильной ячейки, то УА в состоянии 6 воспри-
107 3.5. ПРИМЕРЫ СИНТЕЗА Таблица 3.11 CQ1Q2Q3Q4 С=1 С=0 Sj R S2 S3 s., — 0000“ 0100 |оою (0001 1000 11100 1010 1001 (О- 2 3 4 2 3 5 0 0 0 0 0 1 (2) (2) (2) (2) (2) (2) (2) (2) 0 0 0 1 0 1 (3) (3) (3) (3) (3) (3) (3) (3) 0 0 0 0 1 1 (4) (4) (4) (4) (4) (4) (4) (4) 1 0 1 0 0 I (5) (5) (5) (5) (5) (5) (5) (5) 0 1 1 0 0 1 4 4 —. 4 5 5 5 0 0 1 0 0 1 — — — 4 — — — 4 1 0 0 0 0 1 — — —- 5 — — — 5 0 1 0 0 0 мет последовательность изменений входных сигналов «1Q2Q3Q4: (0001)->(0000)-^(0100). Поэтому необходимо для состояния 6 следующими состояниями указать состояние 4 в столбцах (0000), (0100), (0001) (переход 1->-4) и состояние 5 в столбцах (1000), (1100), (1001). Анало- гично поступаем с состоянием 7. Оно может возникнуть во время перехода 1—>4 при С = 0: значение Si=l вызывает пере- ключение бистабильной ячейки, и если это произойдет раньше, о—
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 108 Таблица 3.12' Переход С Qi Qt Qs q4 Si r s2 S3 S4 Si R S2 S3 S4 1 (1-8)+1 1 — 0 0 0 0 0 2 1->-2 0 — 1 0 0 0 0 0 — 0 0 0 0 1 0 3 2->2 0 — — — —_ 0 0 0 1 0 0 0 0 1 0 4 1->3 0 — 0 1 0 0 0 0 0 — 0 0 0 0 1 5 3-^3 0 — —- — —J' 0 0 0 0 1 0 0 0 0 1 6 1->4 0 0 0 0 1 — 0 — 0 0 1 0 1 0 0 7 4->4 0 — — — — 1 0 1 0 0 1 0 1 0 0 8 1-^5 0 1 0 0 1 0 — — 0 0 0 1 TOO 9 5->5 0 — — — — 0 1 1 0 0 0 1 г 0 0 10 6->4 0 0 — 0 0 0 0 1 0 0 1 0 1 0 0 11 6->5 0 1 — 0 0 0 0 1 0 0 0 1 1 0 0 12 7-М 0 1 0 0 1 1 0 0 0 0 1 0 1 0 0 13 8->5 0 0 0 0 1 0 1 0 0 0 0 1 1 0 0 чем S>2 установится в единицу, то УА в состоянии 7 воспримет новую комбинацию (1001). Для того чтобы УА несмотря на это перешел в состояние 4, доопределим значение функции перехо- дов в полном состоянии (7, 1001) состоянием 4. Подобное дооп- ределение производим для состояния 8; Нетрудно понять, что если этого не сделать, то на этапе построения уравнений для функций Si, Д, S2, S3, S4 может произойти какое-либо иное до- определение и полученная схема не будет устойчива к гонкам, (состязаниям между Si, Д, S2, S3, S4 и Qi, Q2, Qs, Qi)- Далее определяем структурную таблицу синтезируемого УА (табл. 3.12). Для построения схемы из элементов ИЛИ—НЕ найдем ДНФ, свободные от состязаний, для инверсий функций. Рассмотрим функцию Sj. Первый интервал .этой функции покры- вается простой импликантой С. Определяем простые импликанты для второго интервала (0—100000—0). Таблица различий для этого интервала имеет восемь столбцов (по числу внешних пе- ременных этого интервала) и четыре строки Дпо числу единичных интервалов функции Si)_ (табл. 3.13)^Варианты покрытия нахо- дим по формуле (Q2VQ4)s2 = Q2S2VQ4S2, следовательно, второй интервал покрывается двумя простыми импликантами _Q2«2 в Таблица 3.13 С Qs Q3 Q4 Si f s2 s4 Таблица 3.14 С Si f s2 S3 s4 6 1 1 7 1 1 10 1 12 1 11 6 1 7 1 11 10 1 1 12 1 1
109 3.5. ПРИМЕРЫ СИНТЕЗА Т а б л и ц а 3.15 Интервал Простые импликанты 1 2 3 4 5 8 9 11 13 С_ Q2S2, Q4S2 Qs^b Q4S2, Q3S2 QfS] Qisb r Qis\ r Т а блица 3.16 С Q2S2 Q4S2 ss QzSi s4 QiSi г 11 2 11 3 1 4 ' 1 1 5 1 8 1 9 11* И 1 . * 13 1 Si = CVs3Vs4VrV Q4S2V Qisp Q4S2. Из таблицы разли- чий (табл. 3.14) третьего интервала следует, что он покрывается лишь од- ной простой импликантой Хз. Заметим, что этот факт можно установить непо- средственно по структур- ной таблице (табл. 3.12): переменная s3 принимает нулевое значение в стро- ках 6, 7, 10 и 12 и поэтому отличает рассматривае- мый интервал от всех че- тырех единичных интер- валов функции Дан- ный пример показывает возможность определения простых импликант без построения таблиц разли- чий. Список всех простых импликант для функции Sj приведен в табл. 3.15. Кратчайшая ДНФ опреде- ляется из таблицы по- крытия (табл. 3.16) : В полученную ДНФ каждая переменная входит с отрицанием либо без него, поэтому ДНФ свободна от состязаний. Пользуясь законом де Моргана, переходим к структурной формуле Si — CVS3VS4 V г VQ4 Vs2VQiV S;. Данное выражение не имеет отрицаний переменных С, sb s2, S3, s4, г, поэтому схема, реализующая Si, не содержит существен- ных состязаний. Аналогично находим остальные выражения R = CVSl VS3V.S4 VQ4W2 V QiV г, s2=cvs3Vs4VQ7v^, s3=cvs2vs4VQ7V73, S4^CVs2\/S3VW4.
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ ПО Рис. 3.7. Схема устрой- ства для примера 3.5.1 с Искомая схема, реализующая эти выражения, устойчива к со- стязаниям всех видов (рис. 3.7). Пр и мер 3.5.2. Проведем синтез двухразрядного счетчика Джонсона с использованием бистабильных ячеек в качестве под- автоматов Ai и А2. Примем следующее предположение о соот- ношении временных параметров УА и Ai, А2. Пусть УА состоит из элементов, обладающих существенно большим быстродейст- вием, чем логические элементы, составляющие бистабильные ячейки Ai и А2. Таблица состояний счетчика представлена табл. 3.17. Выде- лим внутренние состояния УА. Для этого примем, например, следующий вариант доопределения: значения функций Si, S2, R2 при С=1 доопределим нулями, а при С = 0 — единицами. Код внутренних состояний УА, совпадающих с состояниями выхода, приведен в табл. 3.18. Исходя из табл. 3.17 и 3.18 строим диа- грамму переходов УА (рис. 3.8).
Ill 3.5. ПРИМЕРЫ СИНТЕЗА Таблица 3.17 С t Qi Q2 5i У?, $2 R2 £+ 1 Qi Q2 1 1 0 0 0 — 0 — 0 0 2 0 0 0 1 0 0 — 1 0 3 1 1 0 — 0 0 — 1 0 4 0 1 0 — 0 1 0 1 1 5 1 1 1 — 0 — 0 1 1 6 0 1 1 0 1 — 0 0 1 7 1 0 1 0 — — 0 0 1 8 0 0 1 0 — 0 1 0 0 Таблица 3.18 51 7?! S2 Т?2 1 0 0 0 0 2 10 0 1 3 10 10 4 0 110 5 0 10 1 Т а б л и ц а 3.19 CQ1Q2 С=1 с=о 51 S2 R2 — 00 10 11 01 (1) 2 3 4 5 0 ООО 1 (2) (2) —— — 1 0 0 1 1 (3) (3) .—. 1 0 1 0 1 — (4) (4) 0 1 1 0 1 (5) — — (5) 0 1 0 1
ГЛАВА 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 112 Т а б л и ц а 3.20 Переход С Qi Q2 S1 zt S2 r2 Si 7?i S2 T?2 1 1—5-Я 1 — 0 0 0 0 2 1-»-2 0 0 0 — 0 0 — 1 0 0 1 3 2->2 0 — 0 1 0 0 1 1 0 0 1 4 1->3 0 1 0 — 0 -— 0 1 0 1 0 5 3->3 0 1 — 1 0 1 0 1 0 1 0 6 1->4 0 1 1 0 — — 0 0 1 1 0 7 4->4 0 — 1 0 1 1 0 0 1 1 0 8 1->5 0 0 1 0 — 0 — 0 1 0 1 9 5->5 0 0 — 0 1 0 1 0 1 0 1 Этой диаграмме соответствует сжатая таблица переходов (табл. 3.19). Согласно предположению сигналы Qi, Q2 могут из- меняться только после всех изменений сигналов Si, 7?i, S2, R2, по- этому в перечислении промежуточных состояний, какое произво- дили в предыдущем примере, нет необходимости. Достаточно проверить, является ли код табл. 3.18 противогоночным для таб- лицы переходов (табл. 3.19). Имеется четыре пары переходов: (1->2, 5->5), (1->3, 2->2), (1->4, 3->3), (1->5, 4->4). Для пер- вой пары развязывающей переменной является переменная Л1 (/?i1 = 7?i2 = O, /?15=1), для второй — R2, для третьей — Si, для последней •— S2, поэтому код внутренних состояний устраняет гонки, т. е. состязания между Si, Ri, S2, R2 при произвольном по- рядке изменения значений этих сигналов. Структурная таблица УА представлена табл. 3.20, из которой можно определить один из вариантов ДНФ: Si = CVri VQ2S1, Ri = С VsiV <2гй> 5г= C\/r2 VQ1S2, /?2 = С VS2VQ1T2- Переходим к структурным формулам Si = CVn VQ2VS1, ' 7?i = CVsiVQ2Vri, S2 = CV^2 VQ1VS2; ; T?2 = CV 5’2 V Ql V/"г. Им соответствует известная, широко распространенная схема счетчика на основе регистра сдвига с перекрестными свя- зями [2] (рис. 3.9).
113 3.5. ПРИМЕРЫ СИНТЕЗА Таблица 3.21 Si Ri S2 Rz Qi Qz 0 0 0 0 10 0 1 0-000 0 10 1 Вернемся к вопросу о состязаниях в дан- ной схеме. Предполо- жение о соотношении временных параметров УА и Аь А2 позволило не принимать специ- альных мер.по обеспе- чению устойчивости схемы к состязаниям между переменными Sb Ri, S2, Яг и Qi, Q2, по- этому был выбран про- извольный вариант до- определения значений Si, Ri, S2,. Яг- Прове- рим, устранены ли гон- ки (состязания между Si, Я1, S2, Яг, Qi, Q2) при данном варианте доопределения. Рас- смотрим, например, па- ру переходов между внутренними состояни- ями счетчика 1 -> 2, 7->8 (табл. 3.21). Ус- ловия (3.2) . для этой пары переходов не вы- полняются, так как Qi1 = Qi3 = o, Яг2 = Яг4 = = 1. Множества неус- стойчивых состояний имеют общий элемент (000100), что указы- вает на гонки. В схеме они проявляются следующим образом. Пусть на выходе счет- чика Qi = 0, Q2=l; при изменении С: 1-э-0 Q2 должно устано- виться в нуль (переход 7->8). Если соотношение величин задер- жек логических элементов таково, что Т7+тц+Т1>Т5, то схема вместо последовательности (01)->(00) реализует последова- тельность (01) —>-(00) —>(10). Таким образом, известные схемы счетчиков Джонсона на основе регистров сдвига неустойчивы к состязаниям. Эти состязания уменьшают надежность схемы и могут привести к неправильной работе устройства. Синтез счетчиков данного типа, устойчивых к состязаниям всех видов, будет рассмотрен в гл. 5. 8 — 5499
ГЛАВА. 3. СИНТЕЗ НА ОСНОВЕ КОМПОЗИЦИОННОЙ МОДЕЛИ 114 Пример 3.5.3. Син- тезируем схему двух- разрядного двоичного счетчика на ^-тригге- рах (рис. 3.10). Алго- ритм функционирова- ния счетчика удобно представить с помощью графа автомата (рис. 3.11). От графа перей- дем к таблице состоя- ний (табл. 3.22). По- скольку для измене- ния выходного сигнала триггера достаточно из- менить его входной сиг- нал с единицы на нуль, в таблице состояний значения переменной е2 в строках 1,2 указаны равными нулю или еди- нице. Аналогичная си- туация отражена и в строках 5,6. Доопреде- лив все значения пере- менной е2 нулями, по- строим таблицу пере- ходов УА (табл. 3.23). После сжатия таблицы оказывается, что УА является комбинацион- ной схемой. Из ее таб- лицы истинности (табл. 3.24) следует, что Hi = С, е2 = CQi. УА данного счетчика является комбинацион- ной схемой и состоит из одной схемы совпа- дения. Последний пример показывает, что чем сложнее подавтоматы в композиционной мо- Рис. 3.10. Композиционная модель двоичного счетчика на Т-триггерах Т а б л и ц а 3.22 С t Qi Qi Cl е2 H-l Qi Qi 1 1 0 0 1 0 0 2 0 0 0 0 — 1 0 3 1 1 0 1 1 1 0 4 0 1 0 0 0 0 1 5 1 0 1 1 — 0 1 6 0 0 1 0 — 1 1 7 1 1 1 1 1 1 1 8 0 1 1 0 0 0 0
115 3.5. ПРИМЕРЫ СИНТЕЗА Таблица 3.23 CQiQs 100 по 101 111 ООО 010 001 011 61 62 1 (1) . ' 2 1 0 2 . 3 — — (2) (2) — — 0 0 3 — (3) — — 4 — — 1 1 4 — 5 — (4) (4) (4) (4) 0 0 5 — — (5) — 6 — 1 0 6 — — 7 — — (6) (6) 0 0 7 —- — (7) — — 8 1 1 8 1 — — (8) (8) (8) (8) 0 0 Таб лица 3.24 С Q] Q2 ei е2 1 1 0 0 1 0 2 0 0 0 0 0 3 1 1 0 1 1 4 0 1 0 0 0 5 1 0 1 1 0 6 0 0 1 0 0 7 1 1 1 1 1 8 0 1 1 0 0 дели, тем больше шансов получить более простую схему УА. Последующие главы посвящены синтезу устройств различных клас- сов на основе композиционной мо- дели, в которой в качестве подавто- матов используются би- и многоста- бильные ячейки. 8’
Глава 4 ТРИГГЕРЫ Триггеры на потенциальных логических элементах, или по- тенциальные триггеры, широко применяются в интегральной схемотехнике. Известно много разновидностей триггеров, разли- чающихся выполняемыми функциями и схемными решениями [3]. Однако чаще всего используется сравнительно небольшое число типов, к которым можно отнести Т-, D-, DV-, RS- и //(-триггеры» В настоящей главе рассматривается синтез основных типов', потенциальных триггеров, устойчивых ко всем видам состязаний и отвечающих требованиям простоты схемы и высокого быстро- действия. При синтезе триггеров использована композиционная мо- дель, содержащая УА и управляемый подавтомат (рис. 4.1). В качестве управляемого подавтомата выбрана бистабильная; ячейка. Чем обусловлен такой выбор? Во-первых, тем, что би- стабильная ячейка представляет собой элементарный триггер. Логично в основе сложного триггера использовать элементарный триггер. При этом прямой Q и инверсный Q выходы бистабиль- ной ячейки совпадают с выходами сложного триггера. Во-вторых,, бистабильная ячейка имеет симметричную схему. При этом за- частую и УА имеет симметричную схему, что является важным; достоинством, так как облегчает изучение, проверку и реализа- цию схемы на интегральной основе [21]. В настоящей главе и далее используется структура биста- бильной ячейки на потен- циальных логических эле- ментах типа ИЛИ—НЕ. Ясно, что синтез на биста- бильных ячейках, построен- ных из элементов типа И— НЕ, И—ИЛИ—НЕ, может быть проведен аналогично синтезу схем на бистабиль- ных ячейках, построенных из элементов ИЛИ—НЕ. гера
117 ГЛАВА 4. ТРИГГЕРЫ Композиционная модель сложного триггера позволяет свести синтез триггера к синтезу УА со входами Q, С, и двумя выходами S и В (рис. 4.1). Вход Q УА является выходом бистабильной ячейки, поэтому заранее известно значение сиг- нала на этом входе для известных выходных сигналов УА. На входы Bi,..., Ви УА поступают сигналы, несущие информацию о том значении выходного сигнала Q триггера, которое должна быть установлено на бистабильной ячейке УА по сигналу управ- ления (синхронизирующему сигналу) С. Назовем входы В,,... ...,Ви информационными. Для управления бистабильной ячей- кой УА должен вырабатывать определенную последовательность- выходных наборов (SB): (00), (10) и (01). Композиционная мо- дель триггера определяет, что все выходы УА используются в качестве обратных связей в УА, иными словами, код внутренних состояний УА отождествляется с выходным кодом УА. Для из- вестных типов триггеров указанных трех выходных наборов УА достаточно для образования кода внутренних состояний УА. Если при построении какого-либо, специального триггера окажется,, что этих трех состояний недостаточно, то в качестве промежу- точных переменных УА можно использовать не только перемен- ные R и S, но и дополнительные промежуточные переменные в соответствии с методикой, изложенной в гл. 2. В схеме триггера, построенной согласно данной модели, могут существовать два типа состязаний: между сигналами 5 и В и между сигналами S(/?) и Q. В соответствии с правилом функционирования биста- бильной ячейки (см. гл. 2) ее входные сигналы S и В образуют соседний код: (00), (10) и (01). Переход от одной входной ком- бинации к, другой осуществляется через нулевую комбинацию,, т. е. появление на входе комбинации (11) исключено. Поэтому состязания между S и В в УА не возникают. Кроме того, дан- ный код не налагает ограничений на быстродействие УА. На- помним, что в композиционной,модели с одним подавтоматом со- стязания между входными сигналами бистабильной ячейки и ее выходным сигналом также не возникают. Действительно, пере- ходные процессы в УА и бистабильной ячейке имеют конечные длительности туд>0 и тя>0. Вследствие этого изменения сиг- налов С, 7? (или S), Q происходят с задержками относительно' друг друга (рис. 4.2). Если наложить ограничение на длитель- ность фронта . выходных сигналов потенциальных логических элементов и входных сигналов УА: Тф<тэ, где тэ — задержка распространения сигнала в логическом элементе, и принять, что задержка в линиях связи намного меньше т0, то можно считать, что сигнал Q всегда изменяется после- того, как изменился сиг- нал S (или В)- Поэтому в УА отсутствуют состязания между сигналами S (или В) и Q. Любой потенциальный логический эле- мент обладает свойством фильтрации входных сигналов, т. . е.
ГЛАВА 4. ТРИГГЕРЫ 118 выходной сигнал элемента изменяет свое значение толь- ко тогда, когда длительность входного сигнала превы- .шает некоторую минималь- ную величину т. Как прави- ло [31], т= (0,5-н 1)тэ- С уче- том этого факта ограниче- ние на длительность фронта сигнала может быть ослаб- лено: Тф<2тэ. Триггеры, рассматривае- мые в настоящей главе, по способу управления подраз- деляются на триггеры со Рис. 4.2. Временные диаграммы компози- ционной модели триггера статическим входом управ- ления (управляемые уровнем синхронизирующего сигнала) и триггеры с динамическим входом управления (управляемые фронтом синхронизирующего сигнала). В триггере с динамиче- ским входом управления изменение значения выходного сиг- нала Q бистабильной ячейки, предопределенное значениями ин- формационных сигналов, происходит только в момент измене- ния значения управляющего сигнала С. После того как установилось данное значение синхронизи- рующего сигнала Сив триггере закончились переходные про- цессы, изменения информационных сигналов на входах такого триггера не вызывают изменений значений сигнала Q до появ- ления очередного одноименного фронта синхронизирующего сиг- нала. В триггере со статическим входом управления изменение значения сигнала Q также происходит при изменении значения синхронизирующего сигнала С, но изменения информационных сигналов после того, как установилось данное значение синхро- низирующего сигнала, могут привести к новому изменению зна- чения сигнала Q. Иными словами, в таком триггере изменения сигнала Q разрешаются не только фронтом синхронизирующего сигнала, но и одним из его уровней. При другом уровне синхро- низирующего сигнала С значений сигнала Q не зависят от зна- чений информационных сигналов. В дальнейшем для определен- ности примем, что изменение значения сигнала Q разрешается переходом синхронизирующего сигнала С из единицы в нуль С: 1-^0. В настоящей главе основное внимание уделяется триггерам с динамическим входом управления, однако таблицы переходов УА таких триггеров рассматриваются как варианты специальных таблиц переходов, отражающих альтернативу переходов в зави- симости от изменения значений информационных сигналов при
119 4.1. ^-ТРИГГЕР постоянном значении синхронизирующего сигнала С = 0. Эти таб- лицы, содержащие варианты построения триггеров как со ста- тическим, так и с динамическим входами управления, явля- ются удобной формой представления потенциальных триггеров. 4.1. Т-ТРИГГЕР Г-триггер имеет один вход Т. Этот вход можно рассматривать одновременно как информационный и как вход синхронизации. Правило функционирования /’-триггера: сигнал Q на выходе триггера изменяет свое значение при каждом переходе входного сигнала Т: 1->0 и сохраняет значение при переходе сигнала из нуля в единицу. Словесному заданию Т-триггера соответствует граф автомата (рис. 4.3). В вершинах графа над чертой записано значение входного сигнала Т, под чертой — значение выходного сигнала Q. По графу автомата составим таблицу состояний триг- гера (табл. 4.1). Доопределим в Рис. 4.3. Граф автомата для Т-триггера Таблица 4.1 t Т Q S Р f+1 Q 1 1 0 0 — 0 2 0 0 1 0 1 3 1 1 — 0 1 4 0 1 0 1 0 табл. 4.1 неопределенные значения выходных сигналов УА нулями (три других варианта доопределения табл. 4.1 приводят к совпадению пе- ременной Q с переменными 5 или R, что свидетельствует об избыточ- ности переменных, иными словами, о нецелесообразности использова- ния в качестве подавтомата биста- бильной ячейки). При этом набору значений входных сигналов (T'Q) = =(1—) соответствует набор значе- ний выходных сигналов УЛ(5/?) = = (00). Внутренние состояния УА кодируются следующим образом: (1) - (10), (2) - (00) и (3) - (01). По табл. 4.1 с учетом компози- ционной модели триггера можно по- строить диаграмму переходов УА (рис. 4.4). Из диаграммы следует, что переход УА в состояние (2) происходит под воздействием вход- ного набора (1—), а переход из со- стояния (2) в состояние (1) ив со- стояние (3) — под воздействием со- ответственно входных наборов (00) и (01). Петли при каждой вер-
ГЛАВА 4. ТРИГГЕРЫ 120 шине диаграммы означают, что внутреннее состояние УА не изменяется при дан- ном значении сигнала Т (из- менение Q не вызывает из- менения внутреннего состоя- ния УА). Диаграмме пере- ходов, представленной на рис. 4.4, соответствует таб- лица переходов УА Т-триг- Рис. 4.4. Диаграмма переходов управ- ляющего автомата Г-триггера гера (табл. 4.2). В строках правой части таблицы переходов записан код внутренних состояний (10), (00), (01), являющийся одновременно и выходным кодом УА'. По табл. 4.2 составим структурную таблицу (табл. 4.3). Найдем из табл. 4.3 простые импликанты, покрывающие нулевые интервалы, и запишем кратчайшие ДНФ функций S и R: S = T\fr\/Qs,1 R = TVsVQr. Таблица 4.2 Таблица 4.3 1 TQ 3 R 1 2 3 Переход Т Q s г 32? 1 — 0 0 0 1 (1—3)^2 2-И 1-4 1 0 0- 0 — 1 0 0 00 1 0 1 0 2 (1) (1) 1 0 2 (2) Г 3 0 0 4 2->3 0 1 0 0 1 3 2 (3) (3) 0 1 5 3^-3 0 — 0 1 0 1 Каждый аргумент входит в ДНФ с отрицанием либо без него, поэтому уравнения (4.1) представляют ДНФ, свободные от со- стязаний. Проведя анализ таблицы переходов (табл. 4.2)., можно установить, что в ней имеются условия существенных состязаний. Состязующимися сигналами для функций S и R являются соот- ветственно сигналы Т, г и Т, s. Если эти сигналы воспринимаются одним элементом схемы, то схема, реализующая уравнения (4.1), не имеет существенных состязаний. Инвертируя в выра- жениях (4.1) функции S, Д и применяя правило де Моргана, по- лучим структурные формулы S = 7’V/-VsV'q', (4-2) R = 7ys\fr\/Q.
121 4.1. Г-ТРИГГЕР- Согласно (4.2) в схеме Т-триггера сигналы Т и г (Т и $) можно подать на входы одного логического элемента. Формулы (4.2) определяют схему 7-триг- гера (рис. 4.5), свобод- ную от всех видов состя- заний (при условии, что- задержки в соединитель- ных линиях намного мень- D , - т ше задержек логических Рис. 4.5. Схема симметричного Г-триггера ! „ элементов и Тф<2тэ). Син- тезированный Т-триггер представляет собой известный симметричный счетный триг- гер [3]. Иногда этот триггер называют схемой трех триггеров: основного и двух коммутирующих. Триггер содержит шесть эле- ментов с суммарным числом входов 14. Схему триггера можно- упростить, если при построении ДНФ функций S и R произ- вести факторизацию, т. е. вынести за скобки общие члены. Это- можно сделать при условии, что вместо простых импликант s и г в уравнениях (4.1) взяты импликанты sr и rs (возмож- ность такой замены очевидна из табл. 4.3): S = TVs(rVQ), R = T\/r(s\/Q). (4.3) Перейдем от уравнений (4.3) к структурным формулам S = TVsVrVQ, R = T\/r\/s\/Q. Рис. 4.6. Схема несимметричного Т-триггера (4.4) Формулы (4.4) опреде- ляют схему Т-триггера, построенную из восьми двухвходовых элемен- тов. Выражение для S из формул (4.2) и вы- ражение для R из фор- мул (4.4) определяют схему известного не- симметричного Г-триг- гера [3], содержащего шесть элементов с сум- марным числом входов 13 (рис. 4.6).
ГЛАВА 4. ТРИГГЕРЫ 122 4.2. D-ТРИГГЕР D-триггер имеет управляющий С и информационный D входы. Правило функционирования D-триггера: выходной сигнал Q принимает значение входного сигнала D при изменении управ- ляющего сигнала С с единицы на нуль. Таблица состояний D- триггера представлена в табл. 4.4. Попытаемся отразить это пра- вило в таблице переходов УА D-триггера (табл. 4.5). Внутренние состояния УА те же, что и для УА Т-триггера: (1) — (10), (2) — (00), (.3) — (01). Они задают три строки сжатой таблицы пере- ходов. Четырем столбцам табл. 4.5 сопоставлены четыре вход- ных набора, в которых значение синхронизирующего сигнала •С = 0. При переходе от входных наборов, содержащих С=1, к наборам, содержащим С = 0, сигнала Q бистабильной ячейки. Левому столбцу таб- лицы переходов (табл. 4.5) сопоставлен входной набор (1-----), включающий четы- ре набора с С=1 и различ- ными комбинациями значе- ний сигналов D, Q. Интер- вальная запись входных на- боров при С=1, упрощаю- щая таблицу переходов, вво- дится в предположении, что для всех наборов, входящих в интервал (1----), УА на- ходится в устойчивом состоя- нии (2). Действительно, при 0=1 сигнал Q сохраняет свое значение, а УА должен сформировать либо выход- ной набор (SR) = (00), либо выходной набор, подтверж- дающий данное значение Q: (S7?) = (01) для Q = 0 и (S7?) = (10) для Q=l. В дальнейшем, строя таблицы возможно изменение выходного Таблица 4.4 t 7 + 1 CD Q S R Q 1 1 0 0 0 — 0 2 1 0 1 — 0 i 3 1 1 1 — 0 i 4 1 1 0 0 — 0 5 ООО 0 — 0 6. 0 0 1 0 1 0 7 Oil — 0 1 8 0 1 0 1 0 1 Таблица 4.5 переходов УА триггеров, примем, что УА находится в состоянии (2), устойчивом при всех вход- ных наборах, содержащих С=1, в котором S = /? = 0. Определим в табл. 4.5 состояния, в которые должен перейти УА из состояния (2), устойчивого при входном наборе (1------), под действием изменения значения синхронизирующего сигнала С: 1—>0. При входном наборе (ООО) УА должен перейти в состоя- ние, сохраняющее значение сигнала Q = 0, т. е. либо в состояние
123 4.2. ^-ТРИГГЕР (2), либо в состояние (3) (что можно проследить и по таблице состояний 4.4). Этот факт отмечен в табл. 4.5 записью вида (2)\/3. Если на входе триггера после изменения сигнала С: 1->0 сформировался входной набор (001), то должно измениться зна- чение выходного сигнала Q: 1->0, т. е. выходной сигнал Q дол- жен принять значение D = 0. Следовательно, УА из исходного со- стояния (2) переходит,в состояние (3), устойчивое при этом на- боре. В состоянии (3) УА формирует выходной набор (S7?) = ==(01). На выходе триггера (бистабильной ячейки) устанавли- вается значение Q = 0, при этом входной набор (001) сменяется набором (000) и УА переходит в конечное состояние (3), устой- чивое при входном наборе (000). Такой переход отмечен в табл. 4.5 записью цифры 3 на пересечении строки 2 со столбцом (001) и цифры (3) на пересечениях строки 3 со столбцами (001), (000). Под действием входного набора (011) УА должен перейти из со- стояния (2) в состояние, сохраняющее значение сигнала Q = l, т. е. либо в состояние (2), либо в состояние (1). В соответствую- щем месте таблицы осуществляется запись вида (2) \Д - Под дей- ствием входного набора (010) УА необходимо перейти из исход- ного состояния (2) сначала в состояние (1), устойчивое при вход- ном наборе (010), а затем, после изменения значения сигнала Q: 0—^1, — в состояние (1), устойчивое при входном наборе (011)., Требуемые переходы отражены следующей записью в таблицей на пересечении строки 2 и столбца (010) указана цифра 1, а на пересечениях строки 1 и столбцов (010), (ОН) — (1). Таким образом, перечислены все переходы из состояния (2) под дейст- вием изменения значения сигнала С: 1-И). Все переходы, связан- ные с обратным изменением С: 0->1, переводят УА из соответ- ствующих состояний в состояние (2), устойчивое при входном наборе (1—• —). Поэтому в столбце (1-----) табл. 4.5 указаны цифры 2. В правиле функционирования D-триггера не указано, как должен «вести» себя триггер в ситуациях, когда на его входе действует сигнал С=0 и при этом изменяется сигнал D. Следо- вательно, в оставшихся незаполненными местах табл. 4.5 можно- проставить прочерки и тем самым закончить построение таблицы, переходов. Записи вида (2)\(3 и (2) VI в этой таблице отражают воз- можные варианты переходов УА. При последующем синтезе надо- выбрать один из вариантов так, чтобы на каждом пересечении строки и столбца таблицы было указано только одно значение функции переходов УА. Заметим, что записи (2) V3 в табл. 4.5. соответствуют два варианта доопределения значения сигнала R: нулем или единицей. Это доопределение можно было осущест- вить уже на табл. 4.4 в строке 5. Аналогично записи (2) V1 со- ответствуют варианты доопределения значения S в строке 7' табл. 4.4. Таблицы переходов вида 4.5, в которых на пересече-
ГЛАВА 4. ТРИГГЕРЫ 124 нии строки и столбца указано несколько значений функции пе- реходов, условимся называть обобщенными таблицами перехо- дов, подчеркивая названием, что такая таблица представляет множество автоматов. Из этого множества в процессе синтеза предстоит выбрать вариант таблицы переходов. Вернемся к табл. 4.5. Прочерки в ней означают, что согласно правилу функционирования D-триггера УА не может оказаться в соответствующих полных состояниях. Однако при последую- щем структурном синтезе, в результате получения структурных .формул, описывающих схему УА, все значения функции перехо- дов, не указанные в таблице, обязательно доопределятся тем или иным образом. Точнее, в зависимости от варианта доопределе- ния этих значений получится та или иная схема, способная реа- лизовать предписанный автомату закон функционирования и .обладающая дополнительными функциональными возможно- стями, а именно: если на схему будет подана последовательность входных наборов, не предусмотренная заданным автомату пра- вилом функционирования и, следовательно, не отраженная при построении таблицы переходов, то тем не менее ее реакция на эту последовательность окажется детерминированной в соответ- ствии с вариантом доопределения значений функций переходов и зыходов. Поэтому в процессе синтеза целесообразно как можно <более полно описать требуемое правило функционирования. По- лпенни сказанное на примере синтеза D-триггера. Предположим, проектировщику не безразлично, каково будет поведение триг- гера в ситуациях, когда при С = 0 возможно изменение значения сигнала D. Тогда потребуется выяснить, в какое состояние дол- жен перейти УА, если он находится, например, в состоянии (1), устойчивом при входном наборе (011) (в этом наборе D = Q= 1), и на входе триггера изменяется сигнал D: 1->0 (см. табл. 4.5). Возможны два варианта: либо УА остается в состоянии (1), устойчивом при входном наборе (001), и в этом случае значение сигнала Q не меняется, либо переходит в состояние (3), устойчи- вое при входном наборе (001), а затем в состояние (3), устойчи- вое при входном наборе (000). Последний вариант предполагает изменение значения Q: 1->0 в ответ на изменение D: 1->0. Отра- зим этот вариант записью вида (1) \/3 в табл. 4.6. Аналогично потребуется выяснить, в какое состояние должен перейти УА, •если он находится в состоянии (3), устойчивом при входном на- боре (000), и при этом на входе триггера изменяется сигнал D: 0->1. Также возможны два варианта: либо УА остается в состо- янии (3), устойчивом при входном наборе (010), и тогда сигнал Q не меняется, либо УА переходит в состояние (1), устойчивое при входном наборе (010), а затем в состояние (1), устойчивое при входном наборе (011). Второй вариант определяет изменение значения Q; 0->1 в ответ на изменение D: 0->1. Этот вариант
325 4.2. D-ТРИГГЕР представлен в табл. 4.6 записью (3) VI- Нетруд- но убедиться, что первые варианты доопределения табл. 4.6 удовлетворяют правилу функционирова- ния D-триггера с динами- ческим входом управле- Таблица 4.6 CDQ 3 R 1 000 001 011 010 2 (I) V3 (1) (1) 1 0 (2) (2) V3 3 (2) VI 1 0 0 2 (-3) (3) — (3) VI 0 1 ния, а два вторых вариан- та — правилу функциони- рования D-триггера со статическим входом управления. Напомним, что в D-триггере с динамическим входом управления изменение значения сигнала D при С = 0 не должно приводить к изменению выходного сигнала Q, а в триггере со статическим входом управ- ления изменение значения сигнала D при С = 0 ведет к соответ- ствующему изменению выходного сигнала Q. Учитывая сказан- ное, продолжим анализ табл. 4.5. Пусть УА находится в состоя- нии (2), устойчивом при входном наборе (ООО). При изменении D: 0->1 в табл. 4.5 указан переход из этого состояния в состояние (1), устойчивое при входном наборе (010), и далее в состояние (1), устойчивое при входном наборе (011). Этот переход ведет к изменению сигнала Q: 0—>1, т. е. при таком переходе выполняется правило функционирования D-триггера только со статическим входом управления. Поэтому в таблице переходов УА D-триггера с динамическим входом управления на пересечении строки 2 и столбца (ООО) необходимо указать в качестве следующего со- стояния только один вариант — состояние 3. Из аналогичных соображений для D-триггера с динамическим входом управле- ния на пересечении строки 2 и столбца (011) надо указать лишь один вариант — состояние 1. Построенная таким способом табл. 4.6 является обобщенной таблицей переходов УА D-триггера, представляющей УА D- триггеров как со статическим, так и с динамическим входами управления. Из табл. 4.6 можно получить несколько вариантов таблицы переходов УА D-триггера со статическим входом управления, на- пример следующий: на пересечении строки 1 и столбца (001) в табл. 4.6 указана цифра 3, на пересечениях строки 2 и столбцов (000), (011) — соответственно 3 и 1, на пересечении строки 3 и столбца (010) — цифра 1. Такую таблицу переходов можно сжать, объединив три явно совместимых внутренних состояния в одно,_после чего нетрудно получить ДНФ функций 3, R вида S = C;VD, R = C^D. От этих выражений можно перейти к структурным формулам, которые описывают известный D-триг- гер, управляемый уровнем синхронизирующего сигнала С=0[3].
ГЛАВА 4. ТРИГГЕРЫ 126 Таблица переходов УА D-триггера с динамическим входом управления, полученная из обобщенной таблицы переходов 4.6, представлена в виде табл. 4.7, а диаграмма переходов такого УА — на рис. 4.7. Построим схему УА, представленного табл.4.7. Для этого по табл. 4.7 со- ставим структурную таб- лицу УА (табл. 4.8). При составлении табл. 4.8 уч- тено (строка 2), что пе- реход из состояния (2) в (1) осуществляется как при входном наборе (ОН), так и при (010), т. е. независимо от зна- чения Q. Аналогично про- исходит переход из состо- яния (2) в (3) (строка 4). Найдем из табл. 4.8 про- стые импликанты, покры- вающие нулевые интер- валы, и построим крат- чайшие ДНФ, свободные от состязаний, для функ- ций S и R: S-CVrVDS, K=CVsVDr. 1 ' ’ Перейдем от уравнений (4.5) к структурным фор- мулам S = CVrVDVs, 7? = CVsVDVr. Рис. 4.7. Диаграмма переходов управляю- щего автомата Дтриггера Таблица 4.8 Переход с D Q S г S R 1 (1—3)->2 1 0 0 2 2^-1 0 1 — — 0 1 0 3 1-4-1 0 — 1 1 0 1 0 4 2—->3 0 0 .—- 0 — 0 г 5 3->3 0 — 0 0 1 0 1 Схема D-триггера, реализующая формулы (4.6), устойчива к состязаниям всех видов (существенные состязания в этой схеме исключены, аналогично тому, как это сделано для 7-триггера). Синтезированный D-триггер имеет входы как для прямого, так и для инверсного значений сигнала D (рис. 4.8). Схему D-триг- гера можно упростить. Для этого вместо простой импликанты s в выражении (4.5) возьмем импликанту sf. Возможность такой за- мены очевидна из структурной табл. 4.8. Тогда структурные фор-
127 4.3. D-ТРИГГЕР Рис. 4.8. Схема Д-триггера мулы D-триггера при- мут вид S = CV/VDVs, - (4.7) R = C\/rVDVs. Структурные формулы (4.7) определяют схему известного D-триггера, содержащего шесть элементов с суммар- ным числом входов 13. Хотя в таблице переходов 4.7 указаны два прочерка, по вы- ражениям (4.7) можно установить, как доопределились значе- ния функций S, R на наборах (CDQsr) = (00010) и (CDQsr) = = (01101). Первому набору сопоставлено состояние (1), вто- рому — состояние (3). Записав номера этих состояний в соответ- ствующие места табл. 4.7, нетрудно провести анализ поведения УА, находящегося в состоянии (1) или (3), когда при С = 0 изме- няется значение Q. Оказывается, что при этом УА всегда оста- ется соответственно в состояниях (1) и (3), т. е. значения сигна- лов S и Я не меняются. Следовательно, схемы УА D-триггеров, описываемые формулами (4.6), (4.7), устойчивы к изменениям выходного сигнала Q триггера при действии на его входе сиг- нала С=0, т. е. обладают дополнительными функциональными возможностями. Напомним, что если бы требование устойчивости D-триггера к изменениям сигнала Q при С = 0 было специально отражено в правиле его функционирования, то это требование было бы учтено и при построении таблицы переходов. Таким образом, представление УА D-триггера обобщенной таблицей переходов позволяет отразить множество вариантов возможных схем D-триггеров, реализующих правило функциони- рования, описанное в начале данного параграфа. Детализация этого правила приводит к выбору соответствующего варианта доопределения обобщенной таблицы и последующему нахожде- нию схемы, удовлетворяющей дополнительным требованиям. 4.3. ВЦ-ТРИГГЕР DV-триггер имеет помимо входа управления С два информа- ционных входа: D и V. При У=1 триггер функционирует анало- гично D-триггеру, а при У=0 сохраняет значение выходного сиг- нала Q неизменным. Таблица состояний DV-триггера представ-
ГЛАВА 4. ТРИГГЕРЫ 128 лена табл. 4.9. На основе указан- ного правила построим обобщенную таблицу переходов (табл. 4.10) УА DH-триггера с учетом тех сообра- жений, которые учитывались при построении табл. 4.5. В столбцах табл. 4.10, соответствующих значе- нию сигнала V=l, указаны те же состояния, что и в табл. 4.5. Опре- делим переходы УА из состояния (2), устойчивого при входном на- боре (1———), под действием из- менения сигнала управления С : 1-* ->0 в случае, когда сигнал V не ме- няется, и его значение V=C. Под действием входного набора (0000) УА должен перейти в состояния, сохраняющие неизменными значения Q. Поэтому не- обходимо указать переходы в состояние (2) или (3). На пересе- чениях столбца (0000) и строк 2, 3 табл. 4.10 записываем (2) V3 и — V (3). Прочерк в последней записи отражает вариант, когда на пересечении строки 2 и столбца (0000) указано состояние (2). В этом случае переход из состояний (3), устойчивых при входных наборах, отличных от набора (0000), не предусмотрен правилом функционирования .D-триггера (при С = 0 сигналы D, V не должны изменяться). На основе аналогичных соображений заполняются и остальные места таблицы. Таким образом, обоб- щенная таблица переходов (табл. 4.10) представляет УА DV- триггера, функционирующего согласно указанному в начале па- раграфа правилу. Таблица 4.10 На основе табл. 4.10 построим обобщенную таблицу перехо- дов УА DV-триггеров со статическим и динамическим входами управления (табл. 4.11). Для этого в табл. 4.10 необходимо рас- смотреть случаи, когда при постоянном значении сигнала С=0 изменяются сигналы D и V. Если С=0, V=1 и изменяется зна- чение сигнала D, то возможные варианты переходов УА DV-триг- гера совпадают с вариантами переходов УА D-триггера при С=0.
129 4.3. ЛГ-ТРИГГЕР Таблица 4.11 CDVQ. 5 R 0000 0100 0010 | оно 0001 0101 | ООН 0111 2 (2) 2 (2)V3 2 V(3) (2)V3 2V(3) (2) V3 (3) (1) (3)V1 2 V(l) (2) VI 2V(1) (2) VI (1) V3 3 (3) (1) (2) VI 1 0 0 0 0 1 Для D-триггера анализ этих вариантов был проведен в преды- дущем параграфе. В столбцах (0010), (000), (0111), (ОНО) строящейся табл. 4.11 записываются те же состояния, что и в соответствующих столбцах табл. 4.6. Определим переходы, связанные с изменением значения сиг- нала D при постоянных значениях С=0, V=0. Пусть УА нахо- дится в состоянии (2), устойчивом при входном наборе (0000). Тогда под воздействием входного набора (0100) согласно табл. 4.10 УА перейдет в состояние (2) либо (3), которые устойчивы при входном наборе (0100), поскольку в обоих переходах зна- чение Q = 0 не меняется. Если же УА находится в состоянии (3), устойчивом при входном наборе (0100), то при изменении сиг- нала D: 1—*-0 может произойти переход в состояние (3) либо (2), которые устойчивы при входном наборе (0000). В этих перехо- дах значение Q = 0 также не меняется. Заметим, что в табл. 4.10 вместо указания на переход в состояние (2) проставлен прочерк. Если же УА находится в состоянии (3), устойчивом при входном наборе (0000), то изменение D: 0->1 должно перевести УА в со- стояние (2) либо (3), которые устойчивы при входном наборе (0100) и не ведут к изменению значения Q = 0. В табл. 4.10 вме- сто указания на переход в состояние (2) проставлен прочерк. Следовательно, в столбцах (0000), (0100) табл. 4.11 записыва- ются те же номера состояний, что и в соответствующих столб- цах табл. 4.10, однако прочерк в записи — V (3) должен быть заменен цифрой 2. Аналогичный анализ вариантов переходов между внутренними состояниями, устойчивыми при входных на- борах (0001) и (0101), показывает, что в столбцах (0001) и (0101) должны быть указаны состояния 2V (1) и (2) \Д- Определим по табл. 4.11 переходы, вызванные изменением сигнала V при постоянных значениях С=0, D = 0. Пусть УА на- ходится в состоянии (2), устойчивом при входном наборе (0010). Тогда при изменении сигнала V: 1->0 У А переходит в состояние (2) либо (3), которые устойчивы при входном наборе (0000) и не меняют значения Q = 0. Эти переходы отражены в табл. 4.11. Если же УА находится в состоянии (3), устойчивом при вход- ном наборе (0010), то при изменении V: 1->0 должен произойти переход в состояние (3) либо (2), которые устойчивы при вход- 9 — 5499
ГЛАВА 4. ТРИГГЕРЫ 130 Таблица 4.12 CDVQ S R 0000 0100 0010 ОНО 0001 0101 ООП 0111 2 (2) 2 (2) 2 (2) • 2 3 (3) (1) 1 (3) 2 (2) 2 (2) (1) 3 (3) (1) 1 1 0 0 0 0 1 Таблица 4.13 Переход С D V Q S г S R 1 (1- 3)->-2 1 — — 0 0 2 1—>-2 0 — 0 1—0 0 0 3 3->2 0 — 0 0 0 — 0 0 4 2-И 0 1 1 0 1 0 5 1-И 0 — 1110 1 0 6 2->3 0 0 1 — 0 — 0 1 7 3->3 0 — 10 0 1 0 1 значение сигнала Q = 1 не меня- и ном наборе (0000), не веду- щем к изменению значения Q. Эти варианты переходов также указаны в табл. 4.11. Пусть УА находится в со- стоянии (1), устойчивом при входном наборе (0001). При изменении сигнала V: 0->1 возможны два варианта пе- реходов: а) УА переходит в состояние (1), устойчивое при входном наборе (ООН), ется — это соответствует правилу функционирования РУ-триг- гера с динамическим входом управления; б) УА сначала перехо- дит в состояние (3), устойчивое при входном наборе (ООН), а затем, после изменения значения!^: 1—>-0, в состояние (3), устой- чивое при входном наборе (0010). Эти переходы удовлетворяют правилу функционирования РУ-триггера со статическим входом управления. Оба варианта отражены в табл. 4.11. Рассмотрев аналогично все возможные переходы, можно убедиться в том, что табл. 4.11 представляет множество УА D У-триггеров со ста- тическим и динамическим входами управления. Проведем синтез РУ-триггер а, правило функционирования которого детализировано следующим образом: триггер работает как РУ-триггер с динамическим входом управления относи- тельно информационного сигнала Р и со статическим входом управления относительно сигнала У. Правило функционирования такого триггера отражено в табл. 4.12, которая представляет со- бой вариант обобщенной таблицы переходов (табл. 4.11). Со- ставим по табл. 4.12 структурную таблицу УА (табл. 4.13). Най- дем из табл. 4.13 простые импликанты, покрывающие нулевые интервалы, и запишем кратчайшие ДНФ, свободные от состяза- ний, для функций S и Д: S = CWyrVDs, R = C\/V\/s\f Dr. (4-8)
131 4.3. ДТ-ТРИГГЕР Перейдем от уравнений (4.8) к структурным формулам S = CV VVrVDVs, /?=СУ VVsVOVr- Если в выражении (4.8) для R простую импликанту s заменить импликантой sf (с целью устранить знак инверсии над буквой D), то от уравнений (4.8) легко перейти к структурным форму- лам S = C\/WrVE)\/s, 7?=CVvVrVSVs. (4.10) Структурные формулы (4.10) определяют схему ДУ-триггера [3], построенную на основе .D-триггера (рис. 4.9). Проведем син- тез DV-триггера с динамическим входом управления относи- тельно сигналов D и V. Правило его функционирования отра- жено в табл. 4.14, полученной из обобщенной таблицы переходов (табл. 4.11). По табл. 4.14 составим структурную таблицу УА ОУ-триггера (табл. 4.15). Из табл. 4.15 найдем простые импли- канты, покрывающие нулевые интервалы, и запишем кратчайшие ДНФ, свободные от со- стязаний, для функций S и R-. S = C\/r\/QV\/sDV, R = CVsVQvVrDV. (4.Н) Уравнения (4.11) со- держат прямое и ин- версное значения сиг- Рис. 4.9. Схема РЦ-триггера Т а б л и ц а 4.14 CDVQ 1 0000 0100 0010 оно 0001 0101 ООП 0111 5 R 1 2 —. — (1) (1) (1) (1) (П 1 0 2 (2) 3 3 3 1 1 1 3 1 0 0 3 2 (3) (3) (3) (3) — — (3) — 0 1 9’
ГЛАВА 4. ТРИГГЕРЫ 132 нала V. Однако, как следует из табл. 4.15, переходы, свя- занные с изменением значения V (интервалы 4 и 7), покрыва- ются импликантами г и s. Сле- довательно, ДНФ (4.11) сво- бодны от состязаний. Перейдем от уравнений (4.11) к структурным форму- лам Т а б л и ц а 4.15 Переход CDVQs г S R 1 (1-3)->2 1 0 0 2 2-И 0 1 1 0 1 0 3 2->1 0 — 0 1—0 1 0 4 1-4 0 1 1 0 1 0 5 2-»-3 0 — 0 0 0 — 0 1 6 2->3 0 0 1 — 0 — 0 1 7 3-+3 0 0 0 1 0 1 (4.12) S = C\/rVQWVsVnvv, R = С\/sVQVУУ rVD VC- Формулы (4.12) определяют схему ДУ-триггера с динамиче- ским входом управления по отношению к сигналам D и V, сво- бодную от всех видов состязаний (рис. 4.10). Рис. 4.10. Схема DV-триггера с динамическим входом управления 4.4. ЯЗ-ТРИГГЕР JRS-триггер имеет управляющий С и два информационных 5, /? входа. Функционирование /?5-триггера определяется сле- дующим правилом: выходной сигнал Q триггера при изменении сигнала управления С с единицы на нуль принимает единичное значение, если на информационных входах присутствуют сиг- налы 5=1, Д = 0, нулевое значение, если 5 = 0, Л = 1, и не меняет
133 4.4. «S-ТРИГГЕР Таблица 4.16 своего значения, если S = R = 0. Появление входных сигналов S=R = 1 запрещено. Измене- ния значений сигналов 3, R по окончании в триггере пере- ходного процесса, вызванного фронтом сигнала управления С: 1>-0, не должны приводить к изменению значения выход- ного сигнала Q триггера с ди- намическим входом управле- - ния. Для составления обобщен- 1 2 3 4 5 6 7 t С R S Q S' R' Ml Q 1 — 0 0 — 0 0 0-0 0 10 0 0 0 10 0 0 0 1 0 10 1 0 0 11 0 -- 0 — 1 0 — 0 0 1 — 0 0 0 1 1 0 1 ной таблицы переходов УА воспользуемся таблицей состояний /?3-триггера (табл. 4.16). Чтобы отличить выходные сигналы УА от его входных сигналов S, R, первые обозначены в табл. 4.16 S', R'. Определим в табл. 4.17 состояния, в которые должен перейти УА из состояния (2),' устойчивого при входном наборе (1- •—), под действием из- менения С: 1—>0. Под действием входного набора (0—00) УА переходит в состояния, сохраняющие значение сигнала Q = 0, т. е. в состояние (2) либо (3). При входном наборе (0010) УА переходит в состояние (1), изменяющее значение сигнала Q: 0-М, и далее в состояние (1), устойчивое при входном наборе (ООП). Под действием входного набора (00—1) УА должен пе- рейти в состояние, сохраняющее значения сигнала Q = l, т. е. в состояние (2) либо (1). Если на входе УА установлен набор '(0101), то УА переходит в состояние (3), изменяющее значение сигнала Q: 1-М), и далее в состояние (3), устойчивое при вход- ном наборе (0100). Определены все возможные переходы из со- стояния (2), устойчивого при входном наборе (1------), под действием изменения значения синхронизирующего сигнала С: 1-М). Все переходы, связанные с обратным изменением значе- ния синхронизирующего сигнала С: 0—И, переводят УА из соот- ветствующих устойчивых состояний в состояние (2), устойчивое при входном наборе (1------). Таким образом, табл. 4.17 опи- сывает функционирование 7?3-триггера при условии, что сигналы R и S могут изменяться лишь при С — 1. Таблица 4.17 CRSQ 1—~ 0000 | 0100 0010 > 0001 0101 ООН О /< 2 (1) —V (1) (1) 1 0 (2) (2) V3 (2) V3 1 (2) VI 3 (2) VI 0 0 2 —V(3)| (3) — — (3) — 0 1
ГЛАВА 4. ТРИГГЕРЫ 134 Т а б ли ц а 4.18 CRSQ S', R' 1 0000 0100 0010 0001 0101 ООП 2 — (1) 2\/(1) 3V(1) (1) 1 0 (2) (2) \/3 (2) \/3 1 (2) VI 3 (2) VI 0 0 2 2V(3) (3) 1 V(3) — (3) 0 1 Т а б л и ц а 4.19’ CRSQ S' R' 1 0000 0100 0010 0001 0101 ООП 2 (2) 2 (2) (3) 3 (3) (1) 1 (3) (1) (2) — (1) 3 (3) (1) 1 1 0 0 0 0 1 Предположим, что информационные сигналы могут изме- нять свои значения и при С = 0. Определяя необходимые пере- ходы УА, строим окончательную обобщенную таблицу перехо- дов (табл. 4.18). Если УА находится в состоянии (1), устойчи- вом при входном наборе (ООП), то при 3: 1->0 он должен либо* остаться в том же состоянии (1), либо перейти в состояние (2), устойчивое при наборе (0001). В обоих случаях значение Q не меняется в соответствии с правилом функционирования /^-триг- гера. Допустим, что УА находится в состоянии (1) при входном наборе (0001) и /?: 0->1. Тогда значение выходного сигнала Q должно либо остаться неизменным для /?3-триггера с динами- ческим входом управления, либо измениться для триггера со статическим входом управления. Эти требования отражаем за- писью 33/(1) на пересечении первой строки со столбцом (0101). Аналогично заполняем места в последней строке табл. 4.18. Из всего многообразия схемных решений ДЗ-триггера, определяе- мого выбором вариантов этой таблицы, укажем лишь две схемы. Широко распространенной схеме ДЗ-триггера на шести элемен- тах (рис. 4.11) [3] соответствует вариант обобщенной таблицы переходов, представленный в табл. 4.19. По таблице переходов (табл. 4.19) составим структурную таблицу (табл. 4.20). Найдем из табл. 4.20 простые импликанты, покрывающие нулевые интервалы, и запишем кратчайшие ДНФ, свободные от состязаний, для функций S' и R': S'=CVr'Vs'S, R'=C\fs'\/r'R. (4.13)
135 4.4. ад-ТРИГГЕР Рис. 4.11. Схема ^S-триггера Co to Таблица 4.20 Переход С R S Q s' г' S' R' (1- 3)-»-2 1 0 0 2->2 0 0 0 — 0 0 0 0 2->1 0 0 1 0 1 0 1->1 0 — 0110 1 0 2->3 0 1 0 — 0 — 0 1 3-^3 0 0 — 0 0 1 0 1 Перейдем от уравнений (4.13) к структурным фор- мулам 7?' = CV s'VTW (4.14) которым соответствует схема рис. 4.11. Из анализа таблицы переходов (табл. 4.19) следует, что эта схема функционирует в некото- рых переходах как триг- гер со статическим вхо- дом управления. Из табл. 4.18 нетрудно выделить варианты пере- ходов, при которых изме- нения сигналов S и R при С = 0 не влекут за собой переключений вы- ходного сигнала /?3-триг- Т а б л и ц а 4.21 CRSQ . S' R' . 1 0000 0100 0010 0001 0101 ООП 2 — (1) (1) (1) (1) 1 0 (2) 3 3 1 1 3 1 0 0 2 (3) (3) (3) — (3) — 0 1 Т а б лиц а 4.22 Переход C R S Q s' r' S' R' 1 (1—3)->2 1 0 0 2 2->l 0 0 1 0 1 0 3 2->l 0001-0 1 0 4 1->1 0 10 110 1 0 5 2-^3 0 — 0 0 0 — 0 1 6 2->3 0 1 0 1 0 — 0 1 7 3->3 0 0 1 0 0 1 0 1 гера (табл. 4.21). Эта таб- лица описывает функцио- нирование 7?5-триггера с динамическим входом уп- равления. По табл. 4.21 составим структурную таблицу УА (табл. 4.22). Найдем из табл. 4.22 про- стые импликанты, покры- вающие нулевые интер-
ГЛАВА 4. ТРИГГЕРЫ 13® Рис. 4.12. Схема ^S-триггера с динамическим входом управле- ния S Р С 5 валы, и запишем кратчайшие ДНФ, свободные от состязаний, для функций S' и R': S' = C\/r'\/QS\/s'R, R'= C\/s'V QR\f r'S. 1 ' От уравнений (4.15) перейдем к структурным формулам S' = C\/r'VQVS\lsyR, 1Л (4.16) R'=C\fs'\/QVR\/r'Vs. Формулы (4.16) определяют схему 7?5-триггера с динамическим входом управления (рис. 4.12), свободную от состязаний. 4.5. //(-ТРИГГЕР /К-триггер имеет вход управления С и два информацион- ных входа. Если сигналы /=/(=!, то //(-триггер функционирует как Т-триггер. При других значениях информационных сигналов он функционирует аналогично 7?5-триггеру (вход J эквивалентен входу S, вход К — входу R). Таблица состояний //(-триггера представлена табл. 4.23. Разнообразие схемных реализаций этого триггера отобразим с помощью обобщенной таблицы переходов (табл. 4.24). Эта таблица строится на основе таблиц переходов УА Т-триггера
137 4.5. /К-ТРИГГЕР (табл. 4.2) и .RS-триггера (табл. 4.18): в столбцах (ОНО) и (0111) указываются те же переходы, что и в табл. 4.2, остальные столбцы повторяют столбцы табл. 4.18. Построим схему /Х-триггера со статическим входом управ- ления. Функционирование этого типа триггера отражено в табл. 4.25, которая представляет собой вариант обобщенной таблицы пе- реходов (табл. 4.24). Заметим, что в табл. 4.25 переходы (1)->(3); (3)->-(1) заменены соответ- Таблица 4.23 С J t к Q 5 R i+1 Q 1 1 — 1 0 0 о 0 0 0 0 0 .— 0. 3 0 1 0 0 1 0 -1 4 0 0 1 0 0 .— 0 5 0 1 1 0 1 0 1 6 0 0 0 1 — 0 г 7 0 1 0 1 — 0 1 8 0 0 1 1 0 1 0 9 0 1 1 1 0 1 0 ственно переходами (1)->2->(3), (3)->2->-(1). Это сделано с целью исключения состязаний между сигналами S и R согласно требованиям, изложенным в начале главы. Переходим к структурной таблице (табл. 4.26), из кото- рой находим кратчайшие ДНФ, свободные от состязаний: 5 = СУЛ/гУ Qs, R = CVK\/s\/Qf. Структурные формулы S = CVZVrV QVs, R = C\!KVs\/Q\fr Т а б лиц a 4.24 CJKQ s R 1 — 0000 0100 0010 ОНО 0001 0101 ООН 0111 2 (2) 2 (2) \/3 2 7(3) (1) 1 1 V (3) (2) УЗ (3) (1) 1 (3) 2 У (1) (2) VI (1) (2) VI ЗУ(1) 3 (3) (1) 3 (3) 1 0 0 0 0 1 Т а б л и ц а 4.25 CJKQ S R Г—— „ 0000 0100 0010 ОНО 0001 0101 ООН 0111 2 (2) 2 (2) 2 (1) 1 2 (2) (3) (1) 1 (3) 2 (2) (1) (2) 2 3 (3) (1) 3 (3) 1 0 0 0 0 I
ГЛАВА 4. ТРИГГЕРЫ 138 определяют схему, устойчивую к состязаниям всех видов, //(-триггера со статическим входом управления. Эта схема содержит шесть логических элементов и аналогична схеме Т-триггера (рис. 4.5). Функционирование //(-триг- гера с динамическим входом управления определяется вари- антом обобщенной таблицы пе- реходов (табл. 4.27). Как сле- дует из этой таблицы, измене- ния сигналов / и К при С = 0 не могут привести к изме- нению выходного сигнала триг- 1 2 3 4 5 6 7 8 9 10 И Таблица 4.26 Переход С I к Q S г S R | (1—3)-^2 1 .—. 0 0 3^-2 0 0 0 0 0 — 0 0 1 • 3->2 0 1 0 0 0 1 0 0 1 2-^2 0 0 1 0 0 0 0 0 | 1->-2 0 0 0 1 — 0 о о I 2->2 0 1 0 1 0 0 oof 1->2 0 0 1 1 1 0 о 0 1 2-И 0 1 -— 0 — 0 1 0 1->1 0 1 —- 1 1 0 1 о | 3^-3 0 — 1 0 0 1 о 1 1 2-»3 0 — 1 1 0 — 0 1 I гера. По табл. 4.27 составим структурную таблицу УА (табл. 4.28). Из табл. 4.28 найдем простые импликанты, покрывающие руле- вые интервалы, и запишем кратчайшие ДНФ для функций S и R: S = C\frVjQ\/sKQ, R = CV$V RQVrjQ. (4.17) Таблица 4.27 C.'KQ s R 1 0000 0100 0010 оно 0001 0101 ООП 0111 2 (2) 2 3 (3) (1) 1 (3) 3 (3) (1) 1 (3) (1) 1 (I) 1 (I) 3 (3) (1) 3 (3) I 0 0 0 0 1 Уравнения (4.17) содержат переменную Q в прямой и ин- версной форме. Как следует из табл. 4.28, интервалы перехо- дов, при которых изменяется значение этой переменной, по- крываются импликантами 5 и г. Следовательно, ДНФ (4.17) свободны от состяза- ний. Таблица 4.28 Переход C J R Q s r s R 1 (1-3) ->-2 1 0 0 2 2-И 01—0—0 1 0 3 2-И 0 — 0 1—0 1 0 4 1-Ч 0 1 1 0 1 0 5 2^3 0 0 — 0 0 — 0 1 6 2->3 0 — 1 1 0 — 0 1 7 3-+3 0 0 0 1 0 1
139 4.5. ^-ТРИГГЕР Рис. 4.13. Схема УК-триггера с динамическим входом управ- ления От уравнений (4.17) переходим к структурным формулам 3 = СУ г \UVQ \fsVKVQ, --------=-= (4.18) 7? = CVsV7<VQV/-V7VQ. Формулы (4.18) определяют схему /Д-триггера с динамическим входом управления, свободную от состязаний (рис. 4.13). В заключение главы отметим следующее. Исходя из таблицы состояний для каждого из рассмотренных триггеров можно по- строить сжатую таблицу переходов модели Мили. Синтез УА по этой модели (точнее, на основе композиции автоматов) при- водит к триггерным схемам, называемым обычно схемами типа ведущий—ведомый. Однако в подобных схемах требуетс_я вво- дить не только сигнал С, но и инверсный ему сигнал С. Для устранения возникающих при этом существенных состязаний можно применять логические элементы из смешанного базиса (см. пример синтеза Т-триггера в § 2.8). Однако получающиеся при этом схемы более сложны по сравнению со схемами, полу- ченными на основе композиционной модели.
Глава 5 СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА Основная функция счетчика — регистрация числа сигналов,, поступающих на его счетный вход. Подсчитанное число входных сигналов представляется на выходе счетчика в определенной системе кодирования состояний. Если система позиционная двоичная, то и счетчики называют двоичными. Двоичные счет- чики находят массовое применение в устройствах автоматики и вычислительной техники. Широкое распространение получили счетчики, работающие в непозиционной системе кодирования, например в циклическом коде, кодах Грея, Джонсона и т. д. Та- кие счетчики используются и для распределения входных сиг- налов. Существенной характеристикой счетчика является коэф- фициент пересчета, или модуль счета. Он определяет максималь- ное число входных сигналов, которое может зафиксировать дан- ный счетчик. В предыдущей главе был синтезирован однораз- рядный двоичный счетчик — Г-триггер. В настоящей главе рас- сматривается синтез многоразрядных двоичных и недвоичных, счетчиков с различными коэффициентами пересчета, а также регистров сдвига. Моделью рассматривае- мых устройств является композиционная модель ав- томата, содержащая УА и п подавтоматов, в качестве ко- торых примем бистабильные ячейки Ai,..., Ап (рис. 5.1). На рис. 5.1 сигнал С — вход- ной сигнал, Qlt, Qn — выходные сигналы. Биста- бильные ячейки А ],..., Ап с выходами Qi,..., Qn запо- минают двоичные цифры. Обычно многоразрядные устройства проектируют на базе одноразрядных уст- Рис. 5.1. Композиционная модель счет- чика
141 5.1. СЧЕТЧИКИ С ПОСТОЯННЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА ройств, иными словами, в качестве подавтоматов берут D-триг- геры или другие разновидности триггеров с динамическим входом управления (§ 3.5). Такой подход обладает рядом достоинств, особенно при реализации, например, счетчиков на отдельных ин- тегральных схемах, содержащих логические элементы или одно- разрядные счетчики. Однако при реализации счетчиков на одной интегральной схеме не менее полезным может оказаться под- ход, состоящий в проектировании счетчиков из более мелких, чем триггеры, подавтоматов. Использование в качестве подавто- матов бистабильных ячеек позволяет расширить класс схемотех- нических решений счетчиков, найти новые и полезные схемы, ориентированные на интегральное исполнение. Многоразрядные счетчики, построенные из одноразрядных, образуют в расширен- ном классе схемотехнических решений только одно из подмно- жеств. Особенностью счетчиков и регистров сдвига, рассмотренных в настоящей главе, является то, что в соответствии с композици- онной моделью выходы УА использованы для кодирования внут- ренних состояний УА. Полученные схемы обладают устойчиво- стью ко всем видам состязаний, возможных в композиционной модели. 5.1. ДВОИЧНЫЕ СЧЕТЧИКИ С ПОСТОЯННЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Проведем синтез двухразрядного счетчика по модулю четыре. Воспользуемся графом автомата и композиционной моделью счетчика для построения таблицы состояний синтезируемого счетчика (табл. 5.1). Каждая строка табл. 5.1 соответствует вер- шине графа, изображенного на рис. 3.11. Так как в композицион- ной модели счетчика входными сигналами для УА помимо неза- висимого входного сигнала С являются и сигналы Qb Q2, то в Т а б л и ц а 5.1 t С Qi Q2 5! R\ *$2 Т?2 /+ 1 Q1 Qi 1 1 0 0 0 0 — 0 0 2 0 0 0 1 0 .0 — 1 0 3 1 1 0 —' 0 0 — 1 0 4 0 1 0 0 1 1 0 0 1 5 1 0 1 0 — - - 0 0 1 6 0 0 1 1 0 — 0 1 1 7 1 1 1 .— 0 — 0 1 1 8 0 1 1 0 1 0 1 0 0 Si R Таблица 5.2 i Sa Ri 1 0 0 0 0 2 1 0 0 0 3 0 1 1 0 4 0 1 0 1
ГЛАВА. 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 142 табл. 5.1 они приписаны к сигналу С. Входные сигналы С, Qi, Qz действуют на УА в момент времени t. Соответствующие выход- ные сигналы счетчика Qi, Qz появляются в момент Чтобы изменить требуемым образом значения выходных сигналов Q\, Qz, необходимо возбудить, т. е. перевести в единичное состояние (для бистабильных ячеек на элементах типа ИЛИ—НЕ), опре- деленные выходы УА. Многообразие схемных решений двоич- ных счетчиков определяется множеством вариантов доопреде- ления значений выходных сигналов УА (см. табл. 5.1). Выбе- рем один из вариантов доопределения, когда все неопределен- ные значения сигналов Sb 7?i, Sz, Rz доопределены нулями. Этому варианту соответствует код четырех внутренних состояний УА (табл. 5.2). Исходя из табл. 5.1, доопределенной указанным об- разом, построим таблицу внутренних состояний счетчика (табл. 5.3). В табл. 5.3 выделены пары внутренних состояний счетчика, между которыми указаны переходы под воздействием сигнала С=0. При С=1, как следует из табл. 5.1, S[=Ri — S2—R2=0. Из внутренних состояний 2—4 УА при С=1 переходит в состояние (1) (табл. 5.2), т. е. в таких переходах гонки отсутствуют. Убе- димся в отсутствии гонок и для пар переходов при С=0. С этой целью рассмотрим попарно переходы между внутренними со- стояниями счетчика 1->2, 3->4, 5-»-6, 7->8 (табл. 5.3). Для пары переходов 1->2 и 3->-4 справедливо условие 5 правильного коди- рования, приведенное в табл. 3.4; этому условию удовлетворяют переменные Si, Ri, Qi. Для пары переходов 1->2 и 5-ч>-6 спра- ведливо условие 2, приведенное в табл. 3.4 (имеется развязы- вающая переменная Qz). Аналогичным образом можно убедиться в выполнении условий правильного кодирования и для других пар переходов. В результате проверки правильности кода можно сделать вывод, что выбранный код внутренних состояний явля- ется противогоночным. От табл. 5.1 и 5.2 для уста- новления правила функциони- рования УА удобно обратиться к диаграмме переходов УА (рис. 5.2). Петли при верши- нах диаграммы на рис. 5.2 от- ражают требование отсутствия состязаний между выходными сигналами Qi и Q2 бистабиль- ных ячеек Ai и А2 (изменение сигналов Qi, Q2 не должно при- водить к изменению внутрен- него состояния УА). Диа- грамме переходов на рис. 5.2 можно сопоставить таблицу Таблица 5.3 Д1 Д2 Si Ri Q1 S2 R1 Qz 1 0 0 0 0 0 0 2 1 0 1 0 0 0 3 0 0 1 0 0. 0 4 0 1 0 1 0 1 5 0 0 0 0 0 1 6 1 0 1 0 0 1 7 0 0 1 0 0 1 8 0 1 0 0 1 0
143 5.1. СЧЕТЧИКИ С ПОСТОЯННЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА О— Рис. 5.2. Диаграмма переходов управля- ющего автомата двоичного счетчика переходов УА (табл. 5.4). В строках 5—7 табл. 5.4 перечислены промежуточ- ные неустойчивые состояния 5—7 УА, вызванные возмож- ной неодновременностью возбуждения в одном пере- ходе двух выходов УА. На- пример, при переходе УА из состояния (1) в состояние (3) возбуждаются выходы УА и S2, при этом воз- можно появление неустойчи- вого состояния 5. Состоя- ние 5 возможно и при пере- ходе из (1) в (4). Из состоя- ния 5 указаны переходы в состояние 3 под воздейст- мере 3.5.1. Для реализации доопределены также переходы вием входных наборов (ООО), (010) и в состояние 4 под воздействием входных набо- ров (001), (011), аналогично тому, как сделано в при- противогоночного свойства кода из состояний 6 и 7. Таблица 5.4 1 2 3 4 5 6 7 $2 ^2 1 000 001 010 ОН (1) 2 2 3 4 0 0 0 0 1 (2) (2) (2) (2) 1 0 0 0 1 (3) (3) (3) (3) 0 1 1 0 1 (4) (4) (4) (4) 0 г 0 1 1 3 4 3 4 0 1 0 0 1 — — 3 3 0 0 1 0 1 — — 4 4 0 0 0 1 От табл. 5.4 перейдем к структурной таблице УА (табл. 5.5). Найдем из табл. 5.5 простые импликанты, покрывающие ну- левые интервалы переходов функций Sb Ri, Ss, R2, и запишем
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 144 Таблица 5.5 Переход С Q] Q2 si rj s2 r2 Si Я1 R2 1 (1—7)->1 1 0 0 0 0 2 1->2 0 0 0 0 0 1 0 0 0 3 2—2 0 1 0 0 0 1 0 0 0 4 1—3 0 1 0 0 — - - 0. 0 1 1 0 5 3—3 0 0 11 0 0 1 1 0 6 5—3 0 — 00 1—0 0 1 1 0 7 6—3 0 1—0—1 0 0 1 1 0 8 1—4 0 1 1 0 — 0 — 0 1 0 1 9 4—4 0 0 1 0 1 0 1 0 1 10 5—4 0 — 1 0 1 0 — 0 1 0 1 11 7—1 0 1 — 0 — 1 0 1 0 1 кратчайшие ДНФ, свободные от состязаний, для инверсий этих функций: 31 = С V г 1V s 1Q1, ^^CVsiVHQi, ' /5 1) Зг = C\/siVt2 V^iQiVsaQs, ^2 = C'\/S1VS2V^1Q1VT2Q2- Инвертируя левые и правые части уравнений (5.1) и приме- няя к правым частям правило де Моргана, получим структурные формулы Si = CVriVsiVQi, T?i=CVsiVnVQi- ,,Qx <$2= CV Vr2 Vn VQ1VS2 V Q2, Rz=С Vsi Vs2V^i V QrV /"2V Qz- Формулы (5.2) определяют схему двухразрядного двоичного счетчика, устойчивую ко всем видам состязаний. Синтезирован- ный счетчик содержит 12 элементов .ИЛИ—НЕ с суммарным числом входов 32 (рис. 5.3). Нетрудно убедиться, что получен- ная схема итеративна. На рис. 5.3 указаны выходы двухразряд- ного счетчика, являющиеся входами.для третьего разряда. До- стоинство счетчика состоит в том, что он обладает высоким бы- стродействием, равным быстродействию одного симметричного Г-триггера, независимо от числа разрядов (однако с ростом •числа разрядов увеличивается нагрузка логических элементов, что приводит к увеличению их времени задержки). Схему счет-
145 5.1. СЧЕТЧИКИ С ПОСТОЯННЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Рис. 5.3. Схема двухразрядного двоичного счетчика чика можно упростить. Для этого возьмем в выражениях (5.1) вместо простых импликант Si и s2 импликанты Sin и s2r2. Воз- можность такой замены очевидна из табл. 5.5. Тогда функ- ции 51, /?1, S2, R2 можно представить в следующем виде: 5i = CVnVsiQb J?i = CVn(si\/Qi), 52 = CVr2Vn(siVQi)Vs2Q2, (5'3) R2 = CVri(siVQi) Vt2(s2VQ2)- Перейдем от уравнений (5.3) к структурным формулам 51 = CV/-1.V^W1, ‘ J?i = CVriVsiVQi, .-------- ------------- (5.4) 52 = CVr2VriVsiVQi Vs2VQ2, R2 = CVri V«i VQiVr2Vs2 VQ2. Формулы (5.4) определяют схему счетчика [20], устойчивую ко всем видам состязаний (рис. 5.4). Два разряда этого счетчика содержат 12 элементов с общим числом входов 28. Однако бы- стродействие данного варианта счетчика ниже, чем быстродей- ствие счетчика, представленного на рис. 5.3. 10 — 5499
ГЛАВА. 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 146 Рис. 5.4. Схема двухразрядного двоичного счетчика с меньшим числом связей между логическими элементами Вернемся к рассмотрению таблицы переходов 5.4 и проведем анализ значений выходных сигналов УА в состояниях 1—4. Не- трудно заметить, что выходной сигнал Ал можно интерпретиро- вать как дизъюнкцию выходных сигналов S2 и R2. Поскольку бистабильные ячейки Ai и А2 реализованы на элементах типа ИЛИ—НЕ, то дизъюнкцию сигналов (S2\/R2) можно осущест- вить непосредственно на бистабильной ячейке, добавив к эле- менту, на который поступает сигнал Ri, один вход. Такому пре- образованию схемы соответствует переход от модели с двумя независимыми подавтоматами на выходе к композиционной мо- дели, в которой бистабиль- ные ячейки Ai и А2 образуют один подавтомат (рис. 5.5). Проведем синтез счетчика на основе этой модели. Ана- логично табл. 5.4 составим таблицу переходов УА мо- дифицированного счетчика (табл. 5.6). В этой таблице внутренним состояниям со- поставлен соседний код, по- этому гонок в автомате нет. По табл. 5.6 составим струк- турную таблицу УА (табл. 5.7). Найдем из табл. 5.7 Рис. 5.5. Модифицированная модель счет- чика
•147 5.1. СЧЕТЧИКИ С ПОСТОЯННЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Таблица 5.6 CQ1Q2 Si S2 -/?2 1 — — ООО 001 010 . 011 (1) 1 1 1 2 (2) (3) (4) 2 (2) (3) (4) 3 (2) (3) (4) 4 (2) (3) (4) 0 0 0 1 0 0 0 1 0 0 0 1 Таблица 5.7 Переход С Qi Q2 si 32 г2 51 5г Я2 1 (1-4)-»-1 1 ; 0 0 0 2 1->2 0 0 0 0 1 0 0 3 2->-2 0 1 0 0 1 0 0 4 1-^3 0 1 0 0 — 0 0 1 0 5 3^3 0 — — 0 1 0 0 1 0 6 1->4 0 1 1 0 0 —. 0 0 1 7 4-Н 0 0 0 1 0 0 1 простые импликанты, покрывающие нулевые интервалы, и запи- шем_ кратчайшие ДНФ, свободные от состязаний, для функций 5i, S2, Яг- 51 = СУ s2yГ2У S1Q1, S2 = Cys1y /"zVszQi У^гФг, (5-5) JR.2= СУ s^y s^y ^QiV^aQa- Изменим уравнения (5.5). Для этого вместо простых импликант s2Qi и F2Qi возьмем общую импликанту «гГгФь Перейдем от урав- нений (5.5) к структурным формулам Si = CV s2y 72'VSlVQl, S2 = Cys1yr2ys2yr2yQiys2yQ2, (5.6) jR2 — СуSiVs2ys2y г2У Qi У г2У Q2. Счетчик, определяемый формулами (5.6), свободен от всех ви- дов состязаний. Синтезированный счетчик содержит 11 элемен- тов с общим числом входов 32 (рис. 5.6). Особенность данной схемы счетчика — наличие в УА трехстабильного триггера. Бы- стродействие этого счетчика такое же, как и у счетчика на рис. 10*
ГЛАВА. 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 148 Рис. 5.6. Модифициро- ванная схема двоичного счетчика (первый вари- ант) 5.3. Полученную схему можно упростить, если в выражениях (5.5) вынести за скобки общие члены &2 и г2- Тогда структурные формулы примут вид 51 — С \ZS2 V^2 V^l V Ql, 52 = CVS1V/-2V^\<W2, - . (5.7) Rz — СУ Si Vs2Vr2 VQ1V Qz- Схема счетчика, определяемая формулами (5.7), содержит 12 элементов с общим числом входов 31 (рис. 5.7). В отличие от предыдущей схемы в схеме счетчика на рис. 5.7 не требуются элементы с числом входов более четырех. В качестве примера синтеза счетчика с коэффициентом пе- ресчета, отличным от 2п, проведем синтез двоичного двухраз- рядного счетчика по модулю три. Составим сжатую таблицу со- стояний счетчика (табл. 5.8). Эта таблица содержит четыре вы- ходных набора УА, в которых значения сигналов Si, Д1, S2, R2 доопределены нулями. Заметим, что значения сигналов Д1 и 32 при таком доопределении совпадают. Заменим эту пару сигналов одним сигналом S2. Диаграмма переходов УА с учетом такой замены представлена на рис. 5.8. Петли при вершинах диа- граммы на рис. 5.8 отражают требование отсутствия состяза- ний между выходными сигналами подавтоматов Ai и А2- Диа-
149 5.1. СЧЕТЧИКИ С ПОСТОЯННЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Рис. 5.7. Модифициро- ванная схема двоичного счетчика (второй вари- ант) грамме переходов на рис. 5.8 соответствует таблица переходов УА (табл. 5.9). Заметим, что код внутренних состояний явля- ется соседним. Из табл. 5.9 видно, что последовательности из- менений сигнала С с еди- ницы на нуль однозначно соответствует чередование единичных значений сигна- лов 3], S2, Rz- Вследствие этого выходы УА можно рас- сматривать как выходы рас- пределителя входного сиг- нала С по трем каналам, т. е. данный счетчик помимо Таблица 5.8 t С Qi Q2 Si S2 R2 Z+ 1 Qi Q2 1 0 0 0 0 — 0 0 0 0 1 0 0 0 1 10 0 0 0 110 0 0 0 1 1 0 0 1 0 0 Рис. 5.8. Диаграмма переходов управля- ющего автомата счетчика по модулю три. Код внутренних состояний: (1) — (ООО), (2) - (100), (3) - (010), (4) - (001}
ГЛАВА. 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 150 Таблица 5.9 1 2 3 4 CQlQ2 Sj $2 1 — 000 010 001 011 (1) 1 1 1 2 (2) (3) (4) 3 (2) (3) 4 (3) (4) (3) 0 0 0 1 0 0 0 1 0 0 0 1 Таблиц а 5.10 Переход С Q1 Q2 Si s2 Г2 Si S2 r.2 1 (1- 4)+1 1 0 0 0 2 1+2 0 0 0 — 0 0 1 0 0 3 2+2 0 0 1 0 0 1 0 0 4 1+3 0 1 0 0 — 0 0 1 0 5 3+3 0 —— — 0 1 0 0 1 0 6 1+4 0 0 Г 0 0 — 0 0 1 7 4+4 0 0 — 00 1 0 0 1 своей основной функции реализует вспомогательную функцию распределения сигналов. Построим по табл. 5.9 структурную таблицу УА (табл. 5.10). Найдем из табл. 5.10 простые импли- канты, покрывающие нулевые интервалы, и запишем крат- чайшие ДНФ, свободные от состязаний, для функций Si, S2 и R2' Si = CVsiQi VS2V Q2, 52=CVs2QiVsi, (5.8) ^2 = C\/f2Q2Vs2. Перейдем от уравнений (5.8) к структурным формулам <Si = CysiVQiVs2V/'2VQ2, S2—CVS2VQ1VS1, В.2=С\/Г2:\1 Q2V S2. (5.9) Схема устойчивого к состязаниям счетчика, определяемая фор- мулами (5.9), содержит 10 элементов с общим числом входов 25 (рис. 5.9). По сравнению с известными счетчиками по модулю три [1, 3] синтезированная схема более простая и обладает бо- лее высоким быстродействием.
151 5.2. СЧЕТЧИКИ С УПРАВЛЯЕМЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Рис. 5.9. Счетчик по модулю три В данном параграфе методика синтеза счетчиков, устойчи- вых ко всем видам состязаний, в целях наглядности иллюстри- ровалась на примерах двухразрядных схем. Аналогичным спосо- бом можно синтезировать счетчики большей разрядности. 5.2. ДВОИЧНЫЕ СЧЕТЧИКИ С УПРАВЛЯЕМЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Рассмотрим двоичные счетчики, в которых можно изменять коэффициент пересчета. В таких счетчиках для управления величиной коэффициента пересчета часто предусматриваются специальные управляющие входы. Счетчики с управляемым коэф- фициентом пересчета применяются в таких дискретных устрой- ствах, как делители с переменным коэффициентом, многопрог- раммные распределители и т. д. Проведем синтез двухразрядного двоичного счетчика с управляемым коэффициентом пересчета. Коэффициент пересчета такого счетчика можно менять в пре- делах от одного до четырех. Для управления его величиной не- обходимы два сигнала управления: у\ и у2. Наборам значений управляющих сигналов сопоставим следующие величины коэф- фициента пересчета: (00) — 1, (10) — 2, (01) — 3 и (11) — 4. Для набора (00) коэффициент равен единице, иными словами, в счетчике не изменяются выходные сигналы Qi, Q2. Если на вхо- дах счетчика установлен набор значений управляющих сигналов (10), то значения выходного набора будут изменяться в после- довательности (00), (10), (00),...; если (01), то в последова- тельности (00), (10), (01), (00),...; если же (11), то в после- довательности (00), (10), (01), (11), (00),... Каждое измене-
ГЛАВА. 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 152 ние значений выходного набора (Qi, Q2) в после- довательности происхо- дит по изменению С: 1->0. Будем считать, что управ- ляющие сигналы счетчика изменяют свои значения только при нулевом со- стоянии счетчика: Qi = = Q2 = 0. Составим таб- лицу состояний счетчика (табл. 5.11). В табл. 5.11 выходные сигналы УА при С=1 доопределены нулями. Доопределим значения сигналов Si, R,, S2, R2 У А при C=0 для значений Qi = Q2 = 0 в мо- мент £+1 единицами, а для остальных Qi, Q2 — нулями. При таком до- определении сигнал может быть заменен дизъюнкцией сигналов (S2\/R2). Благодаря та- кой замене перейдем к композиционной модели •счетчика, приведенной на рис. 5.5. Убирая из табл. •5.11 столбец Ri, получим новую таблицу состояний (табл. 5.12). Из табл. 5.12 следует, что УА имеет четыре внутренних состояния: 1 — (ООО), 2 — (100), 3 — (010) и 4 — (001). Код внутренних состоя- ний является соседним. По табл. 5.12 составим диаграмму переходов УА (рис. 5.10). Петли при вершинах диаграммы от- ражают требование отсут- ствия состязаний между выходными сигналами Qb Т а б лица 5.11 t С Qi Q2 уг У2 Si S2 R2 <+1 Qi Q? 1 0 0 0 0 — 0 0 0 0 0 0 — 0 — 0 0 0 0 0 1 0 0 10 10 10 0 — 0 1 0 — 1 0 0 0 0 0 0 0 1 0 10 0 1 0 0 10 1 10 0 — 0 110 0 — 01 1 0 0 1 0 0 0 0 0 1 1 0 10 11 0 0 111 0 1111 10 0 — 0 110 10 — 0 0 10 1 1 0 0 1 1 1 0 0 (1-3) 0Ю-1 (1-0) 00000 V О1ОЮ уООЮ1уО1111 '2-2) 0-010 v 0-001 vO--11 Рис. 5.10. Диаграмма переходов управ- ляющего автомата счетчика с управляе- мым коэффициентом пересчета
153 5.2. СЧЕТЧИКИ С УПРАВЛЯЕМЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА:. Таблица 5.12 t C Qi Q2 yi уч Si S2 R2 /+ 1 Qi Q2 1 0 0 0 — 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 10 10 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 0 10 0 1 0 0 10 1 1 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 0 10 11 0 0 111 0 1111 1 0 0 0 1 0 I 0 0 0 0 1 1 0 0 1 1 1 0 0 Q2 подавтоматов. Диаграмме переходов УА на рис. 5.10 со- ответствует таблица переходов.. УА (табл. 5.13). По таблице- переходов 5.13 построим струк- турную таблицу УА (табл. 5.14). Найдем из табл. 5.14 простые импликанты, покры- вающие нулевые интервалы, и: запишем импликанты в таб- лицы простых импликант (табл.. 5.15—5.17). ДНФ функций Si,. S2, Т?2, свободные от состяза- ний, составленные на основе- табл. 5.15—5.17, имеют вид Si = CVs2V/'2VsiQiVyiy2VQ2yi, S2 = С V-Sl Мг2у S2Q1 V(/2V S2Q2, R2 = CMsiMs2Mr2QiyiMr2Q2y2- (5.10), Таблица 5.13 CQiQzyiys 1 00010 00001 0 1—010 . 1 01010 00101 01111 01101 Si S2 T?2 1 (1) 2 2 2 3 4 4 4 4 0 0 0 2 1 (2) (2) (2) (2) — (2) — (2) — 1 0 0 3 1 (3) (3) (3) — (3) (3) (3) 0 1 0 4 1 (4) (4) (4) (4) (4) (4) (4) (4) — 0 0 1 Для упрощения схемы возьмем в первом уравнении (5.10) вместо- простых импликант siQi, у\у2, Q2yi импликанты S1Q1Q2, yiy2si,. siQ2yi, s\Q\y2, во втором — вместо у2, s2Q2 импликанты s2yiy2, S2Q1S2, s2Q2yi, s2QiQ2. Возможность такой замены следует из. табл. 5.14. Преобразованные выражения имеют следующий вид: S\ = Cys2Mr2M si (QiQ2V УхуМУ Q2yi V Q\y2M Qi), s2 = CMsi Vr2M s2(QiQ2Myiy2M Q2yi VQ1S2MQ1M Q2), (5.11)s R2 = CMsiMs2Mr2(QiyiM Q2I/2) •
ГЛАВА. 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 154 Таблица 5.14 Переход с Q1 Qi У\ У2 si S2 гг S1 5г $2 1 (1—4)-М 1 — 0 0 0 2 1-»-2 0 0 0 10 — 0 0 1 0 0 3 1-М 0 0 0 0 1 — 0 0 1 0 0 4 1-М 0 0 — 11 — 0 0 1 0 0 5 2-М 0 — 0 10 1 0 0 1 0 0 6 2-*-2 0 - - 0 0 11 0 0 1 0 0 7 2-М 0 — — 111 0 0 1 0 0 8 1^-3 0 1 0—10 — 0 0 1 0 9 .‘М3 0 — 10 1 0 0 1 0 10 1-М 0 0 0 0 0 0 0 — 0 0 1 11 1-М 0 1 0 10 0 0 — 0 0 1 12 1-М 0 0 10 10 0 — 0 0 1 13 1-м 0 1 1110 0 — 0 0 1 14 4-Н 0 — 0 0 1 0 0 1 Т а б л и ц а 5.15 Номер интер- вала перехода Простые импликанты 1 с 8 siQi 9 S2 10 У\У2 11 si Q1 12 Qzyi 13 siQi 14 Г2 Таблица 5.17 Номер интер' вала перехода Простые импликанты 1 с 2 ГгОлУ\ 3 rzQzyz 4 fiQiyi 5 Si 6 S1, Г1О1У2 7 Si 8 fiQiyz 9 s2 Таблица 5.16 Номер интер- вала перехода Простые импликанты 1 с 2 У 2, S2O1 3 •S2Q1 4 S2Q1 5 sb У2 6 st 7 Si 10 У2, S2Q1 11 У2 12 S2Q1, S2Q2 13 S2Q2 14 Г2
155 5.3. ДВОИЧНЫЕ РЕВЕРСИВНЫЕ СЧЕТЧИКИ Рис. 5.11. Двоичный счетчик с управляемым коэффициентом пере- счета Перейдем от выражений (5.11) к структурным формулам Si = CVs2Vr2VsiV Qiyi У<2гУг VQi, S2 = c vs 1VГ2V S2 V Q1У1V Q2i/2 V Q1V Q2, (5.12) R2 = С \/Si \fs2 V r2 VQiyi V Q2y2. Схема счетчика с управляемым коэффициентом пересчета, опре- деляемая формулами (5.12), устойчива к состязаниям и содер- жит 13 элементов с общим числом входов 37 [11] (рис. 5.11). 5.3. ДВОИЧНЫЕ РЕВЕРСИВНЫЕ СЧЕТЧИКИ Реверсивные счетчики выполняют как суммирование, так и вычитание числа входных сигналов. В качестве примера син- теза подобного рода устройств проведем синтез двухразрядного, двоичного счетчика с двумя счетными входами: С{ и С2. Пусть каждый сигнал, поступающий на счетный вход Ci, увеличивает- число, хранящееся в счетчике, на единицу, а сигнал, поступаю- щий на счетный вход С2, уменьшает содержимое счетчика на единицу. Ситуация, при которой оба входных сигнала Ci и С2. одновременно равны нулю, запрещена. Изменение значений вы- ходных наборов счетчика возможно только при изменении;
ГЛАВА. 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 156 Рис. 5.12. Вариант временной диаграммы входных сиг- налов реверсивного счетчика значений его входных наборов (CiC2): (11)—>-(10) или (11)->(01). На рис. 5.12 приведена одна из возможных последовательно- стей входных сигналов С] и С2. Рассматривая все разрешенные входные наборы (CiC2QiQ2), построим таблицу состояний ре- версивного счетчика (табл. 5.18). В этой таблице выходные на- боры УА при С] = С2=1 доопределим нулями. Доопределим ну- лями и все значения сигналов R\, S2, R2 при (С1С2) = (01) и (10). В результате доопределения получим код внутренних со- стояний УА (табл. 5.19). Выясним, удовлетворяет ли получен- ный код условиям правильного кодирования. Для этого соста- Т а б л и ц а 5.18 Т а б л и ц а 5.19 *$1 S2 /Д- С1С2 Q1Q2 Si Pi 5г Pz Qi Q2 10 0 0 0 2 10 0 0 1 01 00 10 0 — 1 0 '2 01 10 0 1 1 0 0 1 3 0 1 1 3 01 01 10 — 0 1 1 4 0 10 1 4 01 11 01 0 1 0 0 5 0 10 0 5 11 00 0 — 0 — 0 0 6 10 0 1 6 11 10 — 0 0 — 1 0 7 11 01 0 — — 0 0 1 7 10 1 0 8 11 11 — 0 — 0 1 1 9 10 11 0 1 — 0 0 1 10 10 01 10 0 1 1 0 11 10 10 0 1 0 — 0 0 12 10 00 1 0 10 1 1 вим табл. 5.20, аналогичную табл. 5.3 для двоичного счетчика. В табл. 5.20 выделены пары внутренних состояний, между ко- торыми заданы переходы под воздействием входного набора (CiC2) = (10). Пары внутренних состояний, между которыми заданы переходы под воздействием входного набора (С1С2) = = (01), перечислены ранее (табл. 5.3). Проведя анализ табл. 5.3, 5.20, нетрудно убедиться, что для всех пар переходов выпол-
157 5.3. ДВОИЧНЫЕ РЕВЕРСИВНЫЕ СЧЕТЧИКИ няются условия правиль- Т а б л иц а 5.20 Si Rx Q1 s2 Rz Q2 8 0 0 1 0 0 1 9 0 1 0 0 0 1 7 0 0 0 0 0 1 10 1 0 1 0 1 0 6 0 0 1 0 0 0 11 0 1 0 0 0 0 5 0 0 0 0 0 0 12 1 0 1 1 0 1 ного кодирования, ука- занные в табл. 3.4. По- строение таблицы перехо- дов УА реверсивного счет- чика проведем в два этапа. Сначала построим таблицу переходов (табл. 5.21), указывая в ней пе- реходы, определяемые че- редованием строк таб- лицы состояний. Анализ таблицы показывает, что при неодновременном из- менении значений проме- жуточных сигналов в УА могут иметь место промежуточные неустойчивые состояния и до- полнительные переходы. Для реализации противогоночного свой- ства кода внутренних состояний в табл. 5.22 указаны переходы из неустойчивых промежуточных внутренних состояний. По табл. 5.22 составим структурную таблицу УА (табл. 5.23). Най- дем из табл. 5.23 простые импликанты, покрывающие нуле- вые интервалы, и запишем импликанты в таблицы простых импликант (табл. 5.24—5.27). ДНФ для инверсий функций опре- деляются из табл. 5.24—5.27: 51 — C]Cz\/s\Qa\/ Г\, Ri — CiCaVfiQiV5!, (5.13) 52 — С1С2 V СгйФ1 V C2S1V Ci-Si QiV С1П V ^2=C1C2V C2F1Q1VC2S1V C1S1Q1V CiriV s2 V Таблица 5.21 C1C2Q1Q2 . •Si S2 R2 11— 0100 0101 0110 0111 1010 1011 1001 1000 (1) 1 1 1 1 1 1 2 (2) (3) (4) 2 (2) (3) (4) 3 (2) (3) (4) 4 (2) ' (3) (4) 5 (5) (6) (7) 5 (5) (6) (7) 6 (5) (6) (7) 7 (5) (6) (7) 0000 10 0 0 0 110 0 1 0 1 0 10 0 10 0 1 10 10
ГЛАВА. 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 158 Таблица 5.22 C1C2Q1Q2 S, Ri S2 Rz 11 0100 0101 оно 0111 1010 1011 1001 1000 1 (1) 2 2 3 4 5 5 6 7 0 0 0 0 2 1 (2) (2) (2) (2) 7 6 6 7 1 0 0 0 3 1 (3) (3) (3) (3) — — — — 0 1 1 0 4 1 (4) (4) (4) (4) : —— — — 0 1 0 1 5 1 3 4 3 4 (5) (5) (5) (5) 0 1 0 0 6 1 — — — — (6) (6) (6) (6) 1 0 0 1 7 1 — — — — (7) (7) (7) (7) 1 0 1 0 8 1 3 3 7 7 0 0 1 0 9 1 — — 4 4 — — 6 6 0 0 0 1 Таблица 5.23 Переход Сх Cz Qi Qz si И s2 rz s, Ri Sz Rz 1 (1—9)-Н 1 1 0 0 0 0 2 1->2 0 1 0 0 0 0 1 0 0 0 3 2->2 0 1 1 0 0 0 1 0 0 0 4 1-*3 0 1 10 0 — — 0 0 1 1 0 5 3^3 0.1 0 1 1 0 0 1 1 0 6 5->3 0 1—00 1 — 0 0 1 1 0 7 8+3 0 1 1 — 0 — 1 0 0 1 1 0 8 1+4 0 1110 — 0 — 0 1 0 1 9 4+4 0 1 0 1 0 1 0 1 0 1 10 5+4 0 1 — 10 1 0 — 0 1 0 1 11 9—>4 0 1 1 — 0 — 0 1 0 1 0 1 12 1+5 1 0 1 — 0 — 0 0 0 1 0 0 13 5+5 1 0 0 1 0 0 0 1 0 0 14 1+6 1 0 0 1—0 0 — 1 0 0 1 15 6+6 10 1 0 0 1 1 0 0 1 16 2+6 10—110 0 — 1 0 0 1 17 9+6 ГО 0 0 0 1 1 0 0 1 18 1+7 1 0 0 0 — 0 — 0 1 0 1 0 19 7+7 1 0 1 0 1 0 1 0 1 0 20 2+7 10 — 010 — 0 1 0 1 0 21 8+7 1 0 0 0 1 0 1 0 1 0 Рассмотрим выражения вида ai = GQiVsi й &i=SiQiVri- О™ неоднократно повторяются в уравнениях (5.13). Заменим про- стую импликанту Si в выражении вида at импликантой Вы- несем в правой части выражения сц за скобки общий множитель fi и применим операцию отрицания в обеих частях равенства: ai~ri(Qt\/Si) =rt\/siQi. Следовательно, bi = ai. Учитывая полу-
159 5.3. ДВОИЧНЫЕ РЕВЕРСИВНЫЕ СЧЕТЧИКИ Т а б л и ц а 5.24 Номер интер- вала перехода Простые импликанты 1 С1С2 4 Q1S1 5 П, C'16,2> £3^2 6 ri 7 QiSi 8 Qtsi 9 fi, С1Г2,. C2r2 10 Г1 11 QlSl, С1Г2, c2f2 12 Q1S1 13 fl Таблица 5.25 Номер интер- вала перехода Простые импликанты 1 С1С2 2 Qifi 3 Sl 14 <21й 15 Si, Ci/"2) .16 •Sl 17 Qifi, С1Г2, С2Г2 18 Qi7i 19 $1, Ci52, C2S2 20 Si 21 Qifi, CjSj, C2s2 Таблица 5.26 Номер интер- вала перехода Простые импликанты 1 CiC2 2 CjQifi, CiQifi 3 C2S1, C1S1 , 8 Q2S2 9 <*2 10 Q2S2 И r2 12 C'](2iSi, C2QiSi 13 С1Г1, С2Г1 14 Q2S2 15 Г2 16 Q2S2 17 Г2 Таблица 5.27 Номер интер- вала перехода Простые импликанты 1 С1С2 2 СгСИь С1<31Г1 3 C2S1, CiSi • 4 О.2Г 2 5 S2 6 Q.sf 2 7 S2 12 C4Q1S1, C2Q1S1 13 Cif 1, С2Г1 18 0.2^2 19 S2 20 Q2r2 21 S2 ченное равенство, сделаем соответствующую подстановку а, в уравнения (5.13) и перейдем к структурным формулам Si = Ci VC2V/T VsiVQi, ^^CjVCsVnVsiVQi, S2 — Ci VC2 VC2 V^iV CiV04 V62Vs2VQ2, R2 — C1V C2V C2V П1 VCi ValV T2V S2V G>2-
ГЛАВА 5.. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 160 Рис. 5.13. Диаграмма пе- реходов управляющего автомата трехразрядного реверсивного счетчика. Код внутренних состоя- ний: (1) — (000000), (2) — (100000), (3) — (011000), (4) — (01.0110), (5) — (010101), (6) — (010000), (7) — (100100), (8) — (101001), (9). — (101010) Рис. 5.14. Схема двоичного реверсивного счетчика
161 5.3. ДВОИЧНЫЕ РЕВЕРСИВНЫЕ СЧЕТЧИКИ Аналогично можно провести синтез реверсивного счетчика большей размерности. Так, повторив вышеприведенную последовательность синтеза для трехразрядного реверсивного счетчика (см. диаграмму пере- ходов на рис. 5.13), можно получить структурные формулы, в ко- торых функции выходов УА Sb Ri, S2, Яг совпадают с выраже- ниями (5.14) для двухразрядного реверсивного счетчика, а функ- ции S3, Яз имеют вид $з~Ci VC2VC2VO1V Ci.VfiiVC’zVg2VCiVo-aV^sVssVQa> Яз = С1 VCzVCzV^iV Ci V^iVCaV^aVC\Va2 VfsVs3VQs- Схема трехразрядного реверсивного счетчика определяется вы- ражениями (5.14) и вышеприведенными формулами для S3, Яз (рис. 5.14). Схему счетчика можно упростить, в частности умень- шить число входов логических элементов, за счет объединения сигналов, поступающих на выходные элементы УА, с помощью промежуточных логических элементов. Достоинство счетчика — высокое быстродействие. 5.4. СЧЕТЧИКИ ДЖОНСОНА В § 3.5 демонстрировался синтез счетчика Джонсона при доопределении значений выходных сигналов УА единицами. Та- кое доопределение, как было показано, приводит к коду внут- ренних состояний УА, не устраняющему гонки. В данном пара- графе проведем синтез трехразрядного счетчика Джонсона, устойчивого ко всем видам состязаний. Рассмотрим таблицу со- стояний двухразрядного счетчика Джонсона (табл. 3.17). При изменении сигнала С: 1-И) всегда меняется значение только одного из выходных сигналов. Следовательно, для устранения состязаний между сигналами Яг и Q2; S2, R2 и Qi надо Таблица 5.28 CQ1Q2Q3 Si S2 7?з 1 0000 0100 ОНО 0111 ООН 0001 (1) 1 1 1 1 1 1 2 (2) (7) 3 (2) (3) 4 (3) (4) 5 (4) (5) 6 (5) (6) 7 (6) (7). 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 Г 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 11 — 5499
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 162 доопределить значения выходных сигналов УА нулями (см. пра- вило синтеза УА в § 3.3). Заполнив таблицу состояний по анало- гии с табл. 3.17 и доопределив значения выходных сигналов УА нулями, построим таблицу переходов УА (табл. 5.28). Код внут- ренних состояний УА является соседним, а следовательно, и про- тивогоночным. Из таблицы переходов (табл. 5.28) видно, что выходы Si, Ri, S2, R2, S3, R3 УА могут дополнительно использо- ваться как выходы распределителя сигналов С. По табл. 5.28 построим структурную таблицу (табл. 5.29). Из табл. 5.29 най- дем простые импликанты, покрывающие нулевые интервалы пе- реходов функций Si, Ri, S2, Rz, S3, R3, и построим кратчайшие ДНФ, свободные от состязаний: Si = С Vr3 VQ3VS1Q1, 7?i = CVs3VQ3VriQi,' S2 = CVS1VQiVs2Q2, (5 15) R2 = C\lГ1У Qi\f F2Q2, S3 = CVs2 VQ2V S3Q3, Д3 = CVr2 VQ2V fsQz- Перейдем от уравнений (5.15) к структурным формулам Si = CVr3VQ3Vsi VQi, fti = CVs3VQ3VriVQi, S2 = CV Д1У QiVs2V Q2, (5.16) 7?2=CVr1VQ!Vr2VQ2, S3=CVs2VQ2Vs3yQ3, Т?3 = СУг2 УСДУ/'зУ Q3- Формулы (5.16) описывают схему трехразрядного счетчика Джонсона, устойчивую к состязаниям (рис. 5.15). Выходы УА позволяют распределять сигнал С по шести каналам. В этой схеме имеются элементы с четырьмя входами. Число входов ло- гических элементов в полученной схеме можно уменьшить за счет применения более сложных элементов. Возьмем в выраже- ниях (5.15) вместо простой импликанты Q3 в первом уравнении импликанту Q3Sj, вместо Q3 во втором уравнении — импликанту Q3fi и т. д. Возможность такой замены очевидна из структурной таблицы (табл. 5.29). Вынесем в преобразованных уравнениях (5.15) за скобки общие члены и, применив правило де Моргана, перейдем к структурным формулам, описывающим схему
163 5.4. СЧЕТЧИКИ ДЖОНСОНА Т а б л и ц а 5.29 Переход С Q. Qz Qs S1 Г1 $2 Г2 $3 Гъ ^2 <$3 /?з 1 (1-7) -И 1 — . — — — 0 0 0 0 0 0 2 1-4-2 0 0 0 0 — 0 0 0 0 0 1 0 0 0 0 0 3 2->2 0 — 0 0 1 0 0 0 0 0 1 0 0 0 0 0 4 1^-3 0 1 0 0 0 0 — 0 0 0 0 0 1 0 0 0 5 3^3 0 1 —— 0 0 0 1 0 0 0 0 0 1 0 0 0 6 1->4 0 1 1 0 0 0 0 0 — 0 0 0 0 0 1 0 7 4-4-4 0 1 1 — 0 0 0 0 1 0 0 0 0 0 1 0 8 1-4-5 0 1 1 1 0 — 0 0 0 0 0 1 0 0 0 0 9 5-4-5 0 —- 1 1 0 1 0 0 0 0 0 1 0 0 0 0 10 1-4-6 0 0 1 1 0 0 0 —- 0 0 0 0 0 1 0 0 11 6-4-6 0 0 — 1 0 0 0 1 0 0 0 0 0 1 0 0 12 1-4-7 0 0 0 1 0 0 0 0 0 .— 0 0 0 0 0 1 13 7-4-7 0 0 0 — 0 0 0 0 0 1 0 0 0 0 0 1 счетчика Джонсона, И—ИЛИ—НЕ: построенную из элементов ИЛИ—НЕ, 51 = CV Гз Vsi VQ1Q3, — СУ S3 У г iV Q1Q3, (5.17) S2 = CVsiV S2VQ1Q2, Рис. 5.15. Схема счетчика Джонсона без состязаний 11
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 164 Рис. 5.16. Схема счетчика Джонсона на разнотипных эле- ментах /?2=CVnVr2V<2iQ2, 53=CVs2VS3VQ2Q3, Rz~C\! QiQ.3. Схема, реализующая формулы (5.17), приведена на рис. 5.16 [10]. Нетрудно убедиться, что полученная схема счетчика Джон- сона итеративна. Поясним итеративность схем общими форму- лами для последней модификации счетчика = С fn V^i VQiQn. fli = CV SnV nV Qi ,SIS!, Si=CVsi-{\/SiVQi-iQu Ri=CV ri-i\fri\/Qi-iQi, где i = 2, 3,..., n. 5.5. СЧЕТЧИКИ ГРЕЯ Проведем синтез трехразрядного счетчика в коде Грея. В про- цессе работы такого счетчика его выходные наборы изменяются в последовательности (ООО), (100), (ПО), (010), (011), (111), (101), (001), (000), (100)... При переключении С: 1->0 изме-
165 5.5. СЧЕТЧИКИ ГРЕЯ няется состояние выхода только одного подавтомата (биста- бильной ячейки). Поэтому, следуя правилу синтеза УА, изложен- ному в § 3.3, надо доопределить нулями неопределенные зна- чения выходных сигналов УА. Составим таблицу переходов (табл. 5.30) УА счетчика Грея по аналогии с таблицей перехо- дов (табл. 5.28) счетчика Джонсона. Табл. 5.30 можно сжать, объединяя строки с одинаковым состоянием выхода УА (табл. 5.31). По табл. 5.31 построим структурную таблицу УА (табл. 5.32). Найдем из табл. 5.32 простые импликанты, покрывающие единичные интервалы, и запишем кратчайшие ДНФ, свобод- ные от состязаний, для функций Si, /?!, S2, R2, S3, 5; = CsiVCQiQzQzfsi/CQ1Q2 Q3s3, Ri = Cr iV CQiQ2Q3s2V CQiQ2Q372, S2 = Cs2VcQiQ2Q3si, R2= Cr2 V CQ1Q2Q3S1, S3 = Cs3V CQiQ2Qafi, 7?3 = Cr3V CQiQ2Q3r 1. Таблица 5.30 1 2 3 4 5 6 7 8 9 CQ1Q2Q3 Si Ri S2 R2 S3 R3 1 0000 0100 0110 0010 0011 0111 0101 0001 (1) 1 1 1 1 1 1 1 1 1 1 1 1 1 1 § 1 1 1 1 1 1 4 (3) (4) 5 (4) (5) 1 1 1 S3 II 1 ° 7 (6) (7) 8 (7) (8) 9 (8) (9) 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 Таблица 5.31 I 2 3 4 5 6 7 CQ1Q2Q3 Si Ri S2 R2 S3 R3 1 0000 0100 0110 0010 0011 0111 0101 0001 (1) 1 1 1 1 1 1 2 (2) (7) 3 (2) (3) 4 (3) (4) 5 (4) (5) 2 (2) (5) 6 (2) (6) 4 (J) (6) 7 (4) (7) 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 166 Таблица 5.32 Переход С Q1 Qi Q3 Si и Si Г2 S3 гз Sl S2 /?2 5з 7?з 1 (1-7)—1 1 0 0 0 0 0 0 2 1—2 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 3 2—2 0 — 0 0 1 0 0 0 0 0 1 0 0 0 0 0 4 1—2 0 0 1 1 — 0 0 0 0 0 1 0 0 0 0 0 5 2—2 0 — 1 . 1 1 0 0 0 0 0 1 0 0 0 0 0 6 1—3 0 1 0 о 0 0 — 0 0 0 0 0 10 0 0 7 0 1 ,— 0 0 0 1 0 0 0 0 0 10 0 0 8 1—4 0 1 1 о 0 — 0 0 0 0 0 1 0 0 0 0 9 4—4 0 — 1 0 0 1 0 0 0 0 0 1 0 0 0 0 10 1—4 0 1 0 1 0 — 0 0 0 0 0 1 0 0 0 0 И 4—4 0 — 0 1 0 1 0 0 0 0 0 1 0 0 0 0 12 1—5 0 0 1 0 0 0 0 0 — 0 0 0 0 0 10 13 5—5 0 0 1 — 0 0 0 0 1 0 0 0 0.010 14 1—6 0 1 1 1 0 0 0 0 0 0 0 0 10 0 15 . 6—6 0 1 — 1 0 0 0 1 0 0 0 0 0 1 0 0 16 1—7 0 0 0 1 0 0 0 0 0 — 0 0 0 0 0 1 17 7—7 0 0 0 — 0 0 0 0 0 1 0 0 0 0 0 1 От уравнений (5.19) перейдем к структурным формулам Sj = CVsiVQiVQ2VWr3VQiVQ2VQ3Vs3, 7?i = CV nVQiVGaVQaV-^ VQiV Q2V Q3V/"2, S2=CVs2VQiVQ2VQ3Vsi, Z?2=C'V/'2VQiV Q2VQ3Vsi, (5.20) S3 — C VS3 VQi V Q2V Q3V r 1, 7?3 = CVr3VQiVQ2VQ3V/-i. Схема, определяемая формулами (5.20), приведена на рис. 5.17. Вернемся к табл. 5.30. Каждый выходной набор УА содержит одну единицу. Поэтому данный факт можно попытаться исполь- зовать для распределения входных сигналов С. Однако в одном цикле счета сигналы возбуждения Si и 7?i встречаются дважды: в состояниях (2), (6) и (4), (8). Можно ввести два дополни- тельных выхода: S'i и УА, таких, что Szi = l только в состоя- нии (6), a 7?'i = 1 — в состоянии (8). При этом удваивается число входов первой бистабильной ячейки. Построим структурную таблицу УА с учетом вновь введенных выходных сигналов (табл. 5.33). Найдем из табл. 5.33 простые импликанты, покрывающие
167 5.5. СЧЕТЧИКИ ГРЕЯ Рис. 5.17. Схема счетчика Грея Таблица 5.33 Переход С Qi Qi Qi Sy ri Si' rf s2 r2 ss Гз SiRiS I'Ri'SiRiSiRi 1 fl 1 _ . _ _ _ —. 0 0 0 0 0 0 0 0 2 1-*-2 0 0 00-000000 0 1 0 0 0 0 0 0 0 3 2->2 0 — 0 01000000 0 1 0 0 0 0 0 0 0 4 1->3 0 1 000000 — 00 0 0 0 0 0 1 0 0 0 5 3~>3 0 1 — 00000100 0 0 0 0 0 1 0 0 0 6 1—>4 0 1 1 00-00000 0 0 1 0 0 0 0 0 0 7 4-^-4 0 — 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 8 1->5 0 0 10000000 — 0 0 0 0 0 0 0 1 0 9 5->5 0 0 1 - 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 10 1~>6 0 0 1 1 0 0 - 0 0 0 0 0 0 0 1 0 0 0 0 0 11 6-^-6 0 1 1 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 12 1->7 0 1 1 1 0 0 0 0 0 — 0 0 0 0 0 0 0 1 0 0 13 7->7 0 1 — 1 0 0 0 0 0.1 0 0 0 0 0 0 0 1 0 0 14 1-^8 0 1 01000 — 000 0 0 0 0 1 0 0 0 0 15 8-*-8 0 — 0 1 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 16 1-^9 0 0 010000000 — 0 0 0 0 0 0 0 1 17 9->9 0 0 0-0000000 1 0 0 0 0 0 0 0 1
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 168 единичные интервалы, и построим ДНФ, свободные от состяза- ний: Sj = Cs1VCQiQ2Q3r3, R^Cr^CQiQiQsSz, S'i = Cs'i V CQiQzQaSs, R'i = Cr'iyCQiQ2Q3r2, /коп S2=Cs2VCQ1Q2Q3s1, T?2 = Cr2V CQiQ2Q3s'i, S3 = Css VCQiQ2Q3^i, 7?3 = Cr3VCQiQ2Q3r/i. Для реализации схемы на элементах ИЛИ—НЕ, И—ИЛИ—НЕ заменим в первом уравнении (5.21) простую импликанту Csj импликантой Cs^, во втором уравнении простую импликанту С/д — импликантой С/дзг и т. д. С учетом сделанной замены пе- рейдем к структурным формулам Si = C’Vr3VsiVQiQ2Q3> 7?! = С \Zs2V П VQ1Q2Q3, S/1 = CVS3VFTVQ1Q2Q3, R'i = Cy r2\/r'i VQ1Q2Q3, (5 22) S2 = СУ st V«2 VQiQzQs,- T?2 = Cys'i Уг2 VQ1Q2Q3, 8з = СУ Г\У s^y Q.iQ2Q3, Кз — СУ r'i У г з VQiQ2Q3. Схема, реализующая формулы (5.22), приведена на рис. 5.18. Выходы УА позволяют распределить входной сигнал С по восьми каналам. Можно построить схему счетчика на элементах ИЛИ—НЕ» определяя кратчайшие ДНФ инверсий функций: Si = CVQ2V Q3W3VQ1S1, Ri = СУ Q2y ОзУs2y Qif S'i = Cy Q2y ОзУззУ Qis'i, R'i = Cy Q2y Q3V/2V s2=cy Qi VQs VsiV Q2s2,
169 5.6. КОЛЬЦЕВЫЕ СЧЕТЧИКИ Рис. 5.18. Схема счетчика Грея на разнотипных элементах ^2 = CVQiVQ3Vs/iVQ2r2, s3=CV Qi VQ2 VnV Q3S3, ^3 = CVQiVQ2Vr'iVQ3r3. 5.6. КОЛЬЦЕВЫЕ СЧЕТЧИКИ В кольцевых счетчиках каждый очередной выходной набор образуется циклическим сдвигом значений предыдущего выход- ного набора. Если кольцевой счетчик содержит п разрядов и в. каждом наборе содержится i нулей или единиц, где i= 1, 2,... ..., п—1, то выходной код счетчика записывают соответственно- в виде i(0)/н или i (V)ln. Синтезируем трехразрядный кольцевой счетчик, работающий в коде 1 (1)/3. Составим вначале таблицу состояний (табл. 5.34). В этой таблице принят вариант доопределения значений выход- ных сигналов УА при С=1 нулями. Доопределим значения вы- ходов УА нулями и при С=0. При этом можно заметить, что значения сигналов Sj и Д3, R\ и S2, Rz и S3 попарно совпадают. Заменим эти пары сигналов соответственно сигналами S), S2 и S3. УА имеет четыре внутренних состояния: 1 — (ООО), 2 — (010), 3 — (001) и 4 — (100), переходы между которыми указаны на рис. 5.19. Петли при вершинах диаграммы переходов УА отра- жают требование отсутствия состязаний между выходными сиг- налами Qi, Q2, Q3. Диаграмме переходов на рис. 5.19 соответ-
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 170 Таблица 5.34 С Q1 t Q2 Qs Si R1 S2 Rs S3 Rs Qi 1 Q2 Q3 , 1 1 0 0 0 0 0 0 . 2 0 1 0 0 0 1 1 0 0 — 0 1 0 3 0 0 1 0 0 — 0 1 1 0 0 0 1 4 0 0 .0 1 1 . 0 0 — 0 .1 . .1 0 0 Таблица 5.35 CQ1Q2Q3 Si- S2 S3 1— 0100 0010 0001 0110 0011 0101 0000 (1) 1 1 1 2 (2) (4) 3 (2) (3) 4 (3) (4) (2) (3) (4) (2). (3) (4) 0 0 0 0 1 0 0 0 1 1 0 0 ствует таблица переходов УА (табл. 5.35). По таблице перехо- дов 5.35 составим структурную таблицу (табл. 5.36). Найдем из структурной таблицы (табл. 5.36) простые импли- канты, покрывающие единичные интервалы функций S2, S3, и запишем кратчайшие ДНФ, свободные от состязаний: 5i = CSiV CQ3S3, S2 = Cs2VcQiSi, (5.23) S3 = C.S3 V С Q2s2. Вместо простых импли- кант Csi, Cs2, Cs3 в урав- нениях (5.23} возьмем импликанты CS1S3, Cs2si, CS3S2 и перейдем от урав- нений (5.23) к структур- ным формулам Si = Cys3ySj\f Q3, 52 = CVs1Vs2VQ1, (5.24) 5з = С У s2V S3 V Q2. Рис. 5.19. Диаграмма переходов управляю- щего автомата кольцевого счетчика
171 5.7. РЕГИСТРЫ СДВИГА Таблица 5.36 Переход С Qi Qi Q3 Sj S2 S3 S1 32 З3 1 (1-4)-И' 1 0 0 0 2 1->2 0 1 0 0 0 — 0 0 1 0 3 2->2 0 —- — 0 0 1 0 0 1 0 4 1^-3- 0 0 1 ООО — 0 0 1 5 3->-3 0 0 — — 00 1 0 0 1 6 1->4 0 0 0 1 — 0 0 1 0 0 7 4->4 0 — 0 — 1 0 0 1 0 0 Рис. 5.20. Схема кольцевого счетчика Схема, реализующая формулы (5.24), приведена на рис. 5.20. Синтезирован известный счетчик [8], позволяющий распределять по трем каналам как уровни, так и импульсы входной синхро- низирующей последовательности. Схема счетчика итеративна. 5.7. РЕГИСТРЫ СДВИГА В данном параграфе рассматривается синтез регистров сдвига с последовательным занесением информации. Такие ре- гистры имеют информационный вход D и вход сигналов сдвига С. Построим таблицу состояний двухразрядного регистра (табл. 5.37). В табл. 5.37 значения выходных сигналов УА при С=1 доопределены нулями. Доопределим значения выходных сигна- лов УА при С=0 единицами. При этом УА имеет пять состоя- ний (табл. 5.38). Необходимо проверить, удовлетворяет ли по- лученный код условиям правильного кодирования композицион-
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 172 Таблица 5.37 С D t Q1 0.2 Ri *$2 ^ + '1 Qi Ог 1 1 0 0 0 0 2 0 0 0 0 0 — 0 — 0 0 3 0 1 0 0 1 0 0 — 1 0 4 0 0 1 0 0 1 1 0 0 1 5 0 1 1 0 — 0 1 0 1 1 6 0 0 0 1 0 — 0 1 0 0 7 0 1 0 1 1 0 0 1 1 0 8 0 0 1 1 0 1 — 0 0 1 9 0 1 1 1 — 0 — 0 1 1 Т а б л и ц а 5.38 Si S% Ri 1 0 0 0 0 2 0 10 1 3 10 0 1 4 0 110 5 10 10 Таблица 5.39 ной модели [условия (3.3)]. Можно убедиться, что код в табл. 5.38 не удовлетворяет этим условиям, иными словами, код внут- ренних состояний УА не устраняет гонки. Действительно, рас- смотрим, например, пару переходов между внутренними состоя- ниями регистра: 1->3 и 1->5 (табл. 5.39) (в качестве номеров внутренних состояний указаны номера соответствующих строк в табл. 5.37). Для этой пары переходов не выполняется ни одно из условий табл. 3.4. Поэтому гонки в переходе 1->-3 могут при- вести к тому, что вместо заданного изменения выходных сигна- лов регистра (Q1Q2): (00)->(10) произойдет неправильное из- менение этих сигналов (Q1Q2) ' (00)->(11) (если сигнал Si в пе- реходе изменит значение Qi прежде, чем изменится сигнал 7?г)- При этом вместо сигнала R2 может появиться сигнал S2. Для иллюстрации состязаний проведем синтез регистра сдвига с использованием неправильного кода внутренних состояний. Составим таблицу переходов УА (табл. 5.40). Устойчивые состояния в строках табл. 5.40 отражают требование отсутствия состязаний между выходными сигналами Qi, Q2. Состояние (2) устойчиво при (,CDQ1Q2') = (0100), состояние (3) — при (CDQ1Q2) = (0010), (4) — при (CDQiQz) = (0101) и (5) — при (CDQ1Q2) = (ООП), поскольку выходные сигналы УА не должны
173 5.7. РЕГИСТРЫ СДВИГА Таблица 5.40 CDQiQ2 Si Ri S2 R2 1 0000 0100 0010 0110 0001 0101 0011 0111 (1) 1 1 1 1 2 (2). (4) 3 (2) (3) 4 (3) (4) 5 (3) (5) 2 (2) (4) 3 (3) (4) 4 (4) (5) 5 (3) (5) 0 0 0 0 0 10 1 10 0 1 0 110 10 10 1 2 3 4 5 6 7 8 9 10 11 12 13 Таблица 5.41 Переход C D Qi Qs Si Г1 S2 r2 Si S2 Rz (1- 5)->l 1 - . — - 000 0 l->2 0 0 0 — 0 — 0 — 0 1 0 1 2->2 0 0 0 — 0 1 0 1 0 1 0 1 2->2 0 — 00 0 1 0 1 0 1 0 1 1-^3 0 1 0 — — 00 — 1 0 0 1 3^3 0 1 — — 1 0 0 1 1 0 0 1 3-^3 0 — 1 0 1 0 0 1 1 0 0 1 l->4 0 0 1 — 0 0 0 1 1 0 4^4 0 0 0 1 1 0 0 1 1 0 4->4 0 — 0 1 0 1 1 0 0 1 1 0 1-+5 0 1 1 — — 0 — 0 1 0 1 0 5-*-5 0 1 1 — 1 0 1 0 1 0 1 0 5->5 0 — 1 1 1 0 1 0 1 0 1 0 меняться, если входной сигнал изменяется после того, как УА перешел в требуемое внутреннее состояние. По табл. 5.40 соста- вим структурную таблицу УА (табл. 5.41). Найдем из табл. 5.41 простые импликанты, покрывающие нулевые интервалы, и запи- шем ДНФ для функций Si, Д, S2, Rz- S^CVstDVri, R^CV^DVsu 52 = CVs2Q!Vr2, 1 ’ R2 = CVr2QiV s2. Перейдем от уравнений (5.25) к структурным формулам S^CVriVsiV/), 7?i = CVsiVri УД S2=CV r2Vs2VQi, Rz = C Vs2 Vr2 V Qi. (5.26)
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 17< Рис. 5.21. Схема регистра сдвига’с состязаниями Формулы (5.26) определяют широко распространенную схему регистра сдвига [3] на 7?5-триггерах (рис. 5.21). Рассмотренные выше гонки в переходе а-^b могут привести к неправильному срабатыванию регистра в том случае, если за- держка элемента, с выхода которого снимается сигнал /?2, ока- жется в четыре раза больше задержки элемента, с выхода ко- торого снимается 8% (считая, что задержки всех остальных эле- ментов равны задержке последнего элемента). Поставим задачу синтезировать регистр сдвига, устойчивый ко всем видам состязаний, т. е. функционирующий правильно- независимо от соотношения величин задержек отдельных эле- ментов. Вернемся к.таблице состояний (табл. 5.37) и доопреде- лим значения выходных сигналов УА нулями. Тогда УА'имеет семь внутренних состояний (табл. 5.42). Проверим правильность полученного кода. Для этого обратимся к табл. 5.37 и проана- лизируем все возможные пары переходов между внутренними, состояниями регистров для входных наборов (CD) ~ (01) (табл. 5.43) и (CD) = (00) (табл. 5.44). В табл. 5.43 для пар перехо- дов 1->3, 1->5 справедливо условие 3 табл. 3.4, для пар 1->-5, 1->7 и 1-^3, 1->7 — условие 4. В табл. 5.44 для пар переходов 1->4, 1-И5 и 1->4, 1->8 справедливо условие 3, а для пары 1-И5, 1->8 — условие 4 в табл. 3.4. Таким образом, анализ переходов показывает, что код внутренних состояний УА является правиль-
175 5.7. РЕГИСТРЫ СДВИГА Таблица 5.42 Таблица 5.43 S, I?, S2 /?2 - (CD) = (01) 1 0 0 0 0 S1 Qi 82 Rz Q.2 2 1 0 0 0 3 0 11 0 1 0 0 0 0 00 4 0 0-1 0 3 1 0 1 0 0 0 5 0 0 0 1 - — 6 10 0 1 1 0 0 1 0 0 0 7 0 10 0 5 0 0 1 1 0 1 1 0 0 0 0 0 1 7 1 0 1 0 1 0 Таблица 5.44 (CD) = (00) Si Rt Qi S2 Rz Oz 1 0 0 1 0 0 0 4 0 10 1 0 1 1 0 0 0 0 0 1 6 0 0 0 0 1 0 1 0 0 1 0 0 1 8 0 1 0 0 0 1 Таблица 5.45. Si Rt *$2 Ri 1 0000 0100 0010 оно 0001 0101 ООН 0111 1 (1) (1) 2 3 4 5 6 7 (1) 0 0 0 0 2 1 (2) — (2) — — — 1 0 0 0 3 1 (3) (3) (3) — (3) — 0 1 1 0 4 1 — — (4) —. (4) 0 0 1 0 5 1 (5) — — (5) — — 0 0 0 1 6 1 (6) — (6) (6) — (6) 1 0 0 1 7 1 __ — (7) (7) 0 1 0 0 ным. Построим таблицу переходов УА (табл. 5.45) и проверим анализ последствий возможных неодновременных изменений сигналов Si, Ri, Зг, R2 (аналогично тому, как это делалось при синтезе реверсивного счетчика). Анализ свидетельствует о необ- ходимости преобразования табл. 5.45 в табл. 5.46. По табл. 5.46 составим структурную таблицу УА (табл. 5.47). Найдем из табл. 5.47 простые импликанты, покрывающие нулевые интер-
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 176 Таблица 5.46 CDQ1Q2 Si Ri S2 R2 1—1 0000 I 0100 0010 0110 0001 0101 0011 0111 1 (1) (1) 2 3 4 5 6 7 (1) 0 0 0 0 2 1 (2) — (2) — 6 — 6 1 0 0 0 3 1 (3) (3) — (3) — (3) — 0 1 1 0 4 1 — 3 (4) — 3 (4) 0 0 1 0 5 1 (5) 6 — (5) 6 — — 0 0 0 1 & 1 (6) — (6) (6) — (6) 1 0 0 1 7 1 3 3 (7) — (7) — 0 1 0 0 Таблица 5.47 Переход C D Qi Q% si ri S2 r2 Si Ri s2 R2 1 (7-1)-И 1 — 0 0 0 0 2 1-И 0 0 0 0 0 0 0 0 0 0 0 0 3 1-И 0 1 110 0 0 0 0 0 0 0 4 l->2 0 1 0 0 — 0 0 0 1 0 0 0 5 2->-2 0 1 — 010 0 0 1 0 0 0 6 1-^3 0 0 10 0 — -— 0 0 1 1 0 7 3^3 0 0 0 1 1 0 0 1 1 0 8 7->-3 0 0 — 001 — 0 0 1 1 0 9 4-+3 0 0 1 — 0 — 1 0 0 1 1 0 10 l->4 0 1 10 0 0 — 0 0 0 1 0 11 4—>4 0 1 1—00 1 0 0 0 1 0 12 l-»5 0 0 0 10 0 0 — 0 0 0 1 13 5->5 0 0 0 — 00 0 1 0 0 0 1 14 l->-6 0 1 0 1—0 0 — 1 0 0 1 15 6—>6 0 1 10 0 1 1 0 0 1 16 2->6 0 1 — 110 0 .— 1 0 0 1 17 5->6 0 1 0 0 0 1 1 0 0 1 18 l->7 0 0 110 — 0 0 0 1 0 0 19 7->7 0 0 — 10 1 0 0 0 1 0 0 валы (табл. 5.48—5.51). Из таблиц простых импликант 5.48— 5.51_запишем ДНФ, свободные от состязаний для функций Sb 7?1, S2 и R.2- s^CVnVsiQi, Ri = CV £>V 7 iQi, Sz = C\f Si VoQi VS2Q2, R2—C\/riV s 1Q1V fiQ2- (5-27)
177 5.7. РЕГИСТРЫ СДВИГА Таблица 5.48 Таблица 5.49 Номер Номер интер- Простые интер- Простые вала импликанты вала . импликанты перехода перехода 1 с 1 с 2 D 2 Qin 3 3 D 6 D, Q1S1 4 D, 51П 7 D, П, S2 5 D, п 8 D, rt 10 D 9 D, s2, QiSi 11 D 10 Qin 12 Qin 11 Q1S1, s2 13 Qin, г2 12 D 14 D, Qin 13 D 15 . D, r2, si 18 D, Q1S1 16 D, si 19 D, n 17 D, r2, Qifi Таблица 5.50 Номер интер- вала перехода Простые импликанты 1 с 2 Qin 3 QiS2 4 Qin, РОл 5 S1 12 Q2s2, Ф1й 13 QiH, г2 14 Qin, Q2S2, DQi 15 Si, r2 16 Si, Q2S2 17 Qin, r2, DQi 18 Q2S2 19 Q2S2 Таблица 5.51 Номер интер- вала перехода Простые импликанты 1 с 2 : 0.2^2 3 Qin 4 . ' 42^2 5 Qsn 6 QiSi, DQi, Q2r2 7 Г1, S2 8 Ц2Г2, ri 9 Q1S1, s2, DQi 10 Q1S1, Q2F2 11 Q1S1, s2 18 Q1S1, DQi 19 ri Перейдем от уравнений (5.27) к структурным формулам S^CVWiVQi, ^^CVDVnWi, S2 = CVsiWVQiVs2VQ2, /?2=C Vn Vsi V QiV t2VQ2- (5.28) 12 — 5499
ГЛАВА 5. СЧЕТЧИКИ И РЕГИСТРЫ СДВИГА 178 Рис. 5.22. Схема регистра сдвига без состязаний Рис. 5.23. Схема регистра сдвига без состязаний, содержа- щая логические элементы с числом входов, не превышающим 3 Схема, определяемая формулами (5.28), устойчива ко всем видам состязаний (рис. 5.22). Полученную схему можно упро- стить (понизив несколько ее быстродействие), если в выраже- ниях (5.27) простую импликанту D, покрывающую интервалы 5
179 5.7. РЕГИСТРЫ СДВИГА и 16 функции У?] (табл. 5.49), заменить импликантой sirlf про- стую импликанту $] функции S2 — импликантой Sifb импли- канту siQi, покрывающую интервалы 9 и 11 функции Т?2, — им- пликантой s2f2. После замены и вынесения в уравнениях (5.27) общих членов за скобки применим правило де Моргана и перей- дем к структурным формулам R^C\fD\/ri\/S1y^, ( S2 = С Vs2 V Q2V 71V Si VQ1, 7?2 = CVr2Vs2VQ2VriVsi VQ1. Формулы (5.29) определяют известную схему регистра сдвига [28] (рис. 5.23). Читатель может убедиться в итеративности полученных схем, синтезировав аналогичным образом трехразрядный регистр сдвига [12]. 12*
Глава 6 МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ Основой построения многоустойчивых пересчетных схем явля- ются многостабильные ячейки (см. § 2.9). Многоустойчивую ще- ресчетную схему (МПС) можно представить в виде композиции УА и многостабильных ячеек, переключаемых УА из одного устойчивого состояния в другое в определенной последователь- ности. На вход УА додается счетный сигнал С. МПС изменяет состояние выхода при изменении сигнала С с единицы на нуль (по фронту сигнала С). Моделью МПС является композицион- ная модель. В данной главе рассматривается синтез различных МПС на основе этой модели, содержащей в качестве управляе- мого подавтомата многостабильную ячейку (рис. 6.1). Рис. 6.1. Композиционная мо- дель многоустойчивой пере- счетной схемы 6.J. ОДНОФАЗНЫЕ И МНОГОФАЗНЫЕ МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ В литературе [3] принята классификация многостабильных ячеек по «фазности» и способу управления. Под фазностью при- нято понимать минимальное число i сигналов на выходах ячейки, имеющих единичное (нулевое) значение, поддерживающих нуле- вое (единичное) значение всех остальных выходных сигналов ячейки [3].
181 6.1. ОДНОФАЗНЫЕ И МНОГОФАЗНЫЕ МПС Рис. 6.2. Схема трехстабильной ячейки: а — с одновходовым управлением; б — с многовходовым управлением В зависимости от фаз- ности ячейки подразделя- ют на однофазные и мно- гофазные. Фазность со- кращенно записывают в виде i(l)/M (1(0)/АГ), где N — число выходов ячей- ки. Фазность определяет выходной код. Многоста- бильные ячейки подраз- деляют на ячейки одно- входового и многовходо- вого управления по числу единичных (нулевых) сиг- налов, подаваемых одно- временно на управляю- щие входы. Например, на рис. 6.2 приведены схемы трехстабильной ячейки, различающиеся по спосо- бу управления. Обе они работают в коде 1(1)/3. Функционирование этих ячеек отражено в табли- цах состояния (табл. 6.1 и 6.2). 1 1Й ft iff Управляемый подавтомат в соответствии с требованиями, изложенными в гл. 3, должен быть устойчив к состязаниям между входными сигналами. Многостабильная ячейка с одно- входовым управлением удовлетворяет этому требованию (табл. Таблица 6.1 ео со сч со Со t Qi 0.2 <2з /+1 <21 0.2 Qa 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 1 ООО 1 0 0 0 1 0 0 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 10 0 0 1 Qi Оз <2з 1 0 0 1 0 0 1 0 0 0 1 0 0 1 0 0 10 0 0 1 0 0 1 0 0 1 Qi Q2 Оз Таблица 6.2 Pl Pi Рз t Qi Q2 Оз 1+1 Qi Qi 0з 1 1 0 1 I 0 1 1 0 1 0 1 1 0 1 1 0 1 0 11 0 1 1 0 1 1 ООО 1 0 0 0 1 0 0 0 1 10 0 0 1 0 0 0 1 10 0 0 1 0 0 0 1 Qi Qi Оз 0 0 1 0 0 1 0 0 1 0 1 0 0 10 0 1 0 1 0 0 1 0 0 10 0 Qi Qi Оз
ГЛАВА 6. МНОГОУСТОИЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 182 6.3). В табл. 6.3 указаны входные наборы ячейки с кодом 1 (1)/3, появляющиеся в результате состязаний входных сигналов. Все эти наборы устанавливают ячейку в состояние (Q1Q2Q3) = (ООО), отличное от рабочих устойчивых состояний. По окончании пере- ходного процесса, когда на входе ячейки присутствует набор, содержащий только одну единицу, соответствующий выход ячейки изменяет свое значение с нуля на единицу. Следова- тельно, при переключении входных сигналов многостабильной ячейки с одновходовым управлением ее выходные сигналы ме- няют свое значение только один раз, т. е. такая ячейка устой- чива к состязаниям между входными сигналами. Этого нельзя сказать о ячейках с многовходовым управлением. Рассмотрим, например, ситуацию, когда трехстабильная ячейка находится в состоянии (Q1Q2Q3) = (ЮО) и на ее входе происходит изменение (Р1Р2Р3): (ООО)—>-(101) (табл. 6.2). Состязания между входными сигналами Pi и Р3 могут привести к появлению входного набора (Р1Р2Р3) = (ЮО). Этот набор переводит ячейку в неопределен- ное состояние (Q1Q2Q3) = (0 — —). В частности, ячейка (рис. 6.2,6) может перейти в состояние (Q1Q2Q3) = (001). Только за- поздавшее появление сигнала Рз — 1 переводит ее в требуемое со- стояние • (Q1Q2Q3) — (010). Следовательно, состязания между входными сигналами в ячейке с многовходовым управлением пе- реводят ее в промежуточное рабочее состояние, отличное от за- данного. При этом выходные сигналы ячейки изменяют свое зна- чение более одного раза, что, в свою очередь, может привести к неверному срабатыванию УА. Такая ячейка неустойчива к состя- заниям между входными сигналами и поэтому не может быть ис- пользована как управляемый подавтомат (при условии, что не налагаются ограничения на порядок срабатывания возбуждае- мых входов, например входов Pi и Рз в приведенной ситуации). Ряд схем, использующих многостабильные ячейки с многовходо- вым управлением, содержит состязания (см., например, схему на рис. 5.64 [3]). 1 2 3 Таблица 6.3 t Si S2 S3 г+1 Qi Qz Qs Т а б л и ц а 6.4 t С Qi Q? Q3 Si S2 s3 г+1 Qi Qz Qs 1100 10 10 10 0 1 — 0 0 0 — 0 0 0 — 1 0 0 0 1 0 0 0 1 0 10 0 0 0 10 0 0 0 1 0 10 0 0 1 1 0 0 0 1 0 0 0 1 10 0 1 1 о 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0
183 6.1. ОДНОФАЗНЫЕ И МНОГОФАЗНЫЕ МПС Проведем синтез однофазной МПС в коде 1(1)73 на основе трехстабильной ячейки, изображенной на рис. 6.2,а. Примем, как и ранее, что изменение выходных сигналов Qb Q2, Q3 МПС про- исходит при переходе управляющего сигнала С из единицы в нуль. Обратный переход сигнала С:0—>1 не приво- дит к изменению сигналов Рис. 6.4. Диаграмма переходов управля- ющего автомата многоустойчивой пере- счетной схемы в коде 1 (1)/3 <2ь 0.2, Оз- Отразим функцио- нирование такой МПС с по- мощью графа автомата (рис. 6.3). По графу составим таб- лицу состояний МПС (табл. 6.4). Доопределим в табл. 6.4 безразличные значения выходных сигналов УА при С=1 нулями. Полученный код внутренних состояний УА становится соседним. УА имеет четыре состояния: 1 — (100), 2 — (010), 3 — (001), 4 — (000). С учетом табл. 6.4 построим диаграмму пе- реходов УА (рис. 6.4). Пе- рейдем от диаграммы, пред- ставленной на рис. 6.4, к таб- лице переходов УА (табл. 6.5). Согласно таблице УА последовательно переходит из состояния (1) в состоя- ние (4), далее в состояние (2) и вновь в состояние (4), затем в состояние (3) с воз- вратом в состояние (4). Каждому из состояний (1), (2) и (3) соответствует еди- ничное значение только од- ного сигнала Si, S2, 53. Сле- довательно, выходы УА Si, S2, S3 можно использо- вать как выходы распредели- теля входных сигналов С. По табл. 6.5 составим структурную таблицу (табл. 6.6). Найдем из табл. 6,6 простые импликанты, покры-
ГЛАВА 6. МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 184 вающие единичные интервалы, и запишем для функций Si, S2, S3 ДНФ, свободные от состязаний: Si = Csi VCQ3S3, S2 = CS2VCQlSi, S3 = Cs3V CQ2s2. (6.1) Таблица 6.5 CQ1Q2Q3 Si Sa S3 1 0100 0010 0001 0000 4 4 4 (4) (1) (2) 2 (2) (3) 3 (1) (3) 1 (1) (2) (3) 1 0 0 0 1 0 0 0 1 0 0 0 Таблица 6.6 Переход С Q1 Q2 Q3 Si Sa S3 Sj S2 S3 1 (1— 4)~>4 1 0 0 0 2 4-+-1 0 0 0 1 — 0 0 1 0 0 3 1->-1 0 — 0 — 1 0 0 1 0 0 4 4->-2 0 1 0 0 0 — 0 0 1 0 5 2->2 0 — — 0 0 1 0 0 1 0 6 4->-3 0 0 1 0 0 0 — 0 0 1 7 3-»-3 0 0 — — 0 0 1 0 0 1 Для построения проектируемой схемы на элементах^ ИЛИ—НЕ заменим в выражениях (6.1) простые _импликанты Csi, Cs2, Cs3 импликантами соответственно Csis3, Cs2si, Cs3s2. Возможность такой замены следует из табл. 6.6. Вынесем общие члены за скобки и проинвертируем дважды правые части уравнений (6.1). Применяя правило де Моргана, перейдем к структурным фор- мулам 51 = СУ«3У^Жз. S2 = CVs1V^VQi, (6.2) S3 = СУ s2 V S3 VQs- Формулы (6.2) определяют известную схему МПС [7], рабо- тающую в коде 1 (1)/3 (рис. 6.5). Выполним синтез многофазной МПС, например, на основе двухфазной многостабильной ячейки, работающей в коде 2(1)/5 (рис. 6.6). Эта ячейка может иметь многовходовое управление,
185 6.1. ОДНОФАЗНЫЕ И МНОГОФАЗНЫЕ МПС Рис. 6.6. Многоста- бильная ячейка в ко- де 2(1)/5 однако мы будем использовать ее в режиме одновходового управления (оговорена последовательность изменения входных сигналов ячейки). Диаграмма переходов ячейки для такого ре- жима работы (режим последовательного переключения) приве- дена на рис. 6.7. В вершинах диаграммы записаны значения сиг- налов Qi, Qi, Q3, Q4, Qs, а на дугах — значения входных сигна- лов Si, S2, S3, S4, S5. Построим таблицу переходов УА МПС аналогично табл. 6.5 (табл. 6.7). В этой и последующих таблицах переходов с целью компактной записи условимся не указывать столбцы, соответствующие неустойчивым входным наборам МПС. Например, в табл. 6.7 опущены столбцы с наборами (010000), (001000), (000100), (000010), (000001). Однако эти наборы необходимо учитывать при построении структурной таб- лицы. По табл. 6.7 составим структурную таблицу УА (табл. 6.8). Из табл. 6.8 найдем простые импликанты, покрывающие нуле- вые интервалы, и запишем импликанты в таблицы простых
ГЛАВА 6. МНОГОУСТОИЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 186 00001 ОООО- -0000 0-000 00-00 000-0 Рис. 6.7. Диаграмма переходов ячейки в коде 2(1)/5 для ре- жима последовательного переключения Таблица 6.7 CQ1Q2Q3Q4Q5 Si S2 S3 S4 S5 1 011000 001ioo|oooi10 000011 010001 6 6 6 6 6 (6) (1) (2) 2 (2) (3) J 3 ) (3) (4) 4 (4) (5) 5 0) (5) 1 0 0 0 0 1 1 0 0 0 0 0 10 0 0 0 0 1 0 0: 0 0 0 1 0 0 0 0 0 0 Таблица 6.8 Переход C Q1 Q2 Qs Q4 Q5 S1 s2 s3 s4 S5 Si S2 S3 S4 S5 1 (l-6)^6 1 0 0 0 0 0 2 6->l 0 1 0 0 0 1 0 0 0 0 — 0 0 0 0 1 3 1^1 0 1 — 0 0 - 0 0 0 0 1 0 0 0 0 1 4 6->-2 0 1 1 0 0 0 — 0 0 0 0 1 0 0 0 0 5 2-+2 0 — 1 — 0 0 1 0 0 0 0 1 0 0 0 0 6 6-^3 0 0 1 1 0 0 0 — 0 0 0 0 1 0 0 0 7 3^-3 0 0 — 1 — 00100 0 0 1 0 0 0 8 6—>4 0 0 0 1 1 0 0 0 — 0 0 0 0 1 0 0 9 4->4 0 0 0 — 1—0010 0 0 0 1 0 0 10 6-»-5 0 0 0 0 1 1 0 0 0 — 0 0 0 0 1 0 11 5->5 0 — 0 0 — 1 0 0 0 1 0 0 0 0 1 0 импликант (табл. 6.9—6.13). На основе табл. 6.9—6.13 составим кратчайшие ДНФ, свободные от состязаний, для функций Si—S5: Si = С Vs5VQ2 VsiQl, S2 = CV SiV Qs VS2Q2, S3== C Vs2 V Q4V S3Q3, S4 = CV S3VQ5VS4Q4, S5 = CVs4V QiVssQs- (6.3)
187 6.1. ОДНОФАЗНЫЕ И МНОГОФАЗНЫЕ МПС При реализации этих выражений схемой, построенной из эле- ментов_ИЛИ—-НЕ, необходимы инверторы для образования сиг- налов Qi, Q2, Qs, Qt, Qs- Построим схему на разнотипных элемен- тах, для чего в уравнения (6.3) подставим вместо простых импли- кант Qi, Q2, • , Qs соответственно импликанты Q1S5, Q2si, ... ..., Q5S4. Преобразовав уравнения (6.3), перейдем к структурным формулам. 51 = С V 85 Vs 1У Q1Q2, S2 = СУ Si Уз2У Q2Q3, (6 4) «$з= CV s2V S3 VQ3Q4, ^4=су S3V S4 у Q4Q5, «$5 = С V$4 Vs5V Q1Q5. Таблица 6.9 Номер интер- вала перехода Простые импликанты 1 с 2 Qs, 0.2 3 6 S1Q3, S1Q1 7 S2, S1Q3, SiQi 8 S1Q3, Q4, Qi, siQi 9 «з, si Qi, Q4, Qs 10 Qs, Qt, Qs, SiQi 11 S4, Qs, Qs Т а б л и ц а 6.10 Номер интер- вала перехода Простые импликанты 1 с 2 S2Q2, Qs, Qs, Qi 3 ss, Qs, Qi 4 Qs, Qi 5 Si 8 S2Q4, S2Q2 9 S3, S2Q4, S2Q2 10 Qs, S2Q4, Qs, S2Q2 11 Qs, S4, Q3, SiQi Таблица 6.11 Номер интер- вала перехода Простые импликанты 1 с 2 S3Q5, Q4, S3Q3, Qi 3 s’s, Qt, S3Q3, Qi 4 Qi, S3Q3, Qi, Qi 5 Qi, Qs, si 6 Qi, Qs 7 Si 10 SsQs, S3Q3 И St, S3Q5, S3Q3 Таблица 6.12 Номер интер- вала перехода Простые импликанты 1 с 2 StQt, stQi 3 S'5* S4Q4, S4Q1 4 Qs, S4Q4, Qs, S4Q1 5 Qs, S4Q4, Qi, Si 6 S4Q4, Qs, Q3, Qs 7 Qs, Qs, Si 8 Qs, Qs 9 s3
ГЛАВА 6. МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 188 Рис. 6.8. Многоустой- чивая пересчетная схе- ма в коде 2 (1) /5 на разнотипных, элемен- тах Формулы (6.4) определяют МПС на элементах типа ИЛИ—НЕ и И—ИЛИ—НЕ (рис. 6.8). По сложности син- тезированная схема соответст- вует известной МПС [3]. Из табл. 6.9—6.13 опреде- лим такие ДНФ, которые не содержат инверсий импликант Qi, Qz, Q3, Q4, Q5: Si = CVs5 VQsV S1Q1, Sz=CVsi VQi VS2Q2, Ss = CVs?\/ Q2VS3Q3, Таблица 6.13 Номер интер- вала перехода Простые импликанты 1 с 4 S5Q5, S5Q2 5 S5Q5, S5Q2, S1 6 S5Q5, Q3, S5Q2, Qi 7 ssQs, Qs, Qi, s2 8 S5Q5, Qt, <2з, Qi 9 Q4, Qi, S3 10 Q4, Qi 11 s4 1 S4 — CV S3V Q3 VS4Q4, S5 = CVs4V Q4VS5Q5. Структурные формулы, соответствующие полученным кратчай- шим ДНФ, описывают схему МПС, содержащую 15 элементов ИЛИ—НЕ с суммарным числом входов 45, причем элементы имеют различное число входов: 2, 3, 4. На практике иногда воз- никает необходимость уменьшить максимальное число входов, приходящихся на один логический элемент, даже за счет увели- чения числа элементов. Продемонстрируем такую возможность в данном примере, для чего из табл. 6.9—6.13 определим ДНФ следующего вида:
189 6.1. ОДНОФАЗНЫЕ И МНОГОФАЗНЫЕ МПС -S1 = С у S5V Qi V Qg Vsi Q3, S2=cy siV QiV Q5VS2Q4, •s3 = CVs2VQiVQaVs3Q5, S4 = CVs3 VQ2VQ3 VS4Q1, S5 = CV S4VQ3V Q4VS5Q2. Заменим простые импликанты Qi, Q5 в уравнении для Si импли- кантами S1Q4 и S1Q5; Qi и Qs в уравнении для S2 — импликантами S2Q1 и S2Q5 и т. д. Вынесем после подстановки импликант в вы- ражения (6.5) общие члены за скобки, проинвертируем функции .Si—S5 и, применив правило де Моргана, перейдем к структур- ным формулам Si = СУ s5 VsiV Q3VQ4 VQs, Зг = C\/si VS2VQ1V Q4VQ5, ------------- == (6-6) Сз = СУз2\/5зУ QiV QiVQs, S4 — cVs3Vs.1V Qi V Q2V Q3 Рис. 6.9. Многоустой- чивая пересчетная схе- ма в коде 2(1)/5 на однотипных элементах
ГЛАВА 6. МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 190 Формулы (6.6) определяют МПС, свободную от всех видов состязаний (рис. 6.9). Синтезированная схема содержит 20 одно- типных элементов с суммарным числом входов 55, причем мак- симальное число входов одного элемента не превышает трех. 6.2. РЕВЕРСИВНЫЕ МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ Проведем синтез реверсивной МПС с одним входом синхро- низации С и двумя управляющими входами уь у2. Если (yyjz) = = (10), то МПС считает в прямом направлении, если (у\Уъ} = = (01) — в обратном. Воспользуемся для синтеза рассмотренной многостабильной ячейкой, работающей в коде 2(1)/5 (см. рис. 6.6). Диаграмма переходов этой ячейки в реверсивном режиме по- следовательного переключения приведена на рис. 2.21. Построим таблицу переходов УА реверсивной МПС (табл. 6.14). В столб- цах табл. 6.14 вместо входных наборов (Q1Q2Q3Q4Q5) приведены их номера, указанные на рис. 2.21. Как и в предыдущем примере, столбцы, соответствующие неустойчивым входным наборам, не указаны. Таблица 6.14 1 2 3 4 5 6 CQiQiQsQtQsyiys Si $2 S3 S4 S5 1 1 0110 0210 . 1 0310 0410 0510 0 0 § s 6 6 6 6 6 . (6) (1) (2) 2 (2) (3) 3 (3) (4) 4 | 1 1 1 0) (5) 1 (3) (4) 3 i 1 II (1) (5) 5 (1) (2) 1 (2) (3) 2 0 0 0 0 1 1 0 0 0 0 0 10 0 0 0 0 10 0 0 0 0 1 0 0 0 0 0 0 По табл. 6.14 составим структурную таблицу УА (табл. 6.15). Из табл. 6.15 найдем простые импликанты, покрывающие нуле- вые интервалы, и запишем импликанты в таблицы простых им- пликант (табл. 6.16—6.20). На основе табл. 6.16—6.20 опреде- лим один из вариантов ДНФ, свободных от состязаний, для функций Si—S5: Si = CVs2 Vs5V QzyzV Qsyi VS1Q4 VsiQs, 5г=СУ SiVssVQsyzV QiyiVszQs VS2Q4, (6 71 •Sg = CV S2VS4V Q4I/2VQ2I/1V S3Q1 V S3Q5,
191 6.2. РЕВЕРСИВНЫЕ МПС Т а б л и ц а 6.15 Переход C Qi Q2 Q3 Qt Qs yx y2 Sl S2 S3 Si Ss Si S% S3 S4 S5 1 (1— 6)+6 1 0 0 0 0 0 2 6-H 0 10001100000 0Л001 3 1-И 0 1—00 — 1 00000 1 0 0 0 0 1 4 6-И 00001 1010000 0 0 0 0 1 5 1-H 000—1—0 1 0000 1 0 0 0 0 1 6 6->2 01 100010 — 000 0 10 0 0 0 7 2-^2 0—1—00 1 0 1 000 0 1 0 0 0 0 8 6->-2 01000101—000 0 1 0 0 0 0 9 2->-2 0 — 00—1 0 1 1 000 0 1 0 0 0 0 10 6->3 001 100100 — 00 0 0 10 0 0 11 3-^3 0 0 — 1 — 0 1 0 0 1 0 0 0 0 10 0 0 12 6->3 01 1000010 — 00 0 0 10 0 0 13 3->3 01—00 — 010100 0 0 10 0 0 1'4 6->-4 0001 101000 — 0 0 0 0 10 0 15 4->4 000—1 — 1 000 1 0 0 0 0 10 0 16 6->4 001 1000100 — 0 0 0 0 10 0 17 4-И 0—1 — 00010010 0 0 0 10 0 18 6->5 00001 1 10000 — 0 0 0 0 1 0 19 5->5 0 — 0 0 — 1 1 0000 1 0 0 0 0 1 0 20 G->5 0001 1001000 — 0 0 0 0 1 0 21 5->5 00—1—00 1 000 1 0 0 0 0 1 0 S4 — C\/s5V SgVQsyaV Q3y iY S4Q2Y s4Qi, •S5 =су sjV s4y QiysY Q4I/1Y s3Q3y S5Q2. € целью сокращения числа входов, приходящихся на один эле- мент, преобразуем уравнения (6.7): простые импликанты Q?y2 и Qgj/i заменим импликантами Q2P2S1 и Q5I/1S1 в уравнении Si, простые импликанты Q3y2 и Qjz/i — импликантами Q3y2S2 и Qi«/iSi в уравнении для S2 и т. д. После вынесения за скобки общих чле- нов в преобразованных уравнениях (6.7) перейдем к структур- ным формулам -Si — С Y S2 Ys^YsiY Q3 V Q4 V 0.2У2 YQsyi, S2 = CV$i Ys3 _________;======т=== С6-8) .S3 = су s2 Y s4Y S3V Qi V Qs YQ^yz Y Qzyi, S4=Cy s3y s3y s4V Qi V QzY Q3yzY Q3yi, -Ss = CY si VS4 V«sV Q2 V QiY QiyzYQiyi.
ГЛАВА 6. МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 19? Таблица 6.16 Номер интер- вала перехода Простые импликанты 1 2 3 4 5 10 11 12 13 14 15 16 17 18 19 20 21 С Qal/i, О)зУ2, QsUt, Qath 5s- _ SlQb _Sl04 StQ4 SiQi, _SiQs_ S2,_S1Q1, S1Q3. _ _ QiUit Ч2У2, Qsyi, Qs{/2 S2,_ ___ __ S1Q1, JlQs, SlQb_Q2yi2_Q2y2, Qiyi, <2^2, Q2Q5, QsQi, QlOt, Q2Q3 S3,_SlQb slQi, _0%Уъ Q2y2,_Qtyi, QiVi _ SiQb S1Q3, Qa!/b_ QaZ/s^Qsl/b Qai/a, QsSi, О5У2 S2,__Q.2y_l, Ool/b ОьУ2 SiQi^ SiQ^Qsyi, Q2S2, QaVi, Qilh, Qtyi, Q5S2 St,_Q2yi, Q2S2, Qtyi,_ О.зУг _ __ _ _ SiQi. _£1Сз, sjQ^ Qsi/i^Qai/a, Qsl/ь Оз1/2, ChQa, QsQs, ChQs, Q3Q4 Sb SlQb S1Q3, Q$yi, С)зУ'1, *2.3</b ОзУ2 Таблица 6.17 Номер интер- вала перехода Простые импликанты 1 2 3 4 5 6 7 8 9 14 15 16 17 18 19 20 21 С_ S2Q2, SzQs, Qtyi^Qiyi^Q^yi, ОзУ2, Qsyi, ЧзУг s_s,_Qiyi, Q\y2, Q&y\,jQtih _ _ _ _ S2Q2, s2Q52_ Qiyij_ Qiy2, О^У2, Q1Q3, QiQs, Q3Q4, QiQb St,, S2Q2,_S2Q4, О1Уь 01У2, Qiyt, Ч4У2 Qll/b 0лУ2, Qsyi, ОзУ2 S!_ S2Q2, S2QS Sl,_S2Q2, S2Q5 S2Q2, S2Q4 S3, S2Q2, S2Q4 QlVb О1У2, ЧзУ1, ЧзУ2 S3_ _ _ __ S2Q2, S'iQt^Qj'y^Oi-yi, Qsl/ь ЧьУз, Q1Q3, QiQs, QiQs, Q3Q4 Si,_S2Q2, S2Qs, ОзУ±, ОзУ2, ЧвУ\, ЧзУ2 SiQ^ SiQ^Qiyi, QiVi, Qsyi, ЧзУ2> QiSi, Qty2 St, Q\yi, Qiy2, ЧзУ1, ЧзУз
193 6.2. РЕВЕРСИВНЫЕ МПС Таблица 6.18 Номер интер- вала перехода Простые импликанты 1 С 2 ssQi, ssQa, ssQs, Qiyi, Qiyz, Qiyi, Qiyi, QiQi, Q4Q3, QiQi, QiQs 3 Ss, S3Q1, S3Q3, Qll/2, Qtyi, Qiyi 4 S3Q3, S3Q5, Qiyi, Qiyi, Qtyi, QiUi, Qsyi, Qsl/2 5 85, Qzy\, ОгУг, Q4V1, Qtyi 6 S3Q1, S3Q3, Qiyi, Qiyi, Qiyi, Qiyi, Qtyt, Qiyi 7 Si, Qiyi, Qiyi, Qiyi, Qtyi 8 S3Q1, S3Q3, S3Q5, Qiyi, Qiyi, Qsyi, Qsyi, QiQi, QiQi, Q1Q5, Q4Q3 9 8i, S3Q3, S3I25, Qiyi, Qiyi, Qsyi, Qsyi 10 Qiyi, Qiyi, Qiyi, Q^i И Si 12 S3Q1, S3Q3 13 S2,.S3Q1, S3Q3 18 8з£)з, SsQs 19 S4, S3Q3, S3Q5 20 Qiyi, Qiyi, Qiiji, Qiyi 21 S4 Таблица 6.19 Номер интер- вала перехода Простые импликанты 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 С 84Q1, 84(94 8б, S4Q1J, SiQi Qiyi, QiVi, Q^yi, Qsyi ?5 _ _ _ S4Q1J SiQi, SiQi, Qiyi, Qiyij_ Qsyi, Qsyi, Q1Q3, QiQi, QiQs, Q3Q5 si, SiQi,_SiQi, Qiyi, Qiyi, Q^yi, Qsyi StQi^SiQi^Qiyi, Qiyi, Qiyi, Qiyi, Qzyi, Qsyt 81, Qayi,_Q3yi, Qsyi,_Qsyi __ S4Q2, S4Q4, Qiyi^ QiViyQ^yi’ Qs^2, Q$yi, QsSi 82, Qs^l, <2з^2,_(?51/Ь_Об1/2 _ _ _ _ S4Q1, S4Q2, SiQi, Qiyi, Qiyii_Q.3yi,_Qiyi, Q1Q5, Q1Q2, Q2Q3, QsQs si, S4Q1, SiQi, Qiyi^ Qiyi, Qiyi, ОзУ2 Qiyi, О.зУъ Qsyi, QiVi S3 S4Q2, SiQi _ S3, S4Q2, SiQi 13 — 5499
ГЛАВА 6. МНОГОУСТОИЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 194 Т а б л и ц а 6.20 Номер интер- вала перехода Простые импликанты 1 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 С __ sgQs, S5Q2 _ Sl,_SsQ2, SgQs_ _ QiUi, QiU2< Qtyi, Qt02 S1__ _ _ __ _ S5Q5, SsQ2_, s^Q^Qiy^Qiyi, Q3yi, Q$y2, QiOr, Q2Q3, Q1Q2 s_2i_ssQ6, S5Q3, Qiyi, СРУ2,_ОзУ±, <2зУ2 SsQs, S5Q2, СрУ1,_ОлУ2,_СрУ\, Q$2, Q2P1, Q2I/2 S2, Ql</l,_Ql</_2, Qtyv, О‘Уг SaQ:<^SoQa:_Qiyi, СРУ2, <2з</1, 0.3У2, QtOl, QtO2 Ss,_Qiyi, Qiy2, 01Уг _ _ _ _ S5Q5, S5Q3, sc,Q.2,_Q2yi,_Q.2y2, Q^yiy О^Уз, Q1Q2, Q2Q3, QsOb Q1Q4 SJ, S^Qs, SsQ2, Qty\, _Qty2, Q2S1, О.2У2 QiUi, Qil/2, Qtyi, Qi02 St _ S5Q5, S5Q3 _ St, S5Q3, SgQg Рис. 6.10. Реверсив- ная многоустойчивая пересчетная схема в коде 2(1)/5
195 6.3. МПС С УПРАВЛЯЕМЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Формулы (6.8) определяют МПС, свободную от состязаний (рис. 6.10). Синтезированная схема по суммарному числу вхо- дов логических элементов сравнима с известной МПС по модулю пять на двухфазной ячейке [3]. 6.3. МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ С УПРАВЛЯЕМЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА При использовании МПС в счетчиках и делителях с пере- менным коэффициентом деления, в многопрограммных распреде- лителях возникает необходимость оперативного управления ве- личиной коэффициента пересчета МПС. Такое управление может быть получено с помощью сигналов управления, подаваемых на дополнительные входы УА (рис. 6.11). На этом рисунке приве- дена модель МПС с управляемым коэффициентом пересчета на основе пятистабильной двухфазной ячейки в качестве управляе- мого автомата. Величина коэффициента пересчета МПС определяется набо- ром значений управляющих сигналов У\,... ,уз- Пусть управляю- щие наборы совпадают с выходными наборами пятистабильной Рис. 6.11. Модель много- устойчивой пересчетной схемы с управляемым ко- эффициентом пересчета Таблица 6.21 Номер на- бора Выходные наборы ячейки Управляющие наборы Номер на- бора Qi Qi <2з q4 Qs У1 Уг Уз У-1 Уб 1 1 1 0 0 0 1 1 0 0 0 1' 2 0 1 1 0 0 0 1 1 0 0 2' 3 0 0 1 1 0 0 0 1 1 0 3' 4 0 0 0 1 1 0 0 0 1 1 4' 5 1 0 0 0 1 1 0 0 0 1 5' 13*
ГЛАВА 6. МНОГОУСТОЙЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 196 Рис. 6.12. Граф автомата для многоустойчивой пересчетной схемы с управ- ляемым коэффициентом пересчета ячейки (табл. 6.21). Правило функционирования МПС опреде- лим графом автомата (рис. 6.12). В вершинах графа над чертой указаны значение входного сигнала С и номер управляющего набора, а под чертой — номер набора выходных сигналов (Q1Q2Q3Q4Q5) • Проведя анализ графа автомата, построим таб- лицу состояний МПС (табл. 6.22). Из табл. 6.22 следует, что для изменения состояния МПС в переходах 11 и 14 необходимо одно- временно возбудить три выхода УА: S3, S4 и S5. Однако в начале настоящей главы было показано, что пятистабильная ячейка в данных условиях неустойчива из-за состязаний между входными сигналами. Из табл. 6.22 следует, что состязания между сигналами S3, S4 и S5 возникают при установке пятистабильной ячейки в состоя- ние (11000) путем подачи на ее входы набора (00111). В это со- стояние ячейка перейдет без состязаний только в том случае, С Q1Q2Q3Q4Q5 1 011' 012' 013' 014' 015' 022' 023' 024' 1 025' 033' 1 6 (1) (1) (1) (1) (1) (1) — (1) 2 6 (2) (2) (2) (2) (2) (2) (2) (2) — 3 6 — (3) 3 (3) (3) 4 6 — —— II —— — — — — 5 6 6 (6) 1 2 2 2 2 1 3 (3) 3 1
197 6.3. МПС С УПРАВЛЯЕМЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Т а б л и ц а 6.22 1 t С Qi Q.2 Qs Qt Qs yi У2 Уз Уь уз S1 S2 S3 S4 S5 £+1 Qi Q2 Q3 Q4 Q5 1 —' — 0 0 0 0 0 —. — — — — 2 0 1 1 0 0 0 1 1 0 0 0 0 0 — . 110 0 0 3 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 110 0 4 0 1 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 110 0 5 0 1 1 0 0 0 0 0 0 1 1 1 0 0 0 0 0 110 0 6 0 1 1 0 0 0 1 0 0 0 1 1 0 0 0 0 0 110 0 7 0 0 1 1 0 0 0 1 1 0 0 0 0 1 —- — 110 0 0 8 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 110 9 0 0 1 1 0 0 0 0 0 1 1 0 1 0 0 0 0 0 110 10 0 0 1 1 0 0 1 0 0 0 1 0 1 0 0 0 0 0 110 И 0 0 0 1 1 0 0 0 1 1 0 0 0 1 1 1 110 0 0 12 0 0 0 1 1 0 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 13 0 0 0 1 1 0 1 0 0 0 1 0 0 1 0 0 0 0 0 1 1 14 0 0 0 0 1 1 0 0 0 1 1 0 0 1 1 1 1 10 0 0 15 0 0 0 0 1 1 1 0 0 0 1 0 0 0 1 0 1 0 0 0 1 16 0 1 0 0 0 1 1 0 0 0 1 0 0 — — 1 110 0 0 когда единичный сигнал подается на входы S3, S4 и S5 одновре- менно. С целью устранения состязаний заменим сигналы З3 и S4 соответственно на (S/V^s) и (S/VS5), соблюдая условия З3 = = S3'\/S5, S4 = S4ZVS5. При этом функция S5 принимает единич- ное значение для строк 2, 7, 11, 14 и 16, функция 3/ принимает единичное значение только для строк 12, 13, а 3./ — для строки 15. Считая, что дизъюнкции (S3'\/S5) и (S/V^s) реализуются непосредственно на элементах ИЛИ—НЕ пятистабильной ячей- ки, составим таблицу переходов УА с выходными сигналами Sj, S2, S/, 3/, S5 (табл. 6.23) . По этой таблице составим структур- ную таблицу (табл. 6.24). Из табл. 6.24 найдем простые импли- канты, покрывающие нулевые интервалы. Простые импликанты, содержащие не более трех букв, приведены в таблицах простых импликант (табл. 6.25—6.29). Таблица 6.23 У\У2УзУьУъ Si S3 S4 S$ 034' 035' 044' 045' 055' (1) (1) 0 0 0 0 1 — — — 1 0 0 0 0 (3) (3) — — — 0 10 0 0 (4) (4) (4) (4) — 0 0 10 0 — (5) (5) 0 0 0 1 0 4 4 1 5 1 0 0 0 0 0
ГЛАВА 6. МНОГОУСТОИЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 198: Таблица 6.24 Переход C Qi Qz Qs Qi Qs i/1 У2 Уз У4 Уз «1 «2 S3' S4' S5 «SjSsSs'S/Ss 1 6+1 0 110 0 0 1 1 0 0 0 0 0 0 0 — 00001 2 6+1 0 0 110 0 0 1 1 0 0 0 0 0 0 — 0 0 0 0 1 3 6+1 0 0 0 110 0 0 1 1 0 0 0 0 0 — 0 0 0 0 1 4 6+1 0 0 0 0 1 1 0 0 0 1 1 0 0 0 0 — 0 0 0 0 1 5 6+1 0 1 0 0 0 1 1 0001 0000 — 0 0 0 0 1 6 6+2 0 110 0 0 0 1 1 0 0 — 0 0 0 0 1 0 0 0 0 7 6+2 0 1 10 0 0 0 0 1 1 0 — 0 0 0 0 1 0 0 0 0 8 6+2 0 110 0 0 0 0 0 1 1 — 0 0 0 0 1 0 0 0 0 9 6+2 0 110 0 0 1 0001 — 0000 1 0 0 0 0 10 6+3 0 0 110 0 0 0 1 1 0 0 — 0 0 0 0 10 0 0 11 6+3 0 0 110 0 0 0 0 1 1 0 — 0 0 0 0 10 0 0 12 6+3 0 0 110 0 1 0001 0 — 000 0 10 0 0 13 6+4 0 0 0 110 0 0 0 1 1 0 0 — 0 0 0 0 10 0 14 6+4 0 0 0 110 1 0001 00 — 00 0 0 10 0 15 6+5 0 0 0 0 1 1 1 0001 000 — 0 0 0 0 1 0 16 (1—6)+6 1 0 0 0 0 0 17 2+2 0 — 1—00 0 1 1 0 0 1 0 0 0 0 1 0 0 0 0 18 2+2 0 — 1—00 0 0 1 1 0 1 0 0 0 0 1 0 0 0 0 19 2+2 0 — 1 — 00 0 0 0 1 1 1 0 0 0 0 1 0 0 0 0 20 2+2 0 — 1—0 0 1 0001 1 0 0 0 0 1 0 0 0 0 21 3+3 0 0 — 1—0 0 0 1 1 0 0 1 0 0 0 0 1 0 0. 0 22 3+3 0 0 — 1—0 0 0 0 1 1 0 1 0 0 0 0 10 0 0 23 3+3 0 0—1—0 1 0 0 0 1 0 1 0 0 0 0 10 0 0 24 4+4 0 0 0 — 1 — 0 0 0 1 1 0 0 1 0 0 0 0 10 0 25 4+4 0 0 0 — 1 — 1 0 0 0 1 0 0 1 0 0 0 0 10 0 26 5+5 0 — 00 — 1 1 0 0 0 1 0 0 0 1 0 0 0 0 1 0 27 1+1 0 110 0 0 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 28 1+1 0 — 1—00 0 1 1 0 0 0 0 0 0 1 0 0 0 0 1 29 1+1 0 0 0 0 1 1 0 0 0 0 0 1 0 0 0 0 1 30 1+1 0 0 0 0 0 1 1 0 0 0 0 1 0 0 0 0 1 31 1+1 0 1—0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 1 Таблица 6.25 Номер интер- вала перехода Простые импликанты 1 2 1 2 3 4 5 10 11 12 13 14 У_\У_г, УзУз, УзУз, У1У6 siQi, £iQs S1Q1, Q.2, SiQs, Q4 SiQb Q2, Qi, Qs Qs sjQi, S1Q3 SiQi, S1Q3 siQi> SiQs_ SiQi, Qz, S1Q3, Qt S1Q1, Qz, S1Q3, Q4
199 6.3. МПС С УПРАВЛЯЕМЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА Окончание таблицы 6.25 1 2 15 16 21 22 23 24 25 26 27 28 29 30 31 SiQi> Qa, Q4, Qs С S2> iS/Qs, Q1S1 S2, §1'QS, Q1S] S2, -s/Qs^QiSi s-,', Qb <2г, QiSj $з',' Q4, Q2, Q1S1 Si, Qs, Oa_ S5, У1У2, УзУз, УзУз, У'.Уз s5 ss ss Ss Таблица 6.26 Номер интер- вала ' перехода Простые импликанты 1 Qi, Оз, Уз, У1Уъ, У>,Уз, УзУз 2 Уз, УзУ4, У^Уз, yiVi 3 S2Q.2, SiQi 4 S2Q2, Q3, S2Q4, Qs 5 Qi, S2Q2, <2з, Qs 6 Ql, Оз, Уз, УзУ4, У1У1, У4У5 7 Q1, Оз 8 Qi, Оз 9 Qi, Оз 13 S2Q2, S2Q4 14 S2Q2, S2Q4 15 S2Q.2, Q.3, S2Q4, Qs 16 С 17 Уз, St, yiys, УзУ4, У1У4 18 Si 19 Si 20 s> 24 5з\ S2Q2, S2Q4 25 S3', S2Q2, S2Q4 26 Q5, 5/.Q3, S2Q2 27 ss, Уз, У1У5, Оз, Qi, У1У5, УзУз 28 Ss, У2, У4УЗ, УзУ4, У1У4 29 Ss 30 ss, Оз 31 Ss, Qi, Оз
ГЛАВА 6. МНОГОУСТОИЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 200 Таблица 6.27 Номер интер- вала перехода Простые импликанты 1 2 3 4 5 6 7 8 9 10 И 12 15 16 17 18 19 20 21 22 23 26 27 28 29 30 31 Qi, Qs, S3Q3, Qt, у2, у5 Qz, Qi, Уз, Уз, Уз, У1У4 Уз,_Уз _ ss'Qs, Sg'Qs _ _ Ql, Ss'Qs, s/Q3,_Q4 Qi, Qz, S3Q3, Qa, Уз, Уз, Уз, У1У4 Qi, Qz, S3 Q3, Q4, Уз, Уз Ql, Qz, Si Оз, Q4, Qi, Qz, sz'Q^ Qi, Qz, Qi, Уз, Уз Qz, Qi Qz,_ Oa S3Q3, s3'Qs C Qz, Qi, Уг, Уз, Уз, Si, 1/11/4 Qz, Qi, Уз, Уз, 8i Qz, Qi, 8] Qz, Qi, 81 Уз, Sz, У5 Уз, Sz s_2 _ S3'Оз, S3'Q$,_Si _ 85, Qi, Qz, Qi, yz, уз, Q3S3 S3, Qz, Qi, yz, Уз, Уз, У1У4 Ss, Уз, Уз S3, Q'3S3_ ss, Qi, Q3S3' Таблица 6.28 Номер интер- вала перехода Простые импликанты 1 2 1 Si'Qi, Qz, Si Qi, Qs, yz, Уз 2 Qz, Qs, s'iQt, QS, yz, Уз, Уз, Уз 3 Qs, Qs, У1, Уз, 1/4, Уз 4 У1, У4 5 s^Qi, §i Qi 6 s'iQi, Qz, Si'Qi, Qs, yi, yz, Уз, Уз 7 s'iQi, Qz, Si'Qi, Qs, У1, Уз, yt, Уз 8 Si'Qi, Qz, s/Qi, Qs, yt, yi 9 s'iQi, Q2, Si'Qi, Qs 10 Qz, Qs, QiSt, Qs, У1, Уз, yt, Уз 11 Qz, Qs, 84'6)4, Qs, у 1, yi
201 6.3. МПС С УПРАВЛЯЕМЫМ коэффициентом пересчета Окончание таблицы 6.28 1 2 12 Qz, Qs, S4Q4, Qs 13 Qs, yt, Qs, Ух 14 Qs, Os 16 • C 17 Qi, $4 Qt, Qs, Ух, У2, Уз, ys, si 18 Qz, s^Q^ Qs, Ух, Vs, yt, Уз, Si 19 Qz, Si Qi, Qs, У\, yi, Si 20 Qz, Si Qi, Qs, S1 21 Qs, У1, Уз, У4, Уз, Sz, Qs 22 Qs, Ух, У4, s2, Qs 23 Qs, s2, Os 24 У 4, Ss, Ух 25 Ss 27 Ss, Qz, Qs, yz, ys, Q4S4 Qi®/ 28 s5, Qz, Qs, Ух, У2, Уз, ys, OiS/ 29 ss, Qs, Ух, Уъ, У4, ys 30 ss, Ух, У4 31 Ss, QxSi Таблица 6.29 Номер интер- вала перехода Простые импликанты 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 QsysSs, QxysSs, Qxyxss QzyzSs, Qzy_iS_s, Q4V4Ss, QxysSs, QxyxSs, QxyiSs, QsysSs QsysSs, QxyxSS, QxyjSs, Q4yxSs, O^Ss, QzysSs, QzyzSs, Qs^ss QsysSs', QzysSs, QzyzSs О‘У4^, Qzyx^S, QzyzSs - ОзУз, Qsys, QsysSs, QzyzSs^ Qzy4Ss, Q4y4Ss__ _ _ Q1Q3, QsVx, Qsys^ Qsys, ОхУзУ4, Qsyzy4, ОхУ4Уз, QsysSs, OlJ/зУ* ОзУз, Qsys,_ QsysSs _ _ QsysSs^ QxyiSs,- QiyxSs,_Q.3yzyi, QiQxyx, QzQsyx, Qxysyi ОлУх, QxQzy4> QxQ.4y4, QxQsyi, QxSzy4, ОхУзУ4, ОХУ4УЗ, Q4yxSs, Q^Ss c Si Si, O^Ss, Qzy4$S, QzyzSs _ Si, QzyzSs, Q2I/4S5, QzysSs, QsysSs, Qxy4Ss Si, QsysSs, QzysSs, QzyzSs s2 Sz, Qsys, Qsy_s, Qsys§s_ sz, Qsyx, Qays, QsVs, Qxyx, Qsyzy4, ОхУъУ4, Qz^ys, ОхУгУ4, Qsysss S3' _ _ _ __ S3, Qxyx, ОхУ4Уб, ОхУзУ4, Qxyzy4, Q4VxSs, QxQ4y4, Q484SS, QxQzy4 S4
ГЛАВА 6. МНОГОУСТОИЧИВЫЕ ПЕРЕСЧЕТНЫЕ СХЕМЫ 202 Один из вариантов ДНФ свободных от состязаний функций Si, S2, S3', 84, S5, определенный из табл. 6.25—6.29, имеет вид 8t = С\/з^У Q^y Q^y s^O^y узу^> 82=CVsiV«5 VQi V Qs VS2Q4 V У2, 8'3= СУ ЗгУ S5VQ1V Q2 Vs'3Q5 V у з, (6.9) 8'4=cy s'3 VssV Q2 VQ3V sQQi Ууь, S$ = Cy SiV s2Vs's У s'4У SsQsC^Qsyz VssQsf^Qsi/sV SbQit^Qsj^V Vs5QiQ2Qgy3 Vs5QiQ2Qsy4. Пятибуквенные импликанты ДНФ функции S5 получены из про- стых импликант (табл. 6.29) в соответствии с табл. 6.24 (в це- лях упрощения схемы). Заменим простые импликанты Q4, Qs, УзУз в выражении для Sj импликантами S1Q4, S1Q5, siysy5, простые импликанты Q5, Qi, г/2 в выражении для 32 — импликантами s2Qs, S2Q1, s2y2 и т. д. Вынесем общие множители за скобки. Инверти- Рис. 6.13. Многоустой- чивая пересчетная схе- ма с управляемым ко- эффициентом пере- счета
। 203 6.3. МПС С УПРАВЛЯЕМЫМ КОЭФФИЦИЕНТОМ ПЕРЕСЧЕТА- руя функции и применяя правило де Моргана, перейдем к струк- турным формулам S1 = С Vs5V $i V Q3 V Q4 V Q5 V */зУ p5, S2= С У Si \f.s5 V^VQiVQ4 УО’Ж, S'3 = cys2y s5\/s7VQiVQ2VQ5VpT, (6.10> S'4=С V s'3 Vs5 Vs^VQTVQTWV^, S5 = CVs1V s2Vs'3VsZ4V s5VQ3VQ4V QsVysVysV Q1VQ4V yQ5V?2VQiVQ2VQ5y«/2VQiVQeVQ3V«/4. Схема, реализующая формулы (6.10), приведена на рис. 6.13. Материал данной и предыдущих двух глав иллюстрирует возможности разработанной в книге методики синтеза устройств автоматики и вычислительной техники на основе композицион- ной модели асинхронного автомата. В примерах рассматривались устройства ограниченной слож- ности, содержащие бистабильные и многостабильные ячейки. Данная методика применима и для проектирования более сложных устройств. При этом в качестве подавтоматов целесо- образно выбирать устройства другого типа, например триггеры, счетчики, регистры сдвига и т. д., как это было показано в примере 3.5.3.
СПИСОК ЛИТЕРАТУРЫ ’1. Акулов С. С. Счетчик по модулю три. Авт. свидетельство № 350178. — «Открытия. Изобрет. Пром, образцы. Товар, знаки», 1972, № 26, с. 148. / 2. Алексенко А. Г. Основы микросхемотехники. Элементы морфологии микроэлектронной аппаратуры. М., «Сов. радио», 1971. 352 с. 3. Букреев И. Н., Мансуров Б. М., Горячев В. И. Микроэлек- тронные схемы цифровых устройств. М., «Сов. радио», 1975. 368 с. -4. Визирев И. С., Петренко А. Ф. Устранение опасных логических со- стязаний при синтезе асинхронных автоматов. — «Автоматика и вычисли- тельная техника», 1975, № 3, с. 1—9. 5. Г а в р и л о в М. А., О с т и а н у В. М., Потехин А. И. Надежность дискретных систем. — В кн.: Итоги науки. Теория вероятностей. Матема- тическая статистика. Теоретическая кибернетика. 1969. М., 1970. 104 с. '6 . Горбовицкая Н. А., Пинскер И. Ш. Построение минимальных дизъюнктивных нормальных форм. — В кн.: Проблемы синтеза цифровых автоматов. М., «Наука», 1967, с. 54—72. 7. Г р е х н е в В. А., Останков Б. Л. Элемент памяти с тремя устойчи- выми состояниями. Авт. свидетельство № 328529. — «Открытия. Изобрет. Пром, образцы. Товар, знаки», 1972, № 6, с. 174. 8. Грехи ев В. А., Останков Б. Л. Распределитель импульсов. Авт. свидетельство № 350179. — «Открытия. Изобрет. Пром, образцы. Товар, знаки», 1972, № 26, с. 148. 9. Гуртовцев А. Л. Формирователь одиночных импульсов. Авт. свиде- тельство № 464964. — «Открытия. Изобрет. Пром, образцы. Товар, знаки», 1975, № 11, с. 141. 10. Гуртовцев А. Л. Распределитель. Авт. свидетельство № 508934. — «Открытия. Изобрет. Пром, образцы. Товар, знаки», 1976, № 12, с. 155. И. Гуртовцев А. Л. Счетчик импульсов с управляемым коэффициентом пересчета. Авт. свидетельство № 517165. — «Открытия. Изобрет. Пром, образцы. Товар, знаки», 1976, № 21, с. 199. 12. Гуртовцев А. Л. Синтез стековой памяти. — Тез. докл. 2-го Всесоюз. совещ. «Микропроцессоры», т. 2. Рига, «Зинатне», 1977, с. 38—42. 13. Гуртовцев А. Л., Петренко А. Ф. Формирователь импульсов малой длительности по переднему и заднему фронтам входного импульса. Авт. свидетельство № 527817. — «Открытия. Изобрет. Пром, образцы. Товар, знаки», 1976, № 33, с. 168. 14. Г у р т о в ц е в А. Л., П е т р е н к о А. Ф., Чапенко В. П. Синтез асин- хронных автоматов на основе композиционной модели. — Симпозиум ИФАК «Дискретные системы», т. 3. Дрезден, 1977, с. 34—42. 15. Гуртовцев А. Л., П е т р е н к о А. Ф., Чапенко В. П. Асинхронные автоматы с бистабильными ячейками. —: «Автоматика и вычислительная техника», 1977, № 2, с. 1—6.
205 СПИСОК ЛИТЕРАТУРЫ. 16. Гуртовцев А. Л., Петренко А. Ф., Чапенко В. П. Композици- онная модель асинхронного автомата. — «Автоматика и вычислительная техника», 1977, 4, с. 1—9. 17. 3 а к р е в с к и й А. Д. Алгоритмы синтеза дискретных автоматов. М. - «Наука», 1971. 512 с. 18. Колдуэлл С. Логический синтез релейных устройств. М., ИЛ 1962. 740 с. 19. Лазарев В. Г., Пий ль Е. И. Синтез управляющих автоматов. М. «Энергия», 1970. 400 с. 20. Маркачев В. В., К р а в ч е н к о В. В. Двоичный счетчик. Авт. свиде- тельство № 340099. — «Открытия. Изобрет. Пром, образцы. Товар, знаки» 1972, № 17, с. 196. 21. Микромощные интегральные схемы. М., «Сов. радио», 1975. 256 с. Авт.:- К. А. Валиев, В. Н. Дягилев, В. И. Лебедев, А. В. Лубашевский. 22. Миллер Р. Теория переключательных схем, т. 1. М., «Наука», 1970 416 с.; т. 2, 1971. 304 с. 23. О синтезе асинхронных конечных автоматов. — «Изв. АИ СССР. Техни-. чёская кибернетика», 1972, № 6, с. 139—148. Авт.: Э. А. Якубайтис, А. Ю. Гобземис, А. Ф. Петренко, Г. Ф. Фрицнович. 24. Петренко А. Ф. Модели асинхронного конечного автомата. Обзор. —.. «Автоматика и вычислительная техника», 1973, № 4, с. 1—13. 25. Петренко А. Ф. О реализации асинхронного автомата с задержками. —•_ В кн.: Вопросы синтеза логики ЦВМ, ч. 2. Вильнюс, 1974, с. 24—29. 26. Петренко А. Ф., Фрицнович Г. Ф. Синтез асинхронных конечных автоматов с учетом сокращения числа фильтров. — «Автоматика и вычис-. лительная техника», 1972, № 5, с. 19—22. 27. П е т р е н к о А. Ф., Ч а п е н к о В. П. Логическое проектирование помехо- устойчивых УК-триггеров. — «Интегральные схемы в дискретной технике»,. 1974, вып. 2, с. 58—66 (Рига). 28. Регистр сдвига. Авт. свидетельство № 364964. — «Открытия. Изобрет. Пром, образцы. Товар, знаки», 1973, № 5, с. 146. Авт.: А. И. Кулетов, И. М. Лазер, П. И. Овсищер, С. В. Карпович, Г. Д. Нестеренко. 29. Р о г и н с к и й В. Н. Основы дискретной автоматики. Статика и динамика, дискретных автоматов. М., «Связь», 1975. 432 с. 30. Синтез асинхронных автоматов на ЭВМ. Под ред. А. Д. Закревского., Минск, «Наука и техника», 1975. 184 с. 31. Скарлетт Дж. Транзисторно-транзисторные логические схемы и их: применение. М., «Мир», 1974. 287 с. 32. Теория автоматов. — В кн.: Итоги наук. Теория вероятностей. Математи- ческая статистика. Теоретическая кибернетика. М., 1975, с. 109—188. Авт,:. Э. А. Якубайтис, В. О. Васюкевич, А. Ю. Гобземис, Н. Е. Зазнова^ А. А. Курмит, А. А. Лоренц, А. Ф. Петренко, В. П. Чапенко. 33. Чапенко В. П. Возможности уменьшения количества фильтров при син- тезе автоматов методом инерционных подавтоматов. — «Автоматика и вы- числительная техника», 1970, № 3, с. 83—85. 34. Ч а п е н к о В. П. Метод синтеза дискретных устройств аналого-цифро- вых преобразователей. — Проблемы создания преобразователей формы, информации. Труды симпозиума. Киев, 1970, с. 141—153. 35. Якубайтис Э. А. Асинхронные логические автоматы. Рига, «Зинатне»,. 1966. 379 с. 36. Я к у б а й т и с Э. А. Синтез асинхронных конечных автоматов. Рига. «Зи-> натне», 1970. 326 с. 37. Я к у б а й т и с Э. А. Логические автоматы и микромодули. Рига, «Зи-- натне», 1975. 259 с. 38. Unger S. Н. Asynchronous sequential switching circuits. N. Y., Wiley,. 1969. 290 pp.
ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ .Автомат асинхронный 50 без памяти 33 конечный 33 полностью определенный 33 синхронный 50 структурный 49 управляющий 91 частичный 33 {Булева функция 10 полностью определенная 10 частично определенная 10 Бремя переходного процесса 21, 49 — реакции 49 Тонки 54, 57 Граф автомата 38 полный 38 частичный 38 Диаграмма переходов 46 модели Мили 47 модели Мура 46 Задача покрытия 15 Задержка внутренняя (естественная) 21 Импликанта 12 — простая 13 Интервал булевой функции 11 единичный 11 нулевой 11 перехода 23 Кодирование внутренних состояний 52 правильное 61 противогоночное 59 соседнее 60 Комбинационная схема 9, 33, 48 — — устойчивая 25 Композиция асинхронных автоматов 92 Конъюнкция полная 12 элементарная 12 Множество состояний внутренних 32 входа 32 выхода 32 полных 32 Модель композиционная 96 математическая дискретного устрой- ства 33 Мили 33 Мура 33 Модуль счета 140 Набор входной 9 выходной 9 единичный 10 значений промежуточных сигналов 32
207 ПРЕДМЕТНЫЙ УКАЗАТЕЛЬ. непротиворечивый 43 нулевой 10 соседний 56 Пара переходов 60 Переменные интервала 11 внешние 11 внутренние 11 Пересечение интервалов 11 Поглощение строк 16 Покрытие 15 безызбыточное 15 кратчайшее 15 таблицы 15 Правильный код 61 Развязывающая переменная 61 Регистр сдвига 171 Состояние внутреннее 32 — неустойчивое 35 — устойчивое 35 входа 32 выхода 32 полное 32 Состязания 22 в единице 23 в комбинационной схеме 22 — многовыходной 54 — одновыходной 22 в композиции автоматов 93 в нуле 23 динамические 23 логические 24 между входными переменными 54 между выходными сигналами 58 между промежуточными перемен- ными 54 статические 23 существенные 55 функциональные 23, 54 Строки таблицы переходов совместимые 43 — неявно 45 — явно 43 Счетчик 140 Грея 164 двоичный 140 — реверсивный 155 — с постоянным коэффициентом пе- ресчета 141 — с управляемым коэффициентом: пересчета 151 Джонсона ПО, 161 — неустойчивый к состязаниям 112- — устойчивый к состязаниям 162„ 164 кольцевой 169 Таблица выходов 36 интервалов булевой функции 11 истинности 10 переходов 34 — кодированная 64 — модели Мили 36 — модели Мура 36 — нормальная 35 — обобщенная 124 — первоначальная 36 — сжатая 43 покрытия 18 различий 14 состояний 104 структурная 68 Требования полноты и непротиворе~ чивости 39 Триггер D 122 DV 127 JK 136 132 — асинхронный 80 Т 64, 70, 119 — неустойчивый к состязаниям 70, 72 — устойчивый к состязаниям 74, 129 с динамическим входом управления 118 со статическим входом управления 118
предметный указатель 208 Условие достаточное отсутствия гонок 60 отсутствия гонок в композиции асинхронных автоматов 95 правильного кодирования 61 ----- для композиционной модели 99, 102 противогоночного кодирования 60 состязаний 22 ?Устройство с памятью 9 Фазность 180 Факторизация 25 Форма булевой функции дизъюнктивная нормальная 12 ----кратчайшая 12 — —,свободная от состязаний 25 ----совершенная 12 Форма интервальная таблицы истин- ности 11 Формула структурная 67 Ядро покрытия 15 Ячейка бистабильная 75, 80 многостабильная 180 — с многовходовым управлением 181 — с одновходовым управлением 181 пятистабильная 84, 185 трех стабильная 80, 181
ОГЛАВЛЕНИЕ Предисловие..................................................... 5 Глава 1. Комбинационные схемы................................... 9 1.1. Способы задания и формы представления булевых функций 10 1.2. Построение кратчайшей дизъюнктивной нормальной формы 13 1.3. Состязания в комбинационных схемах...................21 1.4. Построение дизъюнктивной нормальной формы, свободной от состязаний..............................................25 Глава 2. Синтез устойчивых асинхронных автоматов ..... 31 2.1. Понятие о конечном автомате..........................31 2.2. Представление автомата таблицей переходов .... 34 2.3. Сжатие таблицы переходов.............................43 2.4. Асинхронный автомат..................................47 2.5. Состязания в асинхронном автомате................... 53 2.6. Противогоночное кодирование..........................59 2.7. Синтез комбинационной схемы асинхронного автомата . 64 2.8. Устранение существенных состязаний...................70 2.9. Примеры синтеза.................................... 75 Глава 3. Синтез асинхронных автоматов на основе композиционной модели ................................................... . 91 3.1. Композиция автоматов ................................92 3.2. Состязания в композиции асинхронных автоматов . . 93 3.3. Композиционная модель асинхронного автомата ... 96 3.4. Условия правильного кодирования для композиционной модели....................................................99 3.5. Примеры синтеза................................... 103 Глава 4. Триггеры..............................................116 4.1. Г-триггер...................................... . 119 4.2. О-триггер...........................................122 14 — 5499
ОГЛАВЛЕНИЕ 210 4.3. DV-триггер............................ 127 4.4. .RS-триггер ................................132 4.5. 7/(-триггер .............................. 136 Глава 5. Счетчики и регистры сдвига...............140 5.1. Двоичные счетчики с постоянным коэффициентом пере- счета ...........................................141 5.2. Двоичные счетчики с управляемым коэффициентом пере- счета ...........................................151 5.3. Двоичные реверсивные счетчики ..............155 5.4. Счетчики Джонсона................. . . . 161 5.5. Счетчики Грея............................ . 164 5.6. Кольцевые счетчики......................169 5.7. Регистры сдвига ............ 171 Глава 6. Многоустойчивые пересчетные схемы.....................180 6.1. Однофазные и многофазные многоустойчивые пере’счетные схемы.....................................................180 6.2. Реверсивные многоустойчивые пересчетные схемы . . . 190 6.3. Многоустойчивые пересчетные схемы с управляемым коэф- фициентом пересчета . . . ...................... . 195 Список литературы....................... . . . . . . . 204 Предметный указатель.......................................... 206
АРКАДИЙ ЛАЗАРЕВИЧ ГУРТОВЦЕВ АЛЕКСАНДР ФЕДОРОВИЧ ПЕТРЕНКО ВИКТОР ПЕТРОВИЧ ЧАПЕНКО ЛОГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ УСТРОЙСТВ АВТОМАТИКИ ИВ № 130 Редактор Н. Дундина Художник С. Витола Художественный редактор Э. Бурова Технический редактор М. Андерсоне Корректор Э. Делим. Сдано в набор 30 ноября 1976 г. Подписано к печати 30 декабря 1977 г. Бумага типогр. № 1, формат 60X 90/16. 13,25 физ. печ. л., 13,25 усл. печ. л.; 11,80 уч.-изД. л. Тираж 2000 экз. ЯТ 06484. Цена 1 р. 10 к. Издательство «Зинатне», г. Рига, ул. Тургенева, 19. Отпечатано в типографии «Циня» Государственного комитета Совета Ми- нистров Латвийской ССР по делам издательств, полиграфии и книжной торговли. г. Рига, ул. Блауманя, 38/40. Заказ № 5499-Д.