Термінова допомога студентам
Дипломи, курсові, реферати, контрольні...

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

КурсоваДопомога в написанніДізнатися вартістьмоєї роботи

Синтез автомата був виконаний з урахуванням серії КР 555, тому може бути зроблений та опробований в реальному житті. В цілому курсова робота довела свою важливість у закріпленні отриманих знань та набутті низки звичок щодо проектування цифрових автоматів. Граф-схеми алгоритмів обираються кожним студентом в індивідуальному порядку. Вона складається з чотирьох блоків: E, F, G, H. Студенти обирають… Читати ще >

Прикладна теорія цифрових автоматів (реферат, курсова, диплом, контрольна)

Міністерство освіти і науки України

ОДЕСЬКИЙ НАЦІОНАЛЬНИЙ ПОЛІТЕХНІЧНИЙ УНІВЕРСИТЕТ

Кафедра комп'ютерних інтелектуальних систем та мереж

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

з дисципліни

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

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

Одеса 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

ТИП ТРИГЕРА

Т

D

D

JK

JK

T

автомат

Мілі

Мура

Табл.1

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

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

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

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

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

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

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

Кожному стану автомата аm (m = 1,2,…, M) ставиться у відповідність ціле число Nm, рівне числу переходів у стан аm (Nm дорівнює числу появ аm у поле таблиці).

Числа N1, N2, …, Nm упорядковуються по убуванні.

Стан аs з найбільшим Ns кодується кодом: де R-кількість елементів пам’яті.

Наступні R станів згідно списку пункту 2 кодуються кодами, що містять тільки одну 1:00 … 01, 00 … 10, …, 01 … 00, 10 … 00.

Для станів, що залишилися, знову в порядку списку п. 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 11

a2 10 011

a3 110

a4 10 101

a5 101

a6 11 001

a7 1 011

a8 1 100

a9 1 010

a10 1 101

a11 1 001

a12 111

a13 1 110

a14 11 000

a15 10 100

a16 10 010

a17 10 001

a18 10 000

a19 10 110

a20 1 000

a21 100

a22 10

a23 11 010

a24 1

a25 0

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

Am Kam

As (y) X

Kas

D1D2D3D4D5

a13

a17

a1(-)

1 11

D4D5

D4D5

a1

a2(y2y4)

10 011 D1

D4D5

a2

a18

a3(y7)

X5

D3D4

D3D4

a3

a4(y1y9)

NX1

D1

D3

D5

a4

a14

a5(y1y8)

X2

D3

D5

D3

D5

a5

a6(y4)

X4

D1D2

D5

a6

a7(y4y5)

D2

D4D5

a7

a15

a8(y2y4)

D2D3

D2D3

a8

a22

a9(y7)

X5

D2

D4

D2

D4

a9

a10(y1y9)

NX1

D2D3

D5

a10

a16

a11(y1y8)

X2

D2

D5

D2

D5

a11

a12(y4)

X4

D3D4D5

a12

a13(y4y5)

D2D3D4

a3

a18

a14(y8)

X1

NX5NX6

D1D2

D1D2

a5

a20

a15(y3y10)

NX4NX3

X4NX3

D1

D3

D1

D3

a9

a22

a16(y8)

X1

NX5NX6

D1

D4

D1

D4

a11

a24

a17(y3y10)

NX4NX3

X4NX3

D1

D5

D1

D5

a21

a20

a18(y3y6)

NX4NX1

D1

D1

a18

a19(y3)

NX5X6 10 110

D1

D3D4

a19

a14

a20(y5y9)

NX2

D2

D2

a20

a20

a21(y6)

X4X3

NX4X1

D3

D3

a25

a24

a22(y3y6)

NX4NX1

D4

D4

a22

a23(y3)

NX5X6

D1D2

D4

a23

a16

a24(y5y9)

NX2

D5

D5

a24

a24

a11

a25(y6)

X4X3

NX4X1

NX4

X3

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 1 011

b2 1 111

b3 111

b4 1 101

b5 101

b6 1 100

b7 100

b8 10 100

b9 10 000

b10 11 000

b11 11 010

b12 1 010

b13 110

b14 11 001

b15 11

b16 10

b17 0

b18 1

b19 10 001

b20 10 101

b21 10 011

b22 10 010

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

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

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

b2

Y2Y4

T3

b2

b3

Y7

T2

b3

b4

b13

NX1

X1

Y1Y9

Y8

T2 T4

T5

b4

b5

Y1Y8

T2

b5

b6

b7

b18

X4

NX4NX3

NX4X3

Y4

Y3Y10

Y6

T2 T5

T5

T3

b6

b7

Y4Y5

T2

b7

b8

Y2Y4

T1

b8

b9

Y7

T3

b9

b10

b14

NX1

X1

Y1Y9

Y8

T2

T2 T5

b10

b11

Y1Y8

T4

b11

b12

b1

b22

X4

NX4NX3

NX4X3

Y4

Y3Y10

Y6

T1

T1 T5

T2

b12

b1

Y4Y5

T5

b13

b5

b17

X2

NX2

Y1Y8

Y5Y9

T4T5

T3 T4

b14

b11

b21

X2

NX2

Y3Y10

Y6

T4T5

T2 T4

b15

b3

b13

b16

X5

NX5NX6

NX5X6

Y7

Y8

Y3

T3

T3 T5

T5

b16

b17

Y5Y9

T4

b17

b7

b18

b18

b15

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 ЄСКД. Правила виконання електричних схем цифрової обчи слювальної техніки.

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

Показати весь текст
Заповнити форму поточною роботою