В данном курсовом проекте для синхронного УА со схемной логикой блок памяти строится на комбинированных синхронных двухтактных D – триггерах(см. таблицу 3 и рис. 7.).
Триггер - это простейшее устройство с двумя устойчивыми состояниями, предназначенное для ввода, хранения и вывода одного бита информации в двоичных кодах.
Входы триггера и подаваемые на них сигналы делятся на информационные и вспомогательные. Информационные сигналы управляют состоянием триггера, которое определяется значением (0 или 1) сигнала на его основном Q- выходе. С другого Q - выхода снимается инверсный сигнал. При Q = 0 говорят, что триггер находится в нулевом состоянии или состоянии логического 0; при Q = 1 - в единичном состоянии или состоянии логической 1 Вспомогательные сигналы служат для предварительной установки триггера в начальное состояние.
Особенностью комбинированных триггерных схем является то, что наряду с наличием у них синхронно управляемых информационных входов, присутствуют также и входы асинхронной установки S и R триггеров в единичное “1” и нулевое “0” состояния. Входы асинхронной установки триггеров обозначены на УГО отдельными от синхронных входов зонами. Входы асинхронной установки необходимы для приведения триггеров в некоторые исходные (начальные) состояния, которые в совокупности соответствуют начальному состоянию синтезируемого синхронного управляющего автомата. Сигнал, подаваемый на входы асинхронной установки триггеров для приведения их в начальные состояния, принято называть сигналом сброса (Reset) или начальной установки (Н.У.). Сигнал начальной установки должен воздействовать только на один из асинхронных входов (S или R) каждого триггера. Не задействованные для начальной установки входы триггеров должны быть подключены к дополнительному сигналу, который является постоянным и пассивным для данного типа триггера.
|
|
Таблица 3
R1 | S1 | C | R | S | Q | Q+ | ||
0 | 0 | 0 | * | * | 0/1 | 0/1 | ||
0 | 0 | | 0 | 0 | 0/1 | 0/1 | ||
0 | 0 | | 0 | 1 | 0 | 1 | ||
0 | 0 | | 0 | 1 | 1 | 1 | ||
0 | 0 | | 1 | 0 | 0 | 0 | ||
0 | 0 | | 1 | 0 | 1 | 0 | ||
0 | 0 | | 1 | 1 | 0/1 |
| ||
0 | 1 | * | * | * | 0/1 | 1 | ||
1 | 0 | * | * | * | 0/1 | 0 | ||
1 | 1 | * | * | * | 0/1 | * |
6.2 Структурное кодирование входных, выходных сигналов и состояний автомата.
Единообразное представление всех абстрактных символов, необходимых для задания автомата, называют структурным кодированием входных, выходных сигналов и состоянии автомата.
В настоящее время самым распространённым способом структурного кодирования является двоичное кодирование. Структурное кодирование проводится в два этапа:
|
|
1. Определим количество β-двоичных разрядов, необходимое для двоичного представления некоторого множества абстрактных символов. Величина β находится из следующего соотношения:
b = 1 + int (log2 (|А|-1)), (4)
где:
|А| a - мощность множества внутренних состояний УА;
int () - целая часть.
В пункте 6.1 было определено следующее множество внутренних состояний автомата А = {а1...а11} и мощность этого множества |А| = 11, тогда:
b = 1 +int(1og2(11- 1))=4.
Так как алгоритм функционирования синтезируемого автомата задан в виде ГСА, то структурного кодирования входных и выходных сигналов производить не нужно. Это обусловлено тем, что при описании работы автомата в виде ГСА каждое логическое условие, и каждый выходной сигнал уже имеют двоичное кодирование.
При эффективном кодировании по второму способу (этот способ применяется только для автоматов типа Мура) состояния автомата (из графы аm в таблице 2) упорядочиваются в следующем порядке: первым выбирается такое состояние автомата, в котором формируется максимальное количество выходных сигналов, после чего все остальные состояния автомата упорядочиваются в порядке уменьшения количества одновременно формируемых выходных сигналов. Далее кодирование производится таким же образом, как и для эффективного кодирования по первому способу.
Найденный структурный код начального состояния автомата используется для определения соответствующих асинхронных входов R и S, которые должны быть объединены и подключены к сигналу начальной установки.
a1=3
a2=5
a3=1
a4=4
a5=1
a6=2
a7=1
a8=2
a9=1
a10=1
a11=1
Таблица 4
d4 | d3 | d2 | d1 | |
а1 | 0 | 0 | 0 | 1 |
а2 | 0 | 0 | 1 | 0 |
a4 | 0 | 1 | 0 | 0 |
a6 | 1 | 0 | 0 | 0 |
a3 | 0 | 0 | 1 | 1 |
a7 | 0 | 1 | 0 | 1 |
a5 | 0 | 1 | 1 | 0 |
a8 | 1 | 1 | 0 | 0 |
a9 | 1 | 0 | 1 | 0 |
a10 | 1 | 1 | 1 | 0 |
a11 | 0 | 1 | 1 | 1 |
6.3 Составление расширенной структурной таблицы переходов и выходов
Исходными данными для составления расширенных структурных таблиц переходов и выходов являются таблицы 2 и данные, полученные в результате структурного кодирования состояний автомата (таблица 4).
Расширенные структурные таблицы переходов и выходов отличаются от таблицы 2 введением дополнительных граф, содержащих информацию о структурном коде состояния автомата в текущий момент времени К(аm), о структурном коде автомата в последующий момент времени К(аs), а также структурный код функции возбуждения блока памяти F(аm,аs), который должен формироваться логическим преобразователем для подготовки перехода автомата из состояния аm в состояние аs.
При использовании модифицированных комбинированных синхронных двухтактных D - триггеров функция возбуждения блока памяти находится на основании следующего уравнения:
F(аm, as) = К (as) (5)
Из уравнения (5) следует следующая система уравнений:
f1=d2()
f2=d2()
...
fr = dr ().
Для начала по таблице 1 определим микрооперации, выполняемые одновременно при реализации УА каждой из микрокоманд Уi. Полагается, что если микрооперация равна 1, то она выполняется в данной микрокоманде, а если равна 0, то не выполняется. Таким образом, содержимое таблицы 1 можно представить следующим образом:
Y1 = {y4,y5,y7};
У2 = {y2,y6};
У3 = {y2,y5,y6};
У4 = {y1,y5};
У5 = {y2,y3,y4,y6};
У6 = {y1,y3,y7};
У7 = {y1,y2,y3,y4,y7};
У8 = {y2,y4,y5,y6,y7};
Для автомата типа Мура структурная расширенная таблица переходов и выходов представлена таблицей 5. В данной таблице в графе У(аm) производится детализация микроопераций, составляющих микрокоманды У(аm), в соответствии с данными, представленными в таблице 1. В качестве структурных кодов используются коды, представленные в таблице 4.
Таблица 5.
am, Y(am) | К(am) | aS | К(as) | X(am, as) | F(am, as)
| |||||||||||||||||||||||||
d4 | d3 | d2 | d1 | d4 | d3 | d2 | d1 | f4 | f3 | f2 | f1 | |||||||||||||||||||
а1, y2,y6 | 0 | 0 | 0 | 1 | а2 | 0 | 0 | 1 | 0 | x1x2 | 0 | 0 | 1 | 0 | ||||||||||||||||
а1, y2,y5,y6 | 0 | 0 | 0 | 1 | a4 | 0 | 1 | 0 | 0 | х1 2 | 0 | 1 | 0 | 0 |
а1, y2,y4,y5,y6,y7 | 0 | 0 | 0 | 1 | a6 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
а2, y1,y5 | 0 | 0 | 1 | 0 | а3 | 0 | 0 | 1 | 1 | x4 | 0 | 0 | 1 | 1 |
а2, y2,y3,y4,y6 | 0 | 0 | 1 | 0 | a5 | 0 | 1 | 1 | 0 | x3 4 | 0 | 1 | 1 | 0 |
а2, y2,y4,y5,y6,y7 | 0 | 0 | 1 | 0 | а1 | 0 | 0 | 0 | 1 | 4 3x5x6 | 0 | 0 | 0 | 1 |
а2, y1,y2,y3,y4,y7 | 0 | 0 | 1 | 0 | a1 | 0 | 0 | 0 | 1 | 4 3x5 6 | 0 | 0 | 0 | 1 |
a2, y1,y3,y7 | 0 | 0 | 1 | 0 | a11 | 0 | 1 | 1 | 1 | 4 3 5 | 0 | 1 | 1 | 1 |
a3, y2,y4,y5,y6,y7 | 0 | 0 | 1 | 1 | a1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
a4, y2,y3,y4,y6 | 0 | 1 | 0 | 0 | a5 | 0 | 1 | 1 | 0 | x3 | 0 | 1 | 1 | 0 |
a4, y2,y4,y5,y6,y7 | 0 | 1 | 0 | 0 | а1 | 0 | 0 | 0 | 1 | 3x5x6 | 0 | 0 | 0 | 1 |
a4, y1,y2,y3,y4,y7 | 0 | 1 | 0 | 0 | a1 | 0 | 0 | 0 | 1 | 3x5 6 | 0 | 0 | 0 | 1 |
a4, y1,y3,y7 | 0 | 1 | 0 | 0 | a11 | 0 | 1 | 1 | 1 | 3 5 | 0 | 1 | 1 | 1 |
a5, y2,y4,y5,y6,y7 | 0 | 1 | 1 | 0 | a1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
a6, y2,y6 | 1 | 0 | 0 | 0 | a7 | 0 | 1 | 0 | 1 | x3 | 0 | 1 | 0 | 1 |
a6, y2,y5,y6 | 1 | 0 | 0 | 0 | a8 | 1 | 1 | 0 | 0 | 3 | 1 | 1 | 0 | 0 |
a7, y1,y5 | 0 | 1 | 0 | 1 | a9 | 1 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 0 |
a8, y1,y5 | 1 | 1 | 0 | 0 | a9 | 1 | 0 | 1 | 0 | x2 | 1 | 0 | 1 | 0 |
a8, y2,y3,y4,y6 | 1 | 1 | 0 | 0 | a10 | 1 | 1 | 1 | 0 | 2 | 1 | 1 | 1 | 0 |
a9, y1,y3,y7 | 1 | 0 | 1 | 0 | a11 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
a10, y1,y3,y7 | 1 | 1 | 1 | 0 | a11 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
a11, y1,y2,y3,y4,y7 | 0 | 1 | 1 | 1 | a1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 0 | 1 |
6.5. Составление логических уравнений для выходных сигналов и функций возбуждения блока памяти
Составление логических уравнений для функций возбуждения блока памяти F(аm,аs) сводится к составлению совокупности логических уравнений для каждой отдельной функции возбуждения элементов памяти (f1 … fr). Логические уравнения записываются как дизъюнкция конъюнкций структурного кода исходного состояния автомата K(am) и комбинации входных сигналов X (аm,аs) по тем строкам таблицы 5, в которых в соответствующем столбце fi присутствует значение, равное 1.
Для автомата типа Мура, представленного расширенной структурной таблицей 5, логические уравнения для функций возбуждения элементов памяти будут иметь следующий вид:
f1= + + + + + 1+ + + + + +
|
|
f2= + + + + + + + + + +
f3= + + + + + + + +
f4= + + + +
Для автомата типа Мура логические уравнения функций выходов (yi) формируется на основе графы am, Y (аm) соответствующей структурной таблицы (в данном случае таблицы 6.7). Функции выходов для автомата типа Мура представляют собой дизъюнкции только конъюнкций структурного кода исходного состояния автомата K(am) по тем строкам структурной таблицы, в которых присутствует выходной сигнал yi. Логические уравнения для функций выходов автомата типа Мура не содержат символов входных переменных. Логические уравнения составляются для всех выходных сигналов.
Функции выхода для автомата Мура будут иметь вид:
y1= + +
y2= + + + + + +
y3= + 1 +
y4= + + +
y5= + + + + +
y6= + + +
y7= + + +