
- •Цели и задачи курсовой работы
- •2.Методические указания к выполнению курсовой работы
- •3. Требования к содержанию и оформлению курсовой работы.
- •4. Методические указания к выполнению отдельных разделов курсовой работы
- •4.4. Построение микропрограммы
- •4.5. Построение гса и лса.
- •4.6. Уточнение структурной схемы оа
- •4.7. Синтез микропрограммного автомата.
- •4.8. Заключение.
4.6. Уточнение структурной схемы оа
В соответствии со своим вариантом задания структурную схему ОА для выполнения заданной арифметической операции необходимо модифицировать. Например, в сумматор можно добавить дополнительные разряды для округления, знаковые разряды можно отделять от регистра и сумматора.
Обязательно также указать все необходимые для реализации заданной операции цепи передачи информации между устройствами. Кроме того, необходимо начертить, откуда подаются логические условия {x1, x2, …, xn} на вход ОА и в случае необходимости ввести в ОА для форматирования этих сигналов дополнительные схемы. Синтезировать эти схемы не требуется, надо только обозначить их условно и описать словесно их функции. Необходимо указать и распределить на устройствах ОА управляющих сигналов y1, y2, …, yn , формулируемых управляющим автоматом.
4.7. Синтез микропрограммного автомата.
На основе ГСА синтезируется микропрограммный автомат Мура или Мили.
Алгоритм синтеза следующий:
Получение отмеченной ГСА (определение необходимого набора состояний автомата). Входы вершин, следующих за операторными, отмечаются символами а1, а2, …, аm по правилам (автомат Мили):
а) символом а1 отмечается вход вершины, следующей за начальной, а также вход конечной вершины;
б) входы всех вершин, следующих за операторными, должны быть отмечены;
в) если вход вершины помечается, то только одним символом;
г) входы различных вершин отмечаются различными символами, за исключением конечной.
При синтезе автомата Мура отмечаются не входы вершин, следующих за операторными, а сами операторные вершины (рис. 4.3).
Переход от отметки аm к отметке as в направлении ориентации дуг ГСА проходит через вершины ГСА. Записывая содержимое вершин, лежащих на пути от аm к as , каждому пути можно поставить в соответствие слово
аmm1…
mrYtas
,
где
=х,
если путь проходит через выход «1»
условной вершины, и
=х
– если путь проходит через выход «0»;
Y – множество микроопераций, указанных в операторной вершине, через которую проходит путь;
r – число условных вершин на пути (am , as ).
Если путь не проходит через операторные вершины, то он обозначается так
аmm1…
mras
Все пути указанного вида определяют возможные переходы между состояниями am и as автомата Мили.
Для автомата Мура определяются пути второго вида.
Построение графа автомата.
Состояниям а1,
а2,
…, аm
ставятся
в соответствие вершины графа, а путям
от аm
к as
- дуги,
направленные из вершины аm
к вершине as
и отмеченные наборами значений входных
и выходных сигналов
m1…
mr
и
Yt
. В результате
получаем граф автомата Мили.
При построении
графа автомата Мура дуги, определяющие
пути перехода, отличаются наборами
входных сигналов
m1…
mr
,
а выходные
сигналы в каждом состоянии независимо
от того, откуда произошел переход,
соответствуют символам этих состояний
и записываются в вершины графа.
Граф автомата Мура для операции сдвига приведён на рис. 4.5 Приложения 4.
При использовании графов для заданий автомата с большим числом состояний и переходов теряется наглядность, поэтому при выполнении курсовой работы удобнее пользоваться структурной таблицей автомата.
Структурная таблица автомата является расширением таблицы переходов за счёт появления трёх новых столбцов: коды исходного состояния am , коды состояний перехода ( as ) и функции возбуждения, вырабатываемые на переходе (am , as).
Кодировать состояния автомата можно двоичными кодами минимальной длины:
N ] log2 M [,
где N – длина кода состояния (число триггеров);
M – число состояний автомата.
Каждому состоянию автомата ставиться в соответствие код, отличный от кодов всех других состояний.
Для рассматриваемого примера
N ] log2 3 [ = 2.
Тип триггеров определяется самостоятельно из серии интегральных элементов, выбранных при синтезе автомата. Рекомендуется для борьбы с гонками при кодировании состояний автомата использовать двухтактные триггера [ I ].
Для упрощения комбинационной схемы автомата кодирование состояний при синтезе на D – триггере целесообразно выполнять по следующему алгоритму:
а) каждому состоянию автомата am ставится в соответствие число km равное числу переходов в состояние am;
б) числа k1, …, km упорядочиваются по умолчанию;
в) состояние ai с наибольшим ki кодируется набором 00…0;
г) следующие N состояний ( N – число элементов памяти), упорядоченные в п. б) , кодируются наборами 00…01, 00…10, …, 10…00;
д) для кодирования следующих N из ( M – N – I ) состояний используются все коды, содержащие две единицы, затем три и т.д., пока все состояния не будут закодированы.
Так как в рассматриваемом примере числа Кi для всех состояний одинаковы, то закодируем состояния так: а1 -00;а2 -01; а3 -10 (таблица 4.1 Приложения 4).
При
использовании в качестве элемента
памятиD-триггера
построение функций возбуждения F
(am
, as)
выполняется достаточно просто, поскольку
таблица функций возбуждения полностью
совпадает с таблицей переходов автомата.
Код состояния, в которое осуществляется
переход, совпадает с сигналами, потупившими
на входы элементов памяти (i
j).
Поэтому единичное значение функции
возбуждения Di
триггера i
(i=2)
ставится в той строке структурной
таблицы, которая соответствует переходу
этого триггера в единичное состояние.
Кодирование состояний для других типов триггеров моно производить произвольным образом, т.к. алгоритмы оптимального кодирования для них довольно сложны.
По структурной таблице записываются аналитические выражения для функций выходов и функций возбуждения.
Для рассматриваемого примера функции выходов и возбуждения записываются так:
y2
= 1
2
1
2
;
y1
= t1
t2;
y3
= 1
2
;
D1
= B x1x2t1
t2
x1x2
t1t2
x1x2t1t2
;
D2
= Bx1x2t1t2
x1x2t1t2
x1x2t1
t2
;
Минимизация функций возбуждения и выходов должна обеспечить минимальное число корпусов интегральных схем, необходимых для реализации схемы автомата.
Чаще всего минимизацию производят по картам Карно (если число переменных не превышает 4) или методом Квайна-Мак-Класки, а также с помощью законов поглощения и склеивания для получения выражений, удобных для реализации на имеющихся логических элементах.
При наличии одинаковых выражений в различных функциях число корпусов можно сократить за счёт однократной схемной реализации их в автомате.
Работа элементов памяти автомата тактируется от генератора синхронизирующих импульсов. Кроме того, в автомате необходимо предусмотреть ещё дополнительный вход для сигнала «Установка начального состояния автомата». Считается, что синхроимпульсы и сигнал «Пуск» начинают поступать на автомат после подачи сигнала «Установка начального состояния». Синтез микропрограммного автомата заканчивается построением схемы автомата на выбранном базисе логических элементов.