Главная Учебники - Разные Лекции (разные) - часть 44
ФГОУ ВПО Оренбургский Государственный Аграрный Университет Кафедра Информатики и информационного обеспечения Задание на курсовой проект
Синтезировать цифровой аппарат Мура с D-триггером, используя заданный граф микропрограммы автомата (структурная схема алгоритма). Рисунок 1 – граф микропрограммы автомата (вариант 46). Введение
Функции цифрового аппарата (ЦА) сводятся к вводу, выводу, хранению информации, выполнению микроопераций и вычислению логических условий. Набор элементов, на основе которых строятся структуры автоматов с указанными функциями, составляет: а) шины, обеспечивающие передачу информации; б) регистры, обеспечивающие хранение слов и состоящие из совокупности элементов памяти (ЭП); в) комбинационные схемы (КС), осуществляющие вычисление логических функций. Шины обозначают совокупность цепей, где одна цепь служит для передачи одного бита информации, с целью упрощения и чтения схем. ЭП, составляющие регистры, выбирают, как правило, с синхронной записью или с синхронной установкой. КС по существу является перекодирующим устройством и главным объектом синтеза ЦА. Для ее реализации используется весь арсенал элементов логических функций и умение получать простые решения минимизацией составленных для КС систем уравнений логических вычислений. Теоретической основой управляемых ЦА являются автоматы Мили (рисунок 2) и Мура (рисунок 3). Типичным примером автомата Мили являются электронные часы с цифровым табло, где выходные функции – сегменты индикации, а входные – кнопки режимов: при нажатии одной из кнопок устанавливается действие соответствующей управляющей функции. Главная особенность автомата Мили заключается в возможности при одном и том же состоянии ЭП задать несколько выходных функций: индикацию текущего времени, дня недели, числа месяца, номера текущего месяца и т. д. В промышленных устройствах автоматики, как правило, не встречаются в чистом виде автоматы одного типа. Однако в их структурах доминирует автомат Мура. Поэтому в данной работе он будет являться объектом проектирования. 1. Форма представления задания
Исходной формой задания является граф микропрограммы автомата (структурная схема алгоритма), которая, как правило, является частью программы функционирования какого-либо устройства в целом и поэтому выглядит достаточно абстрактно. Функции ЦА, согласно графу, представленному на рисунке 1: yi
- микрооперации, генерируемые ЦА (выходные функции); хi
– входные функции ЦА. После описания входных и выходных функций можно непосредственно приступить к синтезу ЦА. 2. Технология синтеза ЦА
2.1 Эскизная часть
Для начала выявим состояния ЦА Мура на графе алгоритма и обозначим их через аi
(рисунок 1). По количеству состояний определяем необходимое количество ЭП из соотношения: 2^n-1<N<=2^n, где N – число состояний, а n - число ЭП. Исходя из рисунка, видим, что N=8. Значит, n=3. Здесь же делаем проверку на предмет исключения КС2 из схемы. Это эффективно в тех случаях, когда количество ЭП совпадает с числом выходных функций yi
(идеальный случай), или они отличаются на несколько единиц процентном отношении. При этом обязательным условием является отсутствие последовательно следующих одинаковых комбинаций (или групп комбинаций) выходных функций ЦА в какой-либо части алгоритма работ ЦА. В это случае состояниям ЭП присваиваются состояния выходных функций, а выходные функции yi
будут сниматься прямо с выходов ЭП. В заданном алгоритме работы ЦА выполняется первое условие – нет одинаковых комбинаций yi
, непосредственно следующих друг за другом. Но количество выходных функций yi
(4) отличается от количества ЭП на 75%. Следовательно, синтеза КС2 не избежать. КС2 осуществляет перекодирование состояний ЭП в комбинации yi
. Теперь остается выбрать тип ЭП. Это очень непростая задача, так как в лоб она не решается. И чтобы выбрать оптимальный вариант, приходится разрабатывать синтез ЦА на разных типах ЭП. Однако, бывают очевиднее решения. Некоторые и них: - если количество ветвлений во много раз меньше числа состояний ЦА, то предпочтительней закодировать самый длинный цикл переходов ЭП в виде последовательного набора двоичных чисел, а для реализации этого наилучшим образом подходит JK-триггер (он разработан для двоичного счета); - если количество ветвлений во много раз больше числа состояний ЭП, то предпочтительней подбирать эти состояния между переходами так, чтобы они отличались изменением только одного заряда; в этом случае эффективнее использовать D-триггер. В нашем случае полная неопределенность –два ветвления и три состояния ЭП. Но согласно заданию, необходимо разработать ЦА с D-триггером. Составляем структурную схему ЦА, так как для этого есть все данные. Результат представлен на рисунке 2. Рисунок 2 – структурная схема ЦА. На рисунке 2 КС1 и КС2 представлены в виде черных ящиков с известными входными и выходными функциями и неизвестным содержимым. 2.2 Синтез КС2
Известны выходные функции КС2, но не установлены пока входные, которые являются состояниями ЭП. Установить их и установить соответствие между входными и выходными функциями – авторское право. Творческий подход к решению этой проблемы заключается в попытке найти наиболее простую схему КС2 методом подбора 2^n вариантов составления таблицы истинности КС2. Поскольку генерируемый ЭП код уже выбран заранее, то остается получить эти варианты только цикличным сдвигом входных кодов по отношению к выходным. Анализ восьми вариантов таблицы истинности приведен ниже. Таблица 1 – первый вариант таблицы истинности КС2. Входные функции Выходные функции Состояния Q2
Q1
Q0
y1
y2
y3
y4
0 0 0 0 0 0 0 a0
0 0 1 1 1 1 0 a1
0 1 0 1 1 1 1 a2
0 1 1 0 1 1 0 a3
1 0 0 0 0 1 1 a4
1 0 1 0 1 1 0 a5
1 1 0 0 0 1 0 a6
1 1 1 0 0 1 1 a7
y1
=Q2
’Q1
’Q0
+Q2
’Q1
Q0
’; y2
=Q2
’Q1
’Q0
+Q2
’Q1
Q0
’+Q2
’Q1
Q0
+Q2
Q1
’Q0
= Q1
’Q0
+Q2
’Q1;
y3
=Q2
’Q1
’Q0
+Q2
’Q1
Q0
’+Q2
’Q1
Q0
+Q2
Q1
’Q0
’+Q2
Q1
’Q0
+Q2
Q1
Q0
’+Q2
Q1
Q0
= Q1
+ Q2
+ Q2
’Q1
’Q0
; Таблица 2 – второй вариант таблицы истинности КС2 y4
=Q2
’Q1
Q0
’+ Q2
Q’1
Q0
’+ Q2
Q1
Q0 Выходные функции Состояния Q2
Q1
Q0
y1
y2
y3
y4
1 1 1 0 0 0 0 a0
0 0 0 1 1 1 0 a1
0 0 1 1 1 1 1 a2
0 1 0 0 1 1 0 a3
0 1 1 0 0 1 1 a4
1 0 0 0 1 1 0 a5
1 0 1 0 0 1 0 a6
1 1 0 0 0 1 1 a7
y1
=Q2
’Q1
’Q0
’+Q2
’Q1
’Q0
= Q2
’Q1
’; y2
=Q2
’Q1
’Q0
’+Q2
’Q1
’Q0
+Q2
’Q1
Q0
’+Q2
Q1
’Q0
’= Q2
’Q1
’+Q2
’Q1
Q0
’+Q2
Q1
’Q0
’;
y3
=Q2
’Q1
’Q0
’+Q2
’Q1
’Q0
+Q2
’Q1
Q0
’+Q2
’Q1
Q0
+Q2
Q1
’Q0
’+Q2
Q1
’Q0
+Q2
Q1
Q0
’=Q0
’+ Q1
’Q0
+ Q2
’Q1
Q0
; y4
=Q2
’Q1
’Q0
+ Q2
’Q1
Q0
+ Q2
Q1
Q0
’= Q2
’Q0
+ Q2
Q1
Q0
’ Таблица 3 – третий вариант таблицы истинности КС2 Входные функции Выходные функции Состояния Q2
Q1
Q0
y1
y2
y3
y4
1 1 0 0 0 0 0 a0
1 1 1 1 1 1 0 a1
0 0 0 1 1 1 1 a2
0 0 1 0 1 1 0 a3
0 1 0 0 0 1 1 a4
0 1 1 0 1 1 0 a5
1 0 0 0 0 1 0 a6
1 0 1 0 0 1 1 a7
y1
=Q2
Q1
Q0
+Q2
’Q1
’Q0
’; y2
=Q2
Q1
Q0
+Q2
’Q1
’Q0
’+Q2
’Q1
’Q0
+Q2
’Q1
Q0
= Q1
Q0
+Q2
’Q1
’;
y3
=Q2
Q1
Q0
+Q2
’Q1
’Q0
’+Q2
’Q1
’Q0
+ Q2
’Q1
Q0
’+Q2
’Q1
Q0
+Q2
Q1
’Q0
’+Q2
Q1
’Q0
=Q0
+ Q1
’Q0
’+ Q2
’Q1
Q0
’; Таблица 4 – четвертый вариант таблицы истинности КС2 Входные функции Выходные функции Состояния Q2
Q1
Q0
y1
y2
y3
y4
1 0 1 0 0 0 0 a0
1 1 0 1 1 1 0 a1
1 1 1 1 1 1 1 a2
0 0 0 0 1 1 0 a3
0 0 1 0 0 1 1 a4
0 1 0 0 1 1 0 a5
0 1 1 0 0 1 0 a6
1 0 0 0 0 1 1 a7
y1
=Q2
Q1
Q0
’+Q2
Q1
Q0
=Q2
Q1
; y2
=Q2
Q1
Q0
’+Q2
Q1
Q0
+Q2
’Q1
’Q0
’+Q2
’Q1
Q0
’= Q2
Q1
+Q2
’Q0
’;
y3
=Q2
Q1
Q0
’+Q2
Q1
Q0
+Q2
’Q1
’Q0
’+Q2
’Q1
’Q0
+Q2
’Q1
Q0
’+Q2
’Q1
Q0
+Q2
Q1
’Q0
’=Q0
’+ Q1
Q0
+ Q2
’Q1
’Q0
; y4
=Q2
Q1
Q0
+ Q2
’Q1
’Q0
+ Q2
Q1
’Q0
’ Таблица 5 – пятый вариант таблицы истинности КС2 Входные функции Выходные функции Состояния Q2
Q1
Q0
y1
y2
y3
y4
1 0 0 0 0 0 0 a0
1 0 1 1 1 1 0 a1
1 1 0 1 1 1 1 a2
1 1 1 0 1 1 0 a3
0 0 0 0 0 1 1 a4
0 0 1 0 1 1 0 a5
0 1 0 0 0 1 0 a6
0 1 1 0 0 1 1 a7
y1
=Q2
Q1
’Q0
+Q2
Q1
Q0
’; y2
=Q2
Q1
’Q0
+Q2
Q1
Q0
’+Q2
Q1
Q0
+Q2
’Q1
’Q0
= Q2
Q1
+Q1
’Q0;
y3
=Q2
Q1
’Q0
+Q2
Q1
Q0
’+Q2
Q1
Q0
+Q2
’Q1
’Q0
’+Q2
’Q1
’Q0
+Q2
’Q1
Q0
’+Q2
’Q1
Q0
=Q0
+ Q1
Q0
’+ Q2
’Q1
’Q0
’; y4
=Q2
Q1
Q0
’+ Q2
’Q1
’Q0
’+ Q2
’Q1
Q0
Таблица 6 – шестой вариант таблицы истинности КС2 Входные функции Выходные функции Состояния Q2
Q1
Q0
y1
y2
y3
y4
0 1 1 0 0 0 0 a0
1 0 0 1 1 1 0 a1
1 0 1 1 1 1 1 a2
1 1 0 0 1 1 0 a3
1 1 1 0 0 1 1 a4
0 0 0 0 1 1 0 a5
0 0 1 0 0 1 0 a6
0 1 0 0 0 1 1 a7
y1
=Q2
Q1
’Q0
’+Q2
Q1
’Q0
=Q2
Q1
’; y2
= Q2
Q1
’Q0
’+Q2
Q1
’Q0
+Q2
Q1
Q0
’+Q2
’Q1
’Q0
’= Q2
Q1
’+Q2
Q1
Q0
’+Q2
’Q1
’Q0
’; y3
=Q2
Q1
’Q0
’+Q2
Q1
’Q0
+Q2
Q1
Q0
’+Q2
Q1
Q0
+Q2
’Q1
’Q0
’+Q2
’Q1
’Q0
+Q2
’Q1
Q0
’=Q0
’+ Q1
’Q0
+ Q2
Q1
Q0
; y4
=Q2
Q1
’Q0
+ Q2
Q1
Q0
+ Q2
’Q1
Q0
’=Q2
Q0
’+ Q2
’Q1
Q0
’ Таблица 7 – седьмой вариант таблицы истинности КС2 Входные функции Выходные функции Состояния Q2
Q1
Q0
y1
y2
y3
y4
0 1 0 0 0 0 0 a0
0 |