Розробка схеми керування цифрового автомату

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Украинский
    ,
    Формат файла:
    MS Word
    127,16 Кб
  • Опубликовано:
    2013-12-11
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Розробка схеми керування цифрового автомату















ПОЯСНЮВАЛЬНА ЗАПИСКА ДО КУРСОВОГО ПРОЕКТУ

Розробка схеми керування цифрового автомату


Вступ

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

Пристрої ЕОМ складаються, в більшості випадків з операційного блоку і керуючого блоку. Операційний блок виконує арифметичні і логічні операції, а точніше ті функції, для яких саме і будується пристрій. В операційний пристрій можуть включатися наступні елементи: регістри, лічильники, суматори, дешифратори, та ін. В моєму випадку, операційний блок виконує додавання (віднімання) чисел з рухомою комою, на двійковому суматорі оберненого коду (ДСОК), відповідно на вхід блоку подаються два числа, а на виході формується нормалізований результат.

Керуючий блок призначений для керування операційним блоком, кожна дія блоку операцій керується певним кодом керуючого блоку. Синтез керуючого блоку, може бути з пам’ятю (Мілі) або без пам’яті (Мура) [1].

За головне завдання курсової роботи було поставлено завдання: створити схему керуючого блоку для ЦА додавання(віднімання) чисел з рухомою комою на ДСОК. Схема будується на основі D-тригерів та логічних елементів І-АБО-НІ.

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

Об’єкт дослідження - ЦА додавання (віднімання) чисел з рухомою комою, на двійковому суматорі оберненого коду (ДСОК)

Метод дослідження - структурний (операційний) та логічний синтез ЦА.

Згідно з ТЗ, треба розробити ЦА, що виконує операцію додавання (віднімання) 30 розрядних чисел з рухливою комою, на двійковому суматорі оберненого коду.

У ході роботи, буде представлений словесний алгоритм ділення, блок-схема алгоритму ділення та на її базі буде створена таблиця переходів та сама схема управління ЦА. Також наступне завдання ставить за мету мінімізувати подані функції різними методами; отримання однакового результату використовуючи метод мінімізації кубів, аналітичний метод, метод невизначених коефіцієнтів та мінімізацію за допомогою карт Карно.

1. Додавання (віднімання) чисел на ДСОК

.1 Двійкова система числення

двійковий алгоритм кодування числення

Система числення - це знакова система, в якій числа записуються по певним правилам за допомогою цифр - певних символів деякого алфавіту. Наприклад, в десятинній системі для запису числа існує десять цифр: 0,1,2..9 [5].

Всі системи числення діляться на позиційні і непозиційні. В позиційних системах числення значення цифри залежить від її положення в запису числа, а в непозиційних - не залежить. Позиція цифри в числу називається розрядом. Розряд числа зростає справа на ліво, від молодшого розряду до старшого [1].

В двійковій системі числення використовуються лише дві цифри 0 та 1, тому можна сказати, що двійка - основа двійкової системи (q=2), аналогічно тому як число 10 в десятинній системі числення.

Вперше двійкову СЧ дослідив Г. Лейбніц в 1703 році. Він писав: «При приведенні чисел до найпростіших початків, якими є 0 та 1, всюди з’являється дивовижний порядок. Особливо приваблювала Лейбніца простота додавання і добутку двійкових чисел. Він один з перших виявив головну користь двійкових чисел, а саме те що вони складаються лише з 1 і 0, тому мають лише два стани. Це робить двійкові числа ідеальними для всіх ЕВМ [4].

Правила двійкової арифметики

Додаваня:

+0=0;

+0=1;

+1=1;

+1=10

Віднімання:

-0=0;

-1=0;

-0=1;

-1=1

Добуток:

х0=0;

х0=0;

х1=0;

х1=1;

І дійсно, завдяки цим особливостям двійкову СЧ називають мовою обчислювальної техніки. При розробці якогось приладу, кожна цифра повинна бути представлена на фізичному носії. Якщо це десяткове число, то пристрій може бути в десяти станах, а це складно. Простіше коли прилад може бути лише в двох станах (є струм, чи немає струму). Це є основною причиною розповсюдженості двійкової СЧ.

1.2 Представлення чисел з рухомою комою

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

Алгоритм подання числа з рухомою комою:

- перевести число з p-ічной системи числення в двійкову;

представити двійкове число в нормалізованої експоненційної формі;

розрахувати зміщений порядок числа;

розмістити знак, порядок і мантиссу у відповідні розряди сітки [2].

Часто числа з фіксованою комою - неефективні. Коли потрібно обробляти дуже великі числа (відстань між Землею і Сонцем) або, навпаки, дуже маленькі (діаметр атома), треба брати числа з великою розрядністю. В таких випадках потрібно використовувати числа з рухомою комою.

Для мого завдання запис 30 розрядного числа з рухомою комою представлений на рисунку 1.1.

330

229

228

227

99

98

87

76

65

54

3

22

11

Зн. мантиси

мантиса

Знак порядку

порядок

Рисунок 1.1 - запис 30 розрядного числа з рухомою комою

.3 Двійковий суматор оберненого коду

Двійковий суматор - це пристрій, що перетворює інформаційні сигнали (аналогові або цифрові) в сигнал, еквівалентний сумі цих сигналів [3].

Операція віднімання замінюється додаванням слів в оберненому або доповнюваному кодах Операції множення та ділення перетворюються на реалізації багаторазового додавання та зсуву [3]. Тому суматор є важливою частиною арифметично-логічного пристрою.

Суматор складається з окремих схем, які називаються однорозрядними суматорами; вони виконують усі дії з додавання значень однойменних розрядів двох чисел (операндів). Суматори класифікують за такими ознаками:

-             способом додавання - паралельні, послідовні та паралельно-послідовні;

-             кількістю вхідних клем - напівсуматори, однорозрядні або багаторозрядні суматори;

-             системою числення - позиційні (двійкові, двійково-десяткові, трійкові) та непозиційні, наприклад, у системі залишкових класів;

-             розрядністю (довжиною) операндів - 8-, 16-, 32-, 64-розрядні;

-             способом подання від'ємних чисел - в оберненому або доповнюваному кодах, а також їх модифікаціях;

-             часом додавання - синхронні та асинхронні [4].

Двійковий суматор оберненого коду-суматор, який оперує зображеннями чисел у зворотному коді, характеризується наявністю ланцюга циклічного переносу зі знакового розряду в молодший розряд числа. Правила складання на ДСОК засновані на наступній теоремі: сума обернених кодів - є обернений код результату[2].

2. Цифровий автомат додавання (віднімання) чисел з рухомою комою

.1 Побудова схеми керування

двійковий алгоритм кодування числення

Пристрої ЕОМ складаються, в більшості випадків з операційного блоку і керуючого блоку

Для побудови схеми керування ЦА треба виконати ряд послідовних дій, які допоможуть визначити кількість станів, умов та переходів схеми керування ЦА. Послідовність виконання дій:

а) розробити словесний алгоритм арифметичної дії, привести приклад ділення згідно розробленого алгоритму;

б) розроблений алгоритм представити у вигляді блок-схеми;

в) на основі створеного алгоритму (блок-схеми) треба побудувати закодовану блок схему;

г) згідно закодованої блок схеми, побудувати граф станів та переходів схеми управління ЦА;

д) розробити таблицю переходів схеми керування ЦА;

е) мінімізувати входи тригера J та K за допомогою карт Карно;

є) записати, згідно таблиці, співвідношення Yn-дій до Zn-станів та Xn - умов;

ж) Побудувати схему керування ЦА на основі попередньо виконаних дій;

2.2 Приклади додавання (віднімання) чисел з рухомою комою

Алгоритм:

)        Запис числа в розрядну сітку автомата;

)        Нормалізація числа;

)        Представлення числа в оберненому і доповнюваному коді;

)        Визначення різниці порядків;

)        Зсув мантис на різницю порядків;

)        Складання мантис, якщо потрібно перевести результат у пр. код.

Приклад 1:

А= -11010

В=1000

Розрядна сітка: 16

А=11.00011010.00.0000

В=00.00001000.00.0000

Нормалізація:

А=11.11010000.11.0011

В=00.10000000.11.0100

Аобр=11.00101111.11.1100

Вобр=00.10000000.11.1011

Повністю інвертуємо порядок В разом із знаком

.1100+00.0100=00.0001

Р>0: зсув мантиси В вправо на 0001

Взс=00.01000000

С=11.00101111+00.01000000=11.01101111

Переведення у пр. код:

С=11.10010000

Відповідь: 11.10010000.11.0011=11.00010010.00.0000= -1810

Приклад 2:

А= 11.111

В=00.101101

Розрядна сітка: 16

А=11.00000111.11.0000

В=00.00101101.11.0000

Нормалізація:

А=00.11100000.11.0101

В=00.10110000.11.0010

РАобр=11.1010

РВобр=11.1101

Повністю інвертуємо порядок В разом із знаком

.1010+00.0010=11.1100

Р<0: зсув мантиси А вправо на 1100

Азс=11.00011100

Азс обр=11.11100011

Вобрпр

С=11.11100011+00.100100=11.10010111+1

С=11.10011000

Переведення у пр. код:

С=00.00100110

Відповідь: 00.00100110.11.0000= 3810

2.3 Алгоритм додавання(віднімання)

При подачі сигналу готовності К= 1, в регістр А і регістр В, по черзі заносяться числа з ОП, після чого їх порядки переводяться в обернений код (якщо число додатне, то його зворотний код дорівнює прямому), при чому порядок регістру В повністю інвертується.разом.із знаком. Після завершення подання чисел, перевіряються порядки, якщо, різниця порядків більше ніж 0, то зрушуємо вправо мантису В, якщо ж різниця порядків менше ніж 0, то зрушуємо вправо мантису А, якщо різниця порядків дорівнює 0, переходимо до наступного етапу. Він складається в додаванні мантис, якщо мантиса числа А (або В) від’ємна, виконується її переведення в обернений код. Після завершення додавання, перевіряється знак результату, якщо знак додатній, то число записується в суматор. якщо ж знак від’ємний, то число переводиться в прямий код, після чого записується в регістр. Далі виконується нормалізація результату, вона полягає у зсуві мантиси доки старшим розрядом не стане одиниця, після кожного зсуву мантиси вліво виконується зменшення порядку на одиницю. Після нормалізації результат заноситься в ОП.

2.4 Представлення алгоритму у вигляді блок-схеми

У прямокутних комірках записується дія, що виконується, у ромбі - умова, що має два розгалуження (відповідно, «так» або «ні»). Усі комірки з’єднані стрілками, що означає послідовність виконання дії.

Умовні позначення:

К - пусковий сигнал

Pr - регістр

МА, МВ, МС - мантиси А, В, С

РА, РВ - порядок А, В

СМ - суматор

Sg - знак

Блок-схема представлена на рисунках 2.2 (а) та 2.2 (б)


Рисунок 2.2 (а) - Блок-схема алгоритму (частина 1)

Рисунок 2.2(б) - Блок-схема алгоритму (частина 2)

2.5 Закодована блок-схема

Закодована блок-схема представлена на рисунках 2.3 (а) та 2.3 (б).






















Рисунок 2.3(а) - Закодована блок-схема(частина 1)

Рисунок 2.3(б) - Закодована блок-схема(частина 2)

2.6 Граф автомату

На основі закодованої блок-схеми будується граф станів та переходів схеми управління ЦА. Кожен стан заноситься до власної комірки. Визначається сукупність переходів, наприклад автомат переходіть із стану Z1 в стан Z2. Щоб зобразити це на графі, треба поставити стрілку від стану Z1 до стану Z2, та над нею написати дію, що виконалась, а також умову (якщо вона присутня) при якій відбувається перехід. Граф до закодованого алгоритму представлений на рисунку 2.4

Рисунок 2.4 - Граф станів та переходів схеми управління ЦА

.7 Таблиця переходів

На основі побудованого графу створюється таблиця переходів схеми управління ЦА. Вона складається з восьми стовпців, кожному з яких відповідає запис:

) Zi - перелік усіх можливих станів автомата;

) K(Zi) - закодовані стани Zi;

) Zj - стан, у який переходить автомат відповідно до Zi-ого стану;

) K(Zj) - входи стану, у який переходить ЦА;

) {Xi} - умова, при якій відбувається перехід;

) {Yi} - дія, що виконується;

) Di - входи D тригера

Таблиця 1.1 - Таблиця переходів ЦА

Zi

K(Zi)

Zj

K(Zj)

{Xi}

{Yi}

Di

Z0

0000

Z0 Z1

0000 0001

X1 X1

- Y1

- D4

Z1

0001

Z2

0010

1

Y2

D3

Z2

0010

Z3 Z3

0011 0011

X2 X2

Y3 Y4

D4, D3 D4, D3

Z3

0011

Z4 Z4

0100 0100

X3 X3

Y5 Y6

D2 D2

Z4

0100

Z5 Z5 Z7 Z7

0101 0101 0111 0111

Y7 Y8 Y10 Y11

D2, D4 D2, D4 D2, D3, D4 D2, D3, D4

Z5

0101

Z6

0110

1

Y9

D2, D3

Z6

0110

Z7 Z7 Z4

0111 0111 0100

X6 X7 X6 X7 X6

Y10 Y11 -

D2, D3, D4 D2, D3, D4 D2

Z7

0111

Z8 Z8

1000 1000

X8 X8

Y12 Y13

D1 D1

Z8

1000

Z9 Z10

1001 1010

X9 X9 X10

Y14 Y15

D1, D4 D1, D3

Z9

1001

Z10 Z0

1010 0000

X10 X10

Y15 Y17

D1, D3 -

Z10

1010

Z11

1011

1

Y16

D1, D3, D4

Z11

1011

Z9 Z0

1001 0000

X11X10 X11

Y15 Y17

D1, D4 -



Закодовані стани автомату:

     

Z0=Q1 Q2 Q3 Q4

   

Z1=Q1 Q2 Q3 Q4

   

Z2=Q1 Q2 Q3 Q4

 

Z3=Q1 Q2 Q3 Q4

    

Z4=Q1 Q2 Q3 Q4

 

Z5=Q1 Q2 Q3 Q4

 

Z6=Q1 Q2 Q3 Q4

Z7=Q1 Q2 Q3 Q4

   

Z8=Q1 Q2 Q3 Q4

 

 

Z10=Q1 Q2 Q3 Q4

Z11=Q1 Q2 Q3 Q4

Рівняння вихідних функцій:

Y1=Z0X1

Y2=Z1

Y3=Z2X2

Y4=Z2X2

Y5=Z3X3

Y6=Z3X3

  

Y7=Z4X4X5

Y8= Z4X4X5

Y9=Z5

  

Y10= Z4X4X7+ Z6X6X7

Y11= Z4X4X7+ Z6X6X7

Y12=Z7X8

Y13=Z7X8

Y14=Z8X9

  

Y15= Z8X9X10+ Z9X10+ Z11X10X11

Y16=Z10

Y17=Z9X10+ Z11X11

.8 Обраний тригер

D - тригером називається синхронний запам’ятовуючий елемент с двома стійкими станами і одним інформаційним D-входом [2]. Закон функціонування D - тригера описується наступним рівнянням:

Qt+1= CtDt

Після перемикання стану D - тригера він повторює значення сигналу на D - вході в тактові моменти часу. Тому D - тригер часто називають тригером задержки [3].

Схему D - тригера можна побудувати на основі RS-тригера, або на основі самостійного логічного рівняння:

Qt+1=C*S*C*R*Q=C*D*C*D*Q

Схеми D - тригера на основі RS-тригера наведена на рисунку 2.5

Рисунок 2.5- Схеми D-тригера на основі RS-тригера

Схеми D - тригера на елементах НЕ-І наведена на рисунку 2.6

Рисунок 2.6- Схеми D-тригера на елементах НЕ-І

Часова діаграма роботи D - тригера наведена на рисунку 2.7

Рисунок 2.7- Часова діаграма роботи D- тригера

Таблиця переходів D - тригера наведена на рисунку 2.8

С

D

Qt+1

Примітка

0

*

Qt

Зберігання

1

0

0

Встанов. 0

1

1

1

Встанов. 1

Рисунок 2.8- Таблиця переходів D-тригера

Головною перевагою і відмінністю D - тригера від RS-тригера є те, що D - тригер «слідкує» за зміною сигналу на D - вході в час дії синхросигналу С і зберігає ту інформацію, яка малась в момент його закінчення, тому D - тригери більш захищені від помех.

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

2.9 Рівняння ЦА

Згідно з таблиці виконуємо мінімізацію функцій за допомогою аналітичного методу. Визначаємо який з тригерів відповідає за той, чи інший стан ЦА.

D1= Z0X1+ Z7X8+ Z7X8+ Z8X9+ Z8X9X10+ Z9X10+ Z11X10X11= Z0X1+ Z7+ Z8X9+ Z8X10+ Z9X10+ Z11X10X11

D2= Z3X3+ Z3X3+ Z4X4X5+ Z4X4X5+ Z4X4X7+ Z4X4X7+ Z6X6X7+ Z6X6X7+Z5= Z3+ Z4X4+ Z4X4X7+ Z4X4X7+

Z6X6+ Z5= Z3+ Z4X4+ Z4X4+ Z6X6+ Z5= Z3+ Z4+ Z5+ Z6X6

D3=Z1+ Z2X2+ Z2X2+ Z4X4X7+ Z4X4X7+ Z6X6X7+ Z6X6X7+ Z8X9X10+ Z9X10+ Z11X10X11+Z10= Z1+ Z2+ Z4X4+

Z6X6 + Z8X9X10+ Z9X10+ Z11X10X11+Z10

D4= Z2X2+ Z2X2+ Z4X4X5+ Z4X4X5+ Z4X4X7+ Z4X4X7+ Z6X6X7+ Z6X6X7+ Z8X9+ Z10+ Z11X10X11= Z2+ Z4X4+

Z4X4 + Z6X6 + Z8X9+ Z10+ Z11X10X11= Z2+ Z4 + Z6X6 + Z8X9+ Z10+ Z11X10X11


Висновок

двійковий алгоритм кодування числення

Проведена мінімізація аналітичних функцій із застосуванням основних методів: невизначених коефіцієнтів, аналітичного метода, комплексу кубів, метода карт Карно. Побудовані логічні схеми цих функцій.

Література

1. Щербаков А.М. Прикладна теорія цифрових автоматів, частина 1./ А.М. Щербаков. - Запоріжжя: ЗНТУ, 2008 - 102 с.

. Щербаков А.М. Прикладна теорія цифрових автоматів, частина 2./ А.М. Щербаков. - Запоріжжя: ЗНТУ, 2010 - 122 с.

. Бабіч Н.П. Комп’ютерна схемотехніка. /Н.П. Бабіч, І.А Жуков. - К: «МК Пресс», 2004 - 576 с.

. Савельєв А.Я. Арифметичні та логічні основи цифрових автоматів. / А.Я. Савельєв - М: «Вища школа», 1980 - 255 с.

5. Савельєв А.Я. Прикладна теорія цифрових автоматів. / А.Я. Савельєв - М: «Вища школа», 2009 - 272 с.

. Усатенко С.Т. Графічне зображення електро-радіосхем. - Київ: Техніка, 1986

Похожие работы на - Розробка схеми керування цифрового автомату

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!