Зміст
1. Завдання на курсовий проект
2. Введення
3. Проектування дискретного пристрою на елементах малої інтеграції.
3.1. Проектування блоку тригера.
3.2. Проектування мікрооперацій
3.2.1. Мікрооперацій встановлення тригера в "0".
3.2.2 Мікрооперацій запису даних.
3.2.3. Мікрооперацій зсуву коду вліво на один розряд.
3.2.4. Логічна мікрооперацій ("І").
3.2.5. Мікрооперацій рахунки з паралельним переносом.
3.2.6. Мікрооперацій віднімання.
3.2.7. Мікрооперацій порівняння (>).
3.2.8. Мікрооперацій перетворення в додатковий код.
3.2.9.Мікрооперація згортки за модулем 2
(Тип перенесення послідовний (наскрізний))
3.3. Побудова об'єднаних функцій збудження тригерів.
3.4. Розрахунок швидкодії ДУ.
4. Проектування ДУ на БІС.
4.1. Проектування схеми ДУ.
4.2. Карта програмування ПЗУ.
1. Завдання на курсовий проект.
Спроектувати дискретне пристрій (ДУ) виконує наступні дії:
· Скидання елементів пам'яті
· Запис значення вхідного слова в ДУ
· Зсув коду в ДУ вліво
· Логічна операція «&» (логічне "І")
· Лічильник (-1) з паралельним переносом
· Арифметична операція віднімання.
· Операція порівняння (>)
· Перетворення в додатковий код
· Згортка за модулем 2 (тип перенесення послідовний).
Дискретне пристрій проектується на JK - тригерах
Серія МІС 500, серія ПЗУ 1611
2. Введення.
При синтезі проектоване пристрій представляється у вигляді структури, представленої на рисунку 2.1
малюнок 2.1.
Проектування дискретного пристрою зводиться до синтезу елементарного дискретного пристрою, обробного один біт інформації та включає один елемент пам'яті (тригер).
Вхідна комбінаційна схема забезпечує виконання операцій з множини Y, результатом яких є відповідні значення функцій збудження fi для кожного з входів тригера:
- Установка елементів пам'яті в нульовий стан.
- Запис вхідного слова в елементи пам'яті
- Зрушення вліво
- Логічну операцію
- Декремент
- Операція віднімання
- Перетворення на додатковий код.
Вихідна комбінаційна схема забезпечує виконання операції порівняння і формування згортки вмісту ДУ.
Синтез елементарного ДУ зводиться до отримання функцій збудження для кожної операції окремо і, далі, побудові об'єднаних функцій збудження тригера елементарного ДУ. Отримання функцій збудження для кожної мікрооперації зводиться до виконання наступних етапів:
- Побудова таблиці для виконуваної операції
- Визначення значень функцій збудження для кожної таблиці виконуваної
операції з урахуванням словника переходів заданого тригера
- Визначення логічної функції для кожного входу заданого тригера
- Мінімізація логічної функції в необхідному логічному базисі.
3. Проектування дискретного пристрою на елементах малої інтеграції.
3.1 Вибір тригера.
В якості тригера для ДУ виберемо МС К500ТВ135, об'єднує в одному корпусі два двотактних JK-тригера з можливістю установки "0" і "1":
К500ТВ135
3.2 Проектування мікрооперацій.
3.2.1. Мікрооперацій встановлення тригера в "0".
При подачі тактового імпульсу на синхронізуючі входи тригерів і при вирішенні операції обнулення (Y = 0) по задньому фронту імпульсу, інформація, що знаходиться на входах тригерів переписується на їх виходи, таким чином обнулення тригерів відбувається в тому випадку, якщо до моменту подачі тактового імпульсу на J-входах тригерів встановлено рівні логічної одиниці, а на K-входах - рівні логічного нуля.
Qt | Qt +1 | J | K |
0 | 0 | 0 | * |
1 | 1 | * | 1 |
3.2.2. Мікрооперацій запису даних.
Коли операція запису даних дозволена, тобто Y = 1, і при подачі на синхровхід тригерів тактового імпульсу С за його задньому фронту, інформація, що знаходиться на входах тригерів, листується в осередку пам'яті дискретного пристрою і з'являється на виходах Qi. При зміні вхідних даних, тобто при перемиканні сигналів Xi вони з затримкою поширення імпульсу по ланцюгах мікросхем, що беруть участь в мікрооперації запису даних, з'являються на входах тригерів. При подачі наступного тактового імпульсу С мікрооперацій запису даних повторюється.
X | Qt | Qt +1 | J | K | | J | | | K | | |
0 | 0 | 0 | 0 | * | | | X | | | X | |
0 | 1 | 0 | * | 1 | | | | | | | |
1 | 0 | 1 | 1 | * | | 0 | 1 | | * | * | |
1 | 1 | 1 | * | 0 | | * | * | Qt | 1 | 0 | Qt |
3.2.3. Мікрооперацій зсуву коду вправо на один розряд.
Коли Y = 2, по задньому фронту тактового імпульсу інформація з входів тригера надходить на їх виходи, а потім здійснюється зсув коду, що зберігається в даний момент в комірках пам'яті, у бік старших розрядів тобто вправо. При зсуві кожен запам'ятовує елемент повинен:
- Передати збережену інформацію на елемент Ti +1
- Змінити свій стан за рахунок прийому інформації від тригера Тi-1 при зсуві на один розряд вправо.
Передача від тригера Тi і зміна його стану не можуть проходити одночасно. У даному курсовому проекті ця трудність виключається за рахунок використання синхронних двоступеневих JK-тригерів з динамічним керуванням записом. Внутрішня організація таких тригерних схем передбачає розділення в часі етапів прийому вхідної інформації і зміни вихідний. У них по передньому фронту синхронізуючого сигналу відбувається прийом інформації, а по задньому - зміна стану.
Pi | Qt | Qt +1 | J | K | | | J | | | K |
0 | 0 | 0 | 0 | * | | Qt | | | Qt | |
0 | 1 | 0 | * | 1 | | | | | | |
1 | 0 | 1 | 1 | * | Pi | | | Pi | * | 1 |
1 | 1 | 1 | * | 0 | | 1 | * | | | |
Схема ланцюга, що реалізує дану операцію, зображена на рис. 3.3
малюнок 3.3
3.2.4. Логічна мікрооперацій.
У даному дискретному пристрої розробляється логічна мікрооперацій «Логічне" І "». Коли Y = 3 і на синхровхід тригерів подається тактовий імпульс, за його задньому фронту інформація на входах переписується на виходи Q із затримкою проходження сигналу через тригер. Потім виконується задана логічна операція над вмісті елементу пам'яті і вхідними даними.
X | Qt | Qt +1 | J | K | | | J | | | K |
0 | 0 | 0 | 0 | * | | Qt | | | Qt | |
0 | 1 | 0 | * | 1 | | | | | | |
1 | 0 | 0 | 0 | * | X | 0 | 0 | X | * | * |
1 | 1 | 1 | * | 0 | | * | * | | 1 | 0 |
Схема ланцюга, що реалізує дану операцію, зображена на рис. 3.4
малюнок 3.4
3.2.5. Мікрооперацій рахунку (-1) з послідовним переносом.
Враховуючи той факт, що синтезований двоступінчастий тригер переключається по задньому фронту, отримуємо такі функції збудження тригерів.
Zi-1 | Qt-1 | Qt | J | K | Zi | | Qt | -1 | J | Qt | -1 | Zi |
0 | 0 | 0 | 0 | * | 0 | Zi-1 | 0 | * | Zi-1 | 0 | 0 | |
0 | 1 | 1 | * | 0 | 0 | | 1 | * | | 1 | 0 | |
1 | 0 | 1 | 1 | * | 1 | |
1 | 1 | 0 | * | 1 | 0 | | Qt | -1 | K | |
| Zi-1 | * | 0 | |
| | * | 1 | |
| | | | | | | | | | | | | |
Або тобто, якщо інакше
Схема ланцюга, що реалізує дану операцію, зображена на рис. 3.5
малюнок 3.5
3.2.6. Мікрооперацій арифметичного вирахування.
У даному дискретному пристрої розроблена арифметична операція сложенія.-Аналізуючи початковий стан тригера, перенесення, у відповідності зі словником переходів JK-тригерів складаємо таблицю.
X | Zi | Qt | Qt +1 | Zi +1 | J | K | | Х | | J |
0 | 0 | 0 | 0 | 0 | 0 | * | Zi | 0 | * | * | 1 |
0 | 0 | 1 | 1 | 0 | * | 0 | | 1 | * | * | 0 |
0 | 1 | 0 | 1 | 1 | 1 | * | | | Qt | |
0 | 1 | 1 | 0 | 0 | * | 1 | | Х | | K |
1 | 0 | 0 | 1 | 1 | 1 | * | Zi | * | 0 | 1 | * |
1 | 0 | 1 | 0 | 0 | * | 1 | | * | 1 | 0 | * |
1 | 1 | 0 | 0 | 1 | 0 | * | | | Qt | |
1 | 1 | 1 | 1 | 1 | * | 0 | | Х | | Zi +1 |
| Zi | 1 | 1 | 0 | 1 |
| 1 | 0 | 0 | 0 |
| Qt | |
Функції збудження тригера для даної операції мають такий вигляд:
Схема ланцюга, що реалізує дану операцію, зображена на рис. 3.6
малюнок 3.6
Дана операція реалізується за наступними формулами.
C> | C = | X | Qt | C '> | C '= | | C '> | |
0 | 0 | 0 | 0 | 0 | 0 | | C = | | | З> | С = |
0 | 0 | 0 | 1 | 0 | 0 | | | | 1 | | | | / Td td width = 38 valign = top CENTER1/CENTER / td td width = 37 valign = top CENTER1/CENTER / td td width = 39 valign = top CENTER0/CENTER / td td width = 38 valign = top CENTER0/CENTER / td td width = 69 valign = top CENTER Csub> | 1 | * | * | 1 | Qt | | > | 1 | 0 |
0 | 1 | 0 | 0 | 0 | 1 | | | | | | | | x | 1 | 1 |
0 | 1 | 0 | 1 | 0 | 0 | | X | | |
0 | 1 | 1 | 0 | 1 | 0 | | C '= | |
0 | 1 | 1 | 1 | 0 | 1 | | C = | | |
1 | 0 | 0 | 0 | 1 | 0 | | | 1 | | | | |
1 | 0 | 0 | 1 | 1 | 0 | | | * | * | | | |
1 | 0 | 1 | 0 | 1 | 0 | C> | | * | * | | Qt | |
1 | 0 | 1 | 1 | 1 | 0 | | | | 1 | | | |
1 | 1 | 0 | 0 | * | * | | X | | |
1 | 1 | 0 | 1 | * | * | |
1 | 1 | 1 | 0 | * | * | |
1 | 1 | 1 | 1 | * | * | |
Функції переносів для даної операції мають такий вигляд:
малюнок 3.7.
3.2.8. Мікрооперацій перетворення в додатковий код.
Перетворення в додатковий код зробимо згідно з таблицею.
t | t +1 | JK3 | JK2 | JK1 | JK0 | |
Q3 | Q2 | Q1 | Q0 | Q3 | Q2 | Q1 | Q0 | J3 | K3 | J2 | K2 | J1 | K1 | J0 | K0 |
0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | * | 0 | * | 0 | * | 0 | * |
0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | * | 1 | * | 1 | * | * | 0 |
0 | 0 | 1 | 0 | 1 | 1 | 1 | 0 | 1 | * | 1 | * | * | 0 | 0 | * |
0 | 0 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | * | 1 | * | * | 1 | * | 0 |
0 | 1 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | * | * | 0 | 0 | * | 0 | * |
0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 1 | * | * | 1 | 1 | * | * | 0 |
0 | 1 | 1 | 0 | 1 | 0 | 1 | 0 | 1 | * | * | 1 | * | 0 | 0 | * |
0 | 1 | 1 | 1 | 1 | 0 | 0 | 1 | 1 | * | * | 1 | * | 1 | * | 0 |
1 | 0 | 0 | 0 | 1 | 0 | 0 | 0 | * | 0 | 0 | * | 0 | * | 0 | * |
1 | 0 | 0 | 1 | 0 | 1 | 1 | 1 | * | 1 | 1 | * | 1 | * | * | 0 |
1 | 0 | 1 | 0 | 0 | 1 | 1 | 0 | * | 1 | 1 | * | * | 0 | 0 | * |
1 | 0 | 1 | 1 | 0 | 1 | 0 | 1 | * | 1 | 1 | * | * | 1 | * | 0 |
1 | 1 | 0 | 0 | 0 | 1 | 0 | 0 | * | 1 | * | 0 | 0 | * | 0 | * |
1 | 1 | 0 | 1 | 0 | 0 | 1 | 1 | * | 1 | * | 1 | 1 | * | * | 0 |
1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 | * | 1 | * | 1 | * | 0 | 0 | * |
1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 | * | 1 | * | 1 | * | 1 | * | 0 |
| | | | | | | | | | | | | | | | |
| Q0 | | | | J3 | | Q0 | | | | K3 | | | | |
| | | | | | | | | | | | | | | |
| 0 | 1 | 1 | 1 | | | * | * | * | * | | | | | |
| 1 | 1 | 1 | 1 | | | * | * | * | * | | | | | |
| * | * | * | * | | | 1 | 1 | 1 | 1 | | | | | |
| * | * | * | * | | | 0 | 1 | 1 | 1 | | | | | |
| | | | | | | | | | | | | | | |
| | Q1 | | | | | | Q1 | | | | | | | |
| | | | | | | | | | | | | | | |
J3 = Q2Ú Q1Ú Q0
K3 = Q2Ú Q1Ú Q0
Якщо ввести поняття переносу, то мікрооперацій перетворення в додатковий код реалізується за наступними формулами.
Pi | Qt | Qt +1 | J | K | Pi +1 | | Qt | | J | Qt | | Pi +1 |
0 | 0 | 1 | 1 | * | 0 | Pi | 1 | * | Pi | 0 | 1 | |
0 | 1 | 0 | * | 1 | 0 | | 0 | * | | 0 | 0 | |
1 | 0 | 0 | 0 | * | 1 | |
1 | 1 | 1 | * | 0 | 0 | | Qt | | K | |
| Pi | * | 1 | |
| | * | 0 | |
| | | | | | | | | | | | | |
Функції збудження тригера для даної операції мають такий вигляд:
Схема ланцюга, що реалізує дану операцію, зображена на рис. 3.8.
малюнок 3.8
3.2.9. Мікрооперацій згортки за модулем 2 (послед.).
Згортка по модулю 2 застосовується для контролю коду.
Схема ланцюга, що реалізує дану операцію, зображена на рис. 3.9.
малюнок 3.9
3.3. Побудова об'єднаних функцій збудження.
Побудова об'єднаних функцій збудження тригерів реалізується наступним чином:
- Побудова об'єднаної таблиці функціонування для кожної мікрооперації і кожного інсталяційного входу тригера;
запис і мінімізація функцій збудження.
Таблиця 3.1 є об'єднаної таблицею функціонування ДУ. У ній рядки відповідають мікрооперації, а стовпці настановним входів тригерів і перенесення проекти. Для кожного інсталяційного входу записується функція збудження.
На підставі залишеної таблиці синтезуємо функції збудження тригерів
| Q3 | Q2 | Q1 | Q0 |
| J3 | K3 | J2 | K2 | J1 | K1 | J0 | K0 |
Запис 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 | 1 |
Запис слова | x3 | | x2 | | x1 | | x0 | |
Зсув вправо | P3 | | P2 | | P1 | | P0 | |
Логічна операція | 0 | | 0 | | 0 | | 0 | |
Віднімання | | | | | | | | |
-1 (Пар.) | Z `3 | Z `3 | Z `2 | Z `2 | Z `1 | Z `1 | Z `0 | Z `0 |
додаткових ний код | P3 ` | P3 ` | P2 ` | P2 ` | P1 ` | P1 ` | P0 ` | P0 ` |
Перетворимо вираження до необхідного базису:
3.4. Розрахунок швидкодії ДУ.
Швидкодія дискретного пристрою слід оцінювати за максимальною частоті тактових імпульсів, що надходять на синхронизирующий вхід. Максимальна частота тактових імпульсів - це максимально допустима частота подаються в дискретне пристрій імпульсів, що не приводять до порушення його роботи. У загальному випадку для розрахунку максимальної тактової частоти необхідно визначити мінімальні тривалості тактового імпульсу і паузи між тактовими імпульсами. Тоді частоту fmax можна визначити за формулою:
Тривалість такту для синхронних схем дискретного пристрою визначається виходячи з швидкодії використовуваного тригера. Тривалість паузи між тактовими імпульсами визначається часом перехідного процесу в дискретному пристрої і оцінюється максимальною довжиною функціональної ланцюга:
,
де - Максимальна затримка сигналу на одному елементі;
n - число рівнів функціональної ланцюга (глибина КСХ);
Обчислюємо максимальну тактову частоту дискретного пристрою:
4. Проектування ДУ на БІС.
4.1. Проектування схеми ДУ.
4 .2. Карта програмування ПЗУ.