Синтез та дослідження двійково-десяткового лічильника

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

Синтез та дослідження двійково-десяткового лічильника



Синтез та дослідження двійково-десяткового лічильника

Вступ

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

Основою удосконалення комп’ютерної архітектури, якісного підвищення їхньої продуктивності та надійності, істотного зменшення затрат на виготовлення є розвиток схемотехніки ЕОМ. Так як Схемотехніка ЕОМ - це науково-технічна дисципліна, що вивчає теоретичні методи аналізу та синтезу схем ЕОМ і засоби їхньої технічної реалізації.

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

1. Аналіз завдання і вибір методу синтезу

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

Лічильники класифікуються за кількома характеристиками.

·        За способом кодування внутрішніх станів розрізняють двійкові лічильники, лічильники Джонсона, лічильники з кодом «1 із N» і т.д.

·        За напрямком рахунку лічильники поділяються на підсумовувальні, віднімальні і реверсивні лічильники.

У підсумовувального лічильника вихідне двійкове значення, що знаходиться в тригерах схеми, збільшується при поступані на його вхід першого імпульсу. При цьому мається на увазі, що в початковому стані на всіх тригерах лічильника записані нулі [5].

А якщо вихідне двійкове значення при поступані на вхід лічильника імпульсу зменшує своє значення, лічильник називається віднімальним.

Реверсивний лічильник здатний переключатись з режиму підсумовування в режим віднімання і навпаки. Він містить додаткові логічні елементи, на які надходить сигнал зміни режиму роботи.

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

·        Так як лічильники складаються з тригерів, то розрізняють лічильники з послідовним, паралельним, комбінованим переносом. Якщо лічильні імпульси подаються одночасно на входи всіх використовуваних тригерів, то лічильник називають паралельним, у послідовному кожний наступний тригер керується сигналом з попереднього.

Можливі режими роботи лічильника: реєстрація числа поданих на лічильник сигналів, ділення частоти.

В першому режимі результат - вміст лічильника, а в другому сигналами є імпульси переповнення лічильника. Якщо частоту надходження імпульсів, поступаючи на вхід тригера , позначити , то на виході тригера  сигнал змінюється з частотою , на виході тригера - з частотою  і т.д. [8].

Швидкодія лічильника характеризується часом встановлення в ньому нового стану, а також максимальною частотою вхідних сигналів  - це частота зміни вхідного сигналу, за якого лічильник працює коректно.

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

Тригер - це елементарний автомат з двома стійкими станами, один з яких - логічний нуль, а другий - логічна одиниця. Ці стани тригера при безперервному живлені і при відсутності значних перешкод і наводок, тригер може зберігати ці стани, як завгодно довго. Під дією керуючих сигналів тригер здатний переключатися з одного стану в інший. Основне призначення тригера - зберігання інформації. Наприклад в персональних комп’ютерах на тригерах зібрана кеш-пам’ять першого і другого рівня.

У даній роботі розглядається і досліджується лічильник, запам’ятовувальна частина якого побудована на базі трьох D-тригерів і одного JK-тригера. А логічна частина побудована на базі елементів АБО-НІ. Використання цих двох типів тригерів має переваги. Перевага використання D-тригера, в тому що він має лише один інформаційний вхід, а перевага JK-тригера - він має більші функціональні можливості.

Насамперед розглянемо принцип дії RS-тригера, так як він є найпростішим й на основі цього тригера можна побудувати складніші тригери.

Найпростіший асинхронний RS-тригер має R-вхід - вхід установки тригера в 0, S-вхід - вхід установки в 1, Q - прямий вихід тригера,  - інверсний вихід, сигнал в якому інвертований відносно прямого входу. Табличка функціонування тригера показана, як таблиця 1.1:

Таблиця 1.1 - Табличка функціонування RS-тригера

R

S

Q

0

0

зберігання

1

0

0

0

1

1

1

1

Заборонено


Якщо R=S=1, тоді на виходах виникають нулі, що суперечить означенню виходів тригера. Така комбінація сигналів заборонена (відмітимо, що після цього працездатність тригера не зникає).

Але такий тригер працює ненадійно при наявності перешкод. Наприклад, короткочасні імпульсні сигнали, що попадають на R - або S - входи можуть спричинити зміну стану тригера. Ця проблема вирішується використанням синхронного RS-тригера. Стан цього тригера може змінитись лише при встановленій логічній одиниці на вході синхронізації С. Такий тип синхронізації називається статичним

D - тригер являється одним із найбільш використовуваних тригерів. Цей тригер називають ще тригером затримки, так як призначення його - затримка сигналу, що подано на D-вхід. Окрім інформаційного D-входу (входу даних), тригер має ще вхід синхронізації С. Коли на вхід С приходить 0 - тригер зберігає свій стан, а коли 1 - на вихід Q подається значення з інформаційного входу D. D тригер можна побудувати на основі двоступінчатого RS-тригера, при підключені на вході додаткового інвертора, що зв’язує R- і S - входи.

JK-тригер аналогічний до RS-тригера, вхід J - аналогічний входу S RS-тригера, а вхід K - R входу. Як показує рис. 1.2 в схему JK тригера включені два двовходові логічні елементи І. Так як на їх входи подаються вихідні сигнали RS-тригера, то один з елементів буде завжди закритий для проходження сигналів керування. По цій причині можна одночасно подавати логічну одиницю на входи JK-тригера. Як відомо, така комбінація заборонена для RS-тригера [5].

Рисунок 1.2 - Схема JK-тригера

Якщо сигнали на входах - J = K = 0, то отримуємо режим зберігання. Якщо ж J = K = 1, то з приходом синхроімпульсу тригер змінює своє значення на протилежне. Функціонування JK-тригера наведено в таблиці 1.2.

Таблиця 1.2 - Таблиця функціонування JK-тригера

J

K

Qn+1

0

0

Qn

0

1

0

1

0

1

1

1


2. Синтез лічильника

.1 Синтез 1

Синтез лічильника ми починаємо з побудови таблиці функціонування, в якій відзначаємо десять станів лічильника, відповідно до ваги розрядів двійково-десяткового коду, тобто розставляємо одиниці так, щоб їх ваги розрядів дорівнювали в сумі відповідному десятковому номеру. За рахунок того, що деякі десяткові номера можна представити кількома комбінаціями, ми отримуємо кілька варіантів синтезу. Наприклад, номер три можна представити, як суму другого і третього розряду (так як вага другого - 2, а третього 1) або другого і четвертого (вага четвертого - 1).

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

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

Перехід

J

K

D

0→0

0

*

0

0→1

1

*

1

1→0

*

1

0

1→1

*

0

1


Першим переходом, що розглядається є перехід з «0» в «1», потім перехід з «1» в «2» і т.д., останнім буде перехід з «9» в «0», таким чином ми забезпечуємо головну властивість роботи лічильника - циклічність. В даній курсовій роботі ми використовуємо три D-тригера і один JK-тригер. Так як D-тригер має один вхід, а JK-тригер два, то значить, необхідно синтезувати по п’ять функцій в кожному варіанту синтезу.

Таблиця функціонування для першого варіанту синтезу показана, як таблиця 2.2.

Таблиця 2.2 - Таблиця функціонування лічильника

Десяткова цифра

Вага розрядів

Функції збудження


T4 D 5

T3 D 2

T2 JK 1

T1 D 1

D4

D3

J2

K2

D1

0

0

0

0

0

0

0

0

*

1

1

0

0

0

1

0

1

0

*

0

2

0

1

0

0

0

1

1

*

0

3

0

1

1

1

0

1

*

0

1

4

0

1

1

1

1

0

*

1

0

5

1

0

0

0

1

0

1

*

0

6

1

0

1

0

1

0

*

0

1

7

1

0

1

1

1

1

*

0

0

8

1

1

1

0

1

1

*

0

1

9

1

1

1

1

0

0

*

1

0

0

0

0

0

0







Після заповнення графи «функції збудження» мінімізуємо логічні функції для входів кожного з чотирьох тригерів. Мінімізацію здійснюємо за допомогою методу діаграм Вейча. Метод діаграм Вейча є найбільш зручним для роботи з невеликою кількістю змінних, до шістьох. Інший поширений метод мінімізації - метод Мак-Класкі доцільно використовувати для мінімізації великої кількості змінних. Використавши метод діаграм Вейча, ми отримаємо таблиці 4х4, розставляємо в клітинки таблиць спочатку одиниці, потім нулі і зірочки. Згідно таблиці переходів JK-тригер може прийняти стан «*», тобто приймати значення і 1 і 0. Клітинки, що залишились вільними - це надлишкові стани «Х». Групувати можна клітинки, що містять будь-які значення, крім нулів - «1», «*» та «Х». Групування відбувається по 1, 2, 4, 8 клітинок.

Рисунок 2.1 - Діаграми Вейча для функцій збудження тригерів. Синтез перший

Результатом мінімізації за діаграмами Вейча, будуть функції, формула 2.1:

;

;                                              (2.1)

;

;

.

Функції, що отримали в результаті мінімізації є складними для апаратної реалізації, тому ми приводимо їх до спільного логічного базису. Логічний базис - це набір декількох логічних функцій, суперпозицією яких може бути представлена будь-яка інша логічна функція. В даному випадку використовуємо базис «АБО, НІ». Приведення до спільного базису дає нам змогу використовувати лише певний тип логічних елементів, що значно спрощує апаратну реалізацію.

Приводимо функції до базису «АБО, НІ», система рівнянь 2.2:

;

         ;                                                                 (2.2)

;

;

.

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

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

Аналізуючи схему видно, що функція має сім входів. Значить складність за методом Квайна для функції  складає 8.

Для функції  складність становить 10, для  - 3, для  - 1 і для  - 16. Підрахувавши кількість входів, ми отримуємо 8 + 10+ 3 + 1 + 16 = 38. Отже складність схеми для даного синтезу дорівнює 38.

2.2 Синтез 2

Наступний синтез виконуємо аналогічно до першого, підбираємо інший варіант заповнення графи «Вага розрядів». Як бачимо десяткові цифри «1», «2», «3», «6», «7», «8» можна задати від першого варіанту способом. Графа «Функції збудження» також заповнюється аналогічно до першого досліду. При її зіставлені ми користуємося, як в попередньому синтезі табличкою 2.1.

Таблиця функціонування, для другого варіанту досліду, показана як таблиці 2.3.

Таблиця 2.3 - Таблиця функціонування лічильника. Синтез другий

Десяткова цифра

Вага розрядів

Функції збудження


T4 D 5

T3 D 2

T2 JK 1

T1 D 1

D4

D3

J2

K2

D1

0

0

0

0

0

0

0

1

*

0

1

0

0

1

0

0

0

*

0

1

2

0

0

1

1

0

1

*

1

1

3

0

1

0

1

0

1

1

*

1

4

0

1

1

1

1

0

*

1

0

5

1

0

0

0

1

0

0

*

1

6

1

0

0

1

1

1

0

*

0

7

1

1

0

0

1

1

0

*

1

8

1

1

0

1

1

1

1

*

1

9

1

1

1

1

0

0

*

1

0

0

0

0

0

0







Отримані функції збудження мінімізуємо за допомогою метода Вейча, що показано на рисунку 2.2.

Мінімізовані функції для другого варіанту синтезу, показані як система рівнянь 2.3.



Рисунок 2.2 - Діаграми Вейча для функцій збудження тригерів. Синтез другий

;

;                                      (2.3)

;

.

Приведемо функції до логічного базису «АБО-НІ», як показує система рівнянь 2.4.

;

;                                     (2.4)

;


За методом Квайна складність функцій буде становити:= 13, ,   Підрахуємо загальну складність: 13+5+0+8+10=36.

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

2.3 Дослід 3

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

Таблиця 2.4 - Таблиця функціонування лічильника

Десяткова цифра

Вага розрядів

Функції збудження


T4 D 5

T3 D 2

T2 JK 1

T1 D 1

D4

D3

J2

K2

D1

0

0

0

0

0

0

0

1

*

0

1

0

0

1

0

0

1

*

1

0

2

0

1

0

0

0

1

1

*

0

3

0

1

1

0

0

1

*

0

1

4

0

1

1

1

1

0

*

1

0

5

1

0

0

0

1

0

1

*

0

6

1

0

1

0

1

1

*

1

0

7

1

1

0

0

1

1

1

*

0

8

1

1

1

0

1

1

*

0

1

9

1

1

1

1

0

0

*

1

0

0

0

0

0

0







Мінімізуємо функції збудження для третього досліду. Діаграми показано на рисунку 2.3.

Рисунок 2.3 - Діаграми Вейча для функцій збудження тригерів. Дослід третій

Результати мінімізації приведені, як система рівнянь 2.5.

;

 = ;

 ;                                       (2.5)

;

;

Як бачимо, J2 приймає значення логічної одиниці. Складність за методом Квайна буде дорівнювати 0.

Приведемо одержанні функції до логічного базису «АБО, НІ». Результат показаний, як система рівнянь 2.6.

;

 ;

   ;                  (2.6)

 ;

Підрахуємо за методом Квайна: 5,  = 0,  = 3,  = 8, Підрахуємо загальну складність: 3+0+3+7+7=24.

Як бачимо за методом Квайна у першому синтезі складність становить 38, складність другого 36, а третього складає 24. Отже найбільш вигідним для подальшого машинного моделювання є третій синтез.

3. Машинне моделювання

Використавши данні третього синтезу, будуємо схему в ППП «OrСad», схема зображена на рисунку 3.1.


Моделювання схеми виконуємо таким чином:

)        Відкриваємо ППП «OrCAD», і створюємо новий проект, виконавши команди: File - New - Project,

)        Вводимо ім’я проекту, а також вибираємо дерикторію його зберігання;

)        Ставимо відмітку навпроти пункту PC Board, Add VHDL - based digital simulation resources.

Наша функціональна схема працює з бібліотекою TTL.vhd. В цій бібліотеці описана транзисторно-транзисторна логіка. Ця логіка використовує мікросхеми зроблені з біполярних транзисторів із багато-емітерними транзисторами на вході. TTL-технологію використовують, коли важливіша швидкодія пристрою і не потрібно економити споживчу потужність. Лічильник, синтезований нами не потребує значних енергозатрат, так як має невелику кількість елементів [4].

Далі необхідно задати вхідні сигнали, виконавши послідовність команд: Tools - Simulate. У вікні що з’явилося, вибираємо пункт In Design. Після послідовності команд: Stimulus - New Interactive маємо змогу задати вхідні сигнали.

На R-вхід подаємо короткочасний «0», а потім «1». На S-вхід подаємо одиницю, починаючи з 0 нс. А на синхроний C-вхід задаємо сигнал, що періодично змінюється, з періодом в 200 нс.

Часова діаграма для періоду роботи 200 нс зображена на рисунку 3.2.

Рисунок 3.2 - Часова діаграма роботи лічильника при періоді у 200 нс

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

Щоб оцінити параметри лічильника, визначимо мінімальний період, при якому схема не дає хибних сигналів. Для цього будемо зменшувати період подачі вхідного сигналу, доки схема не буде працювати правильно. Способом підбору ми визначаємо, що мінімальний період буде становити 106 нс. Діаграма роботи лічильника при мінімальному періоді зображена на рисунку 3.3.

Рисунок 3.3 - Часова діаграма, при мінімальному періоді 106 нс

Якщо період задати менший ніж 106 нс, то лічильник перестане працювати коректно, що показано на рисунку 3.4

Рисунок 3.4 - Часова діаграма роботи лічильника, при періоді 104 нс

Лічильник буде працювати некоректно тому, що періоду в 104 нс і менше не буде достатньо щоб усі тригери лічильника прийняли правильний стан.

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

                   (3. 1).

 

Вимірюємо час реєстрації лічильника. Час реєстрації лічильника - це найбільший період часу протягом якого лічильник установиться у новий стан після дії активного значення сигналу.

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

Рисунок 3.5 - Час реєстрації лічильника

Висновок

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

Щоб отримати мінімальні апаратні затрати й максимальну швидкодію лічильника синтез було проведено в трьох дослідах, з метою проаналізувати результати кожного досліду й вибрати оптимальний. Під час синтезу лічильника велика увага була приділена роботі з функціями збудження. Була проведена мінімізація методом діаграм Вейча, мінімізовані функції приведено до спільного базису «АБО, НІ». Вибір найпростішого варіанту синтезу здійснено за методом Квайна.

Результати оптимального варіанту синтезу були використані при побудові схеми в середовищі ППП «ОrCad». Порівнявши отримані часові діаграми з таблицею функціональності з третього досліду, було перевірено коректність роботи лічильника. Використовуючи часові діаграми визначили основні параметри лічильника: мінімальний період, максимальну тактову частоту, час реєстрації. Мінімальний період, за якого лічильник працює коректно складає 106 нс, максимальна частота 9,4 МГЦ, час реєстрації 40 нс.

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

Перелік посилань

лічильник тригер квайн мінімізація

1.   Пєтух А., Обідник Д. Схемотехніка ЕОМ. - Вінниця: ВДТУ 1999.

2.      Пєтух А., Войтко В. Прикладна теорія цифрових автоматів. - Вінниця: ВДТУ, 2001.

.        Самофалов К.Г. и др. Цифровые электронные вычислительные машины. - Киев: Высш. шк., 1989.

.        Угрюмов Е.П. Проектирование элементов и узлов ЭВМ. - Москва: Энергоатомиздат, 1991.

.        Кучумов А.И. Электроника и схемотехника. - Москва: Гелиос, 2004 - 336 с.

.        Богданович М.И. и др. Цифровые интегральные микросхемы. - Минск: Беларусь, 1996. - 492 с.

7.   Лисенко Г.Л., Буда А.Г., Обертюх Р.Р. Методичні вказівки до оформлення курсових проектів (робіт) у Вінницькому національному технічному університеті. - Вінниця: ВНТУ, 2006. - 60 с.

Похожие работы на - Синтез та дослідження двійково-десяткового лічильника

 

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