Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции Т А и ФЯ стр.doc
Скачиваний:
5
Добавлен:
01.07.2025
Размер:
3 Мб
Скачать
☆

Раздел 7. Синтез цифровых автоматов на жесткой логике

Тема 7.1. Структурный синтез мпа на жесткой логике. Синтез мпа автоматов Мура

на жесткой логике. Вопросы оптимизации МПА

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

Элементная база автоматов на жесткой логике состоит из простейших логических элементов: конъюнкторов (элементы «И»), дизъюнкторов (элементы «ИЛИ»), инверторов (элементы «НЕ»), их комбинаций (элементы «И-НЕ», «ИЛИ-НЕ», «И-ИЛИ-НЕ» и т.п.), а также включает в себя и более сложные элементы – дешифраторы (DC), мультиплексоры (MS), элементы памяти (триггера).

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

Символ «» обозначает инверсию, «&» – конъюнкцию, «» – дизъюнкцию. Часто вместо символа «&» используют «*», а в случае однобуквенных переменных – вообще его опускают, например функции, приведенные на рисунке, можно записать так: y = a b; y =  (a b  c d  e).

Рис. 3.5

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

y1 = x2  x1 x0   x2 x1 x0   x2  x1  x0 ;

y2 = x2  x1 x0   x2 x0  x2  x0 ;

y3 = x2  x0   x2 x0   x1.

В приведенном примере в функциях y1 , y2 , y3 встречаются одинаковые конъюнкции, которые обозначим через вспомогательные переменные Z i и выразим через x i:

Z1 = x2  x1 x0; Z2 =  x2 x1 x0; Z3 =  x2  x1  x0 ;

Z4 =  x2 x0; Z5 = x2  x0.

Выразим функции y1 , y2 , y3 через дизъюнкцию Z i :

y1 = Z1 Z2  Z3; y2 = Z1 Z4  Z5; y3 = Z5 Z4   x1 .

Функциональные схемы строятся по следующим правилам.

1. Входы схемы (переменные x i) – с левой стороны схемы, выходы (переменные y i) – с правой стороны.

2. Входы схемы (переменные x i), значения которых используются в функциях с инверсиями, соединяются с входами инверторов, на выходах которых формируются значения  x i.

3. Схемы, вычисляющие значения Z i , строятся на конъюнкторах, на входы которых подаются соответствующие пере­менные x i или  x i.

4. Схемы, вычисляющие значения y i , строятся на дизъюнкторах, на входы которых подаются соот­ветствующие переменные xi , xi или Z i .

Рис. 3.6

5. Чтобы схема была легкочитаема, при ее изображении исполь­зуют «шины». Шина изображается более толстой линией на схеме, в которую вхо­дят и из которой вы­ходят тонкие линии, отображающие связи между элементами. Для идентификации этих связей непосред­ственно у шины ставятся либо обозначения соответствующих переменных, либо номера этих связей (первое предпочтительней). На рис. 3.6 приведена функциональная схема, реализующая функции y1, y2, y3 .

Дешифратор (DC) преобразует позиционный двоичный код (двоичное число) в унитарный. Унитарный код содержит «1» только в одном разряде. Входы дешифратора (в отличие от входов простейших логических элементов) характеризуются своим весом (как разряды двоичного числа): младший разряд имеет вес 1, следующий разряд – вес 2, n-разряд имеет вес 2 n-1. Веса разрядов указываются на входах дешифратора. Полный дешифратор имеет 2 n выходов, имеющих нумерацию от 0 до 2 n –1. Таким образом, дешифратор с двумя входами имеет 4 выхода, с тремя входами – 8 выходов и т.д. На рис. 3.7 приведено изображение дешифратора с двумя входами x1 x0 .

Рис. 3.7

Значения x1 x0 – двоичное число, указывающее номер выхода дешифратора, на котором будет сформирован сигнал «1». Функции yi, на выходе дешифратора имеют вид

y0 =  x1  x0 ; y2 = x1  x0 ;

y1 =  x1 x0 ; y3 = x1 x0 .

Функцию дешифратора можно пояснить также следующей таблицей истинности (табл. 3.3).

Таблица 3.3

x1

x0

y0

y1

y2

y3

0

0

1

0

0

0

0

1

0

1

0

0

1

0

0

0

1

0

1

1

0

0

0

1

Многие дешифраторы имеют еще один дополнительный вход – «разрешение работы дешифратора». На рис. 3.8 приведен пример такого дешифратора, который называется дешифратор – демультиплексор.

Рис. 3.8

Если на вход V подается «0», то на всех выходах дешифратора – нули; если на вход V подается «1», то дешифратор работает в соответствии с приведенной таблицей истинности, а функции yi, на выходе дешифратора имеют вид

y0 = S ( x1  x0 ); y2 = S (x1  x0 );

y1 = S ( x1 x0 ); y3 = S (x1 x0 ).

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

Рис. 3.9

У этого мультиплексора один управляющий вход (Х) и два ин­формационных (a и b). Если на управляющий вход Х подать «0», то на вы­ходе MS значение y = a, если на Х подать «1», то значение y = b. Другими словами, приведенный на рисунке MS – это переключатель на два по­ложения, которым выбирается один из двух источников информации (a и b) для приемника У. Функцию MS можно описать выражением

y =  х a  х b.

Количество управляющих входов у MS может быть 2, 3 и более. В этом случае MS – это переключатель не на два, а на 2 n положений (где n – количество управляющих входов), позволяющий выбирать один из 2 n информационных входов. Номер этого информационного входа задается двоичным числом, подаваемым на управляющие входы: хn-1 ...х1 х0. На рис. 3.10 приведен пример MS с четырьмя информационными входами (a, b, c, d) и двумя управляющими (x1x0).

Рис. 3.10

Функцию MS такого можно описать выражением

y = a ( x1  x0 )  b (x1  x0 )  c ( x1 x0 )  d (x1 x0 ).

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

Простейшим элементом памяти является статический асинхронный RS-триггер. RS-триггер – это элемент, имеющий два устойчивых состояния, которые обычно обозначают как «0» и «1» (рис. 3.11).

Рис. 3.11

Для установки RS-триггера в одно из устойчивых состояний «0» или «1» у него имеется два входа: R – для установки в состояние «0» и S – для установки в состояние «1». Выходы RS-триггера обычно обозначаются как Q (прямой выход) и Q (инверсный выход). Значение на выходе Q («0» или «1») обычно отождествляют с состоянием триггера «0» или «1». Если через Qt обозначить значение на выходе Q в момент времени t, а через Qt+1 – обозначить значение на выходе Q в момент времени t+1, то поведение RS-триггера можно описать следующей таблицей (табл. 3.4).

Из таблицы видно, что при R=0 и S=1 происходит установка триггера в состояние «1» (Qt+1 = 1), при R=1 и S=0 происходит установка триггера в состояние «0» (Qt+1 = 0). Эти установки происходят независимо от предыдущего состояния триггера Qt. При R=0 и S=0 триггер сохраняет свое состояние, а комбинация R=1 и S=1 является недопустимой, так как одновременно установить триггер в состояния «0» и «1» невозможно. На рис. 3.11 приведено изображение статического асинхронного RS-триггера.

Таблица 3.4

R

S

Qt

Qt+1

Комментарий

0

0

0

0

Хранение «0»

0

0

1

1

Хранение «1»

0

1

0

1

Установка в «1»

0

1

1

1

Установка в «1»

1

0

0

0

Установка в «0»

1

0

1

0

Установка в «0»

1

1

0

Х

Запрещенная комбинация R и S

1

1

1

Х

Запрещенная комбинация R и S

Недостатком асинхронного RS-триггера является то, что изменение его состояния возможно в произвольный момент времени сразу же после изменения сигналов на его входах R и S, поэтому асинхронный RS-триггер часто используют как элемент памяти для построения синхронных триггеров. В синхронных триггерах изменение состояния возможно только в момент подачи на специальный вход «С» импульса синхронизации. Существуют триггеры, синхронизируемые импульсом С и фронтом импульса С. Фронтом импульса синхронизации называют переход значения С из «0» в «1» (положительный фронт) или из «1» в «0» (отрицательный фронт). Триггеры, синхронизируемые фронтом импульса С, нашли наибольшее применение в цифровых устройствах.

На рис. 3.12 приведено изо­браже­ние двух RS-триггеров, синхро­низируемых фронтом им­пульса синхронизации С. Наклон­ная черта на входе С показывает, по какому фронту импульса С – по­ложительному (/) или отрицательному (\) – происходит переход триг­гера из одного состояния в другое.

Рис. 3.12

Кроме RS-триггеров широкое применение в цифровых устройствах нашли D-триггеры и JK-триггеры (также синхронизируемые фронтом импульса С).

D-триггер, в отличие от RS-триггера, имеет всего один информационный вход – D. Синхронный D-триггер изменяет свое состояние также в момент поступления на его вход «С» импульса синхронизации С. Новое состояние Qt+1 не зависит от предыдущего Qt , а зависит только от значения на входе D в момент поступления импульса С на вход С триггера. JK-триггер называется универсальным, так как на его основе можно реализовать функции других триггеров. Закон его функционирования можно представить в виде табл. 3.5.

На рис. 3.13 приведены изо­бражения D-триггера, син­хронизируемого положитель­ным фронтом импульса С, и JK-триггера, синхронизи­руемого отрицательным фронтом импульса С.

Рис. 3.13

Автоматы с жесткой логикой обычно строятся или как автоматы Мура, или как автоматы Мили. Поскольку функционирование и тех, и других зависит не только от входных сигналов (логических условий Xi), но и от текущего состояния автомата, необходимым элементом УА является память состояний. В качестве элементов памяти обычно используются триггеры различных типов: RS-, D-, JK-, T-триггеры, синхронизируемые фронтом (положительным или отрицательным) импульса синхронизации С. По фронту импульса С автомат переходит из одного состояния в другое. Выходные сигналы автомата – микрокоманды – также вырабатываются синхронно с импульсом С.

Таблица 3.5

K

J

Qt

Qt+1

Комментарий

0

0

0

0

Хранение «0»

0

0

1

1

Хранение «1»

0

1

0

1

Установка в «1»

0

1

1

1

Установка в «1»

1

0

0

0

Установка в «0»

1

0

1

0

Установка в «0»

1

1

0

1

Изменение состояния на противоположное

1

1

1

0

Изменение состояния на противоположное

Различие автоматов Мура и Мили следующее: в автомате Мура вырабатываемая автоматом микрокоманда Yi зависит только от текущего состояния автомата, а в автомате Мили – от текущего состояния и значений логических условий на входе автомата.