Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб_сем2_А4(19-04-10).DOC
Скачиваний:
1
Добавлен:
03.05.2019
Размер:
1.34 Mб
Скачать

Завдання лабораторної роботи 12.

Розробити мікроалгоритми роботи і граф переходів, а також схему електричну функціональну та схему електричну принципову керуючого автомата Мура для управління реалізацією заданих функцій (Додаток А) спроектованим в лабораторній роботі 9 арифметико-логічним пристроєм.

Особливі вимоги до виконання завдань лабораторної роботи.

Вважати, що зчитування результату операції та опитування стану наявних прапорців помилок виконується в циклі очікування зняття сигналу “Пуск”. По завершенню зазначеного циклу збереження результату і стану прапорців помилок вважати необов’язковим.

Порядок виконання завдання.

  1. Ознайомитись з теоретичними відомостями та завданням.

  2. Розробити закодований мікроалгоритм функціонування автомата Мура для реалізації заданих функцій (Додаток А) спроектованим арифметико-логічним пристроєм, провести розмітку станів автомата на отриманому закодованому мікроалгоритмі функціонування автомата Мура.

  3. Провести аналіз умов формування керуючих сигналів для кожного наявного в алгоритмі переходу автомата зі стану в стан і сформувати розширений мікроалгоритм функціонування автомата Мура.

  4. Розробити детальний (розширений) граф переходів керуючого автомата.

  5. Визначити кількість тригерів для побудови автомата Мура відповідно до вимог поставленого завдання.

  6. Розробити спосіб кодування станів автомата Мура.

  7. Скласти структурну таблиця автомата Мура.

  8. Провести доповнення отриманої структурної таблиці автомата Мура.

  9. Мінімізувати функції сигналів керування роботою тригерів (функцій збудження тригерів).

  10. Розробити схему електричну функціональну автомата Мура.

  11. На базі стандартних елементів мікросхем ТТЛ і ТТЛШ або КМОП логіки розробити схему електричну принципову автомата Мура.

  12. Скласти перелік елементів, необхідних для реалізації розробленої схеми.

  13. Отримати у викладача допуск до реалізації розробленої схеми на навчальному монтажному стенді.

  14. Зібрати та налагодити спроектований пристрій згідно розробленої схеми.

  15. Впевнитися в правильності функціонування спроектованого пристрою.

Лабораторна робота №13

Тема:. Проектування мікропрограмного керуючого автомата з горизонтальним кодуванням мікрокоманд.

Мета: Отримати навички визначення принципів функціонування, підготовки необхідних вихідних даних та розробки схем електричних мікропрограмного керуючого автомата з горизонтальним кодуванням мікрокоманд.

Теоретичні відомості

Характерною рисою мікропрограмного керуючого автомата є наявність блока пам’яті (запам’ятовуючого пристрою), в якому зберігається мікропрограма роботи пристрою. Комірки запам’ятовуючого пристрою відповідають станам керуючого автомата. До кожної комірки записується мікрокоманда. Ця мікрокоманда визначає внутрішні та зовнішні сигнали керування, що формуються у відповідному стані для забезпечення коректної роботи пристрою.

Узагальнену функціональну схему мікропрограмного керуючого автомата наведено на рис.13.1.

Мікропрограмний автомат (рис. 13.1) складається з наступних блоків:

БФА – блок формування адреси (в більшості випадків – двійковий лічильник або регіст). Призначений для визначення адреси виконуваної команди мікропрограми;

БП – блок пам’яті. Призначений для зберігання мікропрограми;

КС – комбінаційна схема. На підставі аналізу сигналів умов х1-хn формує для БФА сигнал переходу за умовою.

Наведена схема відповідає мікропограмному автомату з горизонтальним кодуванням та послідовним виконанням мікрокоманд.

Спосіб кодування визначається форматом мікрокоманди. При горизонтальному кодуванні кожному сигналу керування (окрім константних та тих, що дублюють один одного) ставиться у відповідність один розряд мікрокоманди. Такий спосіб кодування певною мірою схожий на розглянутий приклад кодування для автомата Мура, де сигналу керування співставлявся один тригер. Відмінністю мікропрограмного керуючого автомата є формування додаткових сигналів керування для його внутрішніх блоків (КС та БФА).

На наведеній на рис.13.3 схемі мікрокомада складається з трьох полів:

y1-yp – сигнали керування роботою операційного пристрою;

z1-zk – сигнали керування роботою комбінаційної схеми КС. Зазначені сигнали визначаються таким чином, щоб в моменти виконання умов переходів на виході комбінаційної схеми КС формувався активний рівень сигнала на вході PE БФА (вхід паралельної загрузки даних в БФА з його входів І1-Іm);

q1-qm – адреса мікрокоманди, яка повинна зчитуватись з БП для виконання наступною, якщо комбінаційною схемою КС визначене виконання умови переходу.

Формат мікрокоманди (відовідно і структура керуючого пристрою) може відрізнятися від запропонованого, що зумовлено особливостями та підходами до вирішення різноманітних завдань.

Мікропрограмний автомат працює наступним чином. При послідовному виконанні мікрокоманд з надходженням кожного тактового імпульсу значення адреси в БФА (в якості БФА використовуємо лічильник) збільшується на одиницю, що призводить до вибору команди з наступної комірки БП. Якщо на певному етапі виконання мікропрограми необхідно виконати перевірку умови, до розрядів z1-zk мікрокоманди записують сигнали керування таким чином, щоб при виконанні зазначеної умови (наявності відповідного рівня сигнала хj, де 1jn) комбінаційна схема КС формувала на виході активний рівень сигналу запису для БФА (сигнал запису до БФА повинен стробуватись аналогічно сигналу збільшення для дотримання однакової тривалості періоду виконання мікрокоманди). До розрядів q1-qm мікрокоманди записують адресу місцезнаходження в БП мікрокоманди, яка повинна виконуватись наступною при виконанні умови переходу. При надходженні активного сигналу на вхід PE БФА з надходженням тактового імпульсу, замість збільшення поточного значення на 1, зчитує значення з входів І1-Іm, що забезпечує виконання умовного переходу. Завершення роботи мікропрограми (очікування моменту зняття сигналу пуск) виконується зацикленням блоку мікропограми.

Важливим етапом при створенні мікропрограмного автомата є складання таблиці прошивки запам’ятовуючого пристрою (БП). В таблиці прошивки запам’ятовуючого пристрою наводиться відповідність адрес (вхідних сигналів БП) та команд мікропрограми (вихідних сигналів БП).

Недоліком горизонтального кодування мікрокоманд є потреба в використанні запам’ятовуючого пристрою, розрядність якого визначається розрядністю мікрокоманди. При великій кількості сигналів керування такий підхід призводить до невиправдано великих витрат апаратних ресурсів. Для усунення цього недоліку використовується вертикальне та багаторівневе кодування.

Розглянемо особливості побудови мікропрограмного керуючого автомата з горизонтальним кодуванням для наведеного на рис. 9.1 арифметико-логічного пристрою.

Для визначення станів автомата скористаємось наведеним на рис. 12.1 мікроалгоритмом, доповнивши його пустими операторними вершинами таким чином, щоб всі вихідні зв’язки з вершин умов надходили в операторні вершини (рис.13.2).

Кодування станів автомата на алгоритмі виконане за методикою, що використовувалась при кодуванні станів автомата Мура. Аналогічним чином побудуємо граф переходів автомата (рис.13.3).

За графом мікропрограмного автомата складемо таблицю переходів автомата (табл. 13.1).

Таблиця 13.1. Таблиця переходів мікропрограмного автомата

Вихідний стан автомата

Стан послідовного переходу

Стан примусового переходу

Стан

Умова

Стан

Умова

Х1

Х2

Х1

Х2

а1

а2

1

*

а1

0

*

а2

а3

*

*

-

-

-

а3

а4

*

*

-

-

-

а4

а5

*

1

а3

*

0

а5

а6

0

*

а5

1

*

а6

-

-

-

а1

*

*

Формат мікрокоманди та розрядність окремих її полів визначаються наступним чином:

  • визначається кількість p необхідних сигналів керування роботою операційного пристрою y1-yp, що не є константними;

  • визначається розрядність m адресної частини q1-qm мікрокоманди як найменше ціле не менше двійкового логарифма кількості станів автомата;

  • визначається кількість k сигналів керування z1-zk роботою комбінаційної схеми КС як найменше ціле не менше двійкового логарифма від збільшеної на 1 кількості рядків в таблиці переходів мікропрограмного автомата, умови примусових переходів в яких не дублюються.

Як було визначено при побудові автомата Мура, для нашого прикладу сигнали керування у3 та у4 є константними. Таким чином отримуємо p=4.

Кількість станів автомата дорівнює 6, log2 62.45, m=3.

Згідно з табл. 6 визначаємо наявність чотирьох примусових переходів за різними умовами, тобто k log2 (4+1) = log2 5 2.24; k=3.

Таким чином загальна кількість розрядів мікрокоманди дорівнює 10.

При складанні таблиці прошивки БП умовимось виконувати кодування сигналів керування для КС z1, z2 та z3 згідно з табл. 13.2 (значення сигналів z1, z2 та z3 в табл. 7 можуть обиратися довільним чином, але утворювані ними кодові комбінації для різних умов переходу не повинні дублюватися).

Таблиця 13.2. Кодування сигналів керування КС

Умова переходу

Сигнали керування

Х1

Х2

z1

z2

z3

Немає примусового переходу

0

0

0

0

*

0

0

1

*

0

0

1

0

1

*

1

0

0

*

*

1

1

1

Складемо мікропрограму роботи пристрою (табл.13.3). Загальна кількість мікрокоманда (обсяг необхідного адресного простору БП), що записуються до БП як мікропрограма, визначається кількістю можливих станів автомата. Для нашого прикладу вона дорівнює 6.

Таблиця 13.3. Мікропрограма роботи пристрою

Коди мікрокоманд

Примітка

Сигнали керування операційним пристроєм

Сигнали керування КС

Адреса умовного переходу

у1

у2

у5

у6

z1

z2

z3

q1

q2

q3

Стан автомата

0

0

0

0

0

0

1

0

0

0

а1

1

1

0

0

0

0

0

*

*

*

а2

0

0

0

1

0

0

0

*

*

*

а3

0

0

1

0

0

1

0

0

1

0

а4

*

0

0

0

1

0

0

1

0

0

а5

*

0

0

0

1

1

1

0

0

0

а6

Складемо таблицю прошивки мікропрограми в БП мікропрограмного автомата.

Таблиця 13.4. Таблиця прошивки мікропрограми в БП

Адреса мікро-команди в БП

Код мікрокоманди

Примітка

у1

у2

у5

у6

z1

z2

z3

q1

q2

q3

А2

А1

А0

Q9

Q8

Q7

Q6

Q5

Q4

Q3

Q2

Q1

Q0

Стан автомата

0

0

0

0

0

0

0

0

0

1

0

0

0

а1

0

0

1

1

1

0

0

0

0

0

*

*

*

а2

0

1

0

0

0

0

1

0

0

0

*

*

*

а3

0

1

1

0

0

1

0

0

1

0

0

1

0

а4

1

0

0

*

0

0

0

1

0

0

1

0

0

а5

1

0

1

*

0

0

0

1

1

1

0

0

0

а6

На підставі даних табл.13.2 сформуємо таблицю істинності для визначення законів функціонування КС (табл.13.5).

Таблиця 13.5. Таблиця істинності для КС

Х1

Х2

z1

z2

z3

РЕ

0

0

0

0

0

0

0

0

0

0

1

1

0

0

0

1

0

1

0

0

0

1

1

0

0

0

1

0

0

0

0

0

1

0

1

0

0

0

1

1

0

0

0

0

1

1

1

1

0

1

0

0

0

0

0

1

0

0

1

1

0

1

0

1

0

0

0

1

0

1

1

0

0

1

1

0

0

0

0

1

1

0

1

0

0

1

1

1

0

0

0

1

1

1

1

1

1

0

0

0

0

0

1

0

0

0

1

0

1

0

0

1

0

1

1

0

0

1

1

0

1

0

1

0

0

1

1

0

1

0

1

0

1

0

1

1

0

0

1

0

1

1

1

1

1

1

0

0

0

0

1

1

0

0

1

0

1

1

0

1

0

0

1

1

0

1

1

0

1

1

1

0

0

1

1

1

1

0

1

0

1

1

1

1

0

0

1

1

1

1

1

1

На підставі наведених в таблицях даних виконується побудова електричних схем пристрою мікропрограмного керування.

Примітка 13.1. При побудові мікропрограмного пристрою керування може бути використаний отриманий раніше закодований мікроалгоритм функціонування автомата Мура та відповідний граф переходів, але це потребує введення в мікрокоманду трьох полів адрес умовного переходу та сигналів керування селектором адреси. Селектор адреси необхідно включити до схеми для забезпечення комутації на входи БФА однієї з трьох можливих адрес умовного переходу зі стану а4 (в стани а1, а3, а4). Можливі також інші підходи до вирішення цієї задачі, велике різноманіття яких не дозволяє розглянути їх всі детально.

Примітка 13.2. Аналіз даних табл.13.3 показує, що довжину мікрокоманди при побудові мікропрограмного автомата для нашого прикладу можна зменшити за рахунок об’єднання сигналів, які дублюються. Одним сигналом можуть бути замінені сигнали у1, у2 та сигнали у5, q2. Додатково скоротити довжину команди можливо за рахунок використання іншого способу кодування сигналів керування КС, наведеного в табл.13.6, що дозволить додатково сумістити сигнали q1, z1 та сигнали у5, q2, z2. Крім того, в якості сигналів керування КС можуть використовуватись сигнали з адресних входів БП (це потребує урахування затримок розповсюдження сигналів в БП) або логічні поєднання сигналів, які дозволяють розрізнити вихідні стани автомата. Найменшу довжину мікрокоманди (відповідно і розрядність БП) дозволяє отримати вертикальний метод кодування мікрокоманд.

Таблиця 13.6. Кодування сигналів керування КС

Умова переходу

Сигнали керування

Х1

Х2

z1

z2

z3

Немає примусового переходу

0

0

0

0

*

0

1

1

*

0

0

1

0

1

*

1

0

0

*

*

0

0

1

Отримати навички визначення принципів функціонування, підготовки необхідних вихідних даних та розробки схем електричних мікропрограмного керуючого автомата з горизонтальним кодуванням мікрокоманд.