3595 ЭЛЕМЕНТЫ И ФУНКЦИОНАЛЬНЫЕ УЗЛЫ КОМБИНАЦИОННЫХ И ПОСЛЕДОВАТЕЛЬНОСТНЫХ УСТРОЙСТВ

1. КОМБИНАЦИОННЫЕ  СХЕМЫ

 

1.1. Основные аксиомы, теоремы и тождества алгебры логики

Методы синтеза и анализа всех классов цифровых схем построены на базе алгебры логики, которая является основным математическим аппа­ратом описания и преобразования структуры цифровых схем [1].

В алгебре логики рассматриваются переменные, которые могут принимать только два значения: 0 и 1 (например, 0 – событие не происхо­дит, 1 – происходит; 0 – ложное высказывание, 1 – истинное; 0 – низкий уровень напряжения, 1 – высокий; 0 – разомкнутый контакт, 1 - замкну­тый). Значения переменных не отображают каких-либо количественных значений, а имеют лишь  символическое значение.

Основные соотношения алгебры логики приведены в табл. 1.            В справедливости приведенных соотношений можно убедиться, используя метод перебора. При преобразовании логических выражений, как и в обычной алгебре, должен соблюдаться порядок выполнения операций (по­рядок старшинства операций) – сначала отрицание, затем конъюнкция и потом дизъюнкция. Приведенный порядок выполнения операций можно изменить и задать его с помощью скобок. В тождествах (9.1) – (12.2) пра­вая часть проще левой, поэтому их можно использовать для упрощения сложных логических выражений.

Все тождества записаны парами на основании того, что по прин­ципу двойственности из одного тождества пары можно получить другое взаимной заменой операций дизъюнкции и конъюнкции, а также значений     0 и 1. Тождества (4.1) и (4.2) самодвойственны, так как они не изменяются по принципу двойственности.

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

Операция сумма по модулю два коммутативна, ассоциативна и дистрибутивна относительно операции конъюнкции.

 

Упражнения

Доказать истинность следующих утверждений.

1. = ( ).

2. .

3.  = ( )( ).

4. =  ( ) .

 

5. ( )( )( ) = .

6.  = a.

7.  = .

8.  = .

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

9. а) ,   б) , в) ,     г) .

10. а) ,    б) ,      в) ,

г) ,   д) ,   е) .

11. а) ,          б) .

12. .

13. .

 

1.2. Переключательные функции

Любое логическое выражение, составленное из n переменных с по­мощью конечного числа операций алгебры логики, можно рассматривать как некоторую функцию n переменных. Двоичная функция может прини­мать только два значения: 0 и 1 – в зависимости от значений переменных. Такие функции являются удобным инструментом для описания, анализа и синтеза переключательных схем (бесконтактных и контактных), поэтому они называются переключательными функциями (ПФ).

Для ПФ n переменных x0,…,xn-1 будем использовать обозначение       y (x0,…,xn-1). Совокупность значений переменных, в которой каждая пе­ременная может принимать значения 0 или 1, называется набором. Любая функция n переменных может быть определена на 2n наборах. Это следует из того, что каждому набору соответствует n-разрядное двоичное число, а количество различных двоичных чисел при n разрядах равно 2n.

Существуют несколько способов задания ПФ.

1. Табличный, когда функция задается в виде таблицы истинности (соответствия).  Таблица истинности  содержит  2n строк  ( по числу набо­ров), n столбцов значений аргументов и один столбец значений функции. В таблице каждому набору аргументов соответствует значение функции.

Таблица истинности  ПФ, значения которой соответствуют значени-

ям, принимаемым большинством переменных в наборе (функция голосования), определяет ПФ мажоритарного элемента “два из трех” (переноса двоичного разряда.

2. Координатный способ, когда функция задается в виде координатной карты состояний, например в виде карты Карно. Карта содержит 2n клеток по числу набо­ров значений переменных. Каждая клетка задается коор­динатами строки и столбца, соответствующими определенному набору. Все аргументы разбиваются на две группы так, что одна группа определяет координаты строки, а другая – столбца. Порядок записи значений переменных в каждой группе задается записью переменных в соответствующем порядке над столбцами и около строк. Кодовые комбинации, задающие координаты двух соседних столбцов (строк), соответствуют двум соседним кодовым комбинациям циклического кода Грея .Соседние

комбинации такого кода отличаются значениями только одной переменной. Значение функции на данном наборе проставляется внутри клетки (клетки, соответствующие нулевым значениям ПФ, часто в целях наглядности оставляют пустыми).

На рис. 1,а приведена карта Карно для ПФ мажоритарного элемента “два из трех”, заданной таблицей истинности 2, на рис.1,в – для ПФ компаратора. На рис.1,б,г в клетках проставлены их номера, соответству-

 

ющие номерам наборов.

Карты Карно являются важным средством проектирования логических схем. Особенность карт в том, что любые две соседние клетки отличаются значением какой-либо одной и только одной переменной. Эта особенность характеризует также клетки первой и последней строк, первого и последнего столбцов, поэтому такие клетки тоже можно считать соседними. Указанная особенность соседних клеток позволяет легко осуществлять упрощение ПФ посредством использования тождества склеивания.

3. Числовой способ, когда ПФ задается в виде десятичных номеров тех наборов переменных, на которых функция принимает значение 1. При этом следует учитывать, что  i-я  двоичная переменная имеет “вес” 2i. Например, приписывая переменным  x2,x1,x0 соответственно “веса”  22,21,20, в числовом виде ПФ рис.1,а будет задана как  y( x2,x1,x0 ) = ( 3, 5, 6, 7 ).

Можно использовать для задания функции десятичные номера наборов, на которых функция принимает значение 0. Та же ПФ (рис.1,а) в таком случае будет задана как  y( x2,x1,x0 ) = ( 0, 1, 2, 4 ).

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

При использовании всех n аргументов для записи алгебраического выражения существует две формы структурных формул.

Совершенная дизъюнктивная нормальная форма (СДНФ) представляет собой дизъюнкцию минтермов.

Минтерм (минимальный терм, конституента единицы) есть логическое произведение всех переменных ПФ для наборов, на которых ПФ принимает значение 1.Если в наборе переменная равна 1, то в минтерм эта переменная входит без инверсии, если равна 0 - то с инверсией. Например, если на наборе  x2 = 0, x1 = 1, x0 =1 ПФ принимает значение 1, то соответствующий минтерм m3 для третьего набора будет иметь вид  m3 =x1 x0 .

Пример: СДНФ для ПФ мажоритарного элемента (рис.1,а)

y= m3m5m6m7 (1)

Совершенная конъюнктивная нормальная форма (СКНФ) представляет собой конъюнкцию макстермов.

Макстерм (максимальный терм, конституента нуля) есть логическая сумма всех переменных ПФ для наборов, на которых ПФ принимает значение 0. Если в наборе переменная равна 1, то в макстерм эта переменная входит с инверсией, если равна 0 - то без инверсии. Например, если на наборе  x2 = 0, x1 = 0, x0 =1 ПФ принимает значение 0, то соответствующий макстерм  M1 для первого набора будет иметь вид  .

Пример: СКНФ для ПФ мажоритарного элемента (рис.1,а)

y =M0M1M2M4 =()()()().(2)

Минтермы (макстермы) называются соседними, если они отличаются формой представления только одной переменной (без инверсии, с инверсией). В примере (1) минтерм m7 является соседним по отношению ко всем остальным (m3, m5, m6). В примере (2) макстерм М0 является соседним по отношению ко всем остальным (М124).Признак соседства минтермов (макстермов) используется при применении закона склеивания (при минимизации ПФ с применением карт Карно).

Определение “совершенная форма” означает, что все минтермы или макстермы имеют одинаковую размерность (ранг), равную числу переменных n, от которых зависит ПФ.

Определение “нормальная форма” означает, что порядок логического уравнения не более двух. Порядок логического уравнения – количество последовательно выполняемых базовых операций алгебры логики при вычислении значения функции (операция инверсии в расчет не принимается). При реализации логических схем порядок ПФ определяет число каскадов логического преобразования входных переменных, необходимых для получения функции.

Можно привести и более простые алгебраические выражения для ПФ мажоритарного элемента (рис.1,а):

(3)

y = ()()() (4)

Способ их получения рассмотрен ниже.

 

1.3. Неполностью определенные переключательные функции

ПФ y(xn-1... x0) называется полностью определенной, если ее значения 0 или 1 заданы на всех 2n наборах. Если же значения функции не заданы хотя бы на одном наборе, то она называется неполностью определенной.

Значения функции могут считаться неопределенными, если:

а) в процессе работы логической схемы на ее входы никогда не подаются некоторые наборы сигналов, и, следовательно, функции  y в таких случаях можно приписать неопределенные значения; б) разработчика логической схемы не интересует, какое значение примет выходной сигнал при некоторых наборах входных сигналов; в) при некоторых наборах входных сигналов значения выходного сигнала логической схемы 0 и 1 вызывают один и тот же результат в логическом устройстве, для которого он используется в качестве входного.

На рис. 1,д приведена карта Карно для неполностью определенной ПФ. Функция не определена на двух наборах: x3 = 1, x2 = 0, x1 = 0, x0 = 1 и x3 = 0, x2 = 1, x1 = 1, x0 = 0. Не определенные значения функции обозначаются символом  или. Обозначенные такими символами клетки карты Карно будем называть факультативными.

Неполностью определенные функции можно доопределить произвольно , полагая y = 0 или y = 1.

 

Упражнения

Для заданной ПФ:    а) составить таблицу истинности;

б) получить СДНФ; в) получить СКНФ; г) построить карту Карно.

 

14. y( x2,x1,x0 ) = ( 0, 1, 2, 4 ).

15. y( x3,x2,x1,x0 ) = ( 1, 3, 5, 9, 11, 13 ).

16. y( x3,x2,x1,x0) = ( 0, 2, 7, 8, 10, 15 ) + ( 4, 5, 6,12,13,14 ).

17. y( x3,x2,x1,x0 ) = x3 x1 x21 x0 32 x1 x0 .

18. y( x2,x1,x0 ) = m0 m1 m2 m4 m5 .

19. y( x2,x1,x0 ) = M3 M6 M7 .

20. y( x2,x1,x0 ) = x1 x0 .

21. y( x2,x1,x0 ) = .

22. y( x2,x1,x0 ) =() .

1.4. Построение комбинационной логической схемы

по заданной переключательной функции

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

Например, для реализации выражения (1) требуются 3 элемента НЕ (для получения инверсий переменных - ), 4 трехвходовых элемента И  (для получения конъюнкций  - , , ,

) и 1 четырехвходовый элемент ИЛИ (для получения логической суммы перечисленных четырех конъюнкций). Для реализации выражения (3) требуются 3 двухвходовых элемента И и 1 трехвходовый элемент ИЛИ.

Сказанное приводит к выводу, что при прямом способе построения логического устройства на основе использования структурной формулы, сложность логического устройства определяется сложностью структурной формулы. Одна и та же ПФ может быть реализована устройствами, отличающимися как своей структурой, так и сложностью (числом логических элементов).

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

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

При прямом способе реализации ПФ (1), например, требуются логические элементы трех типов: НЕ, И, ИЛИ. Система логических элементов НЕ, И, ИЛИ достаточна для построения логических схем любой сложности. Такую систему называют функционально полной системой логических элементов (элементы НЕ, И, ИЛИ образуют основной логический базис).

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

зуют логический базис. Элементы НЕ и ИЛИ также образуют логический базис.

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

 

Элементы ИЛИ-НЕ, выполняющие операцию , также являются универсальными. Операции НЕ, И, ИЛИ выражаются через операцию ИЛИ-НЕ следующим образом:

 

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

1) получение структурной формулы в простейшей (минимальной) нормальной форме (МНФ); 2) преобразование МНФ к заданному логическому базису.

1.5. Минимизация переключательных функций

с помощью карт Карно

Задача минимизации структурной формулы ПФ состоит в том, чтобы получить логическое выражение в минимальной дизъюнктивной нормальной форме (МДНФ) или в минимальной конъюнктивной нормальной форме (МКНФ), соответствующее заданной ПФ и содержащее наименьшее количество инверсий, конъюнкций и дизъюнкций и наименьшее число переменных (или их инверсий), над которыми выполняются операции конъюнкции и дизъюнкции.

Суть минимизации ПФ заключается в использовании закона склеивания соседних минтермов, которым на карте Карно соответствуют клетки, заполненные единицами, или соседних макстермов, которым соответствуют нулевые клетки (пустые). Минимизация путем склеивания единичных или нулевых клеток карт Карно (диаграмм Вейча) при небольшом числе переменных выполняется просто и наглядно.

Введем понятие подкуба, которое используется в теории ПФ и их минимизации. Подкуб – это совокупность 2i соседних клеток карты Карно, заполненных единицами (нулями), для которых по крайней мере одна переменная в координатах всех этих 2i клеток имеет неодинаковые значения (0 и 1). Из определения следует, что подкуб могут образовать 2, 4, 8, 16 и т.д. соседних клетки карты.

Каждый 2i-клеточный подкуб позволяет при минимизации исключить i переменных – 1,2,3,4 и т.д. Действительно, подкуб, состоящий из двух клеток, соседних по горизонтали или вертикали (рис.2,а,б,в,г) характеризуется тем, что координаты его клеток различаются значением одной переменной, а остальные переменные имеют одинаковое значение. Переменная, значения которой для этих клеток различны (0 и 1), в соответствии

 

 

с законом склеивания исчезает. Четырехклеточный подкуб содержит клетки, координаты которых различаются значениями двух переменных (рис.3,а,б,в), следовательно, четырехклеточный подкуб позволяет исключить две переменные. Восьмиклеточный подкуб позволяет исключить три переменные (рис.3,г,д).

 

 

Все минтермы (макстермы), вошедшие в подкуб, склеиваются за один прием. Результатом склеивания таких клеток является получение конъюнктивного терма (если склеиваются единичные клетки) или дизъюнктивного терма (если склеиваются нулевые клетки).

Контерм (конъюнктивный терм) – результат склеивания соседних минтермов, входящих в подкуб (соседних единичных клеток). В алгебраическом представлении контерм - есть конъюнкция переменных, имеющих

неизменное значение в координатах строк и столбцов всех объединяемых клеток; если неизменное значение переменной в координатах равно 1, то в конъюнкции она записывается без инверсии, если равна 0 – то с инверсией.

На рис.2,а,б,в приведены примеры записи контермов для двухклеточных подкубов, а на рис.3,а,б,в,г,д – четырехклеточных () и восьмиклеточных ().

МДНФ – есть дизъюнкция контермов.

Пример: МДНФ для  ПФ  y9 (рис.3,е) как результат минимизации по единичным значениям функции имеет вид:

.             (5)

Дизтерм (дизъюнктивный терм) – результат склеивания соседних макстермов, входящих в подкуб (соседних нулевых клеток). В алгебраическом представлении дизтерм - есть дизъюнкция переменных, имеющих неизменное значение в координатах строк и столбцов всех объединяемых клеток; если неизменное значение переменной в координатах равно 1, то в дизъюнкции она записывается с инверсией, если равна 0 – то без инверсии.

Для ПФ  y9 (рис.3,ж) построенные подкубы имеют следующие дизтермы:

МКНФ – есть конъюнкция дизтермов.

Пример: МКНФ для ПФ  y9 (рис.3,ж) как результат минимизации по нулевым значениям функции имеет вид:

() () ().          (6)

Ранги контермов или дизтермов, которые входят в логическое уравнение МДНФ или МКНФ переключательной функции, в общем случае не одинаковы.

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

- прямоугольные области карты Карно, составляющие подкубы, могут состоять из 1, 2, 4, 8, 16 и т.д. только единичных клеток (при получении МДНФ) или только нулевых клеток (при получении МКНФ);

- для подкубов выбирается минимальный вариант их построения на карте Карно, при котором число подкубов минимально, а их размеры максимальны;

- клетки карты Карно могут неоднократно входить в разные подкубы, если это необходимо для увеличения их размеров и уменьшения их количества.

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

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

 

Формирование подкубов с включением в них факультативных клеток позволяет получать более простые, как правило, структурные формулы МДНФ или МКНФ. Минимизация функции , приведенной на рис.4,а, отличающейся от функции  (рис.3,е) только наличием факультативных клеток, показывает, что включение клеток со знаком  в подкубы позволяет получить выражение функции:

,                                 (7)

которое существенно проще, чем (5) или (6).

Существенное различие в сложности формул может иметь место и при минимизации неполностью определенной логической функции при использовании единичных клеток и нулевых клеток (МДНФ и МКНФ).

Для функции , приведенной на рис.4,б, объединение нулевых клеток в подкубы и дает минимизированное выражение (МКНФ):

= () (). МДНФ для функции (рис.4,в) сложнее: = .

 

Упражнения

Найти МДНФ и МКНФ для заданных логических функций, используя карты Карно.

 

23. y( x2,x1,x0 ) =  m1 m2 m5 m6 .

24. y( x3, x2,x1,x0 ) = m0 m1 m2 m3 m7 .

25. y( x2,x1,x0 ) = M3 · M5 · M6 · M7 .

26. y( x3,x2,x1,x0) = ( 0, 1, 2, 3, 7, 8, 9,11,12,13 ) .

27. y( x3,x2,x1,x0 ) = ( 0, 4, 5, 6, 7, 8, 9, 10 ).

28. y( x2,x1,x0 ) = ( 3, 5,) + ( 0, 7 ).

29. y( x3,x2,x1,x0) = ( 0, 4, 7, 11, 14 ) + ( 6, 8, 9,13 ).

30. y( x3,x2,x1,x0) = ( 5, 7, 9, 10, 11 ) + ( 2,13,15 ).

1.6. Нормальные формы логических уравнений.

Преобразование логических уравнений

к заданному базису

Если при проектировании логических схем предъявляется требование получения максимального быстродействия, логическая схема строится на основе представления ПФ в нормальной алгебраической форме.

Всего существует 8 нормальных форм представления ПФ. Получим их на примере проектирования мажоритарной логической схемы (мажоритарного элементы) “2 из 3”, пронумеруем и дадим символьное обозначение путем указания операций первого и второго этапов логического преобразования.

Таблица истинности для мажоритарного элемента приведена в табл.2, карта Карно на рис.5. МДНФ для этой функции является первой нормальной формой. Следующие три нормальных формы получим путем последовательного преобразования МДНФ с применением тождеств двойной инверсии и теоремы де-Моргана. МКНФ – пятая нормальная форма, остальные получены путем  ее преобразования.

=                       1)   И / ИЛИ

=      2)   И-НЕ / И-НЕ

=                                 3)   ИЛИ / И-НЕ

.                                    4)   ИЛИ-НЕ / ИЛИ

5)   ИЛИ / И

==

= =                       6)   ИЛИ-НЕ / ИЛИ-НЕ

==                                      7)   И / ИЛИ-НЕ

=.                                       8)   И-НЕ / И

При проектировании логических схем в зависимости от наличия определенного типа элементов (базиса) используется  соответствующая нормальная форма.

Существует несколько способов оценки сложности логических схем: сложность по Квайну, определяемая как суммарное число входов всех логических элементов; сложность, как число логических элементов; сложность  как  число условных стандартных корпусов микросхем.

Так, суммарное число входов логической схемы четвертого порядка (рис.6,в) равно 10, а логической схемы второго порядка (рис.6,б) – 12.

В общем случае быстродействие и сложность схемы (стоимость) жестко связаны, при проектировании логических схем можно “обменять” быстродействие на стоимость и наоборот.

Второй пример необходимости использования скобочной формы ПФ рассмотрим на примере проектирования мажоритарного элемента “2 из 3” в двух вариантах: когда допустимо использовать логические элементы И-НЕ с любым необходимым числом входов и когда можно использовать только 2-входовые логические элементы И-НЕ.

В минимальной ДНФ логическая функция мажоритарного элемента в базисе И-НЕ имеет вид

y = .                           (10)

Этому уравнению соответствует логическая схема второго порядка рис.7,а, в которой используются 2- и 3-входовые элементы И-НЕ.

Если для реализации схемы разрешается использовать только 2-входовые элементы И-НЕ, то уравнение (10) преобразуется в скобочную форму

y =,               (11)

которому соответствует логическая схема четвертого порядка рис.7,б, ко-

 

торая хуже схемы рис.7,а по характеристикам быстродействия и сложности. Ухудшение характеристик оправдывается только возможностью реализации схемы на заданных стандартных элементах.

 

Упражнения

31. Для каждой логической функции четырех переменных, заданной в МДНФ, найти возможную ненормальную (скобочную) форму. Сопоставить аппаратные затраты при реализации функции в МДНФ и в скобочной форме:

а) y = x3 x2 x0 x3 x1 x0 ;

б) y = ;

в) y = x3 x2 x0 x3 x2 x1 x3 x1 x0 x2 x1 x0 ;

г) y =

32. Задана логическая функция   y = x3 x2 x0 x3 x1 x0 . Определить порядок логической схемы, реализующей данную функцию, и оценить сложность схем при использовании:

а) нормальной формы логического уравнения И / ИЛИ;

б) двухвходовых элементов И, ИЛИ;

в) нормальной формы логического уравнения И-НЕ / И-НЕ;

г) двухвходовых элементов И-НЕ;

д) нормальной формы логического уравнения ИЛИ-НЕ / ИЛИ-НЕ;

е) двухвходовых элементов ИЛИ-НЕ.

 

1.8. Комбинационные схемы

Логическая схема (рис.8) с n входами и k выходами реализует систему переключательных функций  y0 ...yk-1. Каждая функция yi (x0 ...xk-1)

однозначно соответствует входным наборам сигналов, комбинациям входных сигналов. Такие цифровые устройства образуют класс комбинационных схем (КС). Их часто называют схемами без обратных связей, или схемами без элементов памяти.

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

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

Логические элементы (ЛЭ) общего назначения, выпускаемые в виде готовых интегральных логических схем малой степени интеграции. К ним относятся ЛЭ, представленные на рис.9. Они образуют технически полную

 

 

 

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

Функционально полная система элементов – система позволяющая реализовать любые, сколь угодно сложные ПФ путем представления их через типовые (базисные) функции. Физически полная система элементов – система, обеспечивающая работоспособность и надежное взаимодействие элементов при всевозможных комбинациях связи между ними (совместимость входных и выходных сигналов при воздействии на элемент нагрузок и дестабилизирующих факторов, при разбросе параметров и характеристик элементов и т.п.).

Преобразователи кодов – дешифраторы, детекторы состояний, шифраторы, преобразователи специальных кодов, ПЗУ и др.

Коммутационные узлы – ключи, мультиплексоры, мультиплексоры-демультиплексоры и др.

Арифметические узлы – схемы контроля на четность, сумматоры, схемы ускоренного переноса, арифметико-логические устройства, числовые компараторы, умножители и др.

Основными задачами изучения КС являются задачи анализа и синтеза этих схем. Задача анализа – нахождение функции, реализуемой конкретной схемой. Задача синтеза – преобразование заданной логической функции к форме, в которой ПФ представлена через логические функции заданных для реализации элементов. Например:  через логические функции ЛЭ основного базиса, универсального базиса;  через логические функции, реализуемые дешифратором, мультиплексором и т.п.

 

1.9. Примеры синтеза и анализа комбинационных схем

 

1.9.1. Полный дешифратор с прямыми выходами

Дешифраторами называются КС, входящие в группу преобразователей кодов. Дешифратор (декодер) преобразует входной n-разрядный двоичный код в унитарный (позиционный) код. В унитарном коде только на одной позиции разряд принимает активное значение: на одной позиции 1, на остальных – 0 (в дешифраторах с прямыми выходами) или на одной позиции 0, на остальных – 1 (в дешифраторах с инверсными выходами).

В зависимости от количества выходов k (количества разрядов в выходном позиционном коде) дешифраторы могут быть полными, неполными или селекторами. Полный дешифратор имеет n входов и k = 2n выходов, неполный – n входов и k < 2n выходов, селектор – n входов и 1 выход.

 

 

На рис. 10,а приведена таблица истинности для полного дешифратора 3×8 (3 входа, 8 выходов) с прямыми выходами, на рис.10,б – его условное графическое обозначение в соответствии с ЕСКД, на рис. 10,в – результаты его синтеза на ЛЭ основного базиса.

Из таблицы истинности следует, что дешифратор реализует систему выходных логических функций y0 ,...,y7 от входных переменных x2, x1, x0. Каждая функция содержит только одно единичное значение, поэтому ее представление в СДНФ имеет вид yi = mi. Все реализуемые дешифратором выходные функции приведены на рис. 10,в.

Из сказанного следует, что полный дешифратор на своих выходах реализует полный набор (2n) минтермов. Поэтому дешифратор может быть применен для реализации произвольных ПФ (систем произвольных ПФ). Для этого ПФ представляются в СДНФ через дизъюнкцию соответствующих минтермов.

 

1.9.2. Полный дешифратор с инверсными выходами

На рис.11,а приведена таблица истинности для полного дешифратора 3×8 с инверсными выходами, на рис.11,б его условное графическое обозначение и реализуемые выходные функции. Такой дешифратор реализует на своих выходах полный набор макстермов Mi, так как все его выходные функции содержат только одно нулевое значение. Дешифратор с инверсными выходами также можно применять для реализации произвольных ПФ, представленных в СКНФ через конъюнкцию макстермов.

 

 

Сигнал E для дешифраторов является сигналом разрешения его работы (E=1), если E = 0 – не формируется ни один минтерм (рис.10,б), ни один макстерм (рис.11,б).

 

1.9.3. Неполный дешифратор (дешифратор кода Джонсона)

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

Неполный дешифратор формирует неполный набор минтермов (макстермов) – N из возможных 2n для полного дешифратора (N < 2n). Следовательно, в составе наборов входных переменных нет кодовых комбинаций, соответствующих отсутствующим минтермам (макстермам). Отсутствующие кодовые комбинации являются факультативными, что является основанием для минимизации функций выходов дешифратора и может уменьшить сложность схемы неполного дешифратора. В таком случае неполный дешифратор является специализированным преобразователем кода, который для заданных входных кодовых комбинаций формирует соответствующие контермы (дизтермы).

 

 

На рис.12 приведен пример синтеза неполного дешифратора для декодирования кода Джонсона. Код Джонсона - специальный цифровой код заданной разрядности n, в котором кодовые комбинации формируются путем “вытеснения” единиц нулями, затем – наоборот (см. пример на рис.12,а для n = 3). Количество комбинаций кода Джонсона N = 2n.

Таблица истинности для рассматриваемого примера (рис.12,а) имеет всего 6 строк, отсутствуют наборы с номерами 2 и 5, которые являются факультативными, и которым в картах Карно для выходных функций дешифратора (рис.12,б) соответствуют клетки, обозначенные знаком ×.

Минимизация по картам Карно выходных функций дешифратора с включением в подкубы факультативных клеток приводит к получению для всех функций контермов второго ранга (вместо минтермов третьего ранга для полного дешифратора). Специализированный дешифратор для декодирования кода Джонсона (рис.12,в) требует меньших аппаратных затрат по сравнению с полным дешифратором 3×23, который тоже можно для этого использовать, задействовав нужные выходы.

 

1.9.4. Шифратор (4-канальный приоритетный шифратор прерываний)

Шифраторами называются КС, входящие в группу преобразователей кодов. Шифратор решает задачу, обратную задаче дешифратора. Шифратор (кодер) преобразует входной унитарный (позиционный) код в выходной двоичный код.

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

Логической задачей обработки всех запросов прерываний для КС, представленной на рис 13,а, является выработка для МП сигнала INT, если

 

 

есть хотя бы один запрос I0, I1, I2, I3 на прерывание от ПУ и получение кода ПУ, сделавшего запрос (адресного кода A1A0) , по которому МП находит требуемую подпрограмму. При наложении запросов (при совпадении по времени) КС формирует адрес ПУ, имеющего высший приоритет. КС, решающая такую задачу, называется приоритетным шифратором.

Таблица истинности рис.13,б отображает логику работы приоритетного шифратора. Наивысший приоритет имеет запрос I0, низший - I3. Символ  показывает, что запрос низкого приоритета игнорируется при совпадении с запросом более высокого приоритета.

Результаты минимизации логических функций INT,A1,A0 и КС для их реализации на ЛЭ основного базиса приведены на рис. 13,в,г.

1.9.5. Мультиплексор. Мультиплексор-демультиплексор

Мультиплексорами называются КС, входящие в группу коммутационных узлов, работающие как переключатели цифровых сигналов. Логику работы мультиплексора раскрывает 4-канальная (4-входовая) механическая модель коммутатора (рис.14,а). Подвижный контакт коммутатора К устанавливается в позицию, задаваемую двухразрядным адресным кодом А1, А0, и соединяет соответствующий неподвижный контакт с выходом y .

 

При этом на выход поступает выбранный с помощью адресного кода цифровой сигнал Di.

Условное графическое обозначение 4-канального мультиплексора (MUX) приведено на рис.14,б, а на рис.14,в – обобщенная таблица истин- ности, отображающая логику его работы. Структурная формула (рис.14,в) для логической функции выхода мультиплексора y получена из таблицы истинности в СДНФ и представлена затем через минтермы, реализуемые дешифратором 2×22. Структурная схема 4-канального дешифратора, составленная на основе дешифратора, показана на рис.14,г.

Демультиплексор (рис.15) выполняет операцию, обратную операции мультиплексора (рис.14,а), коммутирует сигнал D на один из 2n выхо-

 

1.7. Скобочные формы логических уравнений

Для аналитического представления переключательных функций можно использовать не только нормальные формы, но и так называемые скобочные формы представления функций. Скобочные формы получаются путем тождественных преобразований МДНФ (МКНФ) с использованием скобок, изменяющих порядок (последовательность) логических преобразований. При вынесении общих членов за скобки порядок функции увеличивается.

В практике проектирования логических схем к скобочным формам приходится обращаться в двух случаях: а) когда необходимо уменьшить аппаратные затраты и стоимость при реализации схем на логических элементах;  б) когда число переменных и термов велико и реализация функций на основании МДНФ (МКНФ) с использованием стандартных логических элементов (с стандартным числом входов) невозможна.

На рис.6,а представлена карта Карно логической функции, МДНФ которой

y = x3 x2 x1 x3 x2 x0 x3 x1 x0 . (8)

Этой функции соответствует логическая схема второго порядка, показанная на рис.6,б. На основании законов дистрибутивности функцию (8) можно представить в форме

y = x3 [ x2 ( x1x0 )x1 x0 ], (9)

которой соответствует схема на рис.6,в. В этой схеме максимальное

 

число последовательно включенных логических элементов равно четырем, т.е. логическая схема имеет четвертый порядок. Каждый логический элемент имеет конечное быстродействие, которое характеризуется задержкой распространения сигналов от входа к выходу. Чем выше порядок логической схемы, тем больше задержка сигналов, тем ниже быстродействие схемы. Это  недостаток логических схем, реализованных на основе скобочных форм ПФ.

Положительное свойство таких схем – меньшая сложность (аппаратные  затраты) и стоимость.

дов, где n – разрядность адресного кода выхода yi.

В качестве демультиплексора можно использовать полный дешифратор с входом разрешения E (рис.10,б,в). Если подать коммутируемый сигнал D на вход разрешения E (E = D), то на адресуемом выходе дешифратора будет сигнал, эквивалентный сигналу D.

Демультиплексор можно также реализовать на основе использования интегральных схем (рис. 14,д), называемых мультиплексоры-демультиплексоры. В структуру такой схемы входят дешифратор и аналоговые ключи (АК). Аналоговые ключи выполняются по КМОП-технологии и позволяют создавать схемы с двунаправленной передачей сигналов как в аналоговой, так и в цифровой форме. Ключ управляется цифровым сигналом zi, переводящим его в замкнутое состояние (zi = 1 - сопротивление ключа мало), или разомкнутое (zi = 0 - сопротивление ключа велико). Для аналоговых ключей входы и выходы неразличимы, поэтому любой вход xi может служить выходом, а любой выход yi -  входом.

Мультиплексор-демультиплексор (рис. 14,д) выполняет функцию демультиплексора, если соединить все входы x = x0 =x1 = x2 =x3 и на объединенный вход x подать сигнал D, тогда выходами являются линии y0, y1, y2, y3 . Для получения мультиплексора соединяются все выходы, и объединенный выход y = y0 = y1 = y2 = y3 является выходом мультиплексора.

 

1.9.6. Синтез КС на мультиплексорах

(арифметический сумматор)

Логическая функция, реализуемая мультиплексором (рис.14,в) с n адресными входами, по структуре полностью совпадает с СДНФ для функций n переменных (1). Из этого следует, что любую ПФ n переменных можно реализовать тривиальным прямым способом, подав переменные на адресные входы, а на входы Di - константы 0 или 1.

Более эффективен (по критерию затрат аппаратных средств) способ реализации ПФ на основе мультиплексора, когда на информационные входы Di подаются не только константы 0 и 1, но и переменные и некоторые функции от переменных, выполняемые простыми ЛЭ (рис.16). В этом случае 4-канальный мультиплексор, имеющий два адресных входа, можно использовать для реализации функции трех переменных y( x2,x1,x0 ).

В качестве примера рассмотрим синтез логической схемы одноразрядного арифметического полного сумматора на основе 4-канальных мультиплексоров. Таблица истинности сумматора приведена на рис.17,а. В таблице: ai и bi – суммируемые разряды, pi-1 - перенос из (i-1)-го разряда; si - значение суммы; pi – перенос из i-го в (i+1)-й разряд.

В СДНФ логическая функция переноса pi имеет вид:

.           (12)

Примем в качестве адресных переменных A1, A0 соответственно переменные  и перепишем уравнение (12) в виде, соответствующем логическому уравнению 4-канального мультиплексора (рис.14,в)

.    (13)

Из сопоставления уравнения (13) и уравнения 4-канального мультиплексора (рис.14,в) следует: D0 = 0, D1 = pi-1, D2 = pi-1, D3 = () = 1.

Проще и нагляднее получаются функции входов мультиплексора при использовании карт Карно. При сделанном выборе адресных перемен-

 

ных каждому из четырех информационных входов мультиплексора соответствует одна из четырех зон карты Карно, показанных на рис.17,б. Каждую из этих зон можно рассматривать как двухклеточную карту Карно, которая задает логическую зависимость сигнала входа Di мультиплексора от переменной pi-1, не используемой в качестве адресной переменной. Для выявления этой логической связи необходимо сопоставить значения, принимаемые переменной pi-1, и значения функции (pi или si ), записанные в клетках карты. Эти значения либо равны, либо находятся в инверсной связи, либо значение функции не зависит от переменной pi-1 (равно 0 или 1).

Полученные по картам значения функций входов мультиплексоров приведены на рис.17,в,г, а на рис.17,д – соответствующая им структурная схема арифметического сумматора, выполненная на двух мультиплексорах с общими адресными входами. На рис.17,е – условное графическое обозначение одноразрядного арифметического полного сумматора. Многоразрядные арифметические сумматоры (рис.17,ж – арифметический сумматор двух четырехразрядных двоичных чисел) строятся на основе одноразрядных арифметических сумматоров (рис.17,е), на рис.17,з – условное графическое обозначение такого сумматора.

 

Для функций трех переменных y( x2,x1,x0 ) возможны три варианта выбора адресных переменных А10 (рис.18,а). Каждому варианту соответствует свой способ разделения карты Карно на четыре зоны, определяющие логические функции информационных входов Dj .

На рис.18,б приведены все возможные варианты выбора адресных переменных и разделения карт Карно на зоны, если 4-канальный мультиплексор используется для реализации функции y( x3,x2,x1,x0 ) четырех переменных.

Выбор адресных переменных должен быть оптимальным, так как сложность функций на информационных входах Dj , а значит и КС в целом, в общем случае зависит от сделанного выбора. Критерием оптимальности выбора адресных переменных может служить количество функций, равных 0 и 1, а также сложность функций, не равных 0 и 1. В качестве адресных сигналов следует использовать те переменные, которые входят в МДНФ наибольшее число раз. В этом случае наибольшую логическую нагрузку будет нести внутренний дешифратор мультиплексора. Такой подход к выбору адресных сигналов позволяет исключить полный перебор всех вариантов.

 

1.9.7. Преобразователь кода Грея в двоичный код 8-4-2-1

Код Грея является циклическим кодом, который используется в системах контроля цифровых устройств, в преобразователях механических перемещений в цифровой код и т.д. Две соседние цифровые комбинации кода Грея отличаются всегда значениями только одного разряда. Такие комбинации образуют цепь длиной 2n, где n – число разрядов в коде Грея.

 

На рис.19,а показаны кодовые комбинации цепи Грея для n = 2, которые используются для задания координат строк и столбцов карт Карно для ПФ четырех переменных (рис.19,б). Если обойти все клетки карты рис.19,б в направлении стрелки и для каждой клетки записать ее координаты x3,x2,x1,x0, получим все (24) комбинации 4-разрядного кода Грея (рис.19,в). Правая часть таблицы содержит все комбинации двоичного кода 8-4-2-1.

Синтезируемый преобразователь должен формировать для каждой комбинации кода Грея соответствующую комбинацию кода 8-4-2-1.Задача синтеза сводится к синтезу системы логических функций y3,y2,y1,y0 от переменных x3,x2,x1,x0. Карты Карно для этих функций позволяют получить структурные формулы для формирования разрядов y3,y2,y1,y0 выходного кода (рис.19,г). Скобочные преобразования всех полученных по картам исходных формул (МДНФ) с использованием тождеств алгебры логики приводят к логическим выражениям на основе операции  (Исключающее ИЛИ): .

Структурная схема преобразователя кода Грея в двоичный код

8-4-2-1 приведена на рис.19,д, а на рис.19,е – условное графическое изображение преобразователей кода.

 

1.9.8. Узел свертки по четности

Сверткой по четности цифрового кода (слова) x3,x2,x1,x0 называется логическое преобразование вида . Для n-разрядных кодов преобразование для функции p записывается аналогично. Логическая функция p является признаком четного число единиц в коде. Если число единиц четное, то p = 1, если – нечетное, то p = 0 (в истинности этого утверждения можно убедиться методом перебора вариантов).

Свертка по четности очень часто используется для контроля по четности (контроля по паритету) при передаче цифровых кодов по каналам передачи данных, при чтении их из устройств памяти и т.п. Задача контроля по четности – обнаружение одиночных ошибок в принимаемом из канала связи (или извлекаемом из памяти) коде. Одиночной ошибкой является замена единицы в каком-то одном разряде нулем или - наоборот.

Общая схема организации контроля по четности показана на рис.20. Источник данных для каждой кодовой комбинации (для n-разрядного цифрового слова) формирует признак четности, который в качестве дополнительного (n+1)-го разряда отправляется вместе с передаваемым словом в канал передачи данных. Передаваемое (n+1)-разрядное слово имеет всегда нечетное число единиц. Если в исходном коде число единиц было нечетным, то на выходе КС1 значение контрольного разряда p = 0 не меняет число единиц при передаче слова. Если же число единиц в исходном коде было четным, то контрольный разряд для такого кода p =1, и результирующее число единиц в передаваемом (n+1)-разрядном слове

станет нечетным. На приемном конце канала от полученного (n+1)-разрядного слова снова берется свертка по четности e. Если значение этой свертки равно 1, то или в передаваемом слове , или в контрольном разряде при передаче произошла ошибка.

Столь простой контроль не позволяет исправить ошибку, но он дает возможность при обнаружении ошибки исключить неверные слова, затребовав повторную передачу и т.п. Двойную ошибку контроль по четности не обнаруживает.

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

 

Упражнения

33. Синтезировать одноразрядный арифметический полный сумматор на ЛЭ основного базиса. Оценить сложность схемы и сравнить с вариантом схемы сумматора на рис.17,д.

34. Синтезировать преобразователь двоичного кода 8-4-2-1 в код Грея на логических элементах Исключающее ИЛИ.

35. Получить логическую схему свертки по четности для байта данных.

36. Синтезировать дешифратор в соответствии с таблицей истинности на ЛЭ основного базиса:

 

37. а) синтезировать преобразователь кода на логических элементах основного базиса. Входной код - двоично-десятичный (двоичные 4-разрядные числа Q3Q2Q1Q0, эквивалентные десяти десятичным цифрам), выходной код – 7-разрядный код управления 7-сегментным индикатором.

Система логических функций сегментов индикатора:

s1 = ( 1,4 ) + ( 10,11,12,13,14,15 ),

s2 = ( 5,6 ) + ( 10,11,12,13,14,15 ),

s3 = ( 2 ) + ( 10,11,12,13,14,15 ),

s4 = ( 1,3,4,7,9 ) + ( 10,11,12,13,14,15 ),

s5 = ( 1,4 ) + ( 10,11,12,13,14,15 ),

s6 = ( 1,2,3,7 ) + ( 10,11,12,13,14,15),

s7 = ( 0,1,7 ) + ( 10,11,12,13,14,15 ).

б) убедиться в том, что полученная схема формирует символы десятичных цифр. Получить путем анализа схемы изображения формируемых символов в случае поступления на вход 4-разрядных двоичных чисел, эквивалентных шестнадцатеричным цифрам A ,B, C, D, E, F.

38. Выполнить упражнение 37 при условии, что преобразователь кода формирует все шестнадцатеричные цифры при подаче на вход соответствующих им 4-разрядных двоичных кодов. Систему логических функций сегментов индикатора сформировать самостоятельно. Для построения схемы использовать дешифратор ИД3.

39. Синтезировать схему для реализации системы логических функций на 8-канальных мультиплексорах:

y1( x2,x1,x0 ) = ( 5, 6, 7 ) + ( 2, 3 ),

y2( x2,x1,x0 ) = ( 1, 4, 5 ) + ( 2,3 ).

40. Синтезировать схему для реализации системы логических функций на 4-канальных мультиплексорах:

y1(x3,x2,x1,x0 )=( 9, 10, 11 ) + ( 0, 1, 2, 3, 4, 5, 12, 13, 14, 15 ),

y2(x3 x2,x1,x0 ) = ( 1, 4, 5 ) + ( 2, 3 ).

2. ПОСЛЕДОВАТЕЛЬНОСТНЫЕ ФУНКЦИОНАЛЬНЫЕ УЗЛЫ

2.1. Общая структура последовательностного устройства

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

 

Цифровые автоматы, применяемые в цифровой технике, преимущественно строятся по общей схеме, приведенной на рис.21. Такие автоматы называют автоматами Мура. На рис.21: ЭП – элементы памяти (регистр) c входами D0,...,Dk-1 и выходами Q0,...,Qk-1. КС1 вырабатывает входные сигналы для элементов памяти, используя для этого их текущие состояния выходов (коды Q0,...,Qk-1) и внешние сигналы x0,...,xn-1 (коды настройки на определенный режим работы, сигналы синхронизации и т.п.). КС2 преобразует внутренние рабочие коды состояния устройства Q0,...,Qk-1 в выходные коды y0,...,yk-1.

Состояния всех входов, элементов памяти и выходов рассматриваются в одинаковые дискретные моменты времени. В зависимости от того, как эти моменты времени определены, последовательностные устройства разделяются на синхронные и асинхронные.

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

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

Таким образом, работу цифрового автомата Мура (рис.21) можно определить следующими логическими уравнениями

Qt+1=f1(Qt,X t),     Y t=f2(Qt), (14)

где Qtk-разрядное число, определяющее состояние памяти автомата в дискретное время t (текущее состояние памяти); X tn-разрядное число, определяющее состояние входов в дискретное время t (текущее состояние входов); Qt+1k-разрядное число, определяющее состояние памяти в дискретное время t+1 (последующее состояние памяти); Y tl-разрядное число, определяющее состояние выходов в дискретное время t (текущее состояние выходов).

 

2.2. Синхронные триггеры

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

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

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

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

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

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

В цифровой технике наиболее часто используются   SR-, JK-, D-, T-триггеры. Обозначающие тип триггера буквы раскрывают функциональное назначение информационных (управляющих) входов триггера:

S – вход установки в состояние 1;

R – вход установки в состояние 0;

J – вход переключения из состояния 0 в состояние 1;

K – вход переключения из состояния 1 в состояние 0;

D – информационный вход для установки состояния 1 или 0;

T – вход инвертирования состояния триггера (счетный вход).

Функциональные возможности триггера описывают его характеристическая таблица (таблица состояний) и характеристическое уравнение. Для перечисленных типов триггеров они приведены на рис.22. Таблица состояний и уравнение определяют логическую зависимость последующего состояния триггера Qt+1 от текущих значений сигналов на информационных входах и текущего состояния триггера Qt.

 

 

SR-триггер. При S = R = 0 триггер работает в режиме хранения, т.е. сохраняет ранее установленное состояние Qt+1 = Qt. При S = 1, R = 0 триггер устанавливается в состояние Qt+1 = 1, а при S = 0, R = 1 – в состояние Qt+1 = 0. Комбинация входных сигналов S = R = 1 (установка 1 и 0 одновременно) является запрещенной, так как приводит к непредсказуемому состоянию триггера после поступления синхроимпульса. Во избежание возникновения сбоев комбинацию S = R = 1 исключают, поэтому она является нереализуемой.

Характеристическое уравнение SR-триггера, приведенное на рис.22, легко получить путем минимизации логической функции Qt+1(St,Rt,Qt) с использованием карты Карно.

Синхронные SR-триггеры могут синхронизироваться уровнем, положительным фронтом, отрицательным фронтом (рис.22,а,б,в) синхросигнала.

JK-триггер получен путем усовершенствования SR-триггера. JK-триггер реализует все режимы работы SR-триггера, но не имеет запрещенных комбинаций сигналов на информационных входах. При воздействии на информационные входы сигналов J = K = 1 триггер инвертирует свое состояние после поступления синхроимпульса , то есть работает в режиме счета синхроимпульсов.

Поэтому JK-триггер является универсальным триггером и выпускается в виде готовых микросхем, которые предназначены для применения в нетиповых регистрах и счетчиках. JK-триггеры в интегральном исполнении могут иметь несколько входов J и K, а также асинхронные входы принудительной установки триггера в единичное или нулевое состояние. Пример такого триггера приведен на рис.22,д. Логические сигналы на информационных входах J и K перемножаются, что обозначено знаком конъюнкции &; асинхронные сигналы для установки 1 или 0 (входы S и R) должны иметь низкий уровень, что обозначено кружком. Такие триггеры имеют расширенные логические возможности, и их использование в цифровых устройствах позволяет уменьшить аппаратные затраты.

D-триггер имеет таблицу состояний, в которой отсутствует состояние, соответствующее режиму хранения, триггер всегда воспринимает значение сигнала на входе D с задержкой на один период синхронизации Qt+1= Dt. Поэтому D-триггер является триггером задержки информации, поступающей на информационный вход D.

D-триггеры с переключением по уровню синхроимпульса (рис.22,е) применяются в регистрах памяти. Триггеры с переключением по положительному или отрицательному фронту (рис.22,ж,з) используются в регистрах сдвига, в счетчиках импульсов и т.п., в таком случае они, как правило, имеют входы принудительной асинхронной установки в 1 или 0 (рис.22,з).

T-триггер называется счетным триггером. Состояние его выхода меняется на противоположное при поступлении на вход счетного сигнала T = 1 и сохраняется неизменным при T = 0. T-триггер можно получить из JK-триггера, определив J = K = 1, или из D-триггера (рис.22,и). Условное

графическое обозначение T-триггера показано на рис.22,к. T-триггеры применяются для построения счетчиков импульсов, поэтому они имеют асинхронные входы (прямые – R и S  или инверсные –  и) для сброса триггера в нулевое состояние и установки единицы.

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

- сохранить нулевое состояние         ,

- сохранить единичное состояние      ,

- перейти из нулевого состояния в единичное

,

- перейти из единичного состояния в нулевое

.

Каждая функция переходов триггера FQ может быть реализована лишь при определенных текущих (в дискретное время t) значениях сигналов на информационных входах. Эти значения получаются из характеристического уравнения триггера. Если задать в нем значения Qt и Qt+1, то путем перебора подстановок можно найти текущие значения управляющих сигналов, при которых левая и правая части характеристического уравнения одинаковы, т.е. реализуется заданное значение функции переходов FQ.

 

Значения информационных сигналов, реализующие все значения функции переходов для основных типов триггеров, приведены в таблицах на рис.23. Такие таблицы носят название – таблица переходов или словарь переходов триггера.

 

2.3. Порядок синтеза последовательностного устройства

Любое последовательностное устройство можно выполнить в виде синхронного или асинхронного автомата. Асинхронные автоматы могут быть получены из синхронных с помощью некоторых преобразований, описанных в [1]. Поэтому ниже рассмотрены синхронные последовательностные устройства с малым объемом памяти (регистры, счетчики, генераторы числовых последовательностей) и устройства смешанного типа (синхронные с асинхронной установкой некоторого внутреннего состояния).

В общей схеме последовательностного устройства (рис.21) КС1 реализует логическое уравнение f1 (14) и определяет последующее состояния памяти Qt+1 в зависимости от ее текущего состояния Qt и текущего состояния входов Xt. КС2 является преобразователем внутреннего кода Qt в выходной код автомата Yt. Логику работы КС2 задает уравнение f2 (14). Следовательно, синтез устройства, общая структура которого показана на рис.21, сводится к определению количества элементов памяти, их типов и к синтезу комбинационных схем КС1 и КС2 в выбранном логическом базисе. Процесс синтеза состоит из нескольких этапов [3].

1. Определение количества состояний устройства, построение таблицы или графа состояний, построение временных диаграмм.

Чаще всего функционирование последовательностного устройства представляется в виде таблицы состояний для внутренних переменных Q и внешних переменных y, либо в виде графа состояний.

Таблица состояний содержит все комбинации k-разрядного внутреннего кода Qk-1,...,Q0, которые для определенных комбинаций входных переменных xn-1,...,x0 должен формировать автомат в заданном порядке, и соответствующие им все комбинации l-разрядного выходного кода

yl-1,...,y0.

Граф состояний – ориентированный граф, вершины которого соответствуют состояниям, а дуги – переходам между ними (рис.24, 27). Состояния автомата и соответствующие им выходные сигналы записываются в вершинах графа (в кружках). Каждой дуге графа приписывается значение входного сигнала (сигналов) xi, которое задает переход в другое состояние. В графе автомата не должно существовать двух дуг с одинаковыми входными сигналами, исходящих из одной и той же вершины (условие однозначности). На основании графа автомата можно составить таблицу состояний и таблицу переходов.

2. Выбор элементов памяти (триггеров), определение логических функций управления информационными входами триггеров.

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

После выбора типа триггера необходимо определить логические функции управления всеми информационными входами всех триггеров. В совокупности эти функции определяют структуру комбинационной схемы КС1 (рис.21). Таблица истинности для функций управления информационными входами триггеров составляется по таблице (графу) состояний последовательностного устройства (из которой для каждого состояния устройства и для каждого i-го триггера находится подлежащая реализации функция переходов ) и словарю переходов триггера (из которого для полученных функций переходов i-го триггера определяются требуемые для их реализации сигналы на информационных входах).

3. Минимизация функций управления информационными входами, построение схемы последовательностного устройства.

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

Комбинационная схема КС2 (рис.21) может быть синтезирована как преобразователь внутреннего кода в выходной код для всех состояний последовательностного устройства.

 

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

2.4.1. Делитель частоты импульсов на 5 (на JK-триггерах)

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

Проектируемое устройство описывается графом рис.24,а и имеет пять состояний. Кодировка состояний делителя значениями внутренних переменных производится таким образом, чтобы все они различались между собой представлением хотя бы одной переменной. Так как делитель имеет 5 состояний, то для их кодировки требуется внутренних переменных, т.е.  элементов памяти (триггеров). Варианты кодировки состояний могут быть различными. В данном случае с целью упрощения комбинационной схемы КС2 (рис.21) целесообразно закодировать одну из внутренних переменных (Q2) так, чтобы она принимала единичные значения в течение одного такта после каждого пятого импульса на входе (рис.24,б).

Такой вариант кодировки состояний делителя приведен в таблице на рис.25, где даны значения внутренних переменных () для каждого из состояний, а также для последующего состояния (), в которое переходит устройство после поступления входного импульса. Приведенная на рис.25 таблица состояний соответствует графу рис.24,б.

После кодировки закон функционирования каждого элемента памяти (триггера) становится заданным, поэтому дальнейшее структурное проектирование сводится к проектированию комбинационной схемы КС1 (рис.21). Проектирование КС1 можно выполнить с помощью словарного метода.

В соответствии с этим методом получаем для каждого состояния функции переходов для каждого элемента памяти. В качестве элементов памяти выберем JK-триггеры (рис.22,д), так как его словарь переходов (рис.24) содержит неопределенные требования к значениям информационных сигналов J и K в половине позиций, что существенно снижает сложность КС1 при ее реализации.

Далее для полученных функций переходов с использованием словаря переходов JK-триггера получаем текущие значения логических функций управления информационными входами  и , аргументами которых являются переменные , задающие код текущего состояния делителя. Таким образом, КС1 должна реализовать систему логических функций ,  от переменных . Минимизация этих функций с помощью карт Карно (в клетки карт для отсутствующих комбинаций переменныхпоставлен знак факультативности – ) приводит к простым структурным формулам (рис.25), позволяющим реализовать КС1.

Функции , реализуются путем соединения входов триггеров с соответствующими выходами и источником единичного сигнала, а для реализации функции J0 требуется дополнительный двухвходовый ЛЭ ИЛИ. Неиспользуемые (избыточные) входы J и K триггеров оставлены неподключенными, реальные ИС это допускают (неиспользуемый вход в таких ИС работает как вход с пассивным уровнем сигнала).

Полученная структурная схема делителя показана на рис.26,а. Анализ схемы дает временные диаграммы (рис.26,б), иллюстрирующие ее работу (на временных диаграммах  не показана задержка сигналов относительно входных импульсов ).

Для получения на выходе делителя импульсов с длительностью, равной длительности входных импульсов, служит комбинационная схема КС2, реализующая логическую функцию(логическая схема И).

 

2.4.2. Синхронный недвоичный счетчик (на JK-триггерах)

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

Примером счетчика может быть последовательностное устройство рис.26,а, в котором для каждого из пяти импульсов на входе Iвх формируется трехразрядный код на выходах . Работа счетчика описывается графом рис.24,б или таблицей состояний на рис.25. В трехразрядном счетчике рис.26,а с модулем счета М = 5 исключены 23М = 3 кодовые комбинации: 111, 110, 101, которые являются лишними.

Метод исключения лишних кодовых комбинаций из 2n возможных (n – число триггеров) позволяет рассмотренным выше способом синтезировать счетчик с произвольным модулем счета.

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

Имея логические функции управления информационными входами JK-триггеров (рис.25), можно полностью предсказать поведение схемы во всех возможных состояниях. В состоянии 101 Q2 = 1, Q1 = 0, Q0 = 1. Находим по уравнениям на рис.25: , (триггер 2 из единичного состояния сбросится в нулевое);, = 0 (триггер 1 из нулевого состояния переключится в единичное); = 1,  (триггер 0 проинвертирует свое единичное состояние – переключится в 0). Таким образом, из лишнего состояния 101 при поступлении входного импульса счетчик перейдет в рабочее состояние 010. Аналогичным способом можно получить результаты для состояний 110 и 111. В итоге получен граф состояний рис.27, который показывает рабочий цикл счетчика (рис.26,а) и его поведение при попадании в неиспользуемые (лишние) состояния

Из графа видно, что рассматриваемый счетчик обладает свойством самозапуска (самовосстановления после сбоя) – независимо от исходного состояния он приходит в рабочий цикл после начала работы. Этим свойством обладают не все схемы. Если счетчик таким свойством не обладает, в него вводят специальные элементы или подсхемы для придания свойств самозапуска.

 

 

2.4.3. Сдвигающий регистр (на D-триггерах)

Сдвигающий регистр получим, если D-триггеры задержки с переключением по отрицательному фронту (1 – 0) включим последовательно и организуем общий тактовый вход (вход синхросигнала), рис.28.

 

Сигнал , действующий на входе i-го триггера в текущем такте, появляется на его выходе по окончании текущего тактового импульса (по его отрицательному фронту) – в последующем такте, что определяется характеристическим уравнением D-триггера: =. Из этого следует, что в сдвигающем регистре информация из триггера  с каждым тактом передается в триггер . На рис.28 показана схема 5-разрядного сдвигающего регистра с параллельным выходом  –  и входом  асинхронного сброса триггеров в нулевое состояние. Значение входного сигнала D0 в дискретный момент времени t появляется на выходе  через пять тактов, т.е. . Для последовательного ввода в n-разрядный регистр n-разрядного слова требуется n тактов. Такие сдвигающие регистры могут использоваться для преобразования последовательного кода в параллельный.

 

2.4.4. Скремблер. Дескремблер

В последовательных каналах передачи данных синхросигнал для ввода последовательных бит на приемной стороне канала формируется непосредственно из принимаемого сигнала. Частота смены символов (1,0) на входе приемника должна обеспечивать надежное выделение тактовой частоты из принимаемого сигнала независимо от структуры исходного сообщения (например, при передаче длинных последовательностей 1 или 0). Поэтому в системах передачи данных исходная последовательность бит часто подвергается определенной обработке. Смысл такой обработки состоит в получении последовательности, в которой статистика появления нулей и единиц приближается к случайной. Одним из способов обработки является скремблирование (перемешивание).

Скремблирование – это обратимое преобразование структуры цифрового потока без изменения скорости передачи с целью получения свойств случайной последовательности. Скремблирование производится на передающей стороне с помощью скремблера (рис.29), реализующего логическую операцию Исключающее ИЛИ для исходной последовательности SI1 и псевдослучайной последовательности (ПСП) Q3. На приемной стороне осуществляется обратное преобразование, выполняемое дескремблером. Структура дескремблера повторяет структуру скремблера. Дескремблер формирует из принятой последовательности бит исходную последовательность.

Основной частью скремблера является генератор ПСП в виде сдвигающего регистра (N-разрядного) с обратными связями, формирующий псевдослучайную последовательность максимальной длины 2N – 1 (М-последовательность).

Различают скремблеры с начальной установкой (рис.29) и самосинхронизирующиеся.

 

2.4.5. Генератор псевдослучайной последовательности

Для генерации М-последовательностей с одним элементом Исключающее ИЛИ получены таблицы подключений входов элемента к выходам Q0,...,QN-1 N-разрядного сдвигающего регистра, обеспечивающих получение псевдослучайной последовательности максимальной длины. Такая таблица приведена на рис.30,а.

На рис.30,б показана схема генератора ПСП при N = 4. Результаты анализа состояний схемы как цифрового автомата сведены в таблицу на рис.30,в. Для каждого текущего состояния дано значение сигнала на входе триггера D0 = Q2Q3, которое в результате поступления тактового импульса C в следующем состоянии фиксируется на выходе Q0. Остальные триггеры работают аналогично – происходит сдвиг кода D0Q0Q1Q2 в следующем состоянии на один разряд вправо. Всего существует 15 различных состояний регистра. Это максимальное число состояний для N = 4 с элементом Исключающее ИЛИ в цепи обратной связи. Следовательно, период ПСП равен 2N – 1, цифры ПСП повторяются через 2N – 1 тактовых импульсов.

Состояние 0000 не может существовать в регистре и в ПСП, так как попадание в него приводит к блокировке регистра. Состояние 0000 не может измениться, поскольку на вход D0 всегда будет подаваться 0. Для вывода регистра из состояния блокировки при включении питания или в результате сбоя можно использовать специальные сигналы начальной установки (стартовые сигналы). На рис.30,б – это сигнал , поступающий на асинхронные входы принудительной установки триггеров в единичное состояние.

Другой способ вывода регистра из состояния блокировки – дополнение цепи обратной связи генератора (рис.30,б) логической схемой самозапуска. Суть самозапуска генератора (рис.30,б) выявляется при анализе карты Карно (рис.30,г) для функции управления входом D0. Карта Карно составлена по таблице состояний генератора ПСП, в которой отсутствует состояние 0000. Поэтому в соответствующей клетке карты стоит знак факультативности , которому соответствует произвольное значение функции D0. Минимизация по единичным значениям функции D0 без включения факультативной клетки в единичные подкубы соответствует доопределению функции D0 = 0 при текущем состоянии регистра 0000, следовательно, и следующим состоянием регистра будет 0000 – регистр заблокирован.

Чтобы не допустить этого, следует доопределить факультативное значение функции единицей, т.е. положить = 1. Таким образом, при состоянии регистра 0000 D0 = 1 (следующим его состоянием будет 1000) блокировка не происходит.

На рис.30,г для такого варианта построения генератора ПСП приведена карта Карно для функции входа D0 . МДНФ уравнения для этой функции (рис.30,г) определяет структуру схемы обратной связи (рис.30,д), обеспечивающей генератору ПСП свойство самозапуска.

Таблица рис.30,в иллюстрирует эффект от использования генератора ПСП в схеме скремблера и дескремблера рис.29. Для примера взят исходный последовательный сигнал SI1, содержащий длинную серию единиц и подлежащий передаче по каналу связи. В результате скремблирования (перемешивания) на приемную сторону поступает сигнал SI2 = SO1, не содержащий длинных серий единиц, имеющий характер псевдослучайной последовательности. Сигнал SO2 на выходе дескремблера, полученный с использованием идентичного передающему генератора ПСП, полностью повторяет исходный сигнал SI1, т.е. SO2 = SI1.

 

Упражнения

40. Проанализировать работу счетчика, составленного из n

D-триггеров, включенных по схеме сдвигающего регистра.

Для заданной функции управления информационным входом

D0 = f ( Q0 ,...Qn-1 ) получить полный граф переходов счетчика. Определить модуль счета kсч в рабочем цикле:

а) n = 2,

б) n = 2,

в) n = 3,

г) n = 3,

д) n = 4,

е) n = 4,

ж) n = 5,

41. Проанализировать работу счетчика, составленного из n

JK-триггеров, включенных по схеме сдвигающего регистра. Для заданных функций управления информационными входами J0 = f1 ( Q0 ,...Qn-1 ), K0 = f2 ( Q0 ,...Qn-1 ) получить полный граф переходов счетчика. Определить модуль счета kсч в рабочем цикле:

а) n = 2,

б) n = 2,

в) n = 3,

г) n = 3,

д) n = 4,

е) n = 4,

ж) n = 5,

42. К выходам Q0,...,QN-1 N-разрядного сдвигающего регистра подключен логический элемент для получения логической функции управляющего входа D0. Получить путем анализа цифровую последовательность, формируемую схемой при подаче синхроимпульсов, определить длину последовательности:

а) N = 4, ;

б) N = 4, ;

в) N = 4, ;

г) N = 5, ;

д) N = 5, ;

е) N = 5, ;

ж) N = 4, ;

з) N = 4, ;

и) N = 4, .

 

БИБЛИОГРАФИЧЕСКИЙ  СПИСОК

1.Пухальский Г.И., Новосельцева Т.Я. Цифровые устройства: Учеб. пособие для втузов. СПб.: Политехника, 1996.

2.Угрюмов Е.П. Цифровая схемотехника. СПб.: БХВ-Петербург, 2001.

3.Проектирование импульсных и цифровых устройств радиотехнических систем: Учеб. пособие для радиотехнич. спец. вузов / Ю.П.Гришин, Ю.М.Казаринов, В.М.Катиков и др.; Под. ред. Ю.М.Казаринова. М.: Высш. шк., 1985.

4.Потемкин И.С. Функциональные узлы цифровой автоматики. М.: Энергоатомиздат, 1988.

5.Голдсуорт Б. Проектирование цифровых логических устройств: Пер. с англ. М.: Машиностроение, 1985.

 

ОГЛАВЛЕНИЕ

 

1.КОМБИНАЦИОННЫЕ СХЕМЫ ........................................................

1

 

1.1.Основные аксиомы, теоремы и тождества алгебры логики ......

1

 

 

 

 

 

Упражнения ………………………………………………….…

1

 

1.2.Переключательные функции ........................................................

3

 

1.3.Неполностью определенные переключательные функции .......

6

 

 

 

 

 

Упражнения ………………………………………………….…

6

 

1.4.Построение комбинационной логической схемы по заданной

 

 

 

переключательной функции .........................................................

7

 

1.5.Минимизация переключательных функций с помощью

 

 

 

карт Карно ......................................................................................

8

 

 

 

 

 

Упражнения …………………………………………………….

11

 

1.6.Нормальные формы логических уравнений. Преобразование

 

 

 

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

12

 

1.7.Скобочные формы логических уравнений .................................

13

 

 

 

 

 

Упражнения ………………………………………………….…

15

 

1.8.Комбинационные схемы ...............................................................

15

 

1.9.Примеры синтеза и анализа комбинационных схем ..................

17

 

 

1.9.1.Полный дешифратор с прямыми выходами .......................

17

 

 

1.9.2.Полный дешифратор с инверсными выходами ..................

18

 

 

1.9.3.Неполный дешифратор (дешифратор кода Джонсона) .....

18

 

 

1.9.4.Шифратор (4-канальный приоритетный шифратор

 

 

 

 

прерываний) ...........................................................................

20

 

 

1.9.5.Мультиплексор. Мультиплексор-демультиплексор ..........

21

 

 

1.9.6.Синтез КС на мультиплексорах (арифметический

 

 

 

 

сумматор) ...............................................................................

22

 

 

1.9.7.Преобразователь кода Грея в двоичный код 8-4-2-1 .........

25

 

 

1.9.8.Узел свертки по четности .....................................................

26

 

 

 

 

 

Упражнения ………………………………………………….…

27

 

 

 

 

2.ПОСЛЕДОВАТЕЛЬНОСТНЫЕ ФУНКЦИОНАЛЬНЫЕ УЗЛЫ

29

 

2.1.Общая структура последовательностного устройства ..............

29

 

2.2.Синхронные триггеры ..................................................................

30

 

2.3.Порядок синтеза последовательностного устройства ...............

33

 

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

35

 

 

2.4.1.Делитель частоты импульсов на 5 (на JK-триггерах)........

35

 

 

2.4.2.Синхронный недвоичный счетчик (на JK-триггерах)........

37

 

 

2.4.3.Сдвигающий регистр (на D-триггерах)................................

39

 

 

2.4.4.Скремблер. Дескремблер.......................................................

39

 

 

2.4.5.Генератор псевдослучайной последовательности………..

40

 

 

 

 

 

Упражнения ………………………………………………….…

42

 

 

 

 

 

 

БИБЛИОГРАФИЧЕСКИЙ СПИСОК …………………………………

43