
- •Прикладна теорія цифрових автоматів
- •Загальні методичні вказівки
- •Тема: Проектування спеціалізованих арифметико-логічних пристроїв
- •Методичні вказівки до виконання курсової роботи
- •Загальні відомості
- •1. Вибір схеми операційного автомату та опис його роботи.
- •2. Принципіальна схема модуля операційного блока (моб).
- •3. Приведення змістовного алгоритму виконання операції.
- •Граф-схеми мікропрограми ка.
- •5. Проектування модуля ка.
- •Структурний синтез автомата Мілі
- •Побудова схеми керуючого автомата
- •Структурний синтез автомата Мура
- •Зауваження
- •Література
- •Проектування спеціалізованих арифметико-логічних пристроїв
- •1. Реалізація операції додавання і віднімання
- •1.1. Алгоритм додавання і віднімання двійкових чисел
- •1.2. Функціональна схема алп для виконання операцій додавання і віднімання
- •1.3. Мікропрограма додавання та віднімання двійкових чисел
- •2. Реалізація операції множення
- •2.1. Алгоритм множення двійкових чисел із зсувом суми часткових добутків вправо
- •2.2. Функціональна схема алп для операції множення
- •2.3. Мікропрограма множення цілих чисел
- •2.4. Перший алгоритм множення у прямому коді.
- •2.5. Другий алгоритм множення у прямому коді.
- •2.6. Третій алгоритм множення у прямому коді.
- •2.7. Четвертий алгоритм множення у прямому коді.
- •3. Реалізація операції ділення
- •3.1. Алгоритм ділення цілих чисел
- •3.2. Функціональна схема алп для мікропрограми ділення
- •3.3. Мікропрограма ділення цілих чисел без відновлення залишку
Структурний синтез автомата Мура
Виконуємо структурний синтез мікропрограмного автомата Мура, заданого своєю таблицею переходів-виходів. Як приклад синтез виконуватимемо по зворотній таблиці (табл. _____).
1. У початковому автоматі кількість станів М=7, отже число елементів пам'яті m = ] log 2 M [ = ] log 2 7 [ = 3.
Нехай для синтезу використовуються D–тригери.
2. Кодуємо внутрішні стани автомата, використовуючи алгоритм кодування для D–тригерів. Кількість переходів в даний стан легко визначається із зворотньої таблиці:
а1 ~ 2, а2 ~ 3, а3 ~ 2, а4 ~ 1, а5 ~ 1, а6 ~ 1, а7 ~ 2.
Тому коди станів наступні:
а2-000, а1-001, а3-010, а7-100, а4-011, а5-101, а6-110.
3. Будуємо структурну таблицю переходів-виходів автомата Мура.
аm |
K(am) |
as(Y) |
K (as) |
X |
ФВ |
a6 a7 |
110 100 |
a1(-)
|
001 |
1 |
D3 D3 |
a1 a2 a6 |
001 000 110 |
a2(y1y2) |
000 |
|
- |
a1 a4 |
001 011 |
a3(y3y4) |
010 |
1 |
D2 D2 |
a3 |
010 |
a4(y1y4) |
011 |
|
D2 D3 |
a2 |
000 |
a5(y2y3) |
101 |
|
D1 D3 |
a2 |
000 |
a6(y4) |
110 |
|
D1 D2 |
a3 a5 |
010 101 |
a7(y2) |
100 |
1 |
D1 D1 |
Побудова таблиці виконується аналогічно автомату Мілі.
4. Вирази для функцій збудження виходять у вигляді суми творів а та х, де а – початковий стан, х – умова переходу.
або
5. Вирази для вихідних сигналів автомата Мура одержуємо, виходячи з того, що ці сигнали визначаються тільки внутрішнім станом автомата.
6. Для побудови функціональної схеми автомата як і у попередньому випадку використовуємо дешифратор станів. Схема представлена на рис. 8.
Зауваження
1. При синтезі мікропрограмних автоматів викладеним методом одержувані вирази для функцій збудження не завжди є мінімальними і в деяких випадках можуть бути спрощені. Зокрема, можна довизначити функції збудження на деяких наборах одиничним значенням (а не нульовим, як було раніше) і виконати всі операції склеювання. Наприклад, в синтезованому раніше автоматі Мілі таким чином можна набути значення k1=1.
Рекомендується в цьому переконатися самостійно.
Для спрощення схем автоматів можна також заздалегідь спростити ГСА, зменшивши кількість вершин або вузлів методами, викладеними / /.
Автомат Мілі в перебігу такту зберігає свій стан і лише в кінці його переходить в нове. Поки автомат знаходиться в даному стані Ai він виробляє вихідні сигнали у = f (Ai, x), де х - сигнали, що подаються на вхід автомата протягом даного такту. У зв'язку з цим автомат Мілі може інтерпретувати мікропрограму коректно тільки в тому випадку, якщо для будь-якого переходу виконується умова незалежності логічних умов від результатів виконання мікрооперацій на даному переході.
Умова незалежності порушується, якщо на деякому переході з am в as під дією сигналу х з виробленням уі, спостерігається функціональна залежність х = f(уі). У такому разі виконання мікрооперації уі може привести до зміни значення х і автомат, знаходячись в стані ат, і, реагуючи на набір вхідних сигналів, сформує набір вихідних сигналів, нf відповідній мікропрограмі. Щоб уникнути цього, можна використовувати наступні способи:
-
запам'ятати значення сигналів х на проміжок часу, рівний тривалості такту;
-
ввести в автомат додаткові стани;
-
реалізувати автомат по схемі Мура.
Запам'ятовування значень сигналів х протягом такту здійснюється операційним автоматом за допомогою додаткових елементів пам'яті - тригерів. Інтерпретація мікропрограми автоматом Мура розглядалася раніше. Введення додаткових станів ілюструється рис. 10.
У початковому автоматі (рис. 10 а) є переходи з аі в aj під дією сигналів х і х з виробленням y1 і y2 відповідно і має місце х = f(y1, y2). Дійсно, введення допоміжних станів ak і al дозволяє усунути можливу помилку у видачі вихідних сигналів. На переходах аі ak або аі al вихідні сигнали не виробляються. Переходи аі ak або аі al є безумовними з виробленням y1 або y2 відповідно. У такому разі зміна значення х, в результаті виконання мікрооперацій y1 або y2, не вплине на вихідний сигнал, що виробляється автоматом, оскільки на переходах аі ak або аі al вихідний сигнал вже не залежить від х.
Рис. 9. Функціональна схема автомата Мура
Рис. 10. Введення додаткових станів в автомат Мілі: а) початковий автомат
б) автомат з додатковими станами.