Елементна база ЕОМ. Побудова та параметри вузлів цифрової схемотехніки
Призначення і використання комбінаційних та послідовнісних функціональних вузлів. Побудова та параметри вузлів цифрової схемотехніки. Проектування типових вузлів цифрових комп'ютерів. Забезпечення програмованості програмованих логічних інтегральних схем.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 08.11.2019 |
Размер файла | 6,8 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Рис. 2.29 Асинхронний підсумовуючий лічильник на JK-тригерах
У віднімальному двійковому лічильнику лічба розпочинається з максимального числа, а потім числа перебираються у зворотному порядку до нуля, за яким знову повторюється максимальне число. Асинхронний двійковий віднімальний лічильник має зменшувати свій стан на одиницю при надходженні імпульсу на лічильний вхід. Схеми віднімальних лічильників отримують із схем підсумовуючих лічильників двома способами:
за виходи віднімального лічильника беруть сигнали з інверсних виходів усіх розрядних тригерів підсумовуючого лічильника.
змінюють з'єднання входів розрядних тригерів: інформативні сигнали надходять з прямих виходів тригерів попередніх розрядів, якщо схема побудована на тригерах з керуванням по фронту імпульсів, і навпаки, у разі керування спадом імпульсу на входи розрядних тригерів потрібно подавати сигнали з інверсних виходів попередніх тригерів, а вхідний сигнал для тригера молодшого розряду зняти з інвертора, який виконає заміну робочого фронту вхідного сигналу.
Більшість віднімальних лічильників мають вхід R для встановлення одиничних рівнів напруги на всіх виходах тригерів.
Наприклад, якщо в якості розрядних тригерів використовуються Т-тригери, які керуються переднім фронтом лічильних імпульсів, то для отримання віднімального лічильника лічильні входи наступних тригерів з'єднують з прямими виходами попередніх (рис. 2.30, (а)). При надходженні переднього фронту тактового імпульсу 1 тригер DD1 переходить в стан лог. 1. У результаті на його виході теж сформується передній фронт імпульсу, який надходить на вхід другого тригера DD2, що призводить до запису лог. 1 і в цей тригер. Точно така ж ситуація складається з усіма тригерами лічильника, тобто всі тригери змінять свій стан на лог.1. Для трирозрядного лічильника це буде число 111. Наступний тактовий імпульс 2 призведе до зміни стану тільки першого тригера DD1, так як при цьому на його виході сформується задній фронт сигналу. Під час надходження кожного чергового імпульсу вміст лічильника, побудованого за аналізованою схемою, зменшується на одиницю. Цей процес продовжується до тих пір, поки стан лічильника не стане знову дорівнювати 0. Потім з надходженням нових тактових імпульсів цикл лічби повторюється. Для трирозрядного лічильника після надходження імпульсу 8 усі тригери обнулюються і цикл лічби повторюється, що відповідає модулю лічби 8.
Усі можливі стани логічних сигналів на виходах віднімального лічильника, які описуються спадаючою послідовністю двійкових чисел, наведені у таблиці 2.10. Часові діаграми цього лічильника наведені на рисунку 2.30, (б).
Таблиця 2.10
Номер вхідного імпульсу |
Q2 |
Q1 |
Q0 |
|
0 |
0 |
0 |
0 |
|
1 |
1 |
1 |
1 |
|
2 |
1 |
1 |
0 |
|
3 |
1 |
0 |
1 |
|
4 |
1 |
0 |
0 |
|
5 |
0 |
1 |
1 |
|
6 |
0 |
1 |
0 |
|
7 |
0 |
0 |
1 |
Рис. 2.30 Асинхронний віднімальний лічильник на Т-тригерах: схема (а), часові діаграми (б)
Для реалізації віднімального лічильника на D-тригерах в схемі, зображеній на рис. 2.28, (а), потрібно змінити з'єднання тригерів та сигнали на входи наступних тригерів подавати з інверсних виходів попередніх розрядів (рис. 2.31). Інвертор на вході змінює робочий фронт лічильних імпульсів.
Рис. 2.31 Асинхронний віднімальний лічильник на D-тригерах з керуванням за спадом тактових імпульсів
На практиці часто необхідно змінювати напрям лічби в процесі роботи. Лічильник, який може працювати як у прямому, так і в зворотному напрямку лічби, називають реверсивним. Реверсивні лічильники можуть бути як асинхронного, так і синхронного типу. Для побудови реверсивних лічильників застосовують логічні комутатори (мультиплексори) у колах зв'язку між тригерами, які дають змогу обрати один із двох режимів: режим додавання або режим віднімання.
Асинхронний двійковий реверсивний лічильник можна побудувати, якщо доповнити схему логічними елементами 2І-АБО і перемикати на вхід наступного розрядного тригера прямий або інверсний виходи тригера попереднього розряду. Для перемикання міжрозрядних зв'язків у реверсивному лічильнику потрібні додаткові керуючі сигнали.
Як приклад, на рис. 2.32, (а) зображена схема реверсивного трирозрядного лічильника на Т-тригерах, які керуються переднім фронтом імпульсів на лічильному вході. При роботі як в режимі підсумовування, так і в режимі віднімання лічильні імпульси надходять на спільний лічильний вхід. Для завдання напрямку лічбі використовують додатковий RS-тригер: з його прямого виходу знімається сигнал керування відніманням В (вмикає ланцюги позики), а з інверсного виходу - сигнал керування додаванням Д (вмикає ланцюги перенесення). Таким чином, якщо на вхід R керуючого RS-тригера надійшов сигнал лог. 1, то лічильник реалізує режим прямої лічбі вхідних імпульсів (підсумовування). При надходженні керуючого сигналу лог. 1 на вхід S має місце режим зворотної лічби (віднімання). В обох режимах роботи тригери перемикаються асинхронно. Перед кожним розрядним тригером розміщується логічна схема 2І-АБО, яка забезпечує подачу сигналів з інверсного виходу попереднього тригера при додаванні або з прямого виходу - в режимі віднімання.
Рис. 2.32 Асинхронний реверсивний лічильник на Т-тригерах з керуванням за фронтом тактових імпульсів
Зауваження. На практиці часто логічну функцію 2І-АБО реалізують через штрих Шеффера в базисі 2І-НІ (рис. 2.32, (б)). Для цього логічну функцію 2І-АБО слід еквівалентно перетворити, скориставшись аксіомою подвійного інвертування та другою формою закону де Моргана (2.23):
Усі розглянуті вище схеми лічильників являють собою лічильники з послідовним переносом. У цих лічильниках імпульси, що підлягають рахунку, надходять на вхід тільки одного першого тригера, а сигнал перенесення передається послідовно від одного розряду до іншого. Перевагою асинхронних лічильників є простота схеми: розрядність легко збільшити, додавши необхідну кількість тригерів. До недоліків асинхронних лічильників відносять порівняно невисоку швидкодію та її залежність від числа розрядів. Усі вищерозглянуті типи асинхронних лічильників з послідовним перенесенням можуть бути використані в цифрових пристроях "помірної" швидкодії, коли частота надходження синхроімпульсів не перевищує критичного значення, при якому час затримки встановлення тригерів старших розрядів лічильника стає сумірним з тривалістю періоду вхідних тактових імпульсів. У зв'язку з цим, асинхронні лічильники будуються на відносно невелику кількість розрядів.
Для збільшення швидкодії використовують паралельні синхронні лічильники. У синхронних лічильниках імпульси надходять на тактові входи усіх тригерів одночасно і водночас відбувається формування сигналу переносу для всіх розрядів лічильника. Досягається це введенням в кожному розряді логічних елементів І, за допомогою яких аналізуються стани всіх попередніх тригерів молодших розрядів і вироблюються функції перенесення згідно з логічними співвідношеннями (2.24):
З надходженням кожного лічильного імпульсу Т перемикаються тільки ті тригери, для яких усі попередні (молодші) розряди знаходяться в цей момент в одиничному стані. Подивимося на схеми синхронного трирозрядного лічильника з модулем лічби , що зображені на рис. 2.33.
Рис. 2.33 Синхронний підсумовуючий лічильник: на Т-тригерах (а), на JK-тригерах (б)
На рис. 2.33, (а) наведена схема синхронного підсумовуючого лічильника на асинхронних Т-тригерах. Тригер молодшого розряду DD1 перемикається з надходженням кожного лічильного імпульсу. На вхід другого тригера DD2 тактовий імпульс пройде тільки тоді, коли на виході першого тригера буде лог. 1, а на вхід третього - за наявності лог. 1 на виходах тригерів DD1 та DD2. Затримка спрацьовування на третьому тригері DD3 така сама, як і на першому. Як видно зі схеми, із збільшенням числа розрядів збільшується число логічних елементів І, причому чим вище розряд, тим більше входів у елемента. Це є недоліком таких лічильників з паралельним переносом.
На рис. 2.33, (б) зображена схема синхронного підсумовуючого лічильника на синхронних JK-тригерах. Сигнал на вході СЕ дає дозвіл на роботу лічильника (дозвіл лічби СЕ від англ. count enable). Входи тригерів J і K з'єднані між собою, тому можливими є тільки два режими їх роботи - пам'ять ( ) та лічба (). Тригер DD2 змінить свій стан з приходом лічильного імпульсу тільки тоді, коли , а тригер DD3 - при одиничних значеннях виходів всіх попередніх тригерів.
Спрацьовування тригерів паралельного лічильника відбувається синхронно, і затримка перемикання всього лічильника дорівнює затримці для одного тригера. Отже, такі лічильники більш швидкодіючі. Їх основним недоліком є велика потужність, що споживається від джерела вхідних сигналів для подачі вхідних імпульсів на тактові входи усіх тригерів.
Зауваження. Для усунення недоліків розглянутих вище лічильників розроблені й використовуються лічильники з послідовно-паралельним перенесенням, в структурах яких тригери об'єднані в групи так, що окремі групи утворюють лічильники з паралельним перенесенням, а групи з'єднуються з послідовним перенесенням.
Для практичних застосувань часто потрібні лічильники з коефіцієнтом лічби , наприклад, 3, 6, 10, 12, 24 та інші. Такі пристрої мають назву - лічильники з довільним модулем лічби. Принцип побудови подібного класу лічильних пристроїв полягає у виключенні декількох М станів звичайного двійкового лічильника, що є надлишковими для лічильників з заданим коефіцієнтом лічби (2.25):
де - необхідний коефіцієнт лічби, - число станів двійкового лічильника розрядності , - кількість заборонених станів.
Необхідну кількість тригерів визначають з виразу (2.26):
де - двійковий логарифм заданого коефіцієнта лічби, округлений до найближчого цілого числа.
Введенням додаткових логічних зв'язків - зворотних і прямих - двійкові лічильники можуть бути перетворені у двійкові з довільним модулем лічби. У кожному окремому випадку доводиться застосовувати якісь конкретні методи отримання необхідного коефіцієнта лічби, серед яких найуживанішими є:
метод автоскидання, який полягає у примусовому скиданні лічильника в початковий стан (обнулення), як тільки на його виході з'являється число, що дорівнює .
метод попереднього записування у лічильник початкового стану, що визначає число . Сигнал повертає лічильник у початковий стан .
Наприклад, десятковий (декадний) лічильник з коефіцієнтом лічби отримують з 4-х розрядного двійкового лічильника, що має , виключаючи 6 надлишкових станів. Можливі два алгоритми роботи:
лічба циклічно здійснюється від 0000 до 1001, а наступним імпульсом лічильник обнулюється.
початковим станом служить код числа шість 0110 і лічба відбувається до п'ятнадцяти 1111, а наступним імпульсом лічильник обнулюється.
Розглянемо приклад реалізації лічильників з довільним модулем лічби методом автоскидання. На рис. 2.34 наведені схеми лічильників з коефіцієнтами лічби і , які побудовані на основі схеми двійкового чотирозрядного підсумовуючого лічильника на T-тригерах з керуванням за переднім фронтом імпульсів. Схема подібного трирозрядного лічильника була надана на рис. 2.27, (б). Для примусового обнулення лічильника в схему доданий логічний елемент DD5, який реалізує функцію логічного множення. В десятковому лічильнику (рис. 2.34, (а)) сигнал з DD5 обнулює лічильник після появи на входах елемента 2І сигналів лог. 1 з виходів розрядних тригерів і . Одночасно сигнали лог. 1 з'являються на цих виходах, коли комбінація вихідних сигналів приймає значення . З приходом одинадцятого лічильного імпульсу в лічильник запишеться одиниця 0001. Очевидно, що скидаючи двійковий чотирирозрядний лічильник на нуль щоразу, коли він буде приймати стан 1010, можна забезпечити "повернення" лічильника в початковий стан після кожних десяти імпульсів.
Використання базової чотирирозрядної схеми дає змогу отримати лічильник з будь-яким коефіцієнтом лічби від 2-х до 15-и. В лічильнику з модулем лічби і (рис. 2.34, (б)) сигнал з DD5 обнулює лічильник після появи на виходах тригерів комбінації .
Рис. 2.34 Схеми лічильників з довільним модулем лічби: з (а), з (б)
Двійкові чотирирозрядні лічильники достатньо широко подані в серіях інтегральних схем. Часто в схемі наявний логічний елемент І на вході встановлення лічильника у нульовий стан. Тоді досить виконати певні з'єднання виходів і подати потрібні сигнали на входи & та R, щоб отримати лічильник з передбаченим модулем лічби. На рис. 2.35 наданий приклад реалізації декадного лічильника на мікросхемі К1533ІЕ5. Факт досягнення кодової комбінації 1010 на виходах лічильника, грає елемент І, вже наявний на вході скидання інтегральної схеми.
Рис. 2.35 Приклад реалізації декадного лічильника на мікросхемі К1533ІЕ5
Таблиця 2.11
К1533ІЕ5 |
Коефіцієнти лічби |
||||||
3 |
5 |
6 |
9 |
10 |
12 |
||
Вхід |
14 |
14 |
14 |
14 |
14 |
14 |
|
Виходи |
9,12 |
8,9,12 |
8,9,12 |
усі |
усі |
усі |
|
З'єднання виходів |
1 і 12, 2 і 12, 3 і 9 |
1 і 12, 2 і 12, 3 і 8 |
1 і 12, 2 і 12, 3 і 8 |
1 і 12, 2 і 12, 3 і 11 |
1 і 12, 2 і 12, 3 і 11 |
1 і 12, 2 і 12, 3 і 11 |
У таблиці 2.11 наведені конфігурації з'єднань для отримання різних коефіцієнтів лічби за допомогою лічильника К1533ІЕ5. Найбільш очевидні варіанти отримання коефіцієнтів (2, 4, 8, 16) в таблиці не вказані. У графі "З'єднання виводів" таблиці зазначено, які виводи мікросхеми повинні бути з'єднані між собою: наприклад, вказівка 1 і 12 означає, що потрібно з'єднати вивід 1 з виводом 12. У рядках "Вхід" і "Вихід" таблиці вказані номери виводів мікросхеми, на які слід подавати вхідні імпульси і з яких належить знімати вихідні, відповідно. Слід зазначити, що інтегральна мікросхема К1533ІЕ5 складається з чотирьох лічильних тригерів, один з яких має роздільні виводи входу і виходу, а інші три тригера з'єднані послідовно за схемою асинхронного лічильника.
При використанні для лічби десяткової системи числення цифри розрядів багаторозрядного десяткового числа в лічильнику представляються у чотирирозрядний двійковій формі, тобто використовується двійково-кодована десяткова система числення. Кажуть, що десятковий рахунок здійснюється у двійковій-десятковому коді (двійковий за кодом рахунку, десятковий - за кількістю станів). Багаторозрядний двійково-десятковий лічильник будується на основі регулярного ланцюга декадних лічильників. Для представлення цифр кожного розряду десяткового числа потрібно чотири тригера, і якщо число десяткових розрядів k, то число тригерів, необхідне для реєстрації чисел в лічильнику дорівнює 4k. На рис. 2.36 зображена структурна схема чотирирозрядного підсумовуючого двійково-десяткового лічильника. Модуль лічби даного лічильника складає . Виходи тригерів кожної декади підключаються до входів дешифраторів, які забезпечують візуальну індикацію стану лічильника за допомогою різного роду світлових табло.
Рис. 2.36 Схема чотирирозрядного підсумовуючого двійково-десяткового лічильника
Кільцеві лічильники з унітарним кодуванням будують на базі регістрів зсуву. Найпростіша схема кільцевого лічильника виходить при замиканні прямого виходу регістра з його входом. При одиничному (унітарному) кодуванні стани n-розрядного лічильника розрізняються лише місцеположенням однієї одиниці, яка називається маркуючим кодом. При цьому в інших розрядах записані нулі. Таким чином, лічильник з одиничним кодуванням - це ланцюг тригерів, в якому забезпечується зсув попередньо записаного маркуючого коду по “кільцю” в напрямку старших розрядів (прямий підрахунок) або молодших (обернений підрахунок). Модуль лічби лічильника з унітарним кодуванням дорівнює кількості розрядних тригерів: , що значно менше порівняно з іншими типами лічильників.
Схема чотирирозрядного кільцевого лічильника показана на рис.2.37, (а). Перед початком роботи по входу Е схеми АБО в молодший розряд лічильника записується лог. 1 і на прямих виходах чотирьох тригерів встановлюється початковий код 0001. З надходженням кожного лічильного імпульсу по входу синхронізації одиничний код послідовно зсувається в бік старших розрядів. При цьому молодші розряди, які виконані на D-тригерах з динамічним керуванням за фронтом тактового імпульсу, обнулюються (рис. 2.37, (б)). Після надходження п'ятого імпульсу лічильник повертається у початковий стан за допомогою сигналу з виходу на вхід схеми АБО і далі увесь цикл повторюється.
Рис. 2.37 Чотирирозрядний кільцевий лічильник: схема (а), часові діаграми до пояснення роботи (б)
Практичне використання кільцевих лічильників пояснюється такими його перевагами, як відсутність вихідного дешифратора, оскільки всі стани різняться наявністю лог. 1 на виході лише одного із тригерів. та мінімальний час перемикання (в процесі лічби завжди переключається в одиничний стан лише один тригер).
Різновидом кільцевих лічильників з унітарним кодуванням є лічильник Джонсона. Схема лічильника Джонсона будується на основі кільцевого, в якому зворотній зв'язок реалізується приєднанням інверсного виходу старшого розряду до входу молодшого. В результаті при надходженні на вхід лічильника тактових імпульсів спочатку усі розряди лічильника заповнюються одиницями, а потім нулями.
Схема чотирирозрядного лічильника Джонсона наведена на рис. 2.38, (а). Таблиця станів лічильника Джонсона (табл. 2.12) містить 8 рядків, що вдвічі більше за його розрядність. Часові діаграми на рис. 2.38, (б) пояснюють роботу лічильника.
Рис. 2.38 Чотирирозрядний лічильник Джонсона: схема (а), часові діаграми до пояснення роботи (б)
Припустимо, що спочатку всі тригери перебувають у стані лог. 0. При цьому на вході D першого тригера присутній рівень лог. 1, тому що цей вхід з'єднаний з інверсним виходом тригера старшого розряду. Першим синхроімпульсом в тригер DD1 запишеться лог. 1, а на виходах інших тригерів сигнали не зміняться. Другий лічильний імпульс не змінить стан тригера молодшого розряду DD1 і запише лог. 1 у другий тригер. З надходженням третього лічильного імпульсу на виходах тригерів DD1 і DD2 залишаться лог. 1, і на виході DD3 з'явиться сигнал лог. 1. У загальному випадку така хвиля лог. 1 буде охоплювати кожний наступний тригер з надходженням чергового тактового імпульсу, аж доки на всіх виходах регістра не встановиться сигнал лог. 1.
Таблиця 2.12
Номер стану лічильника |
Виходи лічильника |
||||
Q0 |
Q1 |
Q2 |
Q3 |
||
0 |
1 |
0 |
0 |
0 |
|
1 |
1 |
1 |
0 |
0 |
|
2 |
1 |
1 |
1 |
0 |
|
3 |
1 |
1 |
1 |
1 |
|
4 |
0 |
1 |
1 |
1 |
|
5 |
0 |
0 |
1 |
1 |
|
6 |
0 |
0 |
0 |
1 |
|
7 |
0 |
0 |
0 |
0 |
Після заповнення регістра одиницями, на інверсному виході тригера DD4 з'явиться лог. 0 і п'ятим синхроімпульсом в тригер молодшого розряду DD1 запишеться сигнал лог. 0. Після надходження наступних трьох синхроімпульсів регістр обнулюється і на вхід молодшого розряду D знову подається рівень лог. 1. Таким чином, цикл повторення стану кільцевого лічильника складається з восьми тактів синхросигналу. Як бачимо, під час роботи лічильника спочатку від першого тригера до останнього тригера поширюється «хвиля одиниць», а потім «хвиля нулів».
Отже, модуль лічби лічильника Джонсона у два рази більший за модуль лічби кільцевого лічильника . Проте інформація на виходах лічильника Джонсона представляється не в двійковій позиційній системі числення і потребує додаткового перетворення.
Лічильники Джонсона широко використовують в розподільниках імпульсів, генераторах випадкових чисел, у пристроях пам'яті.
Зауваження. У кільцевих лічильниках можливі збої внаслідок завад. Для корекції порушень циклів роботи використовують способи, за допомогою яких відбувається перехід із будь-якої забороненої комбінації в одну із дозволених.
3. Побудова та параметри вузлів цифрової схемотехніки
3.1 Проектування типових вузлів цифрових комп'ютерів
У комп'ютерах команди виконуються послідовністю мікрооперацій (елементарних дій в одному машинному такті), наприклад, інкремент (збільшення), декремент (зменшення) слова, зсув, інверсія, пересилання слова і т. ін. Електронні схеми, призначені для виконання мікрооперацій, називаються типовими функціональними вузлами комп'ютера.
За логікою роботи функціональні вузли поділяють на комбінаційні (автомати без пам'яті) та накопичувальні (автомати з пам'яттю).
У комбінаційних вузлах стан виходів залежить тільки від комбінації вхідних сигналів у певний момент часу. До комбінаційних типових функціональних вузлів належать:
двійкові та двійково-десяткові суматори - призначені для додавання двох двійкових або двійково-десяткових чисел.
дешифратори - використовуються для дешифрації вхідного двійкового позиційного коду.
шифратори - перетворюють вхідний унітарний код у вихідний двійковий позиційний.
мультиплексори - комутатори множини вхідних ліній на єдину вихідну.
демультиплексори - комутатори єдиної вхідної лінії на одну із множини вихідних.
компаратори - виробляють ознаки порівняння слів на: дорівнює, більше, менше.
схеми контролю за модулем два - використовуються для контролю інформації в процесах зберігання, передачі та виконання операцій.
перетворювачі кодів - призначені для перетворення коду з однієї форми в іншу, наприклад, прямого коду в доповняльний.
У накопичувальних вузлах логічний стан виходів визначається як комбінацією вхідних сигналів, так і станом пам'яті в певний момент часу. До накопичувальних (послідовнісних) типових функціональних вузлів належать:
регістри - призначені для записування, тимчасового зберігання й видачі двійкової інформації.
лічильники - призначені для лічби імпульсів.
Проектування типових функціональних вузлів комп'ютера містить у собі такі етапи:
змістовна постановка задачі. Указують тип та розрядність проектованого вузла, особливості його зв'язків з іншими вузлами, тип схемної логіки, вимоги до швидкодії, споживаної потужності.
аналіз розмірності (розрядності) задачі. На основі аналізу розмірності задачі приймають рішення про проектування вузла як цілісної системи або, у випадку великої розмірності, розбивають його на модульно-розрядні частини. Наприклад, синтезується однорозрядний суматор і потім за допомогою ланцюгів перенесення будується регулярна структура багаторозрядного суматора.
формалізоване задання алгоритмів роботи вузла. Логіку функціонування вузла задають таблицями істинності чи мікрооперацій, графом, картами Карно.
подання алгоритмів роботи вузла аналітичними виразами. Вигляд логічних рівнянь залежить від способу формалізованого задання роботи вузла. У разі використання таблиць істинності логічні рівняння записуються в канонічних формах - досконалих диз'юнктивних (ДДНФ) чи кон'юнктивних (ДКНФ) формах. Якщо робота вузла описується таблицею мікрооперацій, то в логічні рівняння як змінні включаються також і керуючі сигнали.
мінімізація одержаних логічних рівнянь, поданих у вигляді ДДНФ. Зручно виконувати за допомогою карт Карно чи діаграм Вейча (якщо число змінних не більше шести). Якщо число змінних більше шести, то використовують машинні способи мінімізації. Мінімізовані форми логічних рівнянь забезпечують побудову схем меншої вартості.
перетворення мінімальних форм рівнянь до вигляду, зручного для реалізації в заданому елементному базисі. Проектування вузлів часто здійснюють на універсальних логічних елементах НЕ І або НЕ ЧИ. Для переходу до такого елементного базису виконують перетворення мінімальних диз'юнктивних або кон'юнктивних нормальних форм за допомогою правил подвійної інверсії з наступним застосуванням правил де Моргана.
3.2 Проектування комбінаційних схем
У виробництві часто використовують комбінаційні керуючі схеми, які задають значення параметрів технологічного процесу залежно від логічних ознак. Схема об'єкту керування з двійковими логічними аргументами Х1, Х2, Х3 та Х4 на виході показана на рис. 3.1. Комбінаційна схема залежно від значення аргументів на вході виробляє керуючі двійкові сигнали від F0 до F9.
Рис. 3.1 Комбінаційна схема керування об'єктами
Комбінаційні схеми будуються на основі логічних елементів. Логічний стан виходів елементів комбінаційної схеми залежить тільки від комбінації вхідних сигналів у певний момент часу.
Областю визначення логічної функції F (Х1, Х2, …, Хn) є cкінченна множина різних двійкових наборів довжиною n, на кожному з яких указується значення функції нуль або одиниця. Кількість різних двійкових наборів дорівнює множині n-розрядних двійкових чисел m = 2n.
Довільну булеву функцію можна задавати різними способами: словесним описом, часовими діаграмами, геометричними фігурами, графами, таблицями істинності та аналітичними виразами.
У разі задання функції таблицею істинності в лівій її частині подано усі можливі двійкові набори, а в правій - вказано значення функції на цих наборах.
Розроблено універсальні (канонічні) форми представлення булевих функцій, які дають можливість одержати аналітичну форму довільної функції безпосередньо з таблиці істинності. Ця форма надалі може бути мінімізована або спрощена. Оскільки між множиною аналітичних представлень і множиною схем, які реалізують цю функцію, існує взаємно однозначна відповідність, то пошук канонічної форми запису є початковим етапом синтезу логічних схем. Найбільше поширення одержали ДДНФ та ДКНФ. Для одержання цих форм вводяться поняття мінтермів (конституєнта 1) і макстермів (конституєнта 0).
Мінтерм - це функція n змінних, яка дорівнює одиниці тільки на одному наборі. Мінтерм одержують як кон'юнкцію n змінних, що входять до нього у прямому виді, якщо значення даної змінної в наборі Xi = 1, і - із запереченням, якщо Xi = 0.
Макстерм - це функція n змінних, яка дорівнює нулю тільки на одному наборі. Макстерм одержують як диз'юнкцію усіх змінних, що входять до нього у прямому вигляді, коли значення Xi = 0, або в інверсному вигляді, якщо значення Xi = 1.
Важливим етапом проектування комп'ютерних схем є мінімізація булевих функцій, тобто знаходження їх виражень з мінімальною кількістю букв. Мінімізація забезпечує побудову економічних схем комп'ютерів. Для мінімізації функцій із кількістю букв n <= 6 застосовують карти Карно. Їх будують у вигляді таблиць з 2n клітинок з розміткою рядків і стовпчиків змінними. Кожна клітинка карти Карно однозначно відповідає одному наборові таблиці істинності для функції п змінних або мінтермам цієї функції. Клітинки карти Карно часто нумерують десятковими цифрами - номерами наборів.
При мінімізації для кожного мінтерму, який входить у ДДНФ функції, ставиться одиниця, а інші клітинки не заповнюються.
Мінтерми в сусідніх клітинках карти Карно в рядку (з урахуванням верхніх і нижніх) або в стовпчику (з урахуванням крайніх) розрізняються значенням однієї змінної, що дозволяє виконувати операцію склеювання за цією змінною.
Нижче наведені загальні правила мінімізації:
зображають карту Карно для n змінних і розмічають її рядки та стовпчики. У клітинки таблиці, які відповідають мінтермам (одиничним наборам) функції, що мінімізується, записують одиницю.
склеюванню підлягають прямокутні конфігурації, які заповнені одиницями й містять 1, 2, 4 або 8 клітинок. Верхні й нижні рядки, крайні ліві та праві стовпчики карти ніби склеюються, створюючи поверхню циліндра.
множина прямокутників, які покривають усі одиниці, називається покриттям. Чим менше прямокутників і чим більше клітинок у прямокутниках, тим краще покриття. З декількох варіантів вибирають той, у якого менший коефіцієнт покриття z = r/s, де r - загальна кількість прямокутників. s - їх сумарна площа в клітинках.
формули, отримані в результаті мінімізації, містять r елементарних кон'юнкцій (за кількістю прямокутників у покритті). Кожна кон'юнкція містить тільки ті змінні, які не змінюють свого значення в наборах, що склеюються у відповідному прямокутнику. Кількість змінних у кон'юнкції називають її рангом. Склеюючи дві сусідні клітинки, одержують ранг кон'юнкції n - 1, чотири клітинки - n - 2, вісім клітинок - n - 3 і т. д.
Розмітку карт Карно для функцій чотирьох змінних показано на рис. 3.2. У клітинки карт записано значення мінтермів відповідно у двійковому й десятковому еквівалентах.
Рис. 3.2 Карти Карно для функції чотирьох змінних: а - двійкове значення мінтермів. б - десяткове значення мінтермів
Для мінімізації булевих функцій використовують також діаграми Вейча, які аналогічні картам Карно й відрізняються від них способом розмічання: замість символів 0 та 1 використовують булеві позначення аргументів - X1, X2 та ін. (рис. 3.3).
Рис. 3.3 Діаграма Вейча для чотирьох змінних
Наприклад, згідно з таблицею істинності (табл. 3.1) для функції F записується таке рівняння (3.1):
(3.1)
Таблиця 3.1
Таблиця істинності функції F
X1 |
X2 |
X3 |
X4 |
F |
|
0 |
0 |
0 |
0 |
1 |
|
0 |
0 |
0 |
1 |
0 |
|
0 |
0 |
1 |
0 |
1 |
|
0 |
0 |
1 |
1 |
1 |
|
0 |
1 |
0 |
0 |
0 |
|
0 |
1 |
0 |
1 |
1 |
|
0 |
1 |
1 |
0 |
0 |
|
0 |
1 |
1 |
1 |
1 |
|
1 |
0 |
0 |
0 |
1 |
|
1 |
0 |
0 |
1 |
1 |
|
1 |
0 |
1 |
0 |
0 |
|
1 |
0 |
1 |
1 |
0 |
|
1 |
1 |
0 |
0 |
0 |
|
1 |
1 |
0 |
1 |
1 |
|
1 |
1 |
1 |
0 |
1 |
|
1 |
1 |
1 |
1 |
0 |
Мінімізацію функції F виконують на основі карти Карно (рис. 3.4) та діаграми Вейча (рис. 3.5).
Результати мінімізації (3.2):
(3.2)
Рис. 3.4 Карти Карно для мінімізації булевої функції F чотирьох змінних
Рис. 3.5 Діаграма Вейча для мінімізації функції F
Для побудови схеми на універсальних логічних елементах НЕ І рівняння перетворюються на основі правил подвійної інверсії та де Моргана до такого вигляду (3.3):
(3.3)
Схему, що реалізує даний вираз, зображено на рис. 3.6.
Рис. 3.6 Комбінаційна схема на елементах НЕ І для реалізації функції F
Вартість комбінаційної схеми визначається загальною кількістю використаних корпусів мікросхем. Невикористані частини мікросхем утворюють резерв, або можуть бути використані для інших комбінаційних схем.
Для реалізації комбінаційної схеми, показаної на рис. 3.6, використано 4/6 корпусу мікросхеми КР1533ЛН1, 4/3 корпусу КР1533ЛА4, 1/2 - КР1533ЛА1, один корпус КР1533ЛА2. всього 4/6+4/3+1/2+1=7/2 або приблизно чотири мікросхеми.
Потужність, яку споживає комбінаційна схема, розраховують додаванням потужностей всіх мікросхем:
Рк.с =РЛН1+2РЛА4+РЛА1+РЛА2=13+14+7,0 = 34 мВт.
Швидкодія комбінаційної схеми характеризується затримкою вихідного сигналу відносно вхідного. Вхідний сигнал послідовно проходить три логічні елементи, затримка кожного становить 9,5 нс. Таким чином, сумарна затримка сигналу схемою становить:
tк.с = 3~9,5 = 28,5 нс.
4. Програмовані логічні інтегральні схеми
4.1 Засоби забезпечення програмованості ПЛІС
Програмованість, тобто можливість створення конкретного пристрою на базі стандартної НВІС, забезпечується наявністю в ній безлічі ключів, які в процесі програмування можуть стати замкнутими або розімкнутими. Стани ключів задають ту чи іншу конфігурацію схеми, формованої на кристалі. Число програмованих ключів в ПЛІС залежить від її складності й може доходити до декількох мільйонів. У ПЛІС використовуються наступні види програмованих ключів:
перемички типу antifuse.
ЛІЗМОП-транзистори з подвійним затвором.
ключові транзистори, які керовані тригерами пам'яті конфігурації ("тіньовим" ЗУ).
Пробивані при програмуванні діелектричні перемички використовуються як ЗЕ в однократно програмованих ЗУ. Перемички типу antifuse, використовувані в ПЛІС, також забезпечують одноразове програмування НВІС. Перемичка утворюється трьохшаровим діелектриком з чергуванням шарів "оксид - нітрид-оксид" і в початковому стані має дуже високий опір (струм, що протікає через неї становить 10-15 А).
Програмований імпульс напруги пробиває перемичку і створює провідний канал. Величина струму, створюваного імпульсом програмування, впливає на діаметр провідного каналу, що дозволяє управляти параметрами провідної перемички (струм 5 мА створює перемичку з опором 600 Ом, а 15 мА - 100 Ом). ПЛІС з програмуванням на основі перемичок antifuse випускаються фірмами Actel та Lattice Semiconductor.
ЛІЗМОП-транзистори з плаваючим затвором, використовувані в якості запам'ятовуючих елементів в схемах репрограмованої пам'яті, також використовуються в ПЛІС. З елементів зі стиранням інформації ультрафіолетовим випромінюванням виділився варіант взагалі без можливості стирання даних. У цих схемах в корпусі ІС прозоре віконце, через яке відбувається опромінення кристала, просто відсутнє, тобто можливість стирання виключається.
Репрограмовані ПЛІС на основі схемотехніки EPROM вимагають тривалого (близько години) стирання старої конфігурації під впливом ультрафіолетового випромінювання. Через деградації властивостей матеріалів під дією випромінювання число циклів програмування є обмеженим. При цьому необхідно витягувати НВІС з пристрою. У ПЛІС на основі схемотехніки EEPROM стирання здійснюється електричними сигналами, що не вимагає вилучення мікросхеми з пристрою. Час стирання старої інформації й запису нової становить кілька мілісекунд, а число таких циклів - 104 - 106. Останнім часом в репрограмованих ПЛІС все ширше застосовується схемотехніка на основі енергонезалежних осередків флеш-пам'яті.
Ще одним схемотехнічним рішенням, використовуваним в ПЛІС для програмування конфігурації НВІС, стали транзисторні ключі, керовані тригером пам'яті конфігурації.
Ключовий транзистор VT2 замикає або розмикає ділянку АВ в залежності від стану тригера, вихід якого підключений до затвору транзистора VT2. При програмуванні на лінію вибірки подається високий потенціал, й транзистор VT1 вмикається. З лінії запису-читання подається сигнал, що встановлює тригер в стан лог. 1 або лог. 0. У робочому режимі транзистор замкнений і тригер зберігає встановлений стан.
Пам'ять конфігурації являє собою статичне ОЗУ, тому при вимкненому живленні всі тригери пам'яті конфігурації скидаються, у зв'язку з чим кожен раз при включенні потрібне програмування ПЛІС. Цей процес називається ініціалізацією й на нього йде час, що становить десятки і навіть сотні мілісекунд. ПЛІС з програмуванням на основі статичного ОЗУ виробляють такі фірми, як Xilinx й Altera.
Говорячи про загальні властивості ПЛІС, слід зазначити, що завдяки регулярній структурі вони реалізуються з рівнем інтеграції, близьким до максимального. Так як для засобів програмування міжз'єднань потрібні витрати додаткової площі кристала, ПЛІС за рівнем інтеграції дещо поступаються БМК. Однак на відміну від БМК, ПЛІС не вимагають якихось завершальних технологічних операцій, виконуваних спеціально під певного замовника. Споживач ПЛІС здійснює формування необхідної конфігурації пристрою, самостійно програмуючи її. У результаті ці НВІС можуть випускатися великими тиражами, що відразу знижує їх ціну. Вартість пристрою на основі ПЛІС, таким чином, стає значно нижче, ніж на основі БМК. У зв'язку з цим в більшості застосувань ПЛІС практично витіснили БМК.
4.2 Складні програмовані логічні пристрої (CPLD)
Архітектурно мікросхема класу CPLD складається з центральної комутаційної матриці, безлічі функціональних блоків, в яких здійснюється вся логічна обробка сигналів та блоків введення/виводу, розташованих на периферії кристала, що здійснюють прийом та передачу сигналів між кристалом мікросхеми й контактними майданчиками. Однією з провідних фірм з виробництва мікросхем класу CPLD є фірма Altera, а сімейство мікросхем МАХ цієї фірми є класичним прикладом даного напрямку ПЛІС. Перша мікросхема цього сімейства була анонсована у 1995 р. й була реалізована на основі технології 0,5 мкм. В даний час фірма Altera продовжує випускати мікросхеми сімейства МАХ, яке налічує вже п'ять підродин. Це МАХ 7000, яка з'явилася в 1995 р, МАХ 3000 (2002 р), МАХ 11 (2004 р), MAX II Z (2007 р) та МАХ V (2010 р). Остання підродина була реалізована за технологією 0,18 мкм. Розглянемо архітектуру мікросхем CPLD на прикладі архітектури мікросхеми МАХ +7000.
Центральна комутаційна матриця тут називається програмована матриця зв'язку (ПМС), функціональні блоки - логічними блоками (ЛБ). У молодшого представника CPLD було тільки два ЛБ. З підвищенням складності мікросхем число ЛБ збільшувалося, при цьому структура мікросхеми в цілому складалася повторенням зображеного на фрагменті ярусу, що складається з двох ЛБ, двох блоків вводу/виводу (БВВ) та набору контактних майданчиків, розташованих ліворуч і праворуч від ПМС. Старший представник CPLD МАХ +7000 містить шістнадцятеро таких ярусів, тобто 32 ЛБ, а останні представники MAX V - 1700 ЛБ.
Вся комутація сигналів усередині кристала виконується ПМС. Ця матриця містить набір пересічних вертикальних та горизонтальних ліній зв'язку.
Горизонтальні лінії з'єднані з ЛБ, а також БВВ. Частина горизонтальних ліній є вхідними, а частина - вихідними. Сигнал з вхідних ліній на вихідні передається через вертикальні лінії матриці з'єднань, при цьому комутація сигналу з однієї лінії на іншу здійснюється не через програмований ключ (на відміну від FPGA), а через двухвхідну схему "І". Для цього до одного з її входів підключається лінія-джерело, до виходу - лінія-приймач, а до другого входу - програмований транзистор. Для того щоб сигнал проходив з однієї лінії на іншу, необхідно запрограмувати транзистор таким чином, щоб через нього на другий вхід схеми "І" подавався дозволяючий рівень лог. 1. Швидкість поширення цифрового сигналу з входу кон'юнктора на вихід набагато вище, ніж через ключовий транзистор, тому використання замість ключів керованих кон'юнкторів дає виграш у швидкодії мікросхем CPLD. Вертикальні лінії матриці тягнуться через всі горизонтальні лінії матриці, й можуть бути підключені до будь-якої вхідної лінії. Тобто, будь-який вхід матриці може бути підключений до будь-якого виходу, тобто ПМС забезпечує повну комутованість блоків CPLD. У мікросхемах підродин МАХ 7000 і МАХ 3000 для програмування конфігурації використовувалися осередки EEPROM, в МАХ І, MAX II Z та MAX V - флеш-пам'ять. Тому, на відміну від ПЛІС FPGA фірми Altera, ПЛІС CPLD зберігають свою запрограмовану конфігурацію й після зняття напруги живлення.
Логічні блоки здійснюють обчислення логічних функцій, але також мають можливість зберігання отриманого результату в тригерах. У єдину схему пристрою вони об'єднуються за допомогою ПМС. ЛБ складається з програмованої матриці І та шістнадцяти макрокомірок (macrocells) - Я1: Я16. У програмованої матриці І, так само як і в ПЛМ, здійснюється формування термів. Терми формуються відразу для всіх макрокомірок, але на вхід кожної з них надходять свої терми, необхідні для реалізації логічної функції шляхом збірки термів по "АБО". У макрокомірці можлива пряма видача обчисленого значення логічної функції на вихід, що використовується для синтезу чисто комбінаційних пристроїв. Для синтезу послідовних пристроїв в макрокомірці мається тригер. У цьому випадку результат логічної операції записується в тригер і його вихід підключається до виходу макрокомірки. Синхронізація роботи тригера, а також його асинхронна установка й скидання можуть здійснюватися як контролером, так й за допомогою термів, що надходять від програмованої матриці. Крім того, тригер макрокомірки можна використовувати для введення зовнішніх сигналів безпосередньо з контактної площадки, минаючи БВВ та ПМС. Такі ланцюги називають ланцюгами швидкого введення.
При синтезі послідовних цифрових пристроїв (наприклад, лічильників) тригери, здебільшого макрокомірок, формують проміжний результат, який використовується для подальшої обробки. У цьому випадку вихід макрокомірки надходить у ПМС. Якщо в макрокомірці сформувався готовий вихідний сигнал синтезованого пристрою, то її вихід підключається до БВВ. Всі описані функції, виконувані макрокомірками, програмуються.
У ПЛІС типу CPLD є набір глобальних керуючих сигналів, які надходять одночасно на всі ЛБ. Це сигнали тактування, скидання й дозволу виходу. З їх допомогою забезпечується синхронна робота всього синтезованого на основі CPLD пристрою.
4.3 Вентильні матриці (FPGA)
Структура програмованих користувачем вентильних матриць FPGA схожа на структуру канальних БМК. У внутрішній області, так само як у канального БМК, розміщується безліч регулярно розташованих осередків - логічних блоків, між якими проходять трасувальні канали, а на периферії кристала розташовані осередки іншого типу - блоки вводу/виводу. Сучасні мікросхеми FPGA містять й інші вузли, але знайомство з архітектурою цього класу НВІС краще розпочати з їх класичної структури.
Логічні блоки FPGA. В якості ЛБ використовуються:
транзисторні пари, найпростіші логічні схеми "І-FIE", "АБО-HE" і т.п. Такі ЛБ називаються SLC (Simple Logic Cells, прості логічні ланцюги).
логічні модулі на основі мультиплексорів.
табличні логічні модулі на основі програмованих ПЗУ, такі ЛБ називають LUTs {Look-Up Tables, таблиці пошуку).
Двома основними характеристиками МХ є їх "зернистість" (Granularity) та "функціональність" (Functionality). Ці характеристики суперечливі: чим нижче властивості ЛБ, що характеризуються однією з них, тим вище будуть його властивості, що характеризуються іншою. "Зернистість" пов'язана з тим, наскільки "дрібними" будуть ті частини, з яких можна "збирати" потрібні схеми, а "функціональність" - з тим, наскільки великі логічні можливості ЛБ.
Прикладом найбільш дрібнозернистого може служити ЛБ, який містить ланцюжки транзисторів з р- та n- каналами. Між ланцюжками транзисторів є трасувальні канали, в яких можуть бути реалізовані необхідні міжз'єднання елементів. Кожна пара транзисторів являє собою комплементарну пару, з якої можна будувати найпростіші логічні схеми "І-НІ", "АБО-HE" в КМОП-логіці. Щоб "розірвати" ланцюжки транзисторів, на затвори транзисторів однієї з пар подаються замикаючі напруги: напруга живлення - на верхній і корпус - на нижній. При цьому транзистори, що знаходяться ліворуч і праворуч від них, стають ізольованими один від одного. Потім з отриманих елементарних логічних схем шляхом виконання необхідних міжз'єднань здійснюється побудова більш складних логічних пристроїв.
Дрібнозернистість ЛБ веде до великої гнучкості їх використання. У той же час дрібнозернистість ускладнює систему міжз'єднань FPGA через велике число програмованих точок зв'язку.
Прикладом більш великого логічного блоку, використовуваного в FPGA, може служити ЛБ, що складається з трьох мультиплексорів "2-1" та елемента "АБО". Підключаючи до входів такого ЛБ змінні й константи, можна отримати комбінаційні функції двох змінних, багато функцій чотирьох змінних і деякі функції більшого числа змінних, аж до восьми.
У FPGA з критичною пам'яттю конфігурації застосовують грубозернисті блоки. У таких блоках реалізуються більш складні функції. При цьому кількість необхідних для реалізації логічного пристрою міжз'єднань істотно скорочується, що спрощує їхнє програмування. У той же час повністю використовувати логічні можливості такого ЛБ дуже важко, і частина його елементів при реалізації конкретної логічної схеми просто стає зайвою.
Табличні логічні модулі являють собою програмовані ПЗП. Саме ППЗУ уподібнюється таблиці істинності функції, в якій кожен рядок - осередок ППЗУ - відповідає якомусь набору аргументів, тобто аргументи логічної функції служать адресою при виборі комірки ПЗУ. При програмуванні в таблицю істинності заносяться значення функції, які вона повинна приймати на кожному наборі. Такі табличні перетворювачі можуть реалізовувати будь-які логічні функції п аргументів, де п - розрядність адреси ППЗУ.
Найскладніші ЛБ, використовувані в FPGA, можуть містити в своєму складі кілька табличних перетворювачів на основі ППЗУ, набір мультиплексорів та тригерів. На основі таких ЛБ можна реалізовувати досить складні логічні пристрої з великим числом аргументів.
Блоки вводу/виводу FPGA. Ці блоки зазвичай містять два канали - для введення сигналів й для виведення, які підключені до одного й того ж контактного майданчику мікросхеми.
У кожному каналі сигнали можуть передаватися прямим шляхом між контактною площадкою і входом/виходом ПЛІС. Для цього використовуються верхні входи мультиплексорів. Крім того, сигнали можуть фіксуватися в тригерах, і в цьому випадку вони надходять через нижні входи мультиплексорів.
Вихідний підсилювач ПЛІС може перекладатися в третій стан, при цьому вихідний контакт мікросхеми виявляється розімкненим. Як відомо, на розімкнутих контактах в КМОП-пристроях відбувається накопичення заряду, що призводить до появи помилкових сигналів. Щоб цього не відбувалося, в мікросхемі передбачено підключення контактної площадки через резистори або до високого рівня напруги, або до нульової точки (корпусу). Цю функцію виконують два транзисторних ключа. Вибір того чи іншого ключа здійснюється при програмуванні.
Системи міжз'єднань FPGA. Лінії зв'язків в FPGA складаються з порівняно коротких ділянок, що не містять ключів - сегментів. Вони можуть бути різної довжини, вертикальні й горизонтальні. Сегменти між собою можуть з'єднуватися за допомогою ключів, замкнених при програмуванні. Мала кількість сегментів веде до недостатньо ефективного використання ЛБ, занадто велика - до появи великої кількості програмованих. Короткі сегменти ускладнюють реалізацію довгих зв'язків, а довгі - коротких. Тому доцільна система зв'язків з декількома типами міжз'єднань - як довгих, так і коротких, для передач на різні відстані.
У розробці FPGA з одноразовим програмуванням на основі перемичок типу antifuse провідну роль відіграє фірма Actel. Логічні блоки в FPGA цієї фірми розташовуються у вигляді горизонтальних рядів, між якими є трасувальні канали.
У горизонтальному каналі в чотири рядки розташовані сегменти різної довжини. Їх перетинають вертикальні сегменти. Па перетині вертикальних та горизонтальних сегментів знаходяться програмовані перемички antifuse, що дозволяють з'єднувати вертикальні і горизонтальні сегменти. На рис. 4.37 вони позначені кружками.
Кожен ЛБ має один вихід і чотири входи, два з яких розташовані у верхній частині ЛБ, а два - у нижній. Кожен з входів ЛБ з'єднаний з одним з коротких вертикальних сегментів, причому верхні входи ЛБ з'єднуються з вертикальними сегментами, розташованими у верхньому ряду, а нижні входи - з сегментами в нижньому ряду. Вихід кожного ЛБ з'єднаний з власним вертикальним сегментом, перетинаючим відразу кілька горизонтальних каналів. Таким чином, для з'єднання виходу одного ЛБ з одним із входів іншого, найближчого ЛБ достатньо замкнути дві перемички: перемичку, що сполучає вертикальний сегмент виходу ЛБ з горизонтальним, і перемичку в точці перетину цього горизонтального сегмента з відповідним вертикальним сегментом входу.
Якщо логічні блоки, вихід та вхід яких необхідно з'єднати, розташовані не в одному стовпці, є спеціальні програмовані ключі, що дозволяють з'єднувати кінці горизонтальних сегментів один з одним. Таким чином, можна збільшувати довжину горизонтальних ліній зв'язку.
Крім вертикальних сегментів, входів та виходів, логічних блоків, у вертикальних напрямках йдуть також додаткові сегменти, що перетинають кілька рядів ЛБ і трасувань каналів. Кожен такий вертикальний сегмент може з'єднуватися з горизонтальними, які він перетинає. Ці сегменти можуть з'єднуватися з виходами сусідніх ЛБ.
У горизонтальних каналах є безперервні по всій довжині сегменти, які одним зі своїх кінців підключені або до напруги живлення, або до корпусу. За допомогою таких сегментів на ЛБ можна подавати сигнали лог. 1 та 0.
Таким чином, система комутації містить набір сегментів самого різного призначення й засоби їх комутації, що забезпечує велику різноманітність варіантів з'єднання логічних блоків між собою.
Щоб запрограмувати перемичку, тобто замкнути її, до неї слід докласти підвищену напругу U ін. Так як перемички розташовані на перетині рядків й стовпців, то на одну з цих ліній подається напруга U np, а інша заземлюється. Щоб решта перемичок залишилися цілими, перед цим всі сегменти мікросхеми заряджаються до рівня U np/2. Таким чином, при подачі на одну з ліній напруги U np, а на іншу - "0" тільки одна перемичка, що знаходиться на їх перетині, підпадає під напругу U np, всі інші при цьому потраплять під напругу U np/2, це не пробиває перемичку.
4.4 НВІС програмованої логіки «система на кристалі»
Сучасний рівень розвитку технології виробництва інтегральних мікросхем дозволяє розмістити в одному кристалі ПЛІС кілька мільйонів елементарних логічних схем типу "2І-НЕ", та "2АБО-НЕ", при цьому тактова частота роботи НВІС може досягати 1 ГГц й більше. При таких можливостях в одному кристалі можна розмістити цілу цифрову систему. Це може бути процесор, пам'ять або інтерфейсний пристрій.
Незважаючи на велику функціональну різноманітність у цифрових системах самого різного призначення, є, тим не менш, функціональні вузли, що властиві всім пристроям. Для реалізації цих вузлів, звичайно, можна використовувати й звичайні засоби програмованої логіки. Але набагато ефективніше їх побудова на основі спеціалізованих областей, виділених на кристалі для виконання заздалегідь визначених функцій. Ці області називають апаратними ядрами. Найбільш очевидними функціональними вузлами, без яких не може бути побудована більшість цифрових систем, є вузли, що здійснюють обчислювальну обробку - суматори й, особливо, помножувачі. Реалізація системи цифрової обробки інформації також неможлива без ОЗУ. На прикладі цього вузла найбільш очевидними стають переваги підходу до реалізації НВІС з використанням апаратних ядер. Так, апаратне ядро ОЗУ ємністю 256-512 біт займає площу на кристалі, в десять разів меншу, ніж площа, яка потрібна була б для синтезу такого ж ОЗУ засобами звичайної програмованої логіки. При цьому в декілька разів підвищується швидкодія такого ОЗУ. Ядра, призначені для реалізації ОЗУ, виконуються з невеликою ємністю. Хоча існують системи, що вимагають великих обсягів пам'яті, робити апаратні ядра ОЗП великої ємності економічно недоцільно, оскільки це різко знижує ступінь універсальності таких НВІС і звужує ринок їх збуту.
Також у вигляді апаратних ядер ефективно реалізуються такі спеціалізовані вузли, як апаратні помножувачі. Так, помножувач двох 8-бітних слів займає площу, рівну 1/5 площі, що вимагається для реалізації такого ж помножувача за допомогою логічних блоків FPGA. Але найефективнішим напрямком успішного застосування апаратних ядер є інтерфейсні вузли, контролери та процесори.
Основою для реалізації НВІС "система на кристалі" стало направлення FPGA. Багато фахівців стали дистанціювати НВІС з апаратними ядрами, як новий вид архітектури, проте самі фірми - виробники ПЛІС позначили їх, як удосконалені НВІС з архітектурою FPGA. І якщо раніше до складу мікросхеми FPGA входили, головним чином, ЛБ та БВВ, то тепер користувачам пропонується й цілий ряд інших функціональних вузлів, виконаних у вигляді апаратних ядер.
Розглянемо ряд сучасних мікросхем FPGA на прикладі ряду НВІС фірми Altera, яка поряд з іншою фірмою Xilinx займає до 86% світового ринку ПЛІС. Фірма пропонує три сімейства НВІС FPGA: Stratix, Arria та Cyclone. Перші ПЛІС сімейства Stratix були анонсовані в 2002 р і виконувалися по 120 нм технологічному процесу. Останні (але станом на 2012 р) ПЛІС сімейства Stratix, випущені в 2010 році, виконувалися вже за технологією 28 нм. Логічна ємність цих НВІС становить близько 1 млн еквівалентних логічних елементів. Окрім логічних блоків мікросхеми цього сімейства містять апаратні блоки контролерів інтерфейсів та зовнішньої пам'яті, блоки вбудованого ОЗУ, апаратні блоки для цифрової обробки сигналів (DSP-блоки - digital signal processor) змінної точності. Для прийому й передачі високошвидкісних (одиниці гігагерц) цифрових сигналів в мікросхемах є блоки прийомопередатчиків (трансиверів), що працюють з різними протоколами.
...Подобные документы
Аналіз технічного завдання: призначення розробки, відомості про LAN-мережі. Принципи ідентифікації вузлів комп’ютерної мережі в багатозадачних операційних системах. Проектування компонентів програми. Аналіз синтаксису Bash. Результати тестування.
курсовая работа [645,6 K], добавлен 23.01.2012Задання режиму роботи погромного лічильника. Дослідження базової схеми ТТЛ та побудова тригера. Розрахунок керуючого сигналу на виході позики кінцевого лічильника двох послідовно з'єднаних реверсивних лічильників за 51-тим синхронізуючим сигналом.
контрольная работа [1,5 M], добавлен 14.12.2012Створення Web-сторінок і Web-вузлів у програмі Microsoft FrontPage 2003 та розміщення їх в Інтернеті. Інтерфейс програми, склад і функції головного вікна. Створення нового Web-вузла на основі головного шаблону. Приклад оформлення домашньої сторінки.
дипломная работа [3,9 M], добавлен 12.02.2010Вибір і обґрунтування інструментальних засобів. Проектування блок-схем алгоритмів та їх оптимізація. Розробка вихідних текстів програмного забезпечення. Інструкція до проектованої системи. Алгоритм базової стратегії пошуку вузлів та оцінки якості.
дипломная работа [2,8 M], добавлен 05.12.2014Обгрунтування фізичної топології комп’ютерної мережі. Розробка схеми фізичного розташування кабелів та вузлів. Типи кабельних з’єднань та їх прокладка. Вибір сервера та інсталяція його програмного забезпечення, налаштування ОС Windows 2008 Server.
курсовая работа [1,4 M], добавлен 07.02.2016Використання програмованих логічних інтегральних схем для створення проектів пристроїв, їх верифікації, програмування або конфігурування. Середовища, що входять до складу пакету "MAX+PLUS II": Graphic, Text, Waveform, Symbol та Floorplan Editor.
курсовая работа [1,8 M], добавлен 16.03.2015Міжрівневі взаємодії, що відбуваються при передачі даних по мережі. Процес відправлення повідомлень з одного місця в інше, мережні процеси, протоколи. Характеристика та призначення протоколу ARP. Визначення фізичної адреси локального, віддаленого вузлів.
контрольная работа [12,4 K], добавлен 22.09.2009Генезис програмувальних логічних інтегральних схем, їх класифікація та архітектура. Призначення системи автоматизованого проектування MAX+PLUS II. Теоретичні відомості про тригери. Програми реалізації тригерів в інтегрованому середовищі MAX+PLUS II.
дипломная работа [1,6 M], добавлен 20.07.2010Таблиця істинності логічних функцій пристрою, який необхідно синтезувати. Отримання логічних функцій пристрою та їх мінімізація за допомогою діаграм Вейча. Побудова та аналіз структурної схеми пристрою в програмі AFDK з логічними елементами до 3-х входів.
курсовая работа [320,4 K], добавлен 03.05.2015Структура та галузі застосування систем цифрової обробки сигналів. Дискретне перетворення Фур’є. Швидкі алгоритми ортогональних тригонометричних перетворень. Особливості структурної організації пам’яті комп’ютерних систем цифрової обробки сигналів.
лекция [924,7 K], добавлен 20.03.2011Технології і схемотехніки великих інтегральних мікросхем. Мікропроцесор як програмно-управляючий пристрій для обробки цифрової інформації і керування процесом цієї обробки. Розробка електричної принципової схеми модуля на базі 8-розрядного мікропроцесора.
курсовая работа [554,8 K], добавлен 26.03.2009Дослідження цифрових систем автоматичного керування. Типові вхідні сигнали. Моделювання цифрової та неперервної САК із використання MatLab. Результати обчислень в програмі MatLab. Збільшення періоду дискретизації цифрової системи автоматичного керування.
лабораторная работа [173,7 K], добавлен 14.03.2009Робота вузлів верстата АТПР800. Датчик "Аварія", "Обмеження переміщення", "Гальмування перед нулем", "Обнулення верстата". Програма створення функціональних схем роботи контролера автоматики. Панель файлових інструментів. Створення елементів та драйверів.
курсовая работа [917,5 K], добавлен 25.06.2013Розробка комп'ютерних схем різного призначення: шифратори, дешифратори, мультиплексори, лічильники та регістри. Загальні характеристики електронних цифрових схем по булевих виразах. Розрахунок лічильника та регістрів. Значення логічних сигналів.
курсовая работа [616,7 K], добавлен 12.05.2014Система доменних імен як розподілена база даних. Типи зон, ресурсні запаси. Виконання команд у командному рядку. Налаштування вузлів, диспетчер сервера. Пошук кореневих посилань. Загальний вигляд вікна редагування записів. Зона зворотного перегляду IPv4.
курсовая работа [3,6 M], добавлен 03.03.2014Кластер - об'єднання декількох однорідних елементів, які можуть розглядатися як самостійна одиниця, що володіє певними властивостями. Розробка системи та проектування кластеру, який складається з двох комп'ютерів, об'єднаних інтерфейсом Ethernet.
курсовая работа [4,2 M], добавлен 27.04.2012Практичні прийоми відтворення на ЕОМ математичних моделей типових нелінійностей. Параметри блоків Sine Wave, XY Graph та Saturation. Побудова статичних і динамічних характеристик математичних моделей. Визначення кроку та інтервалу часу моделювання.
лабораторная работа [1,5 M], добавлен 17.05.2012Дослідження особливостей управління взаємодією вузлів мережі при обміні даними. Вивчення типів адрес, які використовуються у IP-мережі. Огляд алгоритмів гнучкого використання адресного простору, формування та обробки IP-адрес. Маршрутизація в ІР-мережах.
контрольная работа [22,0 K], добавлен 25.04.2014Економічна інформація, її види та властивості. Апаратне і програмне забезпечення ПК. Програмне забезпечення стаціонарних комп’ютерів. Комп’ютерні мережі, загальна характеристика глобальної мережі Інтернет. Напрямки використання комп’ютерної техніки.
контрольная работа [28,0 K], добавлен 06.10.2011Позначення та розрахунок діодів, транзисторів, аналогових, цифрових та змішаних інтегральних схем, індикаторів, перетворюючих та керуючих елементів, приладів, базових, логічних і цифрових компонент бібліотеки елементів програми Electronics Workbench.
методичка [1,3 M], добавлен 18.06.2010