Курсове проектування є завершальним етапом вивчення студентами спеціальних дисциплін, передбачених робочим планом за фахом АМ.
Задачі курсового проектування - закріплення, систематизація, поглиблення і розвиток теоретичних і практичних знань, отриманих у процесі вивчення дисципліни, а також придбання ними практичних навичок самостійного рішення загальнотеоретичних, практичних і методичних питань проектування програмних продуктів.
Основна мета курсового проектування складається у вивченні й аналізі питань, зв'язаних зі спеціальними аспектами досліджуваних дисциплін, удосконалюванні загальнотеоретичної підготовки студентів, а також самостійному застосуванні отриманих знань.
Метою курсового проекту є проектування керуючих автоматів Милі і Мура, по заданій графі-схемі алгоритму, і побудова їхніх принципових схем на елементах заданої серії.
У курсовому проекті були реалізовані необхідні вимоги, і виконаний синтез керуючих автоматів на елементах серії КР1533.
RESUME
Course designing is the closing stage of studying by students of the special disciplines stipulated by the working plan on a speciality american.
Problems of course designing - fastening, ordering, a deepening and development of the theoretical and practical knowledge received during studying of discipline, and also purchase of practical habits of the independent decision of general-theoretical, practical and methodical questions of designing of software by them.
The basic purpose of course designing develops in studying and the analysis of the questions connected to special aspects of researched disciplines, perfection of general-theoretical preparation of students, and also independent application of the received knowledge.
The purpose of the course project is designing managing automatic devices of Mile and Mess, under the given column - circuit of algorithm, and construction of their basic circuits on elements of the given series.
In the course project there were realized necessary requirements, and the executed synthesis of managing automatic devices of elements of series KR1533.
ЗМІСТ
Введення
1. Вибір варіанта завдання
1.1. Граф-схема алгоритму
1.2. Тип тригера
1.3. Серія інтегральних мікросхем
2. Основна частина
2.1.Структурний синтез автомата Мура
2.1.1. Розмітка станів ГСА
2.1.2. Таблиця переходів автомата
2.1.3. Кодування станів
2.1.4. Функції збудження тригерів та вихідних сигналів
2.2. Структурний синтез автомата Мілі
2.2.1. Розмітка станів ГСА
2.2.2. Таблиця переходів автомата
2.2.3. Кодування станів
2.2.5. Функції збудження тригерів та вихідних сигналів
Закінчення
Список використаної літератури
1 Введення
Метою курсового проекту по дисципліні "Прикладна теорія цифрових автоматів" є закріплення основних теоретичних знань і практичних навичок у ході самостійної роботи. У ході роботи необхідно :1. спроектувати керуючий автомат Милі по заданої граф - схемі алгоритму. Побудувати принципову схему автомата з використанням елементів серії КР1533.2. спроектувати керуючий автомат Мура по заданої граф - схемі алгоритму. Побудувати принципову схему автомата з використанням елементів серії КР1533. Керуючий автомат генерує послідовність керуючих сигналів, запропоновану мікропрограмою, і відповідну значенням логічних елементів, тобто задає порядок виконання дій в операційному автоматі, що випливають з алгоритму виконання операцій. Кінцевий автомат, що інтерпретує мікропрограму роботи операційного пристрою, називається мікропрограмним автоматом. На практиці найбільше поширення одержали два класи автоматів - автомати Милі і Мура. Основна відмінність автомата Мура від автомата Милі полягає в тім, що вихідний сигнал в автоматі Мура залежить тільки від поточного стану автомата й у явному виді не залежить від вхідного сигналу.
1.1 Вибір завдання.
1.1 Вибір
граф-схеми алгоритму
Граф-схеми алгоритмів обираються кожним студентом в індивідуальному порядку. Вона складається з чотирьох блоків: E, F, G, H. Студенти обирають граф-схему із п’яти блоків з номерами 0...4 на підставі чисел А, В, С та (А+В+С) за наступними правилами:
- блок "Е" – схема під номером (А) mod 5 = 16 mod 5 = 1;
- блок "F" – схема під номером (В) mod 5 = 01 mod 5 = 1;
- блок "G" – схема під номером (С) mod 5 = 26 mod 5 = 1;
- блок "H" – схема під номером (А+В+С) mod 5 = 43 mod 5 = 3.
Розташування обирається з використанням номера групи.
1.2
Вибір
типа тригера
Тип тригера знаходимо по таблиці 1 на підставі числа (А) mod 3 = 27 mod 3 = 0.
Таблиця 1 Для вибору варіанта тргера
(A) mod 3 | ТИП ТРИГЕРА | |
0 | Т | D |
1 | D | JK |
2 | JK | T |
автомат | Мілі | Мура |
Отримуємо D-тригер для автомата Мілі та JK-тригер для Мура.
1.3. Вибір ссерії інтегральних мікросхем
Для парних номерів за списком (26) - серія КР1533.
Після відповідної розмітки будуємо таблиці переходів для обох автоматів.
2 ОСНОВНА ЧАСТИНА
2.1.Структурний синтез автомата Мура
2.11. Розмітка станів ГСА
Для автомата Мура на етапі одержання відміченої ГСА розмітка провадиться відповідно до наступних правил:
1) символом а1
відмічаються початкова і кінцева вершини;
2) різні операторні вершини відмічаються різними символами;
3) всі операторні вершини повинні бути відмічені.
Відповідно до цих правил я відмітив 25 станів.
2.1.2. Таблиця переходів автомата
Для кожного стану ai
визначаю по ГСА всі шляхи, які ведуть в інші стани.
Я буду будувати зворотну таблицю переходів для автомата Мура, тому що я синтезую автомат на базі JK-тригера.
2
.2.3. Кодування станів
Аналіз канонічного методу структурного синтезу автомата показує, що різні варіанти кодування станів автомата приводять до різних виражень функцій збудження пам'яті і функцій виходів, у результаті чого складність комбінаційної схеми істотно залежить від обраного кодування.
Я буду кодувати стани автомату з допомогою евристичного алгоритму кодування, тому що я синтезую автомат на базі JK-тригера.
Даний алгоритм мінімізує сумарне число переключень елементів пам'яті на всіх переходах автомата і використовується для кодування станів автомата при синтезі на базі T, RS, JK-тригерів. Для даних типів тригерів (на відміну від D-тригерів) на кожнім переході, де тригер змінює своє значення на протилежне, одна з функцій збудження обов'язково дорівнює 1. Зменшення числа переключень тригерів приводить до зменшення кількості одиниць відповідних функцій збудження, що при відсутності мінімізації однозначно приводить до спрощення комбінаційної схеми автомата.
Будую матрицю |T|, яка складається із всіх пар номерів (i, j), для яких P(i, j) ¹ 0, ij. Для кожної пари вказуємо її вагу.
Кодування станів виконуємо за еврістичним алгоритмом. Для цього будуємо матрицю D.
║T║ =
i │ j │ P(i,j)
1 │ 2 │ 1
1 │ 23 │ 1
1 │ 24 │ 1
2 │ 6 │ 1
2 │ 7 │ 2
2 │ 9 │ 1
3 │ 4 │ 1
3 │ 6 │ 1
3 │ 7 │ 1
3 │ 11 │ 1
3 │ 12 │ 1
4 │ 5 │ 1
5 │ 8 │ 1
6 │ 8 │ 1
7 │ 9 │ 1
8 │ 10 │ 1
8 │ 12 │ 1
8 │ 13 │ 1
9 │ 12 │ 1
9 │ 13 │ 2
9 │ 14 │ 1
10 │ 11 │ 1
13 │ 14 │ 1
14 │ 16 │ 1
14 │ 18 │ 1
14 │ 19 │ 1
15 │ 18 │ 1
15 │ 19 │ 2
15 │ 21 │ 1
15 │ 24 │ 1
15 │ 25 │ 2
16 │ 17 │ 1
17 │ 20 │ 1
18 │ 20 │ 1
19 │ 21 │ 1
20 │ 22 │ 1
21 │ 22 │ 1
21 │ 24 │ 1
21 │ 25 │ 1
22 │ 23 │ 1
22 │ 24 │ 1
Далі згідно правил алгоритму будуємо матрицю М
i │ j │ P(i,j)
18 │ 19 │ 2
16 │ 18 │ 1
3 │ 16 │ 1
7 │ 18 │ 1
5 │ 7 │ 1
5 │ 14 │ 1
14 │ 16 │ 1
14 │ 18 │ 1
3 │ 14 │ 1
5 │ 19 │ 1
16 │ 19 │ 1
4 │ 5 │ 1
5 │ 6 │ 1
16 │ 17 │ 1
17 │ 18 │ 1
2 │ 3 │ 1
3 │ 4 │ 1
6 │ 7 │ 1
7 │ 8 │ 1
8 │ 9 │ 1
9 │ 20 │ 1
20 │ 22 │ 1
22 │ 23 │ 2
13 │ 22 │ 1
11 │ 13 │ 1
11 │ 15 │ 1
15 │ 20 │ 1
15 │ 22 │ 1
9 │ 15 │ 1
11 │ 23 │ 1
20 │ 23 │ 1
10 │ 11 │ 1
11 │ 12 │ 1
20 │ 21 │ 1
21 │ 22 │ 1
1 │ 13 │ 1
9 │ 10 │ 1
12 │ 13 │ 1
1 │ 2 │ 1
Визначемо розрядність кода для кодування станів автомата
R = ] log2 N [ = ] log2 23 [ = 5
Результати кодування:
a1 10000
a2 00000
a3 01001
a4 01101
a5 01111
a6 01000
a7 00001
a8 01010
a9 00011
a10 11010
a11 11001
a12 01011
a13 00010
a14 00111
a15 00100
a16 10111
a17 10101
a18 00101
a19 00110
a20 11101
a21 01110
a22 11100
a23 11000
a24 10100
a25 01100
Підрахунок ефективності кодування:
Кількість перемикань тригерів:
W = E P(i,j)*d(i,j) = P(1,2)*d(1,2) + P(1,23)*d(1,23) + P(1,24)*d(1,24) + P(2,6)*d(2,6) + P(2,7)*d(2,7) + P(2,9)*d(2,9) + P(3,4)*d(3,4) + P(3,6)*d(3,6) + P(3,7)*d(3,7) + P(3,11)*d(3,11) + P(3,12)*d(3,12) + P(4,5)*d(4,5) + P(5,8)*d(5,8) + P(6,8)*d(6,8) + P(7,9)*d(7,9) + P(8,10)*d(8,10) + P(8,12)*d(8,12) + P(8,13)*d(8,13) + P(9,12)*d(9,12) + P(9,13)*d(9,13) + P(9,14)*d(9,14) + P(10,11)*d(10,11) + P(13,14)*d(13,14) + P(14,16)*d(14,16) + P(14,18)*d(14,18) + P(14,19)*d(14,19) + P(15,18)*d(15,18) + P(15,19)*d(15,19) + P(15,21)*d(15,21) + P(15,24)*d(15,24) + P(15,25)*d(15,25) + P(16,17)*d(16,17) + P(17,20)*d(17,20) + P(18,20)*d(18,20) + P(19,21)*d(19,21) + P(20,22)*d(20,22) + P(21,22)*d(21,22) + P(21,24)*d(21,24) + P(21,25)*d(21,25) + P(22,23)*d(22,23) + P(22,24)*d(22,24) = 1*1 + 1*1 + 1*1 + 1*1 + 2*1 + 1*2 + 1*1 + 1*1 + 1*1 + 1*1 + 1*1 + 1*1 + 1*2 + 1*1 + 1*1 + 1*1 + 1*1 + 1*1 + 1*1 + 2*1 + 1*1 + 1*2 + 1*2 + 1*1 + 1*1 + 1*1 + 1*1 + 2*1 + 1*2 + 1*1 + 2*1 + 1*1 + 1*1 + 1*2 + 1*1 + 1*1 + 1*2 + 1*3 + 1*1 + 1*1 + 1*1 = 54
Мінімально можлива кількість перемикань тригерів
Wmin = E P(i,j) .Коефіціент ефективності кодування: 1.20
Табл.2. Таблиця переходів JK-тригера
Am | Kam | As | X | Kas | Yamas | J1K1J2K2J3K3J4K4J5K5 |
A1 | 10000 | A2 | 1 | 00000 | Y5Y9 | K1 |
A2 | 00000 | A6 A7 A9 A7 |
X4,NX3 NX4,X1 NX4NX1 X4X3 |
01000 00001 00011 00001 |
Y3Y10 Y6 Y5Y9 Y6 |
J2 J5 J4 J5 J5 |
A3 |
01001 | A4 A7 A6 |
X4 NX4X3 NX3NX4 |
01101 00001 01000 | Y4 Y6 Y3Y10 |
J3 K2 K5 |
A4 | 01101 | A5 | 1 | 01111 | Y4Y5 | J4 |
A5 | 01111 | A8 | 1 | 01010 | Y1Y8 | K3 K5 |
A6 | 01000 | A8 | 1 | 01010 | Y1Y8 | J4 |
A7 | 00001 | A9 | 1 | 00011 | Y5Y9 | J4 |
A8 |
01010 | A10 A13 A12 |
X4 NX4X3 NX4NX3 |
11010 00010 01011 |
Y4 Y6 Y3Y10 |
J1 K2 J5 |
A9 |
00011 | A13 A12 A13 A14 |
X4X3 X4NX3 NX4X1 X4NX1 |
00010 01011 00010 00111 |
Y6 Y3Y10 Y6 Y1Y8 |
K5 J2 K5 J3 |
A10 | 11010 | A11 | 1 | 11001 | Y5Y4 | K4J5 |
A11 | 11001 | A3 | 1 | 01001 | Y1Y8 | J1 |
A12 | 01011 | A3 | 1 | 01001 | Y1Y8 | K4 |
A13 | 00010 | A14 | 1 | 00111 | Y1Y8 | J3 J5 |
A14 | 00111 | A16 A19 A18 |
X4 NX4X3 NX4NX3 |
10111 00111 00101 |
Y4 Y6 Y3Y10 |
J1 K5 K4 |
A15 | 00100 | A19 A18 A19 A21 |
X4X3 X4NX3 NX4X1 NX4NX1 |
00110 00101 00110 01110 |
Y6 Y3Y10 Y6 Y3Y6 |
J4 J5 J4 J2 J3 |
A16 | 10111 | A17 | 1 | 10101 | Y4Y5 | K4 |
A17 | 10101 | A20 | 1 | 11101 | Y2Y5 | J2 |
A18 | 00101 | A20 | 1 | 11101 | Y2Y5 | K1 K2 |
A19 | 00110 | A21 | 1 | 01110 | Y3Y6 | J2 |
A20 | 11101 | A22 | 1 | 11100 | Y7 | K5 |
A21 |
01110 | A22 A25 A24 |
X5 NX5X6 NX5NX6 |
11100 01100 10100 |
Y7 Y3 Y8 |
J1 K4 K4 J1 K4 |
A22 |
11100 | A24 A23 |
X1 NX1 |
10100 11000 |
Y8 Y1Y3 |
K2 K3 |
A23 | 11000 | A1 | 1 | 10000 | - | K2 |
A24 |
10100 | A1 A15 |
X2 NX2 |
10000 00100 |
- Y5Y9 |
J3 K1 |
2.1.4. Функції збудження тригерів та вихідних сигналів
Виписуємо з таблиці вирази для тригерів (та виконуємо необхідні перетворення для представлення їх в рамках потрібної серії):
Формуємо функції виходів автомата:
Ми отримали усі необхідні вирази для принципової схеми. Будуємо її, користуючись формулами для тригерів та вихідними станами (Лист 1).
2.2 Автомат Мілі.
Структурний синтез автомата Мілі
2.2.1. Розмітка станів ГСА
На етапі одержання відміченої ГСА входи вершин, які слідують за операторними, відмічають символами a1
, a2
, ... за наступними правилами:
1) символом а1
відмічають вхід вершини, яка слідує за початковою, а також вхід кінцевої вершини;
2) входи усіх вершин , які слідують за операторними, повинні бути відмічені;
3) входи різних вершин відмічаються різними символами;
4) якщо вхід вершини відмічається, то тільки одним символом.
За ціми правилами в мене вийшло 21 стани (а21
).
2.2.2. Таблиця переходів автомата
Для кожного стану ai
визначаю по ГСА всі шляхи, які ведуть в інші стани і проходять обов’язково тільки через одні операторну вершину. Виняток становить перехід в кінцевий стан (вершину).
Для мікропрограмних автоматів таблиці переходів-виходів будуються у вигляді списку, тому що велика кількість станів. Розрізняють пряму та зворотну таблицю переходів. Зворотна таблиця переходів будується для D-тригера. Для автомата Мілі я буду будувати зворотну таблицю переходів.
Кодування станів
Кодування станів буде проводитися за таким алгоритмом:
1.
Кожному стану автомата аm
(m = 1,2,...,M) ставиться у відповідність ціле число Nm
, рівне числу переходів у стан аm
(Nm
дорівнює числу появ аm
у поле таблиці ).
2.
Числа N1
, N2
, ..., Nm
упорядковуються по убуванні.
3.
Стан аs
з найбільшим Ns
кодується кодом: де R-кількість елементівпам'яті.
4.
Наступні R станів згідно списку пункту 2 кодуються кодами, що містять тільки одну 1:00 ... 01, 00 ... 10, ... , 01 ... 00, 10 ... 00.
5.
Для станів, що залишилися, знову в порядку списку п.2. використовують коди з двома одиницями, потім із трьома і так далі поки не будуть закодовані вес стани.
У результаті виходить таке кодування, при якому чим більше мається переходів у деякий стан, тим менше одиниць у його коді. Вираження для функцій збдження будуть простіше для D-тригерів, тому що функції порушення однозначно визначаються кодом стану переходу.
Табл.3. Таблиця переходів D-тригера
Am | Kam | As | Kas | X | Y | ФЗ |
A19 | 11110 | A1 | 00011 | NX1 | D4D5 | |
A1 | 10110 | A2 | 00101 | 1 | Y5Y9 | D3 D5 |
A21 | 00001 | A3 | 00110 | 1 | Y1Y8 | D3D4 |
A3 | 00011 | A4 | 01010 | X4 | Y4 | D2 D4 |
A3 A4 A2 |
00011 01010 00101 |
A5 | 00000 | NX4NX3 1 X4NX3 |
Y3Y10 Y4Y5 Y3Y10 |
|
A5 | 00010 | A6 | 01100 | 1 | Y1Y8 | D2D3 |
A6 | 00000 | A7 | 10001 | X4 | Y4 | D1 D5 |
A2 A2 A3 |
00110 00110 00011 |
A8 | 00001 | X4X3 NX4NX1 NX4X3 |
Y6 Y6 Y6 |
D5 D5 D5 |
A8 | 00111 | A9 | 10010 | 1 | Y5Y9 | D1 D4 |
A6 A9 A9 |
00000 00101 00101 |
A10 | 00010 | NX4X3 X4X3 NX4X1 |
Y6 Y6 Y6 |
D4 D4 D4 |
A18 | 01111 | A11 | 10100 | NX5X6 | Y3 | D1 D3 |
A10 | 00010 | A12 | 11000 | 1 | Y1Y8 | D1D2 |
A11 | 01011 | A13 | 00111 | 1 | Y5Y9 | D3D4D5 |
A12 | 01100 | A14 | 01011 | X4 | Y4 | D2 D4D5 |
A14 A12 A13 |
01110 01100 01001 |
A15 | 00100 | 1 NX4NX3 X4NX3 |
Y4Y5 Y3Y10 Y3Y10 |
D3 D3 D3 |
A12 A13 A13 |
01100 01001 01001 |
A16 | 10000 | NX4X3 X4X3 NX4X1 |
Y6 Y6 Y6 |
D1 D1 D1 |
A15 | 01000 | A17 | 01110 | 1 | Y2Y4 | D2D3D4 |
A16 | 01101 | A18 | 10011 | 1 | Y3Y6 | D1 D4 |
A17 | 11000 | A19 | 10101 | 1 | Y7 | D1 D3 D5 |
A19 A18 |
11110 01111 |
A20 | 01001 | X1 NX5NX6 |
Y8 Y8 |
D2 D5 D2 D5 |
A7 A6 A9 |
10000 00000 00101 |
A21 | 01000 | 1 NX3NX4 NX4X3 |
Y4Y5 Y3Y10 Y3Y10 |
D2 D2 D2 |
Для підвищення функціональності схеми можна виділити однакові елементи:
Виписуємо з таблиці вирази для тригерів (та виконуємо необхідні перетворення для представлення їх в рамках потрібної серії):
Вихідні стани автомата Мілі:
Ми отримали усі необхідні вирази для принципової схеми. Будуємо її, користуючись формулами для тригерів та вихідними станами (Лист 2).
Заключення
В ході проекту ми отримали комбінаційну схему булевої функції в заданому базисі та побудували принципову схему керуючого автомата Мура.
Синтез автомата був виконаний з урахуванням серії КР1533, тому може бути зроблений та опробований в реальному житті. В цілому курсова робота довела свою важливість у закріпленні отриманих знань та набутті низки звичок щодо проектування цифрових автоматів.
Перелік використаної літератури
1. Методичні вказівки до курсової роботи по дисципліні “Прикладна теорія цифрових автоматів”. Одеса. ОГПУ. 1998р.
2. Мікросхеми серії 1533(555). Стислі теоретичні дані. Одеса. Центр
НТТМ ОГПУ. 1975г.
3. ГОСТ 2.708-81 ЄСКД. Правила виконання електричних схем цифрової обчи слювальної техніки.
4. ГОСТ 2.743-82. ЄСКД. Умовні графічні позначення в схемах. Елементи цифрової техніки.