Проектування цифрових пристроїв


 

 Вступ

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

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

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

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

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

 

1 Проектування присрою  відображення символів на сегментному  індикаторі

 

    1. Відображення символів у вигляді сегментного індикатора

 

Сигментний індикатор та зображення та зображення символів згідно варіанту завдання показаному на рисунку 1.1

 

Рисунок 1.1 – Зображення символів на семи сегментному індикаторі

 

    1.  Розробка таблиці істинності для сегментів індикатору

 

Згідно позначень сегментів  на індикаторі та зображень символів на ньому, що показані на рисунку 1.1, складемо таблицю істинності для сегментів  індикатору.

 

Таблиця 1.1 – Таблиця істинності для сегментів індикатору

 

№ набору

X1

X2

X3

X4

a

b

c

d

e

f

g

Символ

0

0

0

0

0

1

0

1

1

0

1

1

5

1

0

0

0

1

1

0

1

1

1

1

1

6

2

0

0

1

0

1

1

1

0

0

0

0

7

3

0

0

1

1

0

1

1

0

0

1

1

4

4

0

1

0

0

1

1

1

1

0

1

1

9

5

0

1

0

1

1

1

1

0

1

1

1

А

6

0

1

1

0

0

0

0

1

1

1

0

L

7

0

1

1

1

1

1

1

1

0

0

1

З

8

1

0

0

0

1

0

0

0

1

1

0

Г

9

1

0

0

1

0

1

1

0

0

0

0

І

10

1

0

1

0

-

-

-

-

-

-

-

-




 

 

 

 

 

 

 

 

 

 

 

 

     Продовження таблиці 1.1

№ набору

X1

X2

X3

X4

a

b

c

d

e

f

g

Символ

11

1

0

1

1

-

-

-

-

-

-

-

-

12

1

1

0

0

-

-

-

-

-

-

-

-

13

1

1

0

1

-

-

-

-

-

-

-

-

14

1

1

1

0

-

-

-

-

-

-

-

-

    15

1

1

1

1

-

-

-

-

-

-

-

-




 

 

 

 

 

 

 

 

1.3 Отримання мінімальної диз’юнктивної  нормальної форми (МДНФ) функцій  сегментів семи сегментного індикатора  та побудова комбінаційних схем, що реалізують ці фінкції, в  заданому елементному базисі

За допомогою таблиці  істинності згідно таблиці 1.1 та діаграм  Вейча, що показані на рисунках 1.2 – 1.8 запишемо функції сегментів в  мінімальній діз’ктивній нормальній формі (МДНФ).

 


Рисунок 1.2 – Діаграма Вейча для  сегменту ˮaˮ

 

Згідно рисунка 1.2 отримуємо  МДНФ Функції сегменту ˮaˮ:

                          _ _    _  _                      

МДНФа = X2X4˅X2X4˅X1X4                                                                                           (1.1)

                        

 

 

 

 


 

 

Рисунок 1.3 – Діаграма Вейча для  сегменту ˮbˮ

 

Згідно  рисунка 1.3 отримуємо МДНФ функції  сегменту ˮbˮ:

                       _                             _   

МДНФb = X2X3˅X2X4˅X1X4˅X2X3                             (1.2) 

 

 


 

Рисунок 1.4 – Діаграма вейча для  сегменту ˮсˮ

 

Згідно  рисунка 1.4 отримуємо МДНФ функції  сегменту ˮсˮ:

                            _    _  _

МДНФс = X4˅X2X3˅X1X2                         (1.3)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

Рисунок 1.5 – Діаграма Вейча для  сегменту ˮdˮ

 

Згідно рисунка 1.5 отримуємо МДНФ функції сегменту ˮdˮ:

                                   _    _  _  _

МДНФd: = X2X3˅X2X4˅X1X2X3               (1.4)


 

 


 

 

 

 


 


 

 

 

 

 

Рисунок 1.6 – Діаграма Вейча для  сегменту ˮеˮ

 

Згідно  рисунка 1.5 отримуємо МДНФ функції  сегменту ˮеˮ:

                       _             _      _  _

МДНФe = X1X4˅X2X3X4˅X1X3X4                        (1.5)

 

 

 

 

 

 

 

 

 

 

 


 



 


 


 

 

 

 

Рисунок 1.7 – Діаграма Вейча для  сегментру "f"

 

Згідно  рисунка 1.7 отримуємо МДНФ функції  сегменту "f":

 

МДНФf =                                     (1.6)

 


 

 

 

 

 


 

 

 

 

 

 

Рисунок 1.8 – Діаграма Вейча для  сегменту "g"

 

Згідно  рисунка 1.8 отримуємо МДНФ функції  сегменту "g":

 

МДНФg =                           (1.7)

 

Накреслимо  схеми для функцій сегментів  в заданому базисі логічних елементів, представлених в МДНФ. Для цього  попередньо за допомогою правил де Моргана перетворимо МДНФ функцій  сегментів індикатора, що наведені у виразах 1.1 – 1.7 для подання їх в елементному базисі І,АБО,НЕ.

 

 

 

 

 

 

Згідно  виразу 1.1 будуємо комбінаційну схему, що реалізує МДНФа. Схема показана на рисунку 1.9.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.9 – Комбінаційна схема, що реалізує МДНФ функції сегмента "а"

 

Згідно  виразу 1.2 будємо комбінаційну схему, що реалізує МДНФb. Схема показана на рисунку 1.10.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.10 – Комбінаційна схема, що реалузує МДНФ функції сегмента "b"

 

 

Згідно  виразу 1.3 будємо комбінаційну схему, що реалізує МДНФc. Схема показана на рисунку 1.11.

 


 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.11 – Комбінаційна схема, що реалізує МДНФc функції сегмента "c"

 

Згідно  виразу 1.4 будємо комбінаційну схему, що реалізує МДНФd. Схема показана на рисунку 1.12.

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       Рисунок 1.12 – Комбінаційна схема, що реалізує МДНФd функції сегмента "d"

 

 

Згідно  виразу 1.5 будємо комбінаційну схему, що реалізує МДНФe. Схема показана на рисунку 1.13.

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.13 – Комбінаційна схема, що реалізує МДНФe функції сегмента "e"

 

Згідно  виразу 1.6 будємо комбінаційну схему, що реалізує МДНФf. Схема показана на рисунку 1.14.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.14 – Комбінаційна схема, що реалізує МДНФe функції сегмента "f"

 

 

 

Згідно  виразу 1.7 будємо комбінаційну схему, що реалізує МДНФg. Схема показана на рисунку 1.15.


 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.15– Комбінаційна схема, що реалізує МДНФe функції сегмента "g"

 

1.4 Отримання мінімальної кон’юнктивної нормальної форми (МКНФ) функції сегментів семи сегментного індикатора та побудова комбінаційних схем, що реалізують ці функції, в заданому елементному базисі

За допомогою  таблиці істинності згідно таблиці 1.1 та діаграм Вейча, що показані на рисунках 1.16 – 1.22 запишемо функції  сегментів в мінімольній кон’юктивній нормальній формі (МКНФ).


 

 


 


 

 


 

 

 

Рисунок 1.16 – Діаграма Вейча для  сегменту ˮaˮ

 

Згідно рисунка 1.16 отримуємо МКНФ функції сегменту ˮaˮ:

 

МКНФа =                                        (1.8)

 

 

 

 

 


 


 

 


 


 

 

 

Рисунок 1.17 – Діаграма Вейча для сегменту ˮbˮ

 

Згідно рисунка 1.17 отримуємо МКНФ функції сегменту ˮbˮ:

 

МКНФb =                                        (1.9)


 

 


 

 

 

 


 

 

 

 

Рисунок 1.18 – Діаграма Вейча для сегменту ˮcˮ

 

Згідно рисунка 1.18 отримуємо МКНФ функції сегменту ˮcˮ:

 

МКНФc =                                                             (1.10)

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 


 


 

 

 

 

 

 

 

 

Рисунок 1.19 – Діаграма Вейча для сегменту ˮdˮ

 

Згідно рисунка 1.19 отримуємо МКНФ функції сегменту ˮdˮ:

 

МКНФd =                                                        (1.11)


 

 


 


 

 


 

 

 

Рисунок 1.20 – Діаграма Вейча для сегменту ˮeˮ

 

Згідно рисунка 1.20 отримуємо МКНФ функції сегменту ˮeˮ:

 

МКНФe =                                                        (1.12)

 

 

 

 

 

 

 

 

 

 


 


 


 

 


 

 

 

 

Рисунок 1.21 – Діаграма Вейча для сегменту ˮfˮ

 

Згідно рисунка 1.21 отримуємо МКНФ функції сегменту ˮfˮ:

 

МКНФf =                                                            (1.13)

 



 

 

 

 

 

 

 

 

 

 

Рисунок 1.22 – Діаграма Вейча для сегменту ˮgˮ

 

Згідно рисунка 1.22 отримуємо МКНФ функції сегменту ˮgˮ:

 

МКНФg =                                                                               (1.14)

 

Накреслимо  схеми для функцій сегментів  в заданому базисі логічних елементів, представлених а МКНФ. Для цього  попередньо за допомогою правил де Моргана перетворимо МКНФ функцій  сегментів індикатора для подання  їх в елементному базисі І,АБО,НЕ.

 

 

Згідно  виразу 1.8 будємо комбінаційну схему, що реалізує МКНФa. Схема показана на рисунку 1.23.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.23 – Комбінаційна схема, що реалізує МКНФa функції сегмента "a"

 

 

Згідно  виразу 1.9 будємо комбінаційну схему, що реалізує МКНФb. Схема показана на рисунку 1.24.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.24 – Комбінаційна схема, що реалізує МКНФb функції сегмента "b"

 

 

Згідно  виразу 1.10 будємо комбінаційну схему, що реалізує МКНФc. Схема показана на рисунку 1.25.

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.25 – Комбінаційна схема, що реалізує МКНФc функції сегмента "c"

 

 

Згідно  виразу 1.11 будємо комбінаційну схему, що реалізує МКНФd. Схема показана на рисунку 1.26.

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.26 – Комбінаційна схема, що реалізує МКНФd функції сегмента "d"

 

 

 

 

 

Згідно  виразу 1.12 будємо комбінаційну схему, що реалізує МКНФe. Схема показана на рисунку 1.27.

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.27 – Комбінаційна схема, що реалізує МКНФe функції сегмента "e"

 

 

Згідно  виразу 1.13 будємо комбінаційну схему, що реалізує МКНФf. Схема показана на рисунку 1.28.

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 1.28 – Комбінаційна схема, що реалізує МКНФf функції сегмента "f"

 

Згідно  виразу 1.14 будємо комбінаційну схему, що реалізує МКНФf. Схема показана на рисунку 1.29.

 

 

 

Рисунок 1.29 – Комбінаційна схема, що реалізує МКНФg функції сегмента "g"

 

1.5 Оцінка складності комбінаційних схем по Квайну та побудова функціональної схеми пристрою відображення символів на сегментному індикаторі

 

Розрахуємо  ціну комбінаційних схем, що реалізують функції сегментів, представлених  в МДНФ та МКНФ.

 

МДНФ:

 

Са =10+3=13                                                                                             (1.15)

 

Сb =10+4=14                         (1.16)

 

Сc =7+3=10                                                                                              (1.17)

 

Сd =11+3=14                                                                                             (1.18)

 

Сe  =12+3=15                                                                                           (1.19)

 

Сf =14+4=18                                                                                             (1.20)

 

Сg =6+3=9                                                                                                  (1.21)

 

МКНФ:

 

Сa =14+3=17                                                                                             (1.22)

 

Сb =11+3=14                                                                                              (1.23)

 

Сc =7+3=10                                                                                             (1.24)

 

Сd =9+3=12                                                                                              (1.25)

 

Сe =14+4=18                                                                                            (1.26)

 

Сf =14+3=17                                                                                             (1.27)

 

Сg =4+2=6                                                                                                 (1.28)

 

 

 

Оцінивши складність схем, для включення  в спільну функціональну схему  пристрою для відображення символів на семисегментному індикаторі обираємо схеми, що відповідають виразам 1.15, 1.16, 1.17, 1.25, 1.19, 1.27, 1.28. Функціональна схема пристрою для відображення символів на семисегментному індикаторі показана на кресленні К571.22КП01.041 Э2-1"Пристрій відображення символів ".

 

 

 

 

 

 

 

 2 Проектування керуючого автомата, який забезпечує управління обчислювальним пристроєм, що реалізує операцію множення

 

2.1 Побудова функціональної схеми  обчислювального пристрою, що виконує  операцію множення

 

В даному курсовому проекті  буде виконуватись множення першим способом (із зсувом множника та суми часткових добутків вправо та нерухомому множеному). Операндами є 8-розрядні двійкові числа без знаку. Функціональна схема обчислювального  пристрою, що реалізує операцію за таких  умов, показана на рисунку 2.1.

 

 

Рисунок 2.1 – Функціональна схема обчислювального  пристрою, що виконує множення двійкових  чисел без знаку

 

 

На схемі  RGA – регістр в якому накопичуються часткові добутки (по одному на кожен розряд множника), а в кінці операції множення – старший байт результату. Перед  початком множення цей регістр встановлюється в нуль керуючим сигналом CLR(y1). Регістр RGQ – це регістр, в якому знаходиться множник, що записується туди за керуючим сигналом WR1(y2). Множене записується в регістр RGM за керуючим сигналом WR2(y3). Підрахунок кількості циклів множення виконується за допомогою лічильника СТ, відповідно до чого вибирається його розрядність q. В лічильник перед початком операції за керуючим сигналом WR3(y4) записується кількість циклів, що дорівнює     

 

 

                                                                                                     

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

 

підсумовування. Цифрово-буквенними індексами на умовно-графічних  позначеннях зазначені номери розрядів суматора, регістрів лічильника, а  стрілками показаний напрямок зсуву  кодів у регістрах.

Виконання операції множення в цій схемі  відбувається наступним чином. Керуючий автомат аналізує розряди множника по одному починаючи з молодших. Якщо Q0 дорівнює одиниці ( логічна умова Х1), керуючий автомат виробляє управляючий сигнал ADD(y5), за яким множене додається до вмісту регістра RGA і результат зберігається в цьому ж регістрі за керуючим сигналом WR4(y6), при чому тригер С використовується для зберігання біту переповнення суматора. Потім вміст тригера С, всі розряди регістрів RGA та RGQ за керуючим сигналом SHR(y7) зсуваються на одну позицію вправо: вміст тригера С записується в Аn-1, А0 переписується в Qn-1, а значення Q0 втрачається. Якщо ж Q0 дорівнює нулю, додавання не відбувається, а керуючий автомат виробляє управляючий сигнал SHR(y7), за яким вміст тригера С, всі розряди регістрів RGA та  RGQ зсуваються на одну позицію вправо. Зміст лічильника циклів СТ зменшується на одиницю за керуючим сигналом DEC(y8). Цей процес виконується для всіх розрядів множника. Циклічний процес відбувається доти, поки влічильнику СТ не встановиться нуль (логічна умова Х2). В результаті в регістрі RGA формується старша, а в RGQ – молодша частина 2n-розрядного добутку.

 

2.2 Побудова змістовного алгоритму  виконання операції множення

 

Змістовний  мікроалгоритм виконання операції множення двійкових чисел без  знаку із зсувом множника та суми часткових  добутків вправо показаний на рисунку 2.2.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 2.2 – Змістовний мікроалгоритм виконання  операції множення двійкових чисел  без знаку першим способом.

 

 

 

 

 

2.3 Складання графічної схеми  алгоритму (ГСА) роботи керуючого  автомату

 

Для побудови ГСА роботи автомату потрібно поставити  у відповідність мікроопераціям, що знаходяться в операторних  вершинах змістовного алгоритму, керуючі  сигнали, які потрібно подати на входи  цифрових елементів, що входять до складу обчислювального пристрою, показаного на рисунку 2.1. Буквенно- числові позначення цих керуючих сигналів записуються  в операторних вершинах ГСА роботи автомату. ГСА роботи автомату, що керує  процесом множення двійкових чисел  без знаку в  обчислювальному  пристрої, показана на рисунку 2.3.

 

 

 

 

Рисунок 2.3 – ГСА роботи автомату, що керує  процесом множення двійкових чисел  без знаку без знаку відношення залишку першим способом

 

 

 

 

 

 

 

2.4 Кодування та розмітка ГСА роботи керуючого автомату

Для побудови закодованої та розміченої ГСА роботи автомату потрібно поставити  у відповідність керуючим сигналам, які потрібно подати на входи цифрових елементів, що входять до складу обчислювального пристрою, показаного на рисунку 2.1, вихідні керуючі сигнали автомату з множини вихідного алфавіту:

у1=СLR – сигнал cкидання в початковий (нульовий) стан регістра RGA та тригера Т1;

у2 =WR1 – сигнал запису інформації в регістр RGQ;

у3 =WR2 – сигнал запису інформації в регістр RGM;

y4=WR3 – сигнал запису інформації в лічильник СТ;

y5 = ADD – сигнал операції додавання в суматорі та запис значення результату в регістр RGA;

y6= WR4 – сигнал збереження старшого розряду суматора в тригері Т;

y7= SHR – сигнал зсуву вправо інформації в регістрі RGQ);

у8= DEС – сигнал операції декременту лічильника СТ;

x1 – умовa рівності одиниці тригера Т1, в якому зберігається значення старшого розряду суматора;

x2 – умова рівності змісту лічильника нулю.

Буквенно-числові позначення цих вихідних керуючих сигналів записуються в операторних вершинах закодованої ГСА роботи автомату. Розмітка станів йснюеться згідно прийнятих правил. Закодована та розмічена ГСА роботи автомату, що керує процесом множення двійкових чисел без знаку в обчислювальному пристрої, показана на рисунку 2.4

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 2.4 – Закодована та розмічена ГСА  роботи керуючого автомату

 

 

 

 

 

 

 

2.5 Побудова графу роботи керуючого  автомату

 

 

Граф  автомату будується згідно закодованої  та розміченої ГСА роботи автомату, показаної на рисунку 2.4. граф зображено  на рисунку 2.5

 

 

 

 

Рисунок 2.5 – Граф роботи керуючого автомату, що управляє обчислювальним пристроєм  для множення двійкових чисел  без знаку

 

 

2.6 Кодування станів керуючого  автомату

 

Автомат має п’ять станів. Для кодування  кожного з них потрібно 3 біти двійкового коду, оскільки трьох бітного  коду вистачає для кодування 23=8 станів. Таблиця кодування станів автомату показана в таблиці 2.1.

 

 

 

 

 

 

 

 

Таблиця 2.1 – Таблиця кодування  станів автомату


 

 

 

 

 2.7 Вибір елементарних автоматів (тригерів) та запис їх підграфів переходів

 

Згідно завдання, для побудови керуючого  автомату використовуємо JK-тригери. Оскільки керуючий автомат (а отже, і граф його роботи) має 8 станів, для забезпечення кодування кожного з них потрібно буде кількість тригерів, що розраховується за формулою 2.1:

                                               N=]log

n[                                                     (2.1)

де n - кількість вершин у графі.

Виконуємо розрахунок за формулою 2.1:

                                              N=]log

5[=3                                                 (2.2)

Таким чином, потрібно буде три тригери. Підграфи переходів JK-тригера показані на рисунку 2.6.


 

Рисунок 2.6 – Підграфи переходів  JK-тригера

 

 

2.8 Побудова структурної таблиці  керуючого автомату

 

Струкгурна  таблиця будується на основі графа  роботи керуючого автомату, зображеного  на рисунку 2.5, та підграфів переходів тригерів, що зображені на рисунку 2.6. Структурна таблиця автомату зображена на рисунку 2.7.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рисунок 2.7 - Структурна таблиця керуючого автомату

 

2.9 Запис та мінімізація перемикальних  функцій (ПФ) вихідних керуючих сигналів автомату

 

Для побудови комбінаційних схем, що будуть реалізовувати функції вйхідних керуючих сигналів автомату, потрібно записати ці функції у вигляді їх таблиці істинності та за допомогою діаграм Вейча знайти МДНФ кожної з них. Далі потрібно представити ці МДНФ в потрібному елементному базисі згідно завдання.

 

Таблиця істинності функцій вихідних керуючих сигналів показана в таблиці 2.2

№

Q3

Q2

Q1

Y1

Y2

Y3

Y4

Y5

Y6

Y7

Y8

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

1

1

1

1

1

0

0

0

0

2

0

1

0

0

0

0

0

0

0

1

1

3

0

1

1

0

0

0

0

1

0

0

0

4

1

0

0

-

-

-

-

-

-

-

-

5

1

0

1

-

-

-

-

-

-

-

-

6

1

1

0

0

0

0

0

0

1

0

0

7

1

1

1

1

-

-

-

-

-

-

-