РефератыИнформатикаПрПрикладна теорія цифрових автоматів 3

Прикладна теорія цифрових автоматів 3

Міністерство освіти і науки України
ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ ПОЛІТЕХНІЧНИЙ УНІВЕРСИТЕТ
Кафедра комп’ютерних інтелектуальних систем та мереж

Курсове проектування


з дисципліни


„Прикладна теорія цифрових автоматів”


Виконав: студент гр.


Одеса 2002


1.ВИБІР ВАРІАНТА ЗАВДАННЯ


Граф-схеми алгоритмів обираються кожним студентом в індивідуальному порядку. Вона складається з чотирьох блоків: E, F, G, H. Студенти обирають граф-схему із п’яти блоків з номерами 0...4 на підставі чисел А, В, С та (А+В+С) за наступними правилами:


- блок "Е" – схема під номером (А) mod 5 = 27 mod 5 = 2;


- блок "F" – схема під номером (В) mod 5 = 6 mod 5 = 1;


- блок "G" – схема під номером (С) mod 5 = 13 mod 5 = 3;


- блок "H" – схема під номером (А+В+С) mod 5 = 46 mod 5 = 1.


Блоки E, F, G, H з’єднуються між собою згідно зі структурною схемою графа, яка показана на рис. 10 у методичних вказівках.


Розташування обирається з використанням номера групи. Тип тригера знаходимо по таблиці на підставі числа (А) mod 3 = 27 mod 3 = 0.





















(A)mod 3 ТИПТРИГЕРА
0 Т D
1 D JK
2 JK T
автомат Мілі Мура

Табл.1


З табл.1 отримуємо T-тригер для автомата Мілі та D-тригер для Мура.


Серія інтегральних мікросхем для побудови принципових схем синтезованих автоматів для мого варіанта завдання – КР1533.


Після відповідної розмітки будуємо граф-схему для обоіх автоматів:


2. ОСНОВНА ЧАСТИНА


2.
1. Структурний синтез автомата Мура


2.1.1. Кодування станів


Кодування станів буде проводитися за таким алгоритмом:


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-тригерів, тому що функції порушення однозначно визначаються кодом стану переходу.


Статистика:


a1 2стана


a2 1стан


a3 2стана


a4 1стан


a5 2стана


a6 1стан


a7 1стан


a8 2стана


a9 2стана


a10 1стан


a11 2стана


a12 1стан


a13 1стан


a14 2стана


a15 2стана


a16 2стана


a17 2стана


a18 2стана


a19 1стан


a20 2стана


a21 2стана


a22 2стана


a23 1стан


a24 2стана


a25 3стана


Результати кодування:


a1 00011


a2 10011


a3 00110


a4 10101


a5 00101


a6 11001


a7 01011


a8 01100


a9 01010


a10 01101


a11 01001


a12 00111


a13 01110


a14 11000


a15 10100


a16 10010


a17 10001


a18 10000


a19 10110


a20 01000


a21 00100


a22 00010


a23 11010


a24 00001


a25 00000


Табл.2. Таблиця переходів D-тригера




























































































Am Kam


As(y) X


Kas


D1D2D3D4D5


a13

a17


a1(-)


1


1 00011


D4D5


D4D5

a1


a2(y2y4)


1


10011 D1


D4D5


a2

a18


a3(y7)


1


X5


00110


D3D4


D3D4

a3


a4(y1y9)


NX1


10101


D1


D3


D5


a4

a14


a5(y1y8)


1


X2


00101


D3


D5


D3


D5


a5


a6(y4)


X4


11001


D1D2


D5


a6


a7(y4y5)


1


01011


D2


D4D5


a7

a15


a8(y2y4)


1


1


01100


D2D3


D2D3 a8

a22


a9(y7)


1


X5


01010


D2


D4


D2


D4


a9


a10(y1y9)


NX1


01101


D2D3


D5


a10

a16


a11(y1y8)


1


X2


01001


D2


D5


D2


D5


a11


a12(y4)


X4


00111


D3D4D5


a12


a13(y4y5)


1


01110


D2D3D4


a3

a18


a14(y8)


X1


NX5NX6


11000


D1D2


D1D2 a5

a20


a15(y3y10)


NX4NX3


X4NX3


10100


D1


D3


D1


D3


a9

a22


a16(y8)


X1


NX5NX6


10010


D1


D4


D1


D4


a11

a24


a17(y3y10)


NX4NX3


X4NX3


10001


D1


D5


D1


D5


a21

a20


a18(y3y6)


1


NX4NX1


10000


D1


D1

a18


a19(y3)


NX5X6 10110


D1


D3D4


a19

a14


a20(y5y9)


1


NX2


01000


D2


D2 a20

a20


a21(y6)


X4X3


NX4X1


00100


D3


D3 a25

a24


a22(y3y6)


1


NX4NX1


00010


D4


D4

a22


a23(y3)


NX5X6


11010


D1D2


D4


a23

a16


a24(y5y9)


1


NX2


00001


D5


D5
a24 a24

a11


a25(y6)


X4X3


NX4X1

NX4


X3


00000



2.
1
.2. Функції збудження тригерів та вихідних сигналів


Введемо слідуючі позначення:


Б= a20NХ4NХ1 Х=a3X1


В= a14NХ2 Ц=a18NX5NX6


Г= a20Х4Х3 Ч=a5NX4NX3


Д=a20NХ4Х1 Ш=a20X4NX3


Е=a18X5 Э=a9X1


Ж=a3NX1 Ю=a22NX5NX6


З= a24NХ4NХ1Я=a11NX4NX3


И=a14X2 Щ=a24X4NX3


К=a5X4 Ь=a18NX5X6


Л= a16NХ2Ы=a22NX5X6


П=a22X5


Р=a9NX1


Т=a16X2


У=a11X4


Виписуємо з таблиці вирази для тригерів:


D1=a1+Ж+К+Ы+Х+Ц+Ч+Ш+Э+Ю+Я+Щ+a21+Б+Ь


D2=К+a6+a7+a15+a8+П+Р+a10+Т+Х+Ц+а12+a19+В+Ы


D3=a2+Е+Ж+a4+И+a7+a15+Р+У+a12+Ч+Ш+Г+Д+Ь


D4= a13+a17+a1+a2+Е+a6+a8+П+У+a12+Э+Ю+Ь+a25+З+Ы


D5=a13+a17+a1+Ж+a4+И+К+a6+Р+a10+Т+У+Я+Щ+a23+Л


Формуємо функції виходів автомата:


Y1=a4+a5+a10+a11


Y2=a2+a8


Y3=a15+a17+a18+a19+a22+a23


Y4=a2+a6+a7+a8+a12+a13


Y5=a7+a13+a20+a24


Y6=a18+a21+a22+a25


Y7=a3+a9


Y8=a5+a11+a14+a16


Y9=a4+a10+a20+a24


Y10=a15+a17


2.
1
.3. Переведеня у базис:


D1=a1+Ж+К+Ы+Х+Ц+Ч+Ш+Э+Ю+Я+Щ+a21+Б+Ь=


=Na1∙NЖ∙NК∙NЫ∙NХ∙NЦ∙NЧ∙NШ+NЭ∙NЮ∙NЯ∙NЩ∙Na21∙NБ∙NЬ


D2=К+a6+a7+a15+a8+П+Р+a10+Т+Х+Ц+а12+a19+В+Ы=


=NК∙Na6∙Na7∙Na15∙Na8∙NП∙NР∙Na10+NТ∙NХ∙NЦ∙Nа12∙Na19∙NВ∙NЫ


D3= a2+Е+Ж+a4+И+a7+a15+Р+У+a12+Ч+Ш+Г+Д+Ь=


=Na2∙NЕ∙NЖ∙Na4∙NИ∙Na7∙Na15∙NР+NУ∙Na12∙NЧ∙NШ∙NГ∙NД∙NЬ


D4= a13+a17+a1+a2+Е+a6+a8+П+У+a12+Э+Ю+Ь+a25+З+Ы


=Na13∙Na17∙Na1∙Na2∙NЕ∙Na6∙Na8∙NП+NУ∙Na12∙NЭ∙NЮ∙NЬ∙Na25∙NЗ∙NЫ


D5= a13+a17+a1+Ж+a4+И+К+a6+Р+a10+Т+У+Я+Щ+a23+Л=


=Na13∙Na17∙Na1∙NЖ∙Na4∙NИ∙NК∙Na6+NР∙Na10∙NТ∙NУ∙NЯ∙NЩ∙Na23∙NЛ


Y1=a4+a5+a10+a11=Na4∙Na5∙Na10∙Na11


Y2=a2+a8= Na2∙Na8


Y3=a15+a17+a18+a19+a22+a23= Na15∙Na17∙Na18∙Na19∙Na22∙Na23


Y4=a2+a6+a7+a8+a12+a13= Na2∙Na6∙Na7∙Na8∙Na12∙Na13


Y5=a7+a13+a20+a24= Na7∙Na13∙Na20∙Na24


Y6=a18+a21+a22+a25= Na18∙Na21∙Na22∙Na25


Y7=a3+a9= Na3∙Na9


Y8=a5+a11+a14+a16= Na5∙Na11∙Na14∙Na16


Y9=a4+a10+a20+a24= Na4∙Na10∙Na20∙Na24


Y10=a15+a17= Na15∙Na17


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


2.2. Структурний синтез автомата Мілі


2.
2.
1.
Кодування станів


Аналіз канонічного методу структурного синтезу автомата показує, що різні варіанти кодування станів автомата приводять до різних виражень функцій збудження пам'яті і функцій виходів, у результаті чого складність комбінаційної схеми істотно залежить від обраного кодування.


Мы повинні кодувати стани автомату з допомогою евристичного алгоритму кодування, тому що у мене Т-тригер.


Даний алгоритм мінімізує сумарне число переключень елементів пам'яті на всіх переходах автомата і використовується для кодування станів автомата при синтезі на базі T, RS, JK-тригерів. Для даних типів тригерів (на відміну від D-тригерів) на кожнім переході, де тригер змінює своє значення на протилежне, одна з функцій збудження обов'язково дорівнює 1. Зменшення числа переключень тригерів приводить до зменшення кількості одиниць відповідних функцій збудження, що при відсутності мінімізації однозначно приводить до спрощення комбінаційної схеми автомата.


Будую матрицю |T|, яка складається із всіх пар номерів (i, j), для яких P(i, j)  0, ij. Для кожної пари вказуємо її вагу.


║T║ =


i │ j │ P(i,j)


1 │ 2 │ 1


1 │ 11 │ 1


1 │ 12 │ 1


1 │ 21 │ 1


2 │ 3 │ 1


3 │ 4 │ 1


3 │ 13 │ 1


3 │ 15 │ 1


4 │ 5 │ 1


5 │ 6 │ 1


5 │ 7 │ 1


5 │ 13 │ 1


5 │ 18 │ 1


6 │ 7 │ 1


7 │ 8 │ 1


7 │ 17 │ 1


8 │ 9 │ 1


9 │ 10 │ 1


9 │ 14 │ 1


9 │ 19 │ 1


10 │ 11 │ 1


11 │ 12 │ 1


11 │ 14 │ 1


11 │ 22 │ 1


13 │ 15 │ 1


13 │ 17 │ 1


14 │ 19 │ 1


14 │ 21 │ 1


15 │ 16 │ 1


15 │ 17 │ 1


15 │ 18 │ 1


16 │ 17 │ 1


17 │ 18 │ 2


19 │ 20 │ 1


19 │ 21 │ 1


> 19 │ 22 │ 1


20 │ 21 │ 1


21 │ 22 │ 2


Підраховуємо вагу всіх компонентів всіх пар


P(1) = 4


P(2) = 2


P(3) = 4


P(4) = 2


P(5) = 5


P(6) = 2


P(7) = 4


P(8) = 2


P(9) = 4


P(10) = 2


P(11) = 5


P(12) = 2


P(13) = 4


P(14) = 4


P(15) = 5


P(16) = 2


P(17) = 5


P(18) = 3


P(19) = 5


P(20) = 2


P(21) = 5


P(22) = 3


Далі згідно правил алгоритму будуємо матрицю М


i │ j │ P(i,j)


17 │ 18 │ 2


15 │ 17 │ 1


3 │ 15 │ 1


7 │ 17 │ 1


5 │ 7 │ 1


5 │ 13 │ 1


13 │ 15 │ 1


13 │ 17 │ 1


3 │ 13 │ 1


5 │ 18 │ 1


15 │ 18 │ 1


4 │ 5 │ 1


5 │ 6 │ 1


15 │ 16 │ 1


16 │ 17 │ 1


2 │ 3 │ 1


1 │ 2 │ 1


1 │ 11 │ 1


1 │ 21 │ 1


21 │ 22 │ 2


19 │ 21 │ 1


9 │ 19 │ 1


11 │ 14 │ 1


14 │ 19 │ 1


14 │ 21 │ 1


9 │ 14 │ 1


11 │ 22 │ 1


19 │ 22 │ 1


10 │ 11 │ 1


11 │ 12 │ 1


19 │ 20 │ 1


20 │ 21 │ 1


1 │ 12 │ 1


3 │ 4 │ 1


6 │ 7 │ 1


7 │ 8 │ 1


8 │ 9 │ 1


9 │ 10 │ 1


Визначемо розрядність кода для кодування станів автомата


R = ] log2 N [ = ] log2 22 [ = 5


Результати кодування:


b1 01011


b2 01111


b3 00111


b4 01101


b5 00101


b6 01100


b7 00100


b8 10100


b9 10000


b10 11000


b11 11010


b12 01010


b13 00110


b14 11001


b15 00011


b16 00010


b17 00000


b18 00001


b19 10001


b20 10101


b21 10011


b22 10010


Підрахунок ефективності кодування:


Кількість перемикань тригерів:


W = E P(i,j)*d(i,j) = P(1,2)*d(1,2) + P(1,11)*d(1,11) + P(1,12)*d(1,12) + P(1,21)*d(1,21) + P(2,3)*d(2,3) + P(3,4)*d(3,4) + P(3,13)*d(3,13) + P(3,15)*d(3,15) + P(4,5)*d(4,5) + P(5,6)*d(5,6) + P(5,7)*d(5,7) + P(5,13)*d(5,13) + P(5,18)*d(5,18) + P(6,7)*d(6,7) + P(7,8)*d(7,8) + P(7,17)*d(7,17) + P(8,9)*d(8,9) + P(9,10)*d(9,10) + P(9,14)*d(9,14) + P(9,19)*d(9,19) + P(10,11)*d(10,11) + P(11,12)*d(11,12) + P(11,14)*d(11,14) + P(11,22)*d(11,22) + P(13,15)*d(13,15) + P(13,17)*d(13,17) + P(14,19)*d(14,19) + P(14,21)*d(14,21) + P(15,16)*d(15,16) + P(15,17)*d(15,17) + P(15,18)*d(15,18) + P(16,17)*d(16,17) + P(17,18)*d(17,18) + P(19,20)*d(19,20) +


P(19,21)*d(19,21) + P(19,22)*d(19,22) + P(20,21)*d(20,21) + P(21,22)*d(21,22) =


1*1 + 1*1 + 1*2 + 1*1 + 1*1 + 1*1 + 1*2 + 1*1 + 1*1 + 1*2 + 1*1 + 1*2 + 1*1 + 1*1 + 1*1 + 1*1 + 1*1 + 1*1 + 1*2 + 1*1 + 1*1 + 1*1 + 1*2 + 1*1 + 1*1 + 1*2 + 1*1 + 1*2 + 1*2 + 1*1 + 1*2 + 1*1 + 2*1 + 1*2 + 1*1 + 1*2 + 1*1 + 2*1 = 52


Мінімально можлива кількість перемикань тригерів


Wmin = E P(i,j) = 40


Коефіціент ефективності кодування: 1.30


Табл.3. Таблиця переходів Т-тригера


















































































































































Am Kam As Kas X Y ФЗ
b1 01011 b2 01111 1 Y2Y4 T3
b2 01111 b3 00111 1 Y7 T2
b3 00111

b4


b13


01101


00110


NX1


X1


Y1Y9


Y8


T2 T4


T5


b4 01101 b5 00101 1 Y1Y8 T2
b5 00101

b6


b7


b18


01100


00100


00001


X4


NX4NX3


NX4X3


Y4


Y3Y10


Y6


T2 T5


T5


T3


b6 01100 b7 00100 1 Y4Y5 T2
b7 00100 b8 10100 1 Y2Y4 T1
b8 10100 b9 10000 1 Y7 T3
b9 10000

b10


b14


11000


11001


NX1


X1


Y1Y9


Y8


T2


T2 T5


b10 11000 b11 11010 1 Y1Y8 T4
b11 11010

b12


b1


b22


01010


01011


10010


X4


NX4NX3


NX4X3


Y4


Y3Y10


Y6


T1


T1 T5


T2


b12 01010 b1 01011 1 Y4Y5 T5
b13 00110

b5


b17


00101


00000


X2


NX2


Y1Y8


Y5Y9


T4T5


T3 T4


b14 11001

b11


b21


11010


10011


X2


NX2


Y3Y10


Y6


T4T5


T2 T4


b15 00011

b3


b13


b16


00111


00110


00010


X5


NX5NX6


NX5X6


Y7


Y8


Y3


T3


T3 T5


T5


b16 00010 b17 00000 1 Y5Y9 T4
b17 00000

b7


b18


b18


b15


00100


00001


00001


00011


X4NX3


X4X3


NX4X1


NX4NX1


Y3Y10


Y6


Y6


Y3Y6


T3


T5


T5


T4T5



2.2.2. Функції збудження тригерів та вихідних сигналів


Введемо слідуючі позначення:


A=b3NX1 П=b21Х4NX3


Б=b5X4 Р=b5NX4Х3


H=b9X1С=В15Х5


Г=b11X4 Т=b17Х4NX3


Д=b13X2 У= b19NX5X6


Е=b13NX2 Ф= b21NX4NX1


Ж=b14X2 Х= b3Х1


З=b14NX2 Ц= b5NX4NX3


И=b15NX5NX6 Ч= b11NX4NX3


К=b17NX4NX1 Ш= b15NX5X6


Л=b9NX1 Щ= b17X4X3


М=b11NX4X3 Э= b17NX4X1


O= b19NX5NX6 Ю= b21X4X3


Я= b21NX4X1 В=В19Х5


Виписуємо з таблиці вирази для тригерів:


T1
=b7+Г+Ч+П


Т2
=b2+А+b4+Б+b6+Л+Н+М+З+О+П


Т3
=b1+Р+b8+Е+С+И+Т+У+b20


Т4
=А+b10+Д+Е+Ж+З+b16+К+b18+b20+Ф+b22


Т5
=Х+Б+Ц+H+Ч+b12+Д+Ж+И+Ш+Щ+Э+K+Ю+Я+b22


Формуємо функції виходів автомата:


Y1=А+b4+Л+b10+Д


Y2=b1+b7


Y3=Ц+Ч+Ж+Ш+Т+К+b18+У+П+Ф+b22


Y4=b1+Б+b6+b7+Г+b12


Y5=b6+b12+Е+b16+b20


Y6=М+З+Щ+Э+К+b18+Ю+Я+Ф+b22


Y7=b2+b8+С+В


Y8=Х+b4+Н+b10+Д+И+О


Y9=А+Л+Е+b16+b20


Y10=Ц+Ч+Ж+Т+П


2.2.3. Переведеня у базис:


T1
=b7+Г+Ч+П= Nb7∙NГ∙NЧ∙NП


Т2
=b2+А+b4+Б+b6+Л+Н+М+З+О+П=


=Nb2∙NА∙Nb4∙NБ∙Nb6∙NЛ∙NН∙NМ+NЗ∙NО∙NП


Т3
=b1+Р+b8+Е+С+И+Т+У+b20=


=Nb1∙NР∙Nb8∙NЕ∙NС∙NИ∙NТ∙NУ+b20


Т4
=А+b10+Д+Е+Ж+З+b16+К+b18+b20+Ф+b22=


=NА∙Nb10∙NД∙NЕ∙NЖ∙NЗ∙Nb16∙NК+Nb18∙Nb20∙NФ∙Nb22


Т5
=Х+Б+Ц+H+Ч+b12+Д+Ж+И+Ш+Щ+Э+K+Ю+Я+b22=


=NХ∙NБ∙NЦ∙NH∙NЧ∙Nb12∙NД∙NЖ+NИ∙NШ∙NЩ∙NЭ∙NK∙NЮ∙NЯ∙Nb22









Y1=А+b4+Л+b10+Д= NА∙Nb4∙NЛ∙Nb10∙NД


Y2=b1+b7= Nb1∙Nb7


Y3=Ц+Ч+Ж+Ш+Т+К+b18+У+П+Ф+b22=NЦ∙NЧ∙NЖ∙NШ∙NТ∙NК∙Nb18∙NУ+


+NП∙NФ∙Nb22


Y4=b1+Б+b6+b7+Г+b12=Nb1∙NБ∙Nb6∙Nb7∙NГ∙Nb12


Y5=b6+b12+Е+b16+b20= Nb6∙Nb12∙NЕ∙Nb16∙Nb20


Y6=М+З+Щ+Э+К+b18+Ю+Я+Ф+b22= NМ∙NЗ∙NЩ∙NЭ∙NК∙Nb18∙NЮ∙NЯ+


+NФ∙Nb22


Y7=b2+b8+С+В= Nb2∙Nb8∙NС∙NВ


Y8=Х+b4+Н+b10+Д+И+О= NХ∙Nb4∙NН∙Nb10∙NД∙NИ∙NО


Y9=А+Л+Е+b16+b20= NА∙NЛ∙NЕ∙Nb16∙Nb20


Y10=Ц+Ч+Ж+Т+П= NЦ∙NЧ∙NЖ∙NТ∙NП


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


Висновок

В ході проекту ми отримали комбінаційну схему булевої функції в заданому базисі та побудували принципову схему керуючого автомата Мура.


Синтез автомата був виконаний з урахуванням серії КР 555, тому може бути зроблений та опробований в реальному житті. В цілому курсова робота довела свою важливість у закріпленні отриманих знань та набутті низки звичок щодо проектування цифрових автоматів.


Перелік використаної літератури


1. Методичні вказівки до курсової роботи по дисципліні “Прикладна теорія цифрових автоматів”. Одеса. ОГПУ. 1998р.


2. Мікросхеми серії 1533(555). Стислі теоретичні дані. Одеса. Центр НТТМ ОГПУ. 1975г.


3.ГОСТ 2.708-81 ЄСКД. Правила виконання електричних схем цифрової обчислювальної техніки.


4. ГОСТ 2.743-82. ЄСКД. Умовні графічні позначення в схемах. Елементи цифрової техніки.

Сохранить в соц. сетях:
Обсуждение:
comments powered by Disqus

Название реферата: Прикладна теорія цифрових автоматів 3

Слов:2574
Символов:30643
Размер:59.85 Кб.