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

книги / Синтез принципиальных схем цифровых элементов на МДП-транзисторах

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

переменная схемотехнически реализуется с помощью тран­ зисторов и связей Между ними. Следовательно, модель харак­ теризует в первую очередь структуру схемы, ее упорядочен­ ность [8] и непосредственно не характеризует ее электриче­ ских характеристик. Поэтому, чтобы оптимизировать рас­ ширенную логическую или схемотехническую формулу по электрическим характеристикам, необходимо найти по край­ ней мере качественное соответствие между структурой мо­ дели и электрическими свойствами схемы. Рассмотрим этот вопрос применительно к сформулированным целям оптими­ зации.

Минимизация числа транзисторов сводится к минимиза­ ции логического выражения, по числу входящих в него пе­ ременных. Зтот критерий использовался и при логическом синтезе элементов [8, 16, 28]. Однако при схемотехниче­ ском синтезе появляется ряд особенностей. Чтобы получить схгмы «без отношения» с минимальным числом транзисто­ ров, следует найти все тупиковые дизъюнктивные нормаль­ ные формы функций /Сх (F) и /С0 (F), а среди них — мини­ мальные. Объединение в одной РЛФ минимальных выра­ жений для K i (F) и К 0 (F) позволяет построить схему с ми­ нимальным числом транзисторов.

Чтобы получить схему «с отношением» с минимальным числом транзисторов, следует сравнить минимальные ту­ пиковые дизъюнктивные нормальные формы К{ (F) и /С0 (F) по числу переменных и их отрицаний и выбрать ту, которая содержит минимальное число букв. Расширенная логиче­ ская формула для такой схемы записывается в соответствии с (1.19).

Для получения схемы смешанного типа следует соста­ вить специальную импликантную матрицу покрытий и со­ стязаний (см. § 2.3) и определить такое покрытие кбнституёнт из {/Сх} и {Ко} импликантами, которое содержит мини­ мальное число букв, а числошаборов входных переменных, на которых возникают состязания информационных сигна­ лов, не превышает заданного. В схемах смешанного типа число транзисторов, как правило, меньше, чем в аналогич­ ных по функциям схемах «без отношения». Абсолютно ми­ нимальная по числу транзисторов схема с заданной функ­ цией получается после сравнения РЛФ для схем трех клас­ сов.

Собственное быстродействие ЛЭ на МДП-транзисторах зависит от времени перезаряда емкостей областей стоков и истоков транзисторов, а также от эквивалентной удельной крутизны транзисторов, определяющей ток заряда этих ем-

костей. Минимальными суммарными емкостями стоков и истоков при прочих равных условиях обладают инверторы так как они содержат минимальное число транзисторов, а следовательно, и минимальное число областей стоков и истоков, емкости которых перезаряжаются при переключе­ нии. В сложных ЛЭ на МДП-транзисторах их собственное быстродействие можно повысить, уменьшив общее число транзисторов, увеличив число транзисторов, обеспечиваю­ щих выполнение заданной функции, стоки, истоки и подлож­ ки которых подключены к шинам с постоянными потенциа­ лами (в этом случае ейкости областей стоков и истоков не перезаряжаются в процессе переключения), уменьшив чис­ ло соединений областей стоков и истоков транзисторов на ярусах, близких к выходу цифрового элемента, и увеличив число соединений таких областей на ярусах, близких к общей шине и питания (в этом случае задержка переключе­

ния собственных

внутренних емкостей

в элементе при

интегральном исполнении

уменьшается).

 

Следовательно,

структура ЛЭ. должна

быть упорядоче­

на таким образом,

чтобы

максимально

возможное число

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

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

Процедура упорядочения сводится к следующему: находятся минимальные тупиковые дизъюнктивные нор­

мальные формы

(МТДНФ)

К г (F) и /С0 (F);

строятся две

матрицы

инцидентности 18] для К г (F),

К 0 (F), каждому

столбцу

которых

соответствует перемен­

ная или ее отрицание, а

каждой

строке — импликанта,

входящая соответственно в МТДНФ K i (F) и МТДНФ Ко (F)\ находится множество покрытий переменными и их от­ рицаниями матриц инцидентности; выбираются те покрытия, которые имеют минимальное число элементов и включают простые логические переменные и их отрицания, покрываю­ щие максимальное число импликант; назовем эту операцию «взвешиванием» [8] первого яруса расширенной логической

и схемотехнической, формул;

на основе соотношений (1.23)—(1.25) функции K i ( F ) и К * Л П разлагаются по переменным, выбранным на пре­ дыдущем шаге;

определяется множество новых функций, входящих в конъюнкции с переменными, выделенными для взвешива­ ния первого яруса K l (F) и К 0 (F);

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

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

Так как на каждом шаге для взвешивания яруса выбира­ ется минимальное покрытие, то максимальным числом пере­ менных оказывается взвешен последний ярус, а это соот­ ветствует тому, что максимально возможное число транзи­ сторов будет подключено к одной из шин и минимальное число — к выходу схемы. После упорядочения записывает­ ся РЛФ, а по ней СФ, обеспечивающая реализацию схемы с минимизированным собственным временем переключения.

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

Упрощение схемы, внутрисхемной коммутации и улуч­ шение топологии связано с ее симметрированием по отноше­ нию к входным управляющим сигналам. Такая проблема возникает только в схемах на дополняющих транзисторах. Назовем схему симметричной по отношению к управляю­ щим сигналам, если она содержит одинаковое число п- и р- канальных транзисторов и на каждую дополняющую пару транзисторов подается один управляющий сигнал. Приме­ ром симметричных схем являются типовые элементы М И—НЕ, М ИЛИ—НЕ. Нетиповые схемы, выполняющие сложные функции, таким свойством не обладают.

Задача симметрирования

РЛФ и упорядочения перемен­

ных входящих в Ki (F),

Ко

(F), для

реализации схемы фор­

мулируется

следующим

образом:

упорядочить функции

K i (F) и Ко

(F) таким образом, чтобы элементы покрытия

П1Ь функции K i (F) на каждом ярусе содержали максималь­ ное число переменных, инверсных переменным, являющим­ ся элементами покрытия По*, функции Ко (F) на том же ярусе. Формула (1.5) доказывает справедливость такой по­

становки задачи, так как устанавливает соответствие меж­ ду управляющими сигналами, подаваемыми на п- и р-ка- нальные транзисторы.

Процедура такого упорядочения сводится к тому, чтопри выборе покрытий, взвешивающих каждый ярус функций Ко (F) и K i (F), множество покрытий,- например, Пц. ин­ вертируется и сравнивается с покрытиями По*.- В качест­ ве взвешивающих ярусы выбираются такие покрытия, ко­ торые имеют максимальную мощность множества f) Пог..

Минимизация потребляемой в статическом режиме мощ­ ности сводится к синтезу.РЛФ для схем «без отношения». В этом случае потребляемая мощность определяется только токами утечки и напряжением питания.

При схемотехническом синтезе часто целесообразно ог­ раничить число последовательно соединенных транзисто­ ров в ветвях, соединяющих выход схемы с источниками ин­ формационных сигналов. Это равносильно ограничению чис­ ла ярусов, на которые раскладываются функции K i (F), Ко (F). Учет такого ограничения приводит к замене одно­ каскадной реализации элемента многокаскадной. Каскади­ рование применяется также для минимизации числа цифро­ вых элементов при реализации семейства логических функ­ ций [6, 15, 421, для повышения быстродействия и уменьше­ ния площади на кристалле при реализации многоярусных элементов в микросхемах. Сущность традиционной декомпо­ зиции логической функции на каскады заключается в пред­ ставлении ее в скобочной форме. Каждая скобка реализует­ ся с помощью типового ЛЭ, выходная функция получается объединением сигналов, поступающих с этих элементов-Этот же способ использован И. И. Шагуриным при синтезе прин­ ципиальных схем на биполярных транзисторах [36]. До­ полнительные каскады вводятся при преобразовании управ­ ляющих сигналов, взвешивающих один или оба информа­ ционных сигнала [0] и /или [1].

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

Информационный

 

 

Результирующий сигнал

сигнал

[i]

x t

[0] X,

I

[X] X,

 

11)*1

11]

XjXa

Ы] x a

 

[X] Xa

[0] Xi

10]

З Д

Ы] x a

 

Ы] Xa

M Xi

Ы]

Xxx 2

Ы) Xa

 

[к] (Xi*f-X2}

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

Пример. Пусть

Z (F) = [1] Х,ХаХ3Х4 + 10] (Xi + Ха + Xs + Х4).

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

РЛФ 1 (F ) = [1] Х г У + [0] ( X i + Х 2 + Х 3 + Х4). Вводится но­

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

cx>)=inÂf р.+10](Тг+ ХЗ+ХЗ+ ж»-

Следовательно, необходимо сформировать управляющую функцию

У = X \ X BXit чтобы на выходе основного элемента получить зна­ чение логической 1. Рис! 2.1 иллюстрирует выполненные преобра­ зования.

Число ярусов т я (/Ci), т п (/Со), на которые

разлагают­

ся функции K i (Z7), Ко (Z7), определяет ‘число

последова­

тельно соединенных транзисторов при их реализации. Пусть

то — допустимое с точки зрения

быстродействия

(при за-

 

 

 

. инп

ц

 

 

 

 

lE

-

 

 

 

У

Рис. 2.1. Использо­

ъ

 

 

n

 

lï±

вание

каскадного

 

Ig

 

р

соединения элемен­

I

11

тов с целью повы­

J g ^

шения

быстродей­

Ir; JE Je;

JE

ствия:

 

ЛЭ;

J4

 

 

а — исходный

h

 

б — каскадное

сое­

h 'V * i

 

динение

данной емкости нагрузки С„ и занимаемой площади) число ярусов в ЛЭ. Тогда при

(гая {Ki) > то) V И я ( К о ) > то)

однокаскадная реализация элемента «без отношения» не­ целесообразна, и функция F преобразуется к виду, допус­ кающему многокаскадную реализацию.

Если

(тя {/СО > тб) ф ‘( т я (Ко) >

то) = 1,

(2.1)

где знак ф

означает сложение по mod 2, т. е. число ярусов

разложения

только одной

функции

[К\ (F) или Ко (Z1)]

превышает то, то без преобразования F возможна реализа­ ция схемы «с отношением». Установочный уровень выбирает­ ся .из следующих условий: если т п (/Ci) < /по, а т п (/Со) >

>/по, то установочный уровень

[01; если т я (KÎ) > то,

а т я (Ко) то, то установочный

уровень 11]. При усло­

вии (2.1) в схемах «без отношения» необходимо преобразо­ вать управляющие функции: K i ( f ) > если т я ( К \ ) > т о ,’ К о (F), если т я (Ко) > то.

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

2.3. Пример синтеза оптимальной расширенной логической формулы

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

Пусть задана тупиковая форма функции

F = * i * sX4 +

* 2* 3* 4 +

* 2* з * 4 +

* i * 2* s* 4.

1, Найдем минимальные тупиковые дизъюнктивные нормальные

формы

(F),

Ко (F)i

 

 

 

 

Ki (F) =

XiXgXt + X2X 3X4 + X2X 3X4 +

X ^ X s X t ;

Ko (F) =

* i * 2 +

* 2 * 8 * 4 +

* 2 * 3 * 4 +

* 1 * 3*4

+ * 2 * 3 * 4 -

2, Построим

матрицы

инцидентности

для

Ki (F) и * 0 (F)

(табл.. 2.2 и 2.3).

©ценим число имплнкант, покрываемых каждой переменной, (цифры проставлены в каждом, столбце), и определим число импликант, покрываемых простыми переменными и их отрицаниями.

3, Найдем множество покрытий матриц инцидентности. Минимальные покрытия для Ki (F):

Пц = (* 8, *а), Я19= {*4, * 4], Пи = (*i, * а).

 

 

Импликанты

 

 

 

А.

Ха

х ,

X,

X.

х ,

 

 

 

 

 

0

 

1

0

0

0

1

0

1

 

 

* 2 * 8 * 4

 

Ô

 

0

0

1

0

1

1

0

 

 

* 2 * 3 * 4

 

0

 

0

0

1

1

0

0

I

 

* 1 * а * 8 *4

0

 

1

1

0

г?

0

1

0

 

 

1

 

Сумма покрытий

0

 

2

1

2

2

2

2

2

 

импликант

 

 

 

 

 

 

 

 

 

 

 

Минимальные покрытия для Ко (F):

 

 

 

 

#0,

=

{А|,

А2,

А2},

П02 =

{А2, Ад» А3},

 

 

 

 

# 0 3

=

{А2,

А2,

А4}, # 0 4

=

{Ад,

Ag,

А^*

 

 

 

 

# 0Б

=

{A 3 ,

A g ,

 2},

#ов =

{A4, A4, А^},

 

 

 

 

# 0 7

=■

{А4,

А4,

Ад},

# 0 8

==

{A3,

A4j

Aj},

 

 

 

 

 

4.

 

В качестве кандидатов для взвешивания первого яруса следует

выбрать такие Пц, # 0^, которые покрывают своими элементами соот­ ветственно импликанты из Кг (F) и /С0 (F) минимальное число раз. Это приводит к уменьшению числа транзисторов, необходимых для реализации импликант, покрываемых элементами из # Xf, # 0; более одного раза, а также при прочих равных условиях к уменьшению числа ярусов.

Составим таблицы покрытий импликант из Ki (F), Ко (F). Для

покрытий riii (табл. 2.4) каждая строка таблицы покрывается только один раз. Поэтому все покрытия являются равнозначными для взвешивания первого яруса. Из табл. 2.5 следует, что для Ко (F)

минимальными и равнозначными

покрытиями,

имеющими

мини-

Т а б л и ц а 2 .3

 

 

 

 

 

 

 

 

Импликанты

X,

X,

х.

х*

*.

X,

X.

Х4

* i * L

1

0

1

0

0

0

0

0

*2 * 3 *4

0

0

1

,0

1

0

0

I

* 2 * 3*4

0

0

0

1

1

0

1

0

* i *3 *4

1

0

0

0

0

1

0

1

* 2 * 3 * 4

0

0

1

0

0

1

1

0

Сумма покрытий

2

0

3

1

2

2

2

2

импликант

 

 

 

 

 

 

 

 

 

 

 

 

 

 

мальное число суммарных

по­

 

 

 

п „

 

П,.

крытий

всех

импликант,

яв­

 

 

 

 

ляются П01, П02, /703, Я01,

 

 

 

х ,

Х4

х7

Пов, П08. Однако каждое такое

Имплнквнты

покрытие имеет

импликанту,

из

К 1

(F)

т,

Z .

XI

которая

дважды

 

покрывается

 

 

 

элементами из П0).

по­

 

 

 

 

 

 

Выбор

наилучшего

* i

*

3* 4

1

1

I

крытия

среди

равнозначных

направлен на

уменьшение чис­

* 2 * 3 * 4

1

1

1

ла переменных

в разложении

функции К± (F), /С0 по эле­

* 2 * 8 * 4

I

1

1

ментам

покрытия.

Для этого

* , * 8* з * 4

1

1

1

следует выбрать покрытие, ко­

торое покрывает

более одного

 

 

 

 

 

 

раза

импликанту с минималь­

риваемом примере ето

 

 

ным числом букв.

В рассмат­

Я0ц так как его элементы

дважды покры­

вают импликанту. Таким образом,

первый ярус можно взвесить од­

ним из трех множеств покрытий: {Пц, Л^},

{Л12, Я01}, {Л13, Я01}«

В

качестве дополнительного условия,

которое следует прини­

мать во внимание при выборе покрытия для К± (F) и /С0 {F), можно использовать число общих переменных и их отрицаний, входящих в Пц%Л0^Например, для симметрирования на каждом ярусе схемы, реализуемой на КМДП-транзисторах, необходимо для взвешивания каждого яруса выбирать такую пару покрытий Пц, Il0j , в которую

входитмаксимальное число

переменных

в

дополняющих

кодах.

5.

Сравним покрытия для /Сх (F)

и

/С0 {F) и определим те из

них, которые обеспечивают

симметрирование схемы на

первом

ярусе.. Для этого следует:

упорядочить элементы в каждом покрытии по возрастанию номеров переменных;

проинвертировать переменные в одном из множеств покрытий (Я* или Я0);

Таблица 2.5

П01 По1 поа П04 П08 По§ П0у П0а

Импликанты из К0 (F)

х ,

Xi

х,

X,

 

 

X,

X,

X.

X,

X,

X.

X4

X,

X,

X,

X.

X 4

х.

X,

X.

X,

X,

Хг

X,

X,

 

1

 

 

 

 

*1*2

2

1

1

1

1

1

1

1

*2*8*4

1

1

2

1

2

1

2

1

*2*8*4

1

1 .

1

1

1

1

1

2

*1*3*4

1

1

1

2

1

2

1

I

*2*3*4

1

2

1

1

2

1

2

1

Сумма покрытий

6

6

6

6

7

6

' 7

6

импликант

 

 

 

 

 

 

 

 

ПххПох

ПйП02

ПцПоз

ПцП04

ПххПов

ПххП03

0

1

0

2

0

1

Яха^о!

П12П02

Пх2П03

П12П04

П12По#

Пх2П08

0

0

1

0

2

1

Пх8П0х

Пх3П02

ПхзП03

П13П04

Пх3П0»

П18По8

2

1

1

1 -

1

1

определить число пересечений элементов каждого покрытия для Ki (F) и К0 (Fу,

выбрать покрытия с наибольшим числом пересечении, что сви­ детельствует о наибольших возможностях симметрирования дан­ ного яруса по входным логическим переменным»

Выполним приведенную последовательность действий. В ре­

зультате упорядочения

 

и инвертирования элементов покрытий для

Ki (F) получим

 

 

 

 

 

Пц =

{Х3, Х 3}, Я

 

42 = {Х4, Х4}, Пц =

 

{Хх» Xj};

/ 7 o i = { X i

,

X 2 i X 2 } ,

Я 02 = { X 2 , X 2 , Х 3} ,

Я 23 =

{ X 2 , . X 2 , X 4} |

Я 04 =

{ X

l t

X 8 , X 8

}

, n oa = {Xif X 4 , X 4 } ,

Я

08 =

{Xu X it X 4 } .

В табл. 2.6^yказано число пересечений элементов, входящих в

покрытия Пц и По). Множества покрытий, которые обеспечивают наибольшее симметрирование схемы на первом ярусе: {Пц, Я,,*}, ~{Лц> Я01}, {Я12, Пов}. Множества, минимизирующие число букв в разложении функций Ki (F), К0 (F), которые были получены в п. 4:

{Яц,

Пц}, {Я12, Яо1},

{Я13, /701 }- Отметим, что множество {Пц,

Я о х )

одновременно минимизирует число букв и симметрирует схему.

Если для функции

F такого множества не найдется, то сле­

дует, пользуясь таблицей пересечений элементов Пц и П0), выбрать такое множество, каторое дает максимальное число пересечений,

6. Выберем в качестве покрытий, взвешивающих первые ярусы

Ki (F)

и Ко (F), покрытия Я13

и Я0х.

 

разложим функцию

7. Пользуясь соотношениями^.23) и (1.24),

Ki (F) по переменным Ях_а_= {Хх, Х2}, а функцию

Ко (F) — по

переменным Я01 {Хх, Х2, Х2}.

В результате

получим

Ki {F) =

Хх (Х3 Х4+ Х 2 Х8 Х4) + Х 2 (Х3 Х4 + Х3 Х4) =

 

где

= Х 3Х4-)-Х2Х 3Х4;

^ =

X 3X4 -f- Х 3Х4;

 

Ко {F) = XiQC3 JQ +

Х2 ( Х 8Х 4+

Х 8Х

4) +

Х 2 3 Х 4) + Хх х 2= .

= Х х ( Х 2+ Х з Х 4 ) +

х 2 ( Х 3 Х 4 +

* S X J +

Х 2 ( Х 3 Х 4 ) =

 

*=Xi •

+ х г •KQXt-f Хг• Kfâa,

 

 

 

 

где K0Xt = Ха+ Х 3Х4; Х0Л, -

Х3Х4+ Х 8Х ,;

KQXt -

Х*Х4.

8 . При реализации схем общее число транзисторов уменьшится!

если на первом и последнем ярусах через эти транзисторы проходит большое число ветвей. Это равносильно тому, что имеются общие переменные X*, которые входят в импликанты функций, полученные после выбора элементов покрытия, взвешивающих первый ярус. Действительно* покрытие всех функций Кхх. минимальным числом

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

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

К -

и К —, Для

разложения

(F) и три функции К v » К

 

1^|

1^2

, К — для разложения

 

0л1

\ з Х г

ОХ г

 

/(о (f). Определим переменные, которыми целесообразно взвешивать

последние ярусы функций Ki (F) и /С0 (F).

Для этого

Найдем покрытия множеств функций {/С1Л },

составим обобщенные матрицы инцидентности (табл, 2.7 и 2.8), стро­ ками одной из которых являются все имликанты, входящие в функ­ ции строками другой — все импликанты, входящие в

{*0Л|>, Столбцами матрицы являются переменные и их отрицания.

9, Определим множества покрытий обобщенных матриц инцидент­ ности, Минимальные покрытия этих матриц содержат минимальное число элементов. Обозначим /7*j и покрытия множеств {/ClX. }

и {/CoXf}

на последнем ярусе, Из табл. 2.7 и 2.8 следует, что мини­

мальные

покрытия множеств

}, {КоХ.}:

n j lS={X s. *з}, П? 2 = {Х4, X J,

*»,*«}, П$2 = {*г, X4,ÂJ.

10.Определим число покрытий элементами, входящими в П\ь

Щи импликант функций KiX , ХоХ^. Для этого строим табл. 2.9

Таблица 2.7

Функция

Импликанты

 

Л,

xl

*4

Ха

 

x i x ;

0

0

1

0

1

*1Л,

 

 

 

 

 

 

x 2x3x t

Т3х4

1

г

0

1

0

0

0

1

1

0

к IX,

Х 3 Х 4

0

1

0

0

1

Сумма покрытий импликант

1

2

2

2

2