Курсовая работа: Синтез управляющего устройства процессора в форме Автомата Мили
2.2.1 Определение состояний ЦА.
На заданной по варианту блок-схеме алгоритма проставим состояния цифрового автомата. Новым состоянием обозначается вход блока следующего за “процессом”. За исходное состояние возьмём а0.
Состояние цифрового автомата изменится после каждого блока «процесс», т. к. данный блок указывает на выходные сигналы, сформированные автоматом при заданном переходе. Состояния следует проставлять по возрастанию. На алгоритме каждое новое состояние автомата фиксируется крестиком на стрелке перехода к следующему блоку и проставлено буквенное обозначение с соответствующим индексом.
В результате получили 11 разных состояний переходов автомата. Далее этим состояниям присваивается двоичный код. Для того, чтобы было меньше разрядов, а следовательно и меньше триггеров воспользуемся двоичным кодом «8-4-2-1». Соответствие кодовых комбинаций внутренним состояниям приведено в таблице 2.
2.2.2. Расчет числа триггеров
Для расчета числа триггеров воспользуемся формулой:
N≥log2 an
где an – количество состояний в алгоритме
N= log2 an = log2 11 = 3,26 ≈ 4.
Для всех состояний автомата достаточно выбрать триггер как минимум с четырьмя выходами «Q». Каждый выход фиксируется в таблице, затем этому выходу присваивается «0» или «1» в зависимости от выбранного состояния автомата.
Таблица 1. Кодирование состояний цифрового автомата
Состояние | Выходтриггера | |||
ai | Q4 | Q3 | Q2 | Q1 |
a0 | 0 | 0 | 0 | 0 |
a1 | 0 | 0 | 0 | 1 |
a2 | 0 | 0 | 1 | 0 |
a3 | 0 | 0 | 1 | 1 |
a4 | 0 | 1 | 0 | 0 |
a5 | 0 | 1 | 0 | 1 |
a6 | 0 | 1 | 1 | 0 |
a7 | 0 | 1 | 1 | 1 |
a8 | 1 | 0 | 0 | 0 |
a9 | 1 | 0 | 0 | 1 |
a10 | 1 | 0 | 1 | 0 |
2.2.3 Структурная схема управляющего устройства
Структурная схема управляющего устройства приведена на рис. .
Входами комбинационного узла будут являться выходы триггеров (Q1; Q2; Q3; Q4), а также условные переходы (Х1; Х2; Х3; Х4; Х5).
Выходами будут являться сигналы (У1; У2; У3; У4; У5; У6) и сигналы управления триггерами (D1; D2; D3; D4). Также на триггеры подаются сигналы синхронизации (С) и сигналы установки нуля (R).
Рис.4. Структурная схема управляющего устройства.
2.2.4. Построение графа функционирования устройства.
Граф функционирования устройства строится на основе, данного в задании курсовой работы алгоритма работы, управляющего устройства. Для того чтобы начать составление нужно отметить на алгоритме все состояния устройства (а0 ... а10). Эти состояния и определят узлы графа. Кругами обозначаются состояния, а дугами переходы из одного состояния в другое. На дугах указываются условные переходы Xi, а также выходные сигналы Yi
Рис 5. Граф функционирования
2.2.5. Заполнение таблицы работы
Для заполнения таблицы работы нам понадобится таблица переходов D-триггера(табл.2).
Табл.2. Таблица переходов D-триггеров
Переход | D |
0 → 0 | 0 |
0 → 1 | 1 |
1 → 0 | 0 |
1→ 1 | 1 |
Табл.3 . Таблица работы
Состояние автомата | Условные переходы | Выходные сигналы | |||||||||
исходное | новое | ||||||||||
ai | Q4 | Q3 | Q2 | Q1 | ai | Q4 | Q3 | Q2 | Q1 | Xi | Ji; Ki; Yi |
a0 | 0 | 0 | 0 | 0 | a1 | 0 | 0 | 0 | 1 | ----- | D1; Y1, Y2 |
a1 | 0 | 0 | 0 | 1 | a2 | 0 | 0 | 1 | 0 | ----- | D2; Y2, Y3, Y4 |
a2 | 0 | 0 | 1 | 0 | a3 | 0 | 0 | 1 | 1 | ----- | D1,D2; Y1, Y3, Y4, Y6 |
a3 | 0 | 0 | 1 | 1 | a4 | 0 | 1 | 0 | 0 | X2 | D3; Y2 |
a3 | 0 | 0 | 1 | 1 | a5 | 0 | 1 | 0 | 1 | X2 |
D1, D3; Y2, Y5, Y6 |
a4 | 0 | 1 | 0 | 0 | a6 | 0 | 1 | 1 | 0 | X3 | D2,D3; Y1, Y5, Y6 |
a4 | 0 | 1 | 0 | 0 | a7 | 0 | 1 | 1 | 1 | X3 | D1, D2,D3; Y2, Y3,Y4 |
a6 | 0 | 1 | 1 | 0 | a10 | 1 | 0 | 1 | 0 | X5 | D2, D4; Y5, Y6 |
a6 | 0 | 1 | 1 | 0 | a8 | 1 | 0 | 0 | 0 | X5 | D4; Y5 |
a7 | 0 | 1 | 1 | 1 | a0 | 0 | 0 | 0 | 0 | X4 | ---------- |
a7 | 0 | 1 | 1 | 1 | a8 | 1 | 0 | 0 | 0 | X4 | D4; Y5 |
a8 | 1 | 0 | 0 | 0 | a9 | 1 | 0 | 0 | 1 | X1 | D1,D4; Y2, Y6 |
a8 | 1 | 0 | 0 | 0 | a0 | 0 | 0 | 0 | 0 | X1 | Y2, Y4, Y5 |
a9 | 1 | 0 | 0 | 1 | a10 | 1 | 0 | 1 | 0 | ----- | D2, D4; Y5, Y6 |
a10 | 1 | 0 | 1 | 0 | a1 | 0 | 0 | 0 | 1 | ----- | D1; Y1, Y2, Y5 |
a5 | 0 | 1 | 0 | 1 | a7 | 0 | 1 | 1 | 1 | ----- | D1,D2,D3; Y2, Y3, Y4 |
Таблица заполняется по графу (рис.4). Строк в таблице будет столько, сколько дуг в графе. Пример заполнения: для примера возьмём девятую строку, состояние автомата «а6» (кодируемое как «0110») переходит в состояние «а8 » (кодируемое как «1000»). Мы видим, что «Q2» и «Q3» были равны 1, а стали равны 0. Так как по варианту задан D-триггер, то по таблице переходов D -триггера видим, что нужно подать «0» на входы «D2» и «D3», на вход «D4» надо подать «1», для того чтобы «Q4» установился в «1», эти изменения вносим в графу «Сигналы управления триггерами; выходы КУ». Так же мы видим, что должны быть сформированы выходной сигнал У5, эти сигналы так же вносим в графу «Сигналы управления триггерами; выходы КУ». Этот переход условный, поэтому в столбце «Условие перехода» заносим условный переход «Х5». Аналогично заполняются остальные строки таблицы.
2.2.6. Выведение уравнений работы автомата.