ФГТУ ВПО Оренбурзький Державний Аграрний Університет
Кафедра Інформатики та інформаційного забезпечення
Курсовий проект
Тема: Розробка цифрового апарата
Оренбург - 2010
Завдання на курсовий проект
Синтезувати цифровий апарат Мура з D-тригером, використовуючи заданий граф мікропрограми автомата (структурна схема алгоритму).
Малюнок 1 - граф мікропрограми автомата (варіант 46).
Введення
Функції цифрового апарату (ЦА) зводяться до введення, висновку, зберігання інформації, виконання мікрооперацій і обчисленню логічних умов. Набір елементів, на основі яких будуються структури автоматів із зазначеними функціями, становить:
а) шини, що забезпечують передачу інформації;
б) регістри, що забезпечують зберігання слів, які складаються із сукупності елементів пам'яті (ЕП);
в) комбінаційні схеми (КС), які здійснюють обчислення логічних функцій.
Шини позначають сукупність ланцюгів, де один ланцюг служить для передачі одного біта інформації, з метою спрощення та читання схем.
ЕП, складові регістри, вибирають, як правило, з синхронною записом або з синхронної установкою.
КС по суті є перекодовуються пристроєм і головним об'єктом синтезу ЦА. Для її реалізації використовується весь арсенал елементів логічних функцій і вміння отримувати прості рішення мінімізацією складених для КС систем рівнянь логічних обчислень.
Теоретичною основою керованих ЦА є автомати Милі (малюнок 2) і Мура (рисунок 3).
Типовим прикладом автомата Мілі є електронні годинники з цифровим табло, де вихідні функції - сегменти індикації, а вхідні - кнопки режимів: при натисканні однієї з кнопок встановлюється дію відповідної керуючої функції.
Головна особливість автомата Мілі полягає в можливості при одному і тому ж стані ЕП задати кілька вихідних функцій: індикацію поточного часу, дня тижня, числа місяця, номера поточного місяця і т. д.
У промислових пристроях автоматики, як правило, не зустрічаються в чистому вигляді автомати одного типу. Проте в їхніх структурах домінує автомат Мура. Тому в даній роботі він буде об'єктом проектування.
1. Форма представлення завдання
Вихідною формою завдання є граф мікропрограми автомата (структурна схема алгоритму), яка, як правило, є частиною програми функціонування будь-якого пристрою в цілому і тому виглядає досить абстрактно.
Функції ЦА, згідно графу, представленому на малюнку 1:
y i - Мікрооперації, що генеруються ЦА (вихідні функції);
х i - Вхідні функції ЦА.
Після опису вхідних і вихідних функцій можна безпосередньо приступити до синтезу ЦА.
2. Технологія синтезу ЦА
2.1 Ескізна частина
Для початку виявимо стану ЦА Мура на графі алгоритму і позначимо їх через а i (рисунок 1).
За кількістю станів визначаємо необхідну кількість ЕП зі співвідношення:
2 ^ n -1 <N <= 2 ^ n,
де N - кількість станів, а n - число ЕП. Виходячи з малюнка, бачимо, що N = 8. Значить, n = 3.
Тут же робимо перевірку на предмет виключення КС2 з схеми. Це ефективно в тих випадках, коли кількість ЕП співпадає з числом вихідних функцій y i (Ідеальний випадок), або вони відрізняються на кілька одиниць процентному відношенні. При цьому обов'язковою умовою є відсутність послідовно наступних однакових комбінацій (або груп комбінацій) вихідних функцій ЦА у будь-якої частини алгоритму робіт ЦА. У це випадку станам ЕП присвоюються стану вихідних функцій, а вихідні функції y i зніматимуться прямо з виходів ЕП.
У заданому алгоритмі роботи ЦА виконується перша умова - немає однакових комбінацій y i, безпосередньо наступних один за одним. Але кількість вихідних функцій y i (4) відрізняється від кількості ЕП на 75%. Отже, синтезу КС2 не уникнути. КС2 здійснює перекодування станів ЕП в комбінації y i.
Тепер залишається вибрати тип ЕП. Це дуже непросте завдання, тому що в лоб вона не вирішується. І щоб вибрати оптимальний варіант, доводиться розробляти синтез ЦА на різних типах ЕП. Однак, бувають очевидніше рішення. Деякі і них:
- Якщо кількість розгалужень у багато разів менше кількості станів ЦА, то краще закодувати найдовший цикл переходів ЕП у вигляді послідовного набору двійкових чисел, а для реалізації цього найкращим чином підходить JK-тригер (він розроблений для двійкового рахунку);
- Якщо кількість розгалужень у багато разів більше числа станів ЕП, то краще підбирати ці стани між переходами так, щоб вони відрізнялися зміною тільки одного заряду; в цьому випадку ефективніше використовувати D-тригер.
У нашому випадку повна невизначеність-два розгалуження і три стани ЕП. Але відповідно до завдання, необхідно розробити ЦА з D-тригером.
Складаємо структурну схему ЦА, так як для цього є всі дані. Результат представлений на малюнку 2.
Малюнок 2 - структурна схема ЦА.
На малюнку 2 КС1 і КС2 представлені у вигляді чорних ящиків з відомими вхідними і вихідними функціями і невідомим вмістом.
2.2 Синтез КС2
Відомі вихідні функції КС2, але не встановлені поки вхідні, які є станами ЕП. Встановити їх і встановити відповідність між вхідними і вихідними функціями - авторське право. Творчий підхід до вирішення цієї проблеми полягає в спробі знайти найбільш просту схему КС2 методом підбору 2 ^ n варіантів складання таблиці істинності КС2. Оскільки генерований ЕП код вже вибраний заздалегідь, то залишається отримати ці варіанти тільки циклічним зсувом вхідних кодів по відношенню до вихідних.
Аналіз восьми варіантів таблиці істинності наведено нижче.
Таблиця 1 - перший варіант таблиці істинності КС2.
Вхідні функції | Вихідні функції | Стани | |||||
Q 2 | Q 1 | Q 0 | y 1 | y 2 | y 3 | y 4 | |
0 | 0 | 0 | 0 | 0 | 0 | 0 | a 0 |
0 | 0 | 1 | 1 | 1 | 1 | 0 | a 1 |
0 | 1 | 0 | 1 | 1 | 1 | 1 | a 2 |
0 | 1 | 1 | 0 | 1 | 1 | 0 | a 3 |
1 | 0 | 0 | 0 | 0 | 1 | 1 | a 4 |
1 | 0 | 1 | 0 | 1 | 1 | 0 |