You are on page 1of 37

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

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


«КИЇВСЬКИЙ ПОЛІТЕХНІЧНИЙ ІНСТИТУТ
імені ІГОРЯ СІКОРСЬКОГО»
НАУКОВО НАВЧАЛЬНИЙ ІНСТИТУТ ПРИКЛАДНОГО СИСТЕМНОГО АНАЛІЗУ
КАФЕДРА СИСТЕМНОГО ПРОЕКТУВАННЯ

КУРСОВА РОБОТА
з дисципліни «Комп’ютерна схемотехніка»
на тему: «Синхронний лічильник на D-тригерах на чотири розряди
без декодування коефіцієнта рахування з послідовним переносом
для додавання»

Виконав: студент 2 курсу групи ДА-22


спеціальність 122 «Комп’ютерні науки»
Жадько Микита Сергійович
Керівник: Стіканов В.Ю. ⠀
Кількість балів: ____________________
Прийняли:
____________________________________________
(підпис) (, прізвище та ініціали)

___________________________________________
(підпис) ( прізвище та ініціали)

Засвідчую, що у цій курсовій роботі


немає запозичень з праць інших
авторів без відповідних посилань
студент ____________

Київ - 2023 рік


2

Національний технічний університет України “КПІ” ННК “ІПСА”


(назва вищого навчального закладу)

Кафедра системного проектування



Дисципліна комп’ютерна схемотехніка ⠀

Спеціальність 122 Комп’ютерні науки


Курс II ⠀Група ДА-22 Семестр 1


ЗАВДАННЯ
на курсову роботу студента

Жадька Микити Сергійовича


(прізвище, ім’я, по батькові)

1. Тема роботи Синхронний лічильник на D-тригерах на чотири розряди

без декодування коефіцієнта рахування з послідовним переносом для додавання

2. Строк здачі студентом закінченого проекту (роботи) ⠀

3. Вихідні дані до проекту (роботи)


Пристрій на основі бібліотечних компонентів gpdk045 (на рівні транзисторів,
резисторів, ємностей) в системі проектування Cadence.
Мінімальна частота роботи схеми не менше 100 МHz
Максимальна ємність: 2pf, Максимальна температура: 60°

4. Зміст розрахунково – пояснювальної записки (перелік питань, які


підлягають розробці)
1.Розробка та аналіз логічних елементів схеми
2. Побудова та аналіз схеми
3

3. Аналіз результатів

5. Перелік графічного матеріалу ( з точним зазначенням обов’язкових


креслень)
1.Схеми логічних елементів, схема D(M-S)-тригеру, схема синхронного
лічильника
2.Результати тестування елементів, D(M-S)-тригеру, синхронного
лічильника

6. Дата видачі завдання ⠀


4

КАЛЕНДАРНИЙ ПЛАН

№ Найменування етапів курсової Строк виконання


п/п роботи етапів роботи
Розробка та аналіз логічних
1. 23.11
елементів схеми

2. Побудова та аналіз схеми 25.11

3. Аналіз результатів 26.11

4. Оформлення роботи 07.12

Здача на перевірку (електронна


5. 10.12
версія

6. Виправлення недоліків 11.12

7. Захист 11.12

Студент ⠀ Жадько.М.С. ⠀
(підпис студента) (прізвище, ім‘я, по батькові студента)
5

ЗМІСТ
Вступ 6
РОЗДІЛ 1. ТЕОРЕТИЧНІ ВІДОМОСТІ
1.1 Загальні принципи роботи лічильника 7
1.2 D(M-S)-тригер 8
1.3 Синхронний лічильник на D(M-S)-тригерах 10
РОЗДІЛ 2. ХІД РОБОТИ
2.1 Обрахунок потрібних параметрів 12
2.2 Схема та тестування логічних елементів 12
2.3 Схема та тестування D(M-S)-тригеру 23
2.4 Схема та тестування синхронного лічильника 25
ВИСНОВКИ 30
СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ 31
6

Вступ
Мета роботи: закріплення, поглиблення та узагальнення теоретичних знань і
розвиток навичок їх практичного застосування в галузі комп’ютерної схемотехніки
на прикладі побудови синхронного лічильника на D-тригерах на 4 розряди без
коефіцієнту декодування з послідовним переносом для додавання.

Завдання: розробити схему синхронного лічильника з бібліотечних


компонентів gpdk045 (транзистори, резистори, ємності). Протестувати пристрій за
допомогою Tran аналізу при роботі на частоті не нижче 100 MHz, навантаженні 2
pf , температурі 30°С. DC та AC аналіз для даної схеми провести неможливо через
те, що пристрій є послідовним, а не комбінаційним.
7

РОЗДІЛ 1

ТЕОРЕТИЧНІ ВІДОМОСТІ

1.1 Загальні принципи роботи лічильника

Лічильник — пристрій для підрахунку кількості сигналів, які надходять на


його вхід. Двійкові лічильники реалізують лічбу вхідних імпульсів у двійковій
системі числення. Число розрядів n двійкового підсумовуючого лічильника для
заданого модуля М знаходять із виразу n = log 2 𝑀 [1]. Діаграма роботи лічильника
зображена на рис. 1.

Рисунок 1 – Діаграма роботи лічильника.


Лічильник може працювати на збільшення вихідного коду по кожному
вхідному імпульсу, це основний режим, що є у всіх лічильниках, він називається
режимом прямого підрахунку. Лічильник може також працювати на зменшення
вихідного коду по кожному вхідному імпульсу, це режим зворотного або інверсного
підрахунку, передбачений в лічильниках, званих реверсивними. Інверсний рахунок
буває досить зручний в схемах, де необхідно порахувати задану кількість вхідних
імпульсів [2]. На рис. 2 зображено інверсний підрахунок імпульсів (на віднімання).
8

Рисунок 2 – Інверсний підрахунок імпульсів.

1.2 D(M-S)-тригер

Тригер — електронна логічна схема, яка має два стійкі стани, в яких може
перебувати, доки не зміняться відповідним чином сигнали керування. Напруги і
струми на виході тригера можуть змінюватися стрибкоподібно. Тригер це
мультивібратор із двома стабільними станами.
D-тригер — запам'ятовує стан входу та видає його на вихід. D-тригери мають,
як мінімум, два входи: інформаційний D і синхронізації C. Після приходу активного
фронту імпульсу синхронізації на вхід C, D-тригер відкривається. Збереження
інформації в D-тригерах відбувається після спаду імпульсу синхронізації С.
Оскільки інформація на виході залишається незмінною до приходу чергового
імпульсу синхронізації, D-тригер називають також тригером із запам'ятовуванням
інформації або тригером-засувкою. Міркуючи чисто теоретично, парафазний
(двофазний) D-тригер можна утворити з будь-яких RS- або JK-тригерів, якщо на їх
входи одночасно подавати взаємно інверсні сигнали.
9

В одноступінчатих D-тригерах під час прозорості всі зміни інформації на


вході D передаються на вихід Q. Там, де це небажано, потрібно застосовувати
двоступеневі (двотактні, Master-Slave, MS) D-тригери [3].
Також, якщо в подальшому на D-тригері треба побудувати якусь більш
складну схему, наприклад, лічильник, варто створити ще два входи: Preset та Clear.
Кожен з них примусово та за короткий час скидає тригер в одне з двох положень:
при активному Preset на виході буде 1, при активному Clear – 0. Умовне позначення
такого тригеру на рис. 3.

Рисунок 3 – Умовне позначення тригеру DRS.


Також зобразимо таблицю істинності для D-тригеру (рис. 4) та схему для
D(M-S) тригеру (рис. 5).

Рисунок 4 – Таблиця істинності для D-тригеру.


10

Рисунок 5 – Схема D(M-S)-тригеру за переднім фронтом.

1.3 Синхронний лічильник на D(M-S)-тригерах на 4 розряди

По швидкодії всі лічильники діляться на три великі групи:


 асинхронні (або послідовні) лічильники.
 синхронні лічильники з асинхронним перенесенням (або паралельні
лічильники з послідовним перенесенням).
 синхронні (або паралельні) лічильники.
Принципові відмінності між цими групами виявляються тільки на другому
рівні представлення, на рівні моделі з тимчасовими затримками. Найбільшою
швидкодією володіють синхронні лічильники, а найменшою — асинхронні
лічильники, найбільш просто керовані серед інших [2].
У синхронному лічильнику вхідний сигнал поступає на входи тригерів майже
одночасно. В затримку ще враховуються лише логічні вентилі, які і утворюють
лічильник із сукупності тригерів.
Зазвичай лічильники будуються на таких тригерах, які можна
використовувати у якості Т-тригеру. Такими є J-K-тригер та D-тригер. Утворити Т-
11

тригер на основі D(M-S)-тригеру можна просто з’єднавши інверсний вихід із


входом D. Тоді на кожне спрацювання тригеру по фронту, сигнал буде
інвертуватися. Схема лічильника представлена на рис. 6.

Рисунок 6 – Схема лічильника на D(M-S) тригерах на 4 розряди.


Також покажемо роботу лічильника за варіантом на рис. 7

Рисунок 7 – Робота лічильника [4].


12

РОЗДІЛ 2
ХІД РОБОТИ

2.1 Обрахунок потрібних параметрів

Задана частота за варіантом – 100МГц. Розрахуємо період роботи тригеру.


1 1
𝑇= = 8 = 1 ∙ 10−8 = 10𝑛𝑠
𝑓 10
Це означає, що стан лічильника повинен змінюватись кожні 10ns. Тоді сигнал
Clk на вході буде мати такий самий період, так як по кожному задньому фронту
стан лічильника змінюється. Тобто, сигнал Clk перемикатиметься кожні 5𝑛𝑠.
Також розглянемо детальніше будову D(M-S)-тригеру. Він перемикається за
фронтом, тобто, при одному сигналі відкритий для запису (працює частина Master),
а при іншому закритий (працює частина Slave). Затримки видачі сигналів пов’язані
саме зі швидкістю проходження сигналу крізь частину Slave. Для частини Master
достатньо, щоб за період активного сигналу Clk (5𝑛𝑠) сигнал встиг записатись.
Тоді доцільно було б побудувати тригер таким чином, щоб частина Master
складалась з вентилів, побудованих на вужчих транзисторах, а частина Slave – на
ширших. Це обумовлено тим, що при збільшені ширини транзистора збільшується
його пропускна здатність (зменшується затримка). Проте також збільшуються і
паразитні ємності, які збільшують затримку.
Тому, замість того, щоб збільшувати ширину обох частин тригеру для
зменшення затримки, краще збільшувати ширину лише частини Slave, так як
збільшення ширини частини Master призведе тільки до збільшення затримок.
Наприклад, можна задати ширину транзисторів для вентилів частини Master
як 1u (1 мікрометр), а ширину транзисторів для вентилів частини Slave як 10u (1
мікрометрів).
Зобразимо оновлену схему тригеру, враховуючи розподіл ширини.
13

Рисунок 8 – Оновлена схема тригеру.


Вентилі з позначкою «wide» будуть побудовані на транзисторах більшої
ширини.

2.2 Схема та тестування логічних елементів

Для побудови схеми знадобляться наступні логічні вентилі: NOT, NAND2,


NAND3, AND2.
 NOT
Схема елементу:
14

Рисунок 9 – Схема елементу NOT.


Символ елементу:

Рисунок 10 – Символ елементу NOT.


15

Схема тесту:

Рисунок 11 – Схема тесту елементу NOT.


Tran аналіз елементу:

Рисунок 12 – Tran аналіз елементу NOT.


16

Затримка на фронтах:

Рисунок 13 – Затримка на фронтах елементу NOT.


Затримка на передньому фронті елементу NOT: 6.0045 − 5.0001 = 1.0044𝑛𝑠
Затримка на задньому фронті елементу NOT: 10.8043 − 10.0001 = 0.8042𝑛𝑠
 NAND2
Схема елементу:

Рисунок 14 – Схема елементу NAND2.


17

Символ елементу:

Рисунок 15 – Символ елементу NAND2.


Схема тесту:

Рисунок 16 – Схема тесту елементу NAND2.


18

Tran аналіз елементу:

Рисунок 17 – Tran аналіз елементу NAND2.


Затримка на фронтах:

Рисунок 18 – Затримка на фронтах елементу NAND2.


Затримка на передньому фронті елементу NAND2: 5.9964 − 5.0001 = 0.9963𝑛𝑠
Затримка на задньому фронті елементу NAND2: 1.5882 − 0.0001 = 1.5881𝑛𝑠
19

 NAND3
Схема елементу:

Рисунок 19 – Схема елементу NAND3.


Символ елементу:

Рисунок 20 – Символ елементу NAND3.


20

Схема тесту:

Рисунок 21 – Схема тесту елементу NAND3.


Tran аналіз елементу:

Рисунок 22 – Tran аналіз елементу NAND3.


21

Затримка на фронтах:

Рисунок 23 – Затримка на фронтах елементу NAND3.


Затримка на передньому фронті елементу NAND3: 6.0043 − 5.0001 = 1.0042𝑛𝑠
Затримка на задньому фронті елементу NAND3: 2.378 − 0.0001 = 2.3799𝑛𝑠
 AND2
Схема елементу:

Рисунок 24 – Схема елементу AND2.


22

Символ елементу:

Рисунок 25 – Символ елементу AND2.


Схема тесту:

Рисунок 26 – Схема тесту елементу AND2.


23

Tran аналіз елементу:

Рисунок 27 – Tran аналіз елементу AND2.


Затримка на фронтах:

Рисунок 28 – Затримка на фронтах елементу AND2.


Затримка на передньому фронті елементу AND2: 1.0447 − 0.0001 = 1.0446𝑛𝑠
Затримка на задньому фронті елементу AND2: 5.8349 − 5.0001 = 0.8348𝑛𝑠
24

 NAND2_WIDE
Схема елементу:

Рисунок 29 – Схема елементу NAND2_WIDE.


Символ елементу:

Рисунок 30 – Символ елементу NAND2_WIDE.


25

Схема тесту:

Рисунок 31 – Схема тесту елементу NAND2_WIDE.


Tran аналіз елементу:

Рисунок 32 – Tran аналіз елементу NAND2_WIDE.


26

Затримка на фронтах:

Рисунок 33 – Затримка на фронтах елементу NAND2_WIDE.


Затримка на передньому фронті NAND2_WIDE: 5.5399 − 5.0001 = 0.5398𝑛𝑠
Затримка на задньому фронті NAND2_WIDE: 0.7207 − 0.0001 = 0.7206𝑛𝑠
 NAND3_WIDE
Схема елементу:

Рисунок 34 – Схема елементу NAND3_WIDE.


27

Символ елементу:

Рисунок 35 – Символ елементу NAND3_WIDE.


Схема тесту:

Рисунок 36 – Схема тесту елементу NAND3_WIDE.


28

Tran аналіз елементу:

Рисунок 37 – Tran аналіз елементу NAND3_WIDE.


Затримка на фронтах:

Рисунок 38 – Затримка на фронтах елементу NAND3_WIDE.


Затримка на передньому фронті NAND3_WIDE: 5.5335 − 5.0001 = 0.5334𝑛𝑠
Затримка на задньому фронті NAND3_WIDE: 1.0758 − 0.0001 = 1.0757𝑛𝑠
29

2.3 Схема та тестування D(M-S)-тригера

Схема тригеру:

Рисунок 39 – Схема D(M-S)-тригеру.


Символ тригеру:

Рисунок 40 – Символ D(M-S)-тригеру.


30

Схема тесту:

Рисунок 41 – Схема тесту D(M-S)-тригеру.


Tran аналіз тригеру:

Рисунок 42 – Tran аналіз D(M-S)-тригеру.


31

Затримка на фронтах:

Рисунок 43 – Затримка на фронтах D(M-S)-тригеру.


Затримка на передньому фронті D(M-S)-тригеру: 16.0501 − 15.0001 = 1.05𝑛𝑠
Затримка на задньому фронті D(M-S)-тригеру: 28.1763 − 25.0001 = 3.1762𝑛𝑠

Рисунок 44 – Перевірка правильності роботи пристрою.


32

2.4 Схема та тестування синхронного лічильника

Схема лічильника:

Рисунок 45 – Схема лічильника.


Символ лічильника:

Рисунок 46 – Символ лічильника.


33

Схема тесту:

Рисунок 47 – Схема тесту лічильника.


Tran аналіз лічильника при 60°:

Рисунок 48 – Tran аналіз лічильника при 60°.


Затримка на фронтах, розрахована через калькулятор:

Рисунок 49 – Затримки на фронтах.


34

Параметричний аналіз лічильника, зміна ширини транзисторів для


«широких елементів» від 4u до 20u за 4 кроки. Різниця між аналізами
на прикладі виходу 𝑄4 , де затримка розповсюдження має бути
найбільшою:

Рисунок 51 – Аналіз при width = 4u.

Рисунок 52 – Аналіз при width = 9,33u.


35

Рисунок 53 – Аналіз при width = 20u.

Рисунок 54 – Зміна затримок відносно ширини.


36

ВИСНОВКИ
Було побудовано синхронний лічильник на 4 розряди на D(M-S)-тригерах без
декодування коефіцієнту рахування з послідовним переносом для додавання. Також
було протестовано цю схему та кожен елемент, з якого вона складається за
допомогою tran аналізу. Тестування виконувалося при ємності в 2pf та температурі
в 60°, що збільшило час затримок.
Схема працює стабільно при ширині транзисторів для широких елементів у
10 мікрометрів. Найбільша затримка складає 𝑄4 = 3,68𝑛𝑠, що менше, ніж період
перемикання сигналу Clk в 5𝑛𝑠. Розрахуємо частоту, на якій міг би працювати
пристрій з поточними розмірами транзисторів.
1 1 1
𝑓= = = = 135,87 ∙ 106 ≈ 135МГц
2 ∙ 𝑇з 2 ∙ 3,68 ∙ 10−9 7,36 ∙ 10−9
Отже, схема працює з потрібною частотою.
Також було проведено Parametric аналіз, де наочно видно, що при ширині
транзисторів широких елементів у 4 мікрометри, схема не працює нормально, так
як сигнали на виході не перемикаються повністю до переднього фронту Clk.
При ширині у 9,33 мікрометри схема працює нормально, а якщо брати аналіз
при 20 мікрометрах, то є доволі великий запас для збільшення частоти (приблизно
у 2 рази, навіть більше).
Ще було зображено графік зміни затримок відносно збільшення ширини, де
видно, що тривалість фронту 1 більша за тривалість фронту 0, а також
простежується обернена пропорційність затримок до ширини транзисторів, які
утворюють частину Slave тригерів, з яких побудований лічильник.
37

СПИСОК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ

1. Лічильник імпульсів. URL:


https://uk.wikipedia.org/wiki/%D0%9B%D1%96%D1%87%D0%B8%D0%BB%
D1%8C%D0%BD%D0%B8%D0%BA_%D1%96%D0%BC%D0%BF%D1%83
%D0%BB%D1%8C%D1%81%D1%96%D0%B2.
2. Електронний посібник Мікросхемотехніка. URL:
https://mcx.lab-101.org.ua/Tema25.htm.
3. Тригер. URL:
https://uk.wikipedia.org/wiki/%D0%A2%D1%80%D0%B8%D0%B3%D0%B5%
D1%80#D-%D1%82%D1%80%D0%B8%D0%B3%D0%B5%D1%80%D0%B8.
4. Справочник по цифровой схемотехнике. В.И.Зубчук, В.П.Сигорский,
А.Н.Шкуро. -К.: Техника, 1990.

You might also like