Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

книги / Типовые узлы на полупроводниковых логических и функциональных элементах серии ЭТ

..pdf
Скачиваний:
2
Добавлен:
12.11.2023
Размер:
7.26 Mб
Скачать

позволяют реализовать любую, сколь угодно сложную логическую функцию.

С увеличением числа переменных сильно возрастает число функций, так, уже для трех переменных число функций равно 223=256. Составление таблиц такого чи­ сла функций становится весьма сложным.

Любую функцию многих переменных, как известно, можно представить в двух так называемых совершенных формах в виде суммы произведений (дизъюнктивная форма) и в виде произведений сумм (конъюнктивная форма), причем каждое произведение в совершенной дизъюнктивной нормальной форме и каждая сумма в совершенной конъюнктивной нормальной форме со­ держат все переменные или их дополнения.

Так, например, функция И для трех переменных имеет следующие нормальные формы:

1. Дизъюнктивная

*/= *1*2*3.

2. Конъюнктивная

*/= '(*1+ * 2 + *з) (*1 + * 2 + #з) (* 1+ * 2 + #з) X'

X (*1 + * 2+*з) (*1 + * 2 + *з) (* 1+ * 2 + *з) (* 1+ * 2 + *з).

Таким образом, одну и ту же функцию можно запи­ сать различными способами, но эти способы не всегда равноценны. Одна и та же функция может иметь беско­ нечное число форм записи. Среди этого множества форм существует минимальная. Вопросы минимизации функ­ ций алгебры логики достаточно сложны. Существует много методов минимизации [Л. 2-ь5]. В § 2 рассмо­ трен один из таких методов.

Рассмотренные выше логические функции зависят только от комбинации .переменных в данный момент 'вре­ мени. Для функций такого вида не важно, в какой 'по­ следовательности изменяются .переменные. Они назы­ ваются комбинационными функциями. Однако сущест­ вует и другой класс функций—(последовательностные. Значение последовательностной функции зависит от то­ го, какими были предшествующие комбинации перемен­ ных. Простейшим примером последовательностной функции является функция ПАМЯТЬ.

Функцию ПАМЯТЬ можно словесно описать следую­ щим образом.

11

Ёсли в момент времени t0 переменная *i = i, a x2=0, то y=i 1. Если в следующий момент времени *i = = 0, а Х2= 0, то у= 1, т. е. значение функции у остается тем же, в то время, жак комбинация х\ и х2 изменилась.

И только когда хд=0;

х2=1, у i= 0.

Основным отличительным признаком 'последователь­

ностной

функции является то, что время входит в нее

в виде

переменной.

Последовательностную функцию

можно описать при помощи так называемых таблиц со­ стояний, в которых фиксируются изменения функции при любом изменении переменных или при изменении поряд­ ка их появления.

Рассмотрим таблицу состояний для функции ПА­ МЯТЬ:

 

 

 

 

Та б л и ца 4

 

 

Х и ;

 

 

0,0

0,1

1,1

 

У

1,0

5,

S 2

S t

s,

1(S,)

S,

Sz

Ss

s,

0 (S2)

Пусть состояние Si соответствует значению у= 1, a S2 — значению у = 0. В средней части таблицы даны значения всех возможных комбинаций переменных хх и х2. Если в начальный момент времени функция у= 1 (S=Si), то при значениях переменных 00 она остается в том же состоянии, при *1 = 0; х2= \ она перейдет во 2-е состоя­ ние S2 (теперь за изменением функции нужно уже сле­ дить по нижней строке, соответствующей 2-му состоянию у = 0 (S2). Если затем *i = l, a-x2= l ?то функция остает­ ся в том же втором состоянии и, наконец, при *i = l; х2=0 вновь переходит в первое состояние. Изменение функции с помощью таблиц можно проследить, начиная с любого момента времени (с любых начальных значе­ ний переменных хи х2 и функции у), нужно только иметь в виду, что при изменении состояния дальнейшее слежение нуж;но вести по другой, соответствующей этому состоянию строке. Последовательностную функ­ цию можно записать как комбинационную, если ввести так называемую промежуточную переменную.

Например, для функции ПАМЯТЬ можно ввести промежуточную переменную /?, которая будет прини­

12

мать значение 1 или

0,

когда у I или

0. Тогда

у= (х{ + р)х2, где у=р.

Но

при этом нужно

учесть, что

р появляется через некоторое время после появления у, т. е. последующие значения промежуточной переменной равны исходным значениям функции. .

Отметим, что любая многотактная схема, реализую­ щая последовательностную логическую функцию, может быть построена с помощью полного набора логических элементов и элемента ПАМЯТЬ. В серию ЭТ включены логические элементы И, ИЛИ, ИЛИ — НЕ, ПАМЯТЬ (триггер), поэтому с их помощью могут быть реализо­ ваны любые однотактные и многотактные релейные устройства.

2. СИНТЕЗ ОДНОТАКТНЫХ ЛОГИЧЕСКИХ УСТРОЙСТВ *

Условия работы релейного устройства обычно зада­

ются

в виде так

называемой таблицы состояний

(табл.

5).

 

В этой таблице указаны значения всех п входных

переменных Х\xi0

(п=10) и значения выходной пере­

менной у (рассматривается схема с одним выходом). Состоянием устройства называется значение набора

входных переменных (х\—Хю) и соответствующее им

значение выходной величины у. Значение

** = 0 будем

обозначать х, а значение Xi= \ — через

х. Присвоим

каждой из входных переменных определенный вес, рав­ ный (Xi= 2i-1, где i— номер входной переменной. Каждое состояние релейного устройства будем обозначать деся­ тичным числом Sj, равным сумме весов а* переменных,

которые в этом состоянии принимают

значение

х*= 1.

По значениям yj = 0, у;= 1 таблица

делится

на две

части. В верхней части расположены состояния, для ко­ торых у = 1, назовем их рабочими, а в нижней части располагаются состояния, где у=0 (нерабочие состоя­ ния). В общем случае таблица может содержать 2п рабочих и нерабочих состояний. Однако обычно некото­ рые состояния являются либо безразличными, для кото­ рых несущественно значение у, либо неиспользуемыми, когда данные комбинации входных переменных по усло-

*

Настоящий параграф написан по просьбе авторов инж.

В М.

Копыленко.

13

 

 

 

 

 

 

 

 

 

 

 

 

Т абл и ц а 5

с

*10

*9

х 7

*6

* 5

* 4

* 3

*2

*1

У

 

°»

512

256

128

64

32

16

8

4

2

1

 

 

 

 

 

226

0

0

1

1

1

0

0

0

1

0

1

 

231

0

0

1

1

i

0

0

1

1

1

1

 

353

0

1

0

1

1

0

0

0

0

1

1

 

410

0

1

1

0

0

1

1

0

1

0

1

 

417

0

1

1

0

1

0

0

0

0

1

1

 

483

0

1

1

1

1

0

0

0

1

1

1

У*

490

0

1

1

1

1

0

1

0

1

0

1

 

498

0

1

1

1

1

1

0

0

1

0

1

 

670

1

0

1

0

0

1

1

1

1

0

1

ь

922

1

1

1

0

0

1

1

0

1

0

1

ь

926

1

1

1

0

0

1

1

1

1

0

, 1

 

158

0

0

1

0

0

1

1

1

1

0

0

 

194

0

0

1

1

0

0

0

0

1

0

1

 

282

0

1

0

0

0

1

1

0

1

0

0

 

394

0

1

1

0

0

0

1

0

1

0

0

 

402

0

1

1

0

0

1

0

0

1

0

0

 

481

0

1

1

1

1

0

0

0

0

1

0

?г'

482

0

1

1

1

1

0

0

0

1

0

0

ь'

487

0

1

1

1

1

0

0

1

1

1

0

 

671

1

0

1

0

0

1

1

1

1

1

0

 

702

1

0

1

0

1

1

1

1

1

0

0

 

734

1

0

1

1

0

1

1

1

1

0

0

 

738

1

0

1

1

1

0

0

0

1

0

0

 

виям работы не могут иметь места. Совокупность без­ различных и неиспользуемых состояний называется условными состояниями и не записывается в табл. 5.

В результате синтеза логического устройства должна быть получена схема, реализующая заданную таблицу состояний с помощью имеющегося набора элементов, с учетом свойственных ему ограничений, или соответст­ вующее логическое выражение.

Излагаемый ниже алгоритм синтеза минимальных структур обладает тем преимуществом, что, во-первых, в нем проводится оценка сложности получаемых реше­ ний на каждом из этапов, что позволяет приблизиться

14

к наиболее короткому решению*. Алгоритм рассмат­ ривается на примере набора элементов И, ИЛИ и НЕ или элементов ИЛИ—НЕ.

Введем следующие определения.

Определение 1. Два состояния называются соседни­ ми, если они отличаются значением одной и только одной из переменных (например, в табл. 5 соседними являются состояния 226 и 738, отличающиеся значением переменной Хю) .

Определение 2. Если рабочее состояние имеет сосед­ нее среди нерабочих, то переменная, по которой эти состояния соседние, является «обязательной буквой» для этих состояний. Обязательная буква не может быть вычеркнута из состава переменных, так как для данного состояния цепи, соответствующие оставшимся буквам, будут одинаковы для рабочего и какого-либо нерабочего состояний, что является недопустимым.

Рассмотрим, например, состояние 231 в табл. 5. Оно является соседним с нерабочим состоянием 487 по пере­ менной *9. Поэтому буква Я9(*9 = 0) в наборе букв со­ стояния 231 и буква *9(*9=1) в наборе букв состояния 487 являются обязательными.

Все обязательные буквы в таблице состояний будем подчеркивать.

Определение 3. Произведение обязательных букв одного состояния называется минимальным членом. Если произведение обязательных букв содержится в ка­ ком-либо другом рабочем йли нерабочем состоянии, то будем говорить, что соответствующий минимальный член реализует это состояние. Например, состояние 226

имеет

произведение обязательных букв X \OXQX6. Эти же

значения переменных содержатся в состоянии 231. Та­

ким

образом, минимальный

член

XWXQXQ реализует

состояния 226 и 231. При этом:

 

 

 

а)

если состояние, в котором содержатся эти буквы,

является рабочим (нерабочим)

и ни одно из нерабочих

(рабочих)

состояний не содержит такого

же сочетания

этих

букв

(т. е. не реализуется

этим

минимальным

* Алгоритм разработан инж. В. М. 'Копыленко под руководством чл.-корр. АН СССР М. А. Гаврилова и является развитием ранее предложенного метода узловых таблиц состояний (М. А Гаври­ лой) и (в первой своей части) — метода выделения обязательных букв ц минимальных членов (В. П. Диденко).

16

членом), то такой член называется минимальным чле­ ном ядра (МЧЯ) (например, в табл. 5 минимальный член *10*7*6*1, который содержится в рабочем состоянии 670 и реализует рабочие состояния 922 и 926, является МЧЯ, так как он не реализует ни одного нерабочего состояния). Будем в дальнейшем обозначать минималь­ ные члены ядра буквой ф с соответствующим порядко­

вым индексом;

состояние,

которое

содержит

минимальный

б)

если

член,

является

рабочим

(нерабочим), но

этот член,

кроме

того, реализует некоторые

нерабочие

(рабочие)

состояния, то этот член называется минимальным недо­ статочным членом (МНЧ) (например, в табл. 5 мини­ мальный член *8*5*4, который содержится в состоянии 410, является МНЧ, так как он реализует нерабочие со­ стояния 158, 671, 702 и 734). В дальнейшем будем обозначать минимальные недостаточные члены буквой Uc с соответствующим порядковым индексом.

Излагаемый ниже алгоритм содержит следующие операции:

1)выделение обязательных букв среди рабочих и нерабочих состояний;

2)выделение МЧЯ и состояний, которые ими реали­ зуются;

3)построение таблиц реализации структуры для

синтеза по рабочим или нерабочим состояниям; 4) определение неизбыточного подмножества МНЧ,

реализующих данную таблицу; 5) предварительная оценка сложности реализации

для каждой из таблиц п. 3 и выбор наиболее простой из них;

6)построение и реализация узловых таблиц состоя­

ний;

7)построение синтезированной схемы.

Рассмотрим каждую из нижеперечисленных опера­ ций в отдельности.

1. Выделение обязательных букв. Из определения следует, что если из двух соседних рабочих и нерабочих состояний удалить обязательную букву, то значения остальных букв в этих состояниях будут совпадать.

Отсюда вытекает один из способов определения обязательных букв: в таблице состояний закрывается полоской из бумаги столбец, соответствующий одной из

16

переменных (хи х2у ..., хп). После этого проверяют, не совпадают ли значения остальных переменных какоголибо рабочего состояния со значениями переменных какого-либо нерабочего состояния. Если это имеет место, то закрытая переменная является обязательной для этих состояний, ее подчеркивают и закрывают другую переменную и т. д. до тех пор, пока не будут рассмотре­ ны все переменные.

Например, если в табл. 5 закрыть столбец, соответ­ ствующий переменной хи то значения остальных пере­ менных в состояниях 670, 671 и 483, 482 попарно совпа­ дают. Поэтому значение переменной хх в этих состоя­ ниях подчеркнуто. Аналогично определены и другие обязательные буквы, которые в этой таблице подчерк­ нуты.

Более простым является определение обязательных букв при помощи специальных таблиц (см. «Таблицу соседних состояний», Изд. ИАТ АН СССР, 1965 г.).

Если в таблице состояний нет ни одной обязательной буквы, то п. 2 алгоритма не выполняется, а п. 3 выпол­ няется в соответствии с п. 8, изложенным ниже.

2. Выделение МЧЯ- На основании определения 3 вы­ деляется МЧЯ. Состояния, которые содержат МЧЯ или реализуются ими, отмечаются буквой ф г(/< 1< /) (где

/ — число МЧЯ).

Например, в табл. 5 среди рабочих состояний выде­ лены МЧЯ Фь Ч>2 и фз, а среди нерабочих —|ф'ь ф'г (реализуемые этими членами состояния отмечены с пра­ вой стороны таблицы простановкой соответствующих символов МЧЯ). Отметим, что МЧЯ входит во все ва­ рианты минимизированной структуры релейного устрой­ ства.

3. Построение таблиц реализации. Таблица реализа­ ции строится для оставшихся нереализованных после выделения МЧЯ состояний и представляет собой табли­ цу, в столбцах которой указаны все не реализованные МЧЯ состояния таблицы состояний, а строкам — все минимальные недостаточные члены (табл. 6). В таблице проставляются крестики только в столбцах, соответст­ вующих состояниям, которые реализуются данными минимальными недостаточными членами (МНЧ). На­ пример, строка, соответствующая МНЧ *8*5*4, имеет крестики в столбцах, соответствующих состояниям

2-2507

17

'•эо

Та б л и ца 6

 

а)

Доопределенная функция

1

 

 

 

 

 

 

 

 

 

 

 

Число

 

 

 

 

 

 

 

 

Состояния

 

 

 

 

реализо­

 

 

 

 

 

 

 

 

 

 

 

 

ванных

 

 

мнч

 

 

 

 

 

 

 

 

 

 

состояний

N,

 

 

 

 

 

 

 

 

 

 

 

ра­

 

 

 

 

рабочие

 

 

нерабочие

 

 

не­

 

 

 

 

 

 

 

 

бо­

рабо­

 

 

 

 

 

 

 

 

 

 

 

 

 

чих

чих

 

 

2

 

3

 

 

 

 

4

 

 

 

5

6

7

8

353

410

417

490 498

158

194

282 394 402 481

482

487

671

702 734

738

 

 

 

и

Х8

+

 

 

 

 

+

 

 

 

 

1

1

2

5

V

 

 

 

+

 

 

+

 

 

+

+

+

1

4

 

 

X

■и

*7

 

*

+

 

+

+

+ +

+

+

 

2

6

7

7,1

V

 

 

 

*

 

+

+

+

+

+

+

+

2

6

7

7,1

V

h

* 4

 

+

 

 

+ +

+

+

+

+

+

2

6

8

9,5

V

h

* 5

1

4

1

1

1

 

 

 

 

 

 

 

S/7Zi = =28,7

 

 

 

1

3

1

1

1

 

 

 

 

 

 

 

S(/t+ l)= 1 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

р=40,7

 

ю

*

я

функция

 

ределеннаДооп

мнч

 

 

 

1

2

*_Ю £в

*5

х4

их 9х 3 х4

*6

х7

их1о

h х6

Продолж ение табл. &

б)

 

 

Число

 

 

Состояния

 

реализо­

 

 

 

ванных

 

 

 

 

состояний

Ni

т.

 

 

ра­

не­

 

 

рабочие

нерабочие

бо­

рабо­

 

 

 

 

чих

чих

 

 

3

4

5

6

7

8

226 231 353 410 417 483 490 498 670 922 926 158 194 282 394 402 487 671 702 734 738

+

+

+ +

+

+

+

+

 

 

+

 

+

+

 

+

+

+

+

+

+

+

+

+

+

 

+

+

+

+

+

+

+

+

+

+

+

+

+

+

 

+

+

+

 

 

+

 

 

 

 

 

 

+

+

+

+

+

+

 

 

 

 

8

6

 

 

X

 

 

 

 

+

 

 

 

 

 

 

 

1

1

 

 

X

 

 

 

+

 

+

 

+

 

 

 

+

6

4

 

 

X

 

 

+

+

 

 

+

+

 

 

 

+

6

3

2

6

X

 

 

 

 

 

 

+

+

 

 

 

1

1

V

 

 

 

 

 

 

 

+

+

 

+

4

2

 

 

X

 

 

 

+

 

 

 

+

 

+

7

3

 

 

X

+

+

+

 

 

 

+

*

+

+

6

4

7

7,9

X

 

 

 

 

 

*

+

3

4

V

+

+

+ +

+

+

+

+

7

+

2

+

5

4

7

11

13,7 V

 

 

2

5

3

3

3

3

3

 

E/?Zi= 27,,3

 

 

 

1

4

2

2

2

6

3

2

3

5

 

 

 

= 9

 

 

 

S (/»+ !) =

 

 

 

1

4 2

2

2

5

3

1

3

4

 

S = 1

 

 

 

 

1

3

2

2

1

4

3

1

3

3

 

/7=37,3

 

 

 

 

1

2

2

1

1

3

3

1

3

2

 

 

 

 

 

 

 

1

1

2

1

1

2

3

1

2

1

 

 

 

 

 

 

 

1

1

2

1

1

1 2

1

2

1

 

 

 

 

 

 

 

1

1

1

1

1

1

2

1

2

1

 

 

 

 

 

табл. 5 с номерами 410, 158, 671, 702, 734, где *8=1,

* 5 = 1 , * 4 = 1 .

Построение структуры релейного устройства может проводиться как по рабочим, так и по нерабочим состоя­ ниям. В первом случае минимальные члены должны реализовать все не реализованные МЧЯ рабочие состоя­

ния, а во втором случае — все

нерабочие состояния.

Будем называть ту часть таблицы

(т. е. часть, содержа­

щую рабочие или нерабочие состояния), по которой проводится синтез, «реализуемой частью», а другую часть «нереализуемой частью». Так как в общем случае сложность реализации по рабочим или нерабочим со­

стояниям различна, то следует

провести

предваритель­

ную

оценку

сложности

реализации

для

обоих

этих

вариантов. Для этого необходимо, прежде всего, по­

строить для каждого из них в отдельности таблицу реа­

лизации (для реализации по рабочим

состояниям —

табл. 6,а и для реализации по нерабочим

состояниям —

табл.

6,6). В нижней строке таблицы

для

каждого из

столбцов записывается число проставленных в нем кре­

стиков, а с правой стороны таблицы

(столбцы 5

и 6)

для

каждой

строки в

отдельности — число

крестиков

в рабочих и нерабочих состояниях.

 

есть

столбцы,

Если в реализуемой

части таблицы

которые имеют один крестик, то строки, которые содер­

жат

такие

крестики,

следует

отметить.

 

Например,

в табл. 6,а строки, соответствующие МНЧ я8, х 7, *4 и *5, имеют единичные крестики соответственно в состояниях 353, 417, 490 и 498, эти строки отмечены в таблице зна­ ком V.

4. Определение неизбыточного подмножества МНЧ.

Из неотмеченных в п. 3 строк выбирается такая, которая имеет наибольшее число крестиков в нереализуемой части таблицы. Если таких строк несколько, то выбира­ ется та, которая имеет наименьшее число крестиков в реализуемой части. Выбранная строка зачеркивается (зачеркнутые строки обозначены сбоку таблицы знаком «косой крест») и заново подсчитывается число остав­ шихся крестиков в столСщах реализуемой части. Если после вычеркивания строки появились единичные кре­ стики в каких-либо столбцах, то строки, содержащие их,

отмечаются

знаком

V. Среди

оставшихся

строк

по тем же

признакам

выбирается

следующая

строка,

20

Соседние файлы в папке книги