You are on page 1of 7

Практичне заняття 3

СИНТЕЗ І АНАЛІЗ САМОСИНХРОННИХ СХЕМ.


РЕАЛІЗАЦІЯ ЛОГІЧНИХ ФУНКЦІЙ

Дискретні електронні схеми відрізняються величезною розмаїтістю, але всі


вони можуть бути розділені на два класи: синхронні й асинхронні схеми.
Синхронні схеми з'явилися й розвивалися першими, продовжуючи панувати в
промисловості й зараз. Асинхронні схеми мають ряд переваг перед синхронними
й одержали великий розвиток в останні 2-3 десятиліття. Відмінні риси
самосинхронних схем (СС-схем) пов'язані з надійністю їхнього функціонування.
Одна з головних проблем роботи цифрових електронних схем - виникнення
помилок. Помилки в цьому випадку - це невідповідність значень сигналів
усередині схеми та на її виходах правильним значенням. Помилки можуть
породжуватися зовнішніми впливами й внутрішніми причинами.
Внутрішні причини помилок обумовлені способом побудови схеми й умовами,
у яких вона працює. Таких причин дві:
1. Змагання сигналів на елементах, тобто такі зміни входів елементів, які
викликають помилкові зміни їхніх виходів і, як результат, виходів всієї схеми.
2. Виникнення відмов схеми – відбуваються при втраті фізичної працездатності
внутрішніх структур, викликані умовами роботи: температурою, напругою
живлення, а також старінням елементів та іншими процесами.
На прикладі змагань можна пояснити синхронний і асинхронний принципи
роботи схем (синхронний принцип виник як спосіб уникнути змагань сигналів).
Розглянемо логічний елемент на рис. 1, а.

а) б)
Рисунок 1 – Логічний елемент (а) і елемент із блокуючим сигналом С (б)

У будь-якому елементі завжди найдеться пара входів, наприклад x1 і x2; якщо


x1 міняється першим, а x2 – другим, то вихід Y не міняється; якщо ж спочатку
міняється x2, а потім x1 (з деякою затримкою), то на виході Y з'явиться
небажаний імпульс. Цей ефект і становить сутність гонок.
Оскільки при довільному порядку змін вхідних сигналів елементів уникнути
гонок неможливо, єдиним шляхом боротьби з ними буде впорядкування цих змін,
тобто введення дисципліни сигналів.
Одним з найпростіших способів організації дисципліни сигналів є введення
блокуючого сигналу (рис. 1, б, сигнал C). Дозволений і заборонений періоди
визначаються його значеннями: на рис. 1 при C=1 – заборонений період (елемент
не переключається), при C=0 – дозволений період.
Синхронний принцип реалізується тим, що блокуючий сигнал подається від
тактового генератора. Як правило, тактовий генератор є загальним для всієї
схеми. Асинхронний принцип відрізняється від синхронного тим, що немає
блокуючого сигналу, або дисципліна організується іншим способом.
Розмаїтість можливих дисциплін при асинхронному принципі породжує й
велику розмаїтість асинхронних схем. Наприклад, широко відомий спосіб, коли в
дозволений період (рис. 1, а) допускається зміна тільки одного вхідного сигналу.
При зміні одного сигналу гонок не виникає. Заборонений період у цьому випадку
необхідний для підготовки схеми до наступного циклу. Можливість виникнення
гонок сильно залежить від способу формування дозволеного й забороненого
періодів.
У синхронному принципі ці періоди вибираються апріорно, виходячи з гіршого
випадку та «з запасом», коли можна вважати, що зміни сигналів (перехідні
процеси) закінчилися. У цьому принципі поточні (фактичні) зміни затримок
елементів схеми, по суті, не враховуються, що і є причиною можливих гонок.
В асинхронному принципі періоди, як правило, не постійні та приймаються ті
або інші узгодження їх тривалостей з поточними затримками. У ряді
асинхронних реалізацій для цього використовуються певні припущення.
Наприклад, заборонений період повинен перевищувати тривалість перехідних
процесів, ініційованих у дозволеному періоді.
Інший приклад – «моделювання» затримки деякого фрагмента схеми
ланцюжком інверторів. Тут передбачається, що при однакових зовнішніх умовах
затримка фрагмента й ланцюжка інверторів міняється однаково. Проте у всіх
подібних випадках уникнути невідповідності апріорних оцінок характеру дійсних
процесів не вдається, і ці невідповідності можуть породжувати перегони.
Принциповою відмінністю самосинхронного принципу є те, що обидва періоди
визначаються не приблизно, а по фактичному закінченню перехідних процесів. І
як би не мінялися затримки елементів у цьому випадку, перегони виникнути не
можуть.
Унікальність СС-схем полягає у тому, що вони реалізують практично ідеальне
рішення: перегони в них відсутні повністю й відказостійкість забезпечена,
оскільки схеми зупиняються при виникненні відмов.

Принципи побудови та роботи СС-схем


Для приклада візьмемо схему із двома виходами (рис. 2, а). Для побудови
будь-якої дискретної схеми принципово важливо знати моменти закінчення
перехідних процесів у різних частинах схеми або затримки її елементів. У
синхронних схемах це знання враховується апріорно й визначає період
повторення тактових сигналів. Допускаючи довільні затримки й відмовляючись
від синхронного принципу, ми повинні прямо вимірювати моменти завершення
перехідних процесів у різних точках схеми. Визначити такі моменти на виходах
схеми – значить сформувати деякий двійковий сигнал, що повідомляє про
закінчення перехідного процесу у відповідь на зміну входів схеми. Такий сигнал
будемо називати індикаторним (І-сигналом), а схему його формування –
індикатором. Розглянемо варіанти індикації.
2
а) б) в)
Рисунок 2 – Комбінаційна схема (КС): а – вихідна схема; б – схема в кодах;
в – схема в кодах з індикатором; і – індикаторний сигнал

Кодова індикація
Два виходи схеми на рис. 2 (а) незалежні друг від друга й можуть приймати
такі сполучення значень (назвемо їх робочими наборами): 00, 01, 10, 11.
Припустимо, що при деякій зміні входів вихідні сигнали повинні перейти від
набору 01 до набору 10. Такий перехід може відбутися наступними шляхами: 01 -
> 10, 01 -> 00 -> 10, 01 -> 11 -> 10.
Який би не був шлях переходу, будь-який наступний набір після вихідного 01
також є робочим, і ми не можемо довідатися, закінчився перехідний процес або
ще буде тривати. Таким чином, в «звичайній» схемі, з «звичайними» виходами не
вдається знайти спосіб визначення закінчення перехідних процесів. Єдиним
рішенням цієї задачі полягає у наступному: необхідно розширити кодовий
простір вихідних сигналів, увівши крім робочих ще декілька перехідних наборів.
Ці набори не повинні перетинатися, щоб бути легко помітними за допомогою
простих електронних схем. Інакше кажучи, треба застосувати надлишкове
кодування сигналів схеми.
Візьмемо наступний спосіб кодування: вихідне значення 1 кодується як 01, а
значення 0 – як 10. У цьому випадку від схеми на рис. 2 (а) ми переходимо до
еквівалентної схеми на рис. 2 (б). Для неї робочими будуть чотири набори: 0101,
0110, 1001 і 1010, а інші дванадцять із шістнадцяти можливих – перехідними.
Далі будемо вважати, що всі переходи між робочими наборами відбуваються
тільки через перехідні набори.
У прийнятих умовах перехід 01 -> 10 вихідної схеми може реалізуватися в
еквівалентній схемі таким чином: 0110 -> 0010 -> 0011 -> 0001 -> 1001. Видно,
що тут перший і останній набори – робочі, інші – перехідні. Оскільки два набори
чітко розділені, ми можемо побудувати схему індикації переходів і закінчення
перехідних процесів (рис. 2, в). Кодові системи, придатні для такої індикації,
одержали назву кодів, що самосинхронізуються.

Індикація комірок пам'яті


Розглянемо найпростішу комірку пам'яті - бістабільний осередок (БО) (рис. 3,
а). У ній значення обох виходів у стабільному стані протилежні один одному, а в
перехідному збігаються.

3
а) б) в)
Рисунок 3 – Бістабильний осередок: а – вихідний; б – з індикацією по
виходах; в – з індикацією по входах і виходах; і – індикаторний сигнал

Перша ідея полягає у наступному: індикація з використанням тільки виходів


БО (рис. 3, б). Припустимо, у вихідному стані входи осередку мають значення 11,
виходи - 01 (один по одному зверху вниз), сигнал індикації – 1.
Подамо на входи значення 01. Тоді виходи будуть змінюватися так: 01 -> 11 -
> 10, а І-сигнал відповідно 1 -> 0 -> 1. Таким чином, значення «1» показує
стабільний стану БО, а «0» – перехідний.
Однак, щоб використати індикацію в СС-схемах, необхідно погодити входи
осередку й вихід індикатора з фазою роботи. Для БО це означає, що І-сигнал у
випадку однакових входів осередку повинен відрізнятися від його значення при
протилежних значеннях входів.
Для такого способу індикації узгодження досягається тільки в режимі гасіння
(на рис. 3 входи повинні бути рівні 00). Але в цьому режимі записана раніше в
осередок інформація знищується, і застосування БО губить зміст. Із цієї причини
перша ідея не знайшла застосування в СС-схемах.
Друга ідея передбачає запам'ятовування інформації й узгодження фаз (рис. 3,
в). Вона складається у встановленні факту відповідності між входами й виходами
БО. Якщо виходи відповідають входам, то перехідні процеси закінчилися, інакше
– вони не завершені. На рис 3 (в) І-сигнал для цього способу змінюється як 0 -> 1
-> 0, де 0 – стабільний стан, 1 – перехідний.
Принципово важливим моментом в обох варіантах індикації є те, що по
побудові вихід індикаторного елемента індикує закінчення перехідних процесів
не тільки в основній схемі, але також і в самому собі. Інакше кажучи, немає
необхідності будувати спеціальну схему індикації для індикатора.
У схемі може бути багато І-сигналів. Всі вони схемотехнічно комбінуються за
нескладними правилами в один сигнал, загальний для всієї схеми. У такий спосіб
побудований загальний І-сигнал індикує всі внутрішні елементи й сигнали схеми.
Індикація перехідних процесів є найважливішим принципом побудови
практичних СС-схем. Реалізація саме цього принципу організує роботу таких
схем по факту завершення перехідних процесів, а не по припущенню, як при
побудові схем інших типів. Індикація забезпечує властивість відказостійкості СС-
схем, також підвищує швидкодію, однак не гарантує відсутності змагань в
індикуємих елементах, зокрема в тригерах.
4
Базові елементи самосинхронних схем
Методологією, яка дозволяє розробляти СС-схеми, є методологія Null
Conventіon Logіc (NCL) фірми Theseus Research Іncorporated. Основу NCL-схем
становлять граничні елементи THmn, показані на рис. 4. Граничний елемент
THmn характеризується двома параметрами: кількістю входів n і порогом
спрацьовування m, причому повинне виконуватися співвідношення (1 ≤ m ≤ n).
Перемикання виходу цього елемента в логічну «1» відбувається при надходженні
логічних «1» на його входи m і зберігається доти, поки на всіх його входах не
буде логічних «0».
Розширенням елемента THmn є граничний елемент із ваговими коефіцієнтами
для зазначених входів THmnw1w2w3w4, де wі – ваговий коефіцієнт для входу i.
На рис. 4 показано граничний елемент TH32w2 з ваговим коефіцієнтом 2 для
першого входу.

Рисунок 4 – Граничні елементи

Граничні елементи, у яких m = n, відповідають Г-тригерам з n-входами, а якщо


m = 1 – елементу АБО з n-входами. Інші елементи є розширенням розглянутих
раніше Г-тригерів і можуть бути побудовані на їх основі. Стан на виході Z таких
граничних елементів визначається двома функціями: set і hold. Функція set
визначає умову виставляння стану логічної «1» на виході Z, а функція hold –
умова утримання цього стану на виході.
Загальна функція перемикання стану на виході для всіх елементів:

Z = set + Z-1 * hold,

де Z-1 – попередній стан на виході.


Функція hold для всіх елементів однакова й визначається як операція АБО над
всіма входами (наприклад, для 4-входового елемента це A+B+C+D).
Для побудови строго самосинхронної схеми використовується парафазне
подання сигналів, де кожний сигнал А передається по двох провідниках: A.f і A.t.
Таким чином, А може приймати три значення: «0» (A.f = 1, A.t = 0), «1» (A.f = 0,
A.t = 1), NULL (A.f = 0, A.t = 0). Стан (A.f = 1, A.t = 1) не використовується й
говорить про помилку в роботі схеми. Стан NULL (роздільник, або спейсер)
необхідний для поділу окремих даних у часі.
На рис. 5 показана реалізація базових логічних елементів І, АБО, НІ та
ВИКЛЮЧНЕ-АБО в базисі NCL.

5
а)

б)

в)

г)
Рисунок 5 – Реалізація логічних функцій в NCL-базисі

В табл. 1 показано базовий набір елементів, який визначає логічні функції


(Boolean function) set.

6
Таблиця 1

Індивідуальне завдання.
1. Виконати моделювання в NCL-базисі граничних елементів з табл. 1
(створити макроси для кожного з них). Привести часові діаграми.
2. Оформіть звіт.

You might also like