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

Міністерство освіти і науки, молоді та спорту України

Вінницький національній технічний університет

Інститут інформаційних технологій та комп’ютерної інженерії



Факультет КІ

Кафедра ПЗ







СИНТЕЗ ТА ДОСЛІДЖЕННЯ ДВІЙКОВО-ДЕСЯТКОВОГО ЛІЧИЛЬНИКА

Пояснювальна записка до курсової роботи

з дисципліни ”Схемотехніка ЕОМ”

за спеціальністю

"Програмне забезпечення автоматизованих систем"

08-26.СХ.013.01.000 ПЗ





Керівник курсової роботи

к.т.н., доц.

____________ Д. Т. Обідник

(підпис)

«__» __________ 2011 р.

Розробила студентка гр. 1ПІ-09

____________І. В. Кирнична

(підпис)

«__» __________ 2011 р.





Вінниця ВНТУ 2011

ЗМІСТ



	Вступ

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

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

		СИНТЕЗ 1

		СИНТЕЗ 2

		СИНТЕЗ 3

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

	Висновки

	Література

		


ВСТУП

	

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

	Ці знання необхідні фахівця, зв’язаним з інтенсивним використанням комп’ютерної техніки, автоматизованих систем обробки даних і керування, спеціалістам з електроніки та радіотехніки, цифрових автоматів і робототехніки.

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

Мета даної курсової роботи – закріплення теоретичного матеріалу з дисципліни «Схемотехніка ЕОМ»,а також набуття практичних навиків для синтезу та дослідження двійково-десяткового лічильника.

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

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

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

Модуль лічби – це кількість різних стійких станів лічильника, в які він переходить у процесі одного циклу лічби. Для двійкових лічильників модуль лічби дорівнює 2n, де n – розрядність лічильника. Лічильники, кількість станів в циклі яких відрізняється від 2n, називаються недвійковими. Вони можуть бути побудовані на основі двійкових лічильників шляхом введення зворотних зв’язків або бути синтезовані як цифрові автомати.




1 АНАЛІЗ ЗАВДАННЯ І ВИБІР МЕТОДУ СИНТЕЗУ



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

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

Завдання на курсову роботу передбачає синтез двійково-десяткового лічильника на основі трьох тригерів JK- та одного тригера D- типу, які працюють в коді з вагою розрядів 6-2-2-1, і його моделювання на ЕОМ.

Синтезуємо і будуємо лічильник, як автомат. Такий метод синтезу включає в себе:

	побудова таблиці станів;

	побудова таблиці переходів;

	побудова діаграм Вейча;

	мінімізація діаграм Вейча;

	реалізація отриманих функцій.

		Критерій проектування лічильника передбачає максимум швидкодії при відносному мінімумі апаратних витрат. В даному завданні зображення десяткових цифр в коді 6-2-2-1 неоднозначне, при чому можливі три варіанти. Тому виберемо той варіант, який нам забезпечить мінімум апаратних витрат та відносну швидкодію лічильника.

		Для моделювання використаємо сучасний програмний засіб OrCAD EXPRESS for Windows.

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

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

Класифікація тригерів:

за способом організації логічних зв’язків розрізняють тригери з запуском RS-тригери; з лічильним входом Т-тригери; тригери затримки D-тригери; універсальні JK-тригери; комбіновані (наприклад, RST-, JKRS-, DRS-тригери).

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

за кількістю інформаційних входів тригери можуть бути з одним, двома та багатьма входами.

за видом вихідних сигналів тригери поділяються на статичні і динамічні. Статичні тригери – тригери, в яких вихідні сигнали в стійких станах залишаються незмінними в часі. Динамічні тригери – тригери, в яких вихідні сигнали в стійких станах змінюються в часі.

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




2 СИНТЕЗ ЛІЧИЛЬНИКА



2.1 СИНТЕЗ 1



Згідно завдання, потрібно синтезувати синхронний двійково-десятковий лічильник, на основі одного тригера D- типу та трьох тригерів JK-типу, які працюють в коді з вагою розрядів 6-2-2-1.

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

Розглянемо перший з них:



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

Десяткова

цифра

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



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



6

Т4

2

Т3

2

Т2

1

Т1

J4

K4

D3

J2

K2

J1

K1

0

1

2

3

4

5

6

7

8

9

0

0

0

0

0

0

0

1

1

1

1

0

0

0

1

0

1

1

0

1

1

0

0

0

0

0

1

1

1

0

0

0

1

0

0

1

0

1

0

1

0

0

1

1

0

0

0

0

0

0

1

*

*

*

*

*

*

*

*

*

*

0

0

0

1

0

1

0

1

1

0

1

1

0

0

0

0

1

*

*

*

0

0

1

*

*

*

*

0

0

1

*

*

*

1

1

*

1

*

1

*

0

1

*

*

*

1

*

1

*

1

*

*

0

1



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

JK-тригер діє наступним чином:

Перехід логічного 0 в логічну 1 можна реалізувати двома способами: або встановити тригер в одиницю, або інвертувати його стан, тобто, потрібно щоб, на J-була постійно 1, а на К або 1, або 0 (ставимо зірочку *), аналогічно перехід з 1 в 0 - на К повинна бути логічна 1, а на J-зірочка (1 або 0). Якщо перехід з 0 в 0 або з 1 в 1, то можна або зберегти попередній стан тригера, або встановити в 0 чи 1 відповідно, тобто на J- повинен бути 0, а на К- зірочка (0 в 0) і на К- 0, а на J-зірочка, якщо з 1 в 1. Робота тригерів показана в таблиці 2.1.2:



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



J

K

D

0→0

0

*

0

0→1

1

*

1

1→0

*

1

0

1→1

*

0

1



Згідно таблиці проведемо мінімізацію функцій D- та JK-входів тригерів за допомогою діаграми Вейча.

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

Намалюємо діаграми Вейча для функцій входів тригерів:



1      Х      1      X                



1       1      Х     X



X     0        *     *



1       X      *      *  

 



 Т1

Т3

K1

Т2

Т4

*      *       X     X                



*       X     Х     1



X     *        1     1



*       X      0      1  

 



 Т1

Т3

J1

Т2

Т4

0       1     X      X                



1       X     Х     0



X     *        *     *



*       X      *      *  

 



 Т1

Т3

K2

Т2

Т4

 *      *      X     X                



*       X     Х     *



X     1        0     1



0       X      0      0  

 



 Т1

Т3

J2

Т2

Т4

1      1      X      X                



0       X     Х     1



X     0        1     0



1       X      1      0  

 



 Т1

Т3

D3

Т2

Т4

*      1      X      X                



*       X     Х     *



X     0        0     *



*       X      0      *  

 



 Т1

Т3

K4

Т2

Т4

0      *      X      X                



1       X     Х     0



X     *        *     0



0       X      *      0  

 



 Т1

Т3

J4

Т2

Т4















































Рисунок 2.1 – Діаграми Вейча для функцій

збудження тригерів. Синтез перший




Згідно діаграм Вейча запишемо значення функцій на D- та JK- входах тригерів і перетворимо їх до виду, зручного для реалізації на елементах “АБО, НІ”.



	 K1= Т3 Т1+Т2+Т1 = Т3+Т1+Т2+Т1

	

	J1= Т1 Т3+Т1Т4 =Т1+Т3+Т1+Т4

	

	K2= Т1 Т3+Т4 =Т1+Т3+Т4

	

	J2= Т1 Т3+Т3 Т4 =Т1+Т3+Т3+Т4

	

	D3= Т1 Т4+ Т1 Т2+ Т1 Т3 =Т1+Т4+Т1+Т2+Т1+Т3

	

	K4= Т2 = Т2

	

	J4= Т1 Т3 =Т1+Т3

	

Для того щоб вибрати схему за критеріями курсової роботи, потрібно оцінити складність апаратної реалізації цієї схеми за Квайном (сумарна кількість всіх входів у схемі) K=46.



2.2 СИНТЕЗ 2



	Розглянемо другий варіант синтезу:

	


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

Десяткова

цифра

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

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



6

Т4

2

Т3

2

Т2

1

Т1

J4

K4

D3

J2

K2

J1

K1

0

1

2

3

4

5

6

7

8

9

0



0

0

0

0

0

0

1

1

1

1

0

0

0

0

1

1

1

0

0

0

1

0

0

0

1

0

1

1

0

0

1

0

0

0

1

0

1

0

1

0

1

0

1

0

0

0

0

0

0

1

*

*

*

*

*

*

*

*

*

0

0

0

0

1

0

0

1

1

1

0

0

0

0

0

0

1

*

1

*

0

0

1

*

0

*

*

1

*

0

*

*

*

1

*

1

*

1

*

1

*

1

*

1

*

*

1

*

1

*

1

*

1

*

1



	

Отримаємо діаграми Вейча для цього випадку:






	

X     X      *      *                



1       X     Х     *



1      1        *     X



1       1      X      *  

 



 Т1

Т3

K1

Т2

Т4

X     X      1     1                



*       X     Х     1



*      *        X    X



*       *      1      1 

 



 Т1

Т3

J1

Т2

Т4

X     X      1      1                



*       X     Х     0



*       *      X     X



*       *      *      *  

 



 Т1

Т3

K2

Т2

Т4

X     X     *      *                



0      X     Х     *



1      0       X     X



1       1      0      0  

 



 Т1

Т3

J2

Т2

Т4

X      X      0      1                



0       X     Х     1



1       0      X     X



0       0      0      0  

 



 Т1

Т3

D3

Т2

Т4

X     X     0      *                



0       X     Х     *



*       1      X     X



*      0      0      *  

 



 Т1

Т3

K4

Т2

Т4

X     X     *      0                



1       X     Х     0



0       *      X     X



0       *      *      0  

 



 Т1

Т3

J4

Т2

Т4

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	

	









Рисунок 2.2 – Діаграми Вейча для функцій

збудження тригерів. Синтез другий

	

Згідно діаграм Вейча запишемо значення функцій на D- та JK- входах тригерів для цього випадку.


K1= 1 

	J1= 1	

	

	K2= Т2 Т3 =Т2+Т3

	

	J2= Т1 Т3 + Т2 Т3 Т4 =Т1+Т3+Т2+Т3+Т4

	

	D3= Т2 Т3 Т4 + Т1 Т3 + Т2 Т3 Т4=Т2+Т3+Т4+Т1+Т3+Т2+Т3+Т4

	

	K4= Т3 Т4 = Т3+Т4

	

	J4= Т1 Т2 =Т1+Т2

	

Складність апаратної реалізації цієї схеми за Квайном K=37



2.3 СИНТЕЗ 3



Розглянемо третій варіант:




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

Десяткова

цифра

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



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



6

Т4

2

Т3

2

Т2

1

Т1

J4

K4

D3

J2

K2

J1

K1

0

1

2

3

4

5

6

7

8

9

0

0

0

0

0

0

0

1

1

1

1

0

0

0

1

1

1

1

0

0

0

0

0

0

0

0

0

1

1

0

0

1

1

0

0

1

0

1

0

1

0

1

0

1

0

0

0

0

0

0

1

*

*

*

*

*

*

*

*

*

0

0

0

0

1

0

1

1

1

1

0

0

0

0

0

0

0

0

1

*

*

0

1

*

*

*

*

*

*

0

1

*

*

0

1

1

*

1

*

1

*

1

*

1

*

*

1

*

1

*

1

*

1

*

1





Намалюємо діаграми Вейча для функційвходів тригерів:

	

	




X     1      *      X                



1       X     Х     *



1      X      X     *



1       1      *      *  

 



 Т1

Т3

K1

Т2

Т4

X     *       *      X                



*       X     Х     *



1       X     X     0



0       1      0      0  

 



 Т1

Т3

K2

Т2

Т4

X     0       0      X                



0       X     Х     1



1       X     X     1



1       0      0      0  

 



 Т1

Т3

D3

Т2

Т4

X     X      1     1                



*       X     Х     1



*      *        X    X



*       *      1      1 

 



 Т1

Т3

J1

Т2

Т4

X     1       0     X                



*       X     Х     *



*      X       X    *



*       0      0      * 

 



 Т1

Т3

K4

Т2

Т4

X     *       *     X                



1       X     Х     0



0      X       X    0



0       *      *      0 

 



 Т1

Т3

J4

Т2

Т4

X     *       *     X                



*       X     Х     *



1      X       X    0



0       1      1      0 

 



 Т1

Т3

J2

Т2

Т4





	









































Рисунок 2.3 – Діаграми Вейча для функцій

збудження тригерів. Синтез третій



Згідно діаграм Вейча запишемо значення функцій на D- та JK- входах тригерів для цього випадку.

	K1= Т1

	J1= Т1

	

	K2= Т1

	

	J2= Т1 Т3 + Т1 Т4  =Т1+Т3+Т1+Т4

	

	D3= Т1 Т2 Т4 + Т1 Т3=Т1+Т2+Т4+Т1+Т3

	

	K4= Т1 Т2 = Т1+Т2

	

	J4= Т1 Т2 =Т1+Т2



Складність апаратної реалізації цієї схеми за Квайном K=26, що менше ніж у попередніх випадках, тому остання схема більш простіша і потребує меншої кількості апаратних витрат.

	


МАШИННЕ МОДЕЛЮВАННЯ

синхронний двійковий десятковий лічильник

Змоделювавши схему лічильника у середовищі «OrCAD» ми отримали схему, що зображена на рисунку 3.1.





Рисунок 3.1 – Функціональна схема двійково-десяткового лічильника

Для правильної роботи лічильника, необхідно правильно задати вхідні сигнали, лише при цій умові вихідні сигнали будуть вірними. На R(анг. Reset – скинути)-вхід необхідно подати короткочасний «0» , на S(анг. Set – встановити) подаємо постійну одиницю, а на C(синхронний)-вхід подавати періодичний сигнал з періодом починаючи від 60нс. Дана схема нормально функціонує при 60нс, зображено на рисунку 3.2. Але це не мінімальний період. Тому, методом підбору, визначаємо, що мінімальний період має 53нс, роботу лічильника при мінімальному періоді зображено на рисунку 3.3.





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

	

	

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

	

Якщо період коливання на C-вході зменшити хоча б на одиницю, то лічильник перестане працювати коректно, відбуватиметься це тому, що цього періоду не буде достатньо щоб усі тригери лічильника прийняли правильний стан. У даному випадку найпершим відмовляє вихід Т3, причиню цього є те, що цей вихід обслуговується тригером D3, а D3 обслуговується найбільшою функцією, що є у схемі. Тобто ця функція має найбільшу затримку серед усіх реалізованих у схемі.





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

меншому за мінімальний



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

	

	 (3.1)

	

	Підставивши в формулу отримані значення визначимо максимальну тактову частоту (3.2)

	

	 (3.2)

	

	

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

	

	

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

	


ВИСНОВКИ



		В даній курсовій роботі було синтезовано і промодельовано двійково-десятковий лічильник. Було проведено три синтези, для того щоб за Квайном визначити складність апаратної реалізації, і обрати найпростіший варіант. Найпростішим виявився останній варіант, зі складністю апаратної реалізації по Квайну K=26. Лічильник було побудовано на елементах базису АБО,Ні.

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

		Після побудови лічильника, його було досліджено, і виявлено найбільшу тактову частоту – 1МГц, і найменший період при якому схема працює - 53нс. Також було визначено час реєстрації лічильника – 18нс.

	

	
ЛІТЕРАТУРА

	

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

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

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

	Справочник по интегральным микросхемам / Б.В.Тарабрин и др.; Под ред. Б.В.Тарабрина. - М.: Энергия, 1985.

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