![]() КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Синтез микропрограммных автоматов с жесткой логикой.
Управляющие автоматы с жесткой логикой являются самыми быстродействующими, но схемные решения автоматов будут зависеть от их функций. Результатом синтеза автомата на жесткой логике является функциональная схема автомата, реализованная на логических элементах. Элементная база автоматов на жесткой логике состоит из простейших логических элементов: конъюнкторов (элементы «И»), дизъюнкторов (элементы «ИЛИ»), инверторов (элементы «НЕ»), их комбинаций (элементы «И-НЕ», «ИЛИ-НЕ», «И-ИЛИ-НЕ» и т.п.), а так же включает в себя и более сложные элементы: дешифраторы (DC), мультиплексоры (MS), элементы памяти (триггера). Простейшие логические элементы реализуют вычисление простейших булевых функций. Примеры некоторых элементов, их обозначение и реализуемые ими функции приведены на рисунках (Рис.3.5). Символ «Ø» - обозначает инверсию, «&» - конъюнкцию, «Ú» - дизъюнкцию. Часто вместо символа «&» используют «*», а в случае однобуквенных переменных – вообще его опускают, например, функции, приведенные на рисунке можно записать так: y = a b; y = Ø (a b Ú c d Ú e). Используя простейшие логические элементы можно строить функциональные схемы, реализующие сложные булевы функции. Например, построить функциональную схему, реализующую вычисление следующей системы булевых функций 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 ;
Дешифратор (DC) преобразует позиционный двоичный код (двоичное число) в унитарный. Унитарный код содержит «1» только в одном разряде. Входы дешифратора (в отличие от входов простейших логических элементов) характеризуются своим весом (как разряды двоичного числа): младший разряд имеет вес 1, следующий разряд вес 2, n - разряд имеет вес 2 n-1. Веса разрядов указываются на входах дешифратора. Полный дешифратор имеет 2 n выходов, имеющих нумерацию от 0 до 2 n –1. Таким образом дешифратор с двумя входами имеет 4 выхода, с тремя входами – 8 выходов и т.д. На рисунке приведено изображение дешифратора с двумя входами x1 x0 . Значения x1 x0 - двоичное число, указывающее номер выхода дешифратора, на котором будет сформирован сигнал «1». Функции yi, на выходе дешифратора имеют вид: y0 = Ø x1 Ø x0 ; y2 = x1 Ø x0 ; y1 = Ø x1 x0 ; y3 = x1 x0 ; Функцию дешифратора можно пояснить так же следующей таблицей истинности:
Таблица 3.3
Многие дешифраторы имеют еще один дополнительный вход – «разрешение работы дешифратора». На рисунке приведен пример такого дешифратора, который называется дешифратор - демультиплексор.
y0 = S (Ø x1 Ø x0 ); y2 = S (x1 Ø x0 );
Мультиплексор (MS) выполняет функции электронного переключателя, позволяющего выбрать один из нескольких источников сигнала для одного приемника. Пример простейшего мультиплексора приведен на рисунке. У этого мультиплексора один управляющий вход (Х) и два информационных (a и b). Если на управляющий вход Х подать «0», то на выходе MS значение y = a, если на Х подать «1», то значение y = b. Другими словами, приведенный на рисунке MS – это переключатель на два положения, которым выбирается один из двух источников информации (a и b) для приемника У. Функцию MS можно описать выражением: y = Ø х a Ú х b.
y = a (Ø x1 Ø x0 ) Ú b (x1 Ø x0 ) Ú c (Ø x1 x0 ) Ú d (x1 x0 ); Используя описанные выше функциональные элементы, можно строить так называемые комбинационные логические схемы (или цифровые автоматы комбинационного типа, автоматы без памяти), т.е. схемы, реализующие булевы функции. В микропрограммных автоматах, как правило, используются элементы памяти, на которых строится память состояний автомата. Простейшим элементом памяти является статический асинхронный RS – триггер. RS – триггер – это элемент, имеющий два устойчивых состояния, которые обычно обозначают как «0» и «1». Для установки 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
Недостатком асинхронного RS – триггера является то, что изменение его состояния возможно в произвольный момент времени сразу же после изменения сигналов на его входах R и S. Поэтому асинхронный RS – триггер часто используют как элемент памяти для построения синхронных триггеров. В синхронных триггерах изменение состояния возможно только в момент подачи на специальный вход «С» импульса синхронизации. Существуют триггера, синхронизируемые импульсом С и фронтом импульса С. Фронтом импульса синхронизации называют переход значения С из «0» в «1» (положительный фронт) или из «1» в «0» (отрицательный фронт). Триггера, синхронизируемые фронтом импульса С нашли наибольшее применение в цифровых устройствах.
D – триггер, в отличии от RS – триггера, имеет всего один информационный вход – D. Синхронный D – триггер изменяет свое состояние так же в момент поступления на его вход «С» импульса синхронизации С. Новое состояние Qt+1 не зависит от предыдущего Qt , а зависит только от значения на входе D в момент поступления импульса С на вход С триггера. JK – триггер называется универсальным, так как на его основе можно реализовать функции других триггеров. Закон его функционирования можно представить в виде таблицы 3.5. На рисунке приведены изображения D – триггера, синхронизируемого положительным фронтом импульса С и JK – триггера, синхронизируемого отрицательным фронтом импульса С.
Таблица 3.5
Автоматы с жесткой логикой обычно строятся или как автоматы Мура, или как автоматы Мили. Поскольку функционирование и тех и других зависит не только от входных сигналов (логических условий Xi), но и от текущего состояния автомата, необходимым элементом УА является память состояний. В качестве элементов памяти обычно используются триггера различных типов: RS-, D-, JK-, T – триггера, синхронизируемые фронтом (положительным или отрицательным) импульса синхронизации С. По фронту импульса С автомат переходит из одного состояния в другое. Выходные сигналы автомата – микрокоманды, так же вырабатываются синхронно с импульсом С. Различие автоматов Мура и Мили следующее: в автомате Мура вырабатываемая автоматом микрокоманда Yi зависит только от текущего состояния автомата, а в автомате Мили – от текущего состояния и значений логических условий на входе автомата.
|