Прикладная теория цифровых автоматов
Таблиця 2.5
Вміст керуючої пам`яті.
№ | A | FY | FX |
FA0 |
FA1 |
Оп. |
A1A2A3A4A5A6 |
T1T2T3T4T5T6 |
T7T8T9 |
T10T11T12T13T14T15 |
T16T17T18T19T20T21 |
1 | 000000 | 000000 | 100 | 000001 | 001100 |
2 | 000001 | 000000 | 101 | 000010 | 011001 |
3 | 000010 | 000000 | 110 | 000011 | 001100 |
4 | 000011 | 000000 | 001 | 001100 | 000100 |
5 | 000100 | 000000 | 010 | 001001 | 000101 |
6 | 000101 | 000110 | 110 | 000111 | 000110 |
7 | 000110 | 101100 | 000 | 000000 | 000000 |
8 | 000111 | 000111 | 000 | 001000 | 000000 |
9 | 001000 | 001001 | 000 | 001110 | 000000 |
10 | 001001 | 001000 | 100 | 001010 | 011000 |
11 | 001010 | 000000 | 110 | 001110 | 001011 |
12 | 001011 | 100111 | 000 | 000000 | 000000 |
13 | 001100 | 000001 | 100 | 001101 | 001110 |
14 | 001101 | 000000 | 110 | 001001 | 010010 |
15 | 001110 | 000100 | 100 | 001111 | 010111 |
16 | 001111 | 000000 | 101 | 010001 | 010000 |
17 | 010000 | 000000 | 110 | 010100 | 010101 |
18 | 010001 | 000000 | 110 | 010010 | 011110 |
19 | 010010 | 000110 | 110 | 011111 | 010011 |
20 | 010011 | 000000 | 011 | 100011 | 001110 |
21 | 010100 | 100000 | 000 | 000000 | 000000 |
22 | 010101 | 000000 | 010 | 001001 | 010110 |
23 | 010110 | 000001 | 000 | 100101 | 000000 |
24 | 010111 | 001010 | 001 | 011000 | 010101 |
25 | 011000 | 101010 | 000 | 000000 | 000000 |
26 | 011001 | 000000 | 110 | 011011 | 011010 |
27 | 011010 | 000000 | 001 | 011111 | 100001 |
28 | 011011 | 001101 | 001 | 011100 | 011101 |
29 | 011100 | 001110 | 011 | 010100 | 001110 |
30 | 011101 | 000101 | 000 | 011110 | 000000 |
31 | 011110 | 001111 | 010 | 100001 | 100000 |
32 | 011111 | 000111 | 101 | 010100 | 100010 |
33 | 100000 | 100011 | 000 | 000000 | 000000 |
34 | 100001 | 010000 | 110 | 010100 | 100011 |
35 | 100010 | 000000 | 010 | 010100 | 100101 |
36 | 100011 | 000001 | 101 | 100100 | 011111 |
37 | 100100 | 001011 | 000 | 000101 | 000000 |
38 | 100101 | 010001 | 100 | 001110 | 001001 |
2.4. Синтез схеми автомата.
Схема СФА являє собою мультиплексор, який в залежності від коду логічної умови, що перевіряється, передає на вихід Z1 значення відповідної ЛУ. При цьому сигнал Z2 завжди є інверсією сигналу Z1. Таким чином, отримаємо слідуючі вирази для Z1 і Z2:
Z1=X1щT7щT8T9+X2щT7T8щT9+X3щT7T8T9+P1T7щT8щT9+P2T7щT8T9+P3T7T8щT9
Z2=щZ1
або, звівши до заданого базису (4 АБО-НІ), отримаємо
Z1=щ щ(щ щ(A+B+C+D)+E+F), де
A=щ щ( X1щT7щT8T9)=щ(щX1+T7+T8+щT9)
B=щ щ( X2щT7T8щT9)=щ(щX2+T7+щT8+T9)
C=щ щ( X3щT7T8T9)=щ(щX3+T7+щT8+щT9)
D=щ щ( P1T7щT8щT9)=щ(щP1+щT7+T8+T9)
E=щ щ( P2T7щT8T9)=щ(щP2+щT7+T8+щT9)
F=щ щ( P3T7T8щT9)=щ(щP3+щT7+щT8+T9)
Інформація, що надходить на адресні входи ПЗП формується таким чином: Ai=A0iZ1+A1iZ2 або, приводячи до заданого базису, отримуємо Ai=щщ(щ(щA0i+щZ1)+щ(щA1i+щZ2)).
Синтезуємо тепер схему дешифратора, що формує сигнали мікрооперацій yi. Поява одиниці, відповідної кожному Y, відбувається при появі на вході дешифратора коду даного Y, тобто Yi=T2eЩT3eЩT4еЩT5еЩT6е, де еО{0,1} T0=щT, T1=T. Або приводячи до заданого базису, отримаємо: Yi=щ(щ щ(T2щe+T3щe+T4ще+T5ще)+T6ще). Таким чином, схема, що формує сигнал Y з п`ятирозрядного коду виглядає таким чином(мал. 2.4)
T6щe
1 1 1 Yi
T2щe
Мал. 2.4. Схема формування сигналу Yi.
Враховуючи, що розряд T2 рівний “1" при формуванні тільки двох сигналів Y18 і Y20, то схему(мал. 2.4) будемо використовувати для формування Y1, Y20, для яких співпадають молодші чотири розряди та для Y18, для якого молодші чотири розряди співпадають з кодом порожньої операторної вершини. А для всіх інших Y схему можна спростити (мал.2.5.).
T6щe
1 Yi
T3щe
Мал.2.5. Спрощена схема формування сигналу Yi.
Згідно з наведеними схемами запишемо формули для всіх Yi.
Y1=щ (щ щ(T2+T3+T4+T5)+щT6)
Y2= щ(T3+T4+щT5+T6)
Y3= щ(T3+T4+щT5+щT6)
Y5= щ(T3+щT4+T5+T6)
Y7= щ(T3+щT4+T5+щT6)
Y8= щ(T3+щT4+щT5+T6)
Y9= щ(T3+щT4+щT5+щT6)
Y10=щ(щT3+T4+T5+T6)
Сигнали мікрооперацій yj отримаємо, об'єднуючи по “або" виходи відповідні операторам Yi, в яких зустрічається МО yj. При цьому будемо користуватися таблицею
Таблиця 2.5.
Розподіл МО за мікро-
командами
МО |
номери МК |
y1 |
1,2,3 |
y2 |
1,7,17 |
y3 |
5,10,14,20 |
y4 |
5,10,13,15 |
y5 |
2,8,10,12,15,18 |
y6 |
3,7,9,12,13,15 |
y7 |
7,11 |
y8 |
11 |
y9 |
1 |
y10 |
1 |
y11 |
3,14 |
y12 |
2,12,16 |
y13 |
5,8,17 |
y14 |
16 |
y15 |
8 |
y16 |
7,16 |
y17 |
9,11,12,14 |
y18 |
10,14,15 |
y19 |
2,10,12,15 |
y20 |
3,11,13 |
y21 |
13 |
y22 |
14 |
y23 |
15 |
y24 |
16 |
y25 |
17 |
y27 |
20 |
y28 |
20 |
y29 |
8 |
y30 |
5 |
На наступному етапі синтезуємо схеми РАМК і РМК, використовуючи щRщS тригери. Скористаємося класичним методом синтезу регістрів і заповнимо слідуючу таблицю (табл. 2.6.).
Таблиця 2.6.
Синтез РАМК та РМК
С |
Ai |
Qt |
Qt+1 |
Ct |
щR |
щS |
0 |
0 |
0 |
0 |
0 |
* |
* |
0 |
0 |
1 |
1 |
0 |
* |
* |
0 |
1 |
0 |
0 |
0 |
* |
* |
0 |
1 |
1 |
1 |
0 |
* |
* |
1 |
0 |
0 |
0 |
1 |
* |
1 |
1 |
0 |
1 |
0 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
1 |
1 |
* |
У результаті отримаємо слідуючу схему для базового елементу РАМК та РМК (мал.2.6).
Ai
1 S TT Q
СІ C
R
“Reset” R щQ
Мал. 2.6. Базовий елемент регістра.
Схема РАМК містить 6 таких елементів, а схема РМК - 21. При побудові схеми сигнали щT1..щT21 будемо знімати з інверсних виходів елементів регістрів. Кількість мікросхем ПЗП визначимо за формулою: NПЗП=]R/3[, де R - розрядність мікрокоманди R=21, NПЗП=7. Для зберігання мікропрограми досить однієї лінійки ПЗП, оскільки QПЗП=8, тобто одна мікросхема розрахована на зберігання 256 трьохбітових комбінацій, а в нашому випадку потрібно тільки 38. При побудові схеми будемо записувати в РАМК інверсію адреси, а до ПЗП будемо подавати адресу з інверсних виходів елементів регістра, таким чином, ми заощадимо 6 елементів-інверторів у СФА. З врахуванням вищесказаного побудуємо схему автомата з примусовою адресацією мікрокоманд(мал. 2.7).
3.СИНТЕЗ АВТОМАТА З ПРИРОДНОЮ АДРЕСАЦІЄЮ МІКРОКОМАНД
3.1. Принцип роботи автомата.
При природній адресації микрокоманд існує три формата МК (мал. 3.1.).
П 1 FY m ОМК
П 1 FX l 1 FA r УМК1 П 1 Ж l 1 FA r УМК2
Мал.3.1. Формати мікрокоманд автомата з природною адресацією..
Тут формат ОМК відповідає операторній вершині, УМК1-умовній, а УМК2-вершині безумовного переходу. При подачі сигналу “пуск" лічильник ЛАМК обнуляється, і за сигналом СІ відбувається запис МК до регістра. СФМО формує відповідні МО при П=1 або видає на всіх виходах нулі при П=0. СФА в залежності від П і вмісту поля FX, формує сигнали Z1 і Z2. Сигнал Z1 дозволяє проходження синхроімпульсів на лічильний вхід ЛАМК, а Z2 дозволяє запис до лічильника адреси наступної МК з приходом синхроімпульсу.
Визначимо розрядність полів. l=]log2(L+1)[, де L-число умовних вершин. L=6, l=3
m=]log2T[ Т- число наборів мікрооперацій, що використовуються в ГСА, в нашому випадку Т=17, m=5
r=]log2 Q[, Q - кількість мікрокоманд.
3.2.Перетворення початкової ГСА.
Перетворення буде полягати в тому, що до всіх операторних вершин, пов'язаних з кінцевою, вводиться сигнал y0, а між всіма умовними вершинами, які пов'язані з кінцевою, вводиться операторна вершина, що містить сигнал y0. Крім цього, в ГСА вводяться спеціальні вершини безумовного переходу X0, відповідні формату УМК2. Введення таких вершин необхідне для виключення конфліктів адресації мікрокоманд. У автоматі з природною адресацією (рис3.2.) при істинності(помилковість) логічної умови перехід здійснюється до вершини з адресою на одиницю великим, а при (помилковість)істинності ЛУ перехід відбувається за адресою, записаною в полі FA. У нашому випадку будемо додавати одиницю при істинності ЛУ або при переході з операторной вершини. Якщо в одній точці сходиться декілька переходів по “1" або з операторної вершини, то всі вершини з яких здійснювався перехід, повинні були б мати однакову (на одиницю меншу ) адресу, ніж наступна команда. Але це неможливо.
Z1 +1
сі Z2 А ЛАМК