Лабораторний практикум з дослідження цифрових пристроїв на основі САПР MAX+PLUS II, страница 41

а)

б)

в)

Рисунок 5.5

5.1.3 Арифметико-логічні пристрої

З метою уніфікації обладнання та спрощення операційних пристроїв, призначених для виконання різних арифметичних та логічних операцій, у цифровій техніці застосовують багатофункціональні блоки – арифметико-логічні пристрої АЛП (arithmetic-logic Unit, АLU).

Подібно до суматора АЛП має входи двох операндів А, В, вхід і вихід перенесення с0, сn та виходи результату F (для прикладу на рис. 5, а)  наведено ІС чотирирозрядного АЛП, а на рис. 5, б) – типову макрофункцію АЛП). Крім функцій  суматора АЛП виконує ще низку логічних функцій, а також функцію компаратора з виходом К.

З метою збільшення розрядності операндів АЛП каскадують так само, як і суматори: послідовним з’єднанням перенесень на кшталт поданого на рис. 5.1, и) або для підвищення швидкодії через блоки пришвидшеного перенесення за допомогою спеціально для цього призначених виходів АЛП G, Р генерації та передачі перенесення. Використовувати АЛП доцільно на старих ІС жорсткої структури, але бібліотека САПР програмованих ІС також містить декілька різновидів макрофункцій.

5.1.4 Цифрові компаратори

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

Співвідношення між двома двійковими числами  та  встановлюють за допомогою функцій компаратора: A equal to B(aeb = 1, якщо А = В та aeb = 0, якщо А ¹ В ),  А less than В (alb = 1, якщо А < В та alb = 0, якщо А ³  В),  А greater than В (agb = 1, якщо А > В та agb= =  0, якщо А £  В),  А less or equal В (aleb = 1, якщо А £  В та aleb = 0, якщо А > В),  А greater or equal В (ageb = 1, якщо А ³ В та ageb = 0, якщо  А < В), А  not equal to В (aneb = 1, якщо А ¹ В та aneb = 0, якщо А = В). З усіх функцій порівняння тільки дві є незалежними, бо через них можна виразити інші. Якщо за основні правитимуть, наприклад, функції aeb і  agb, то aneb =

а)

б)

в)

г)

Рисунок 5.6

Зазначені функції порівняння чисел А, В базуються на функціях порівняння двох їхніх розрядів ai, bi однакової ваги типу рівності yрi, більше yбi або менше yмi (рис. 5.6, а):

які можна реалізувати на елементах виключне АБО-НЕ та заборона (рис. 5.6, б) або на поширеніших елементах (рис. 5.6, в).

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

Рисунок 5.7

Серед стандартних ІС поширеними є компаратори (макрофункції) з розрядністю 4 та 8 (рис. 5.7). Бібліотека САПР містить також мегафункцію компаратора lpm_compare (див. рис. 7), основним параметром якої є LPM_WIDTH – розрядність порівнюваних чисел dataa[] та datab[].

Рисунок 5.8

Крім спеціалізованих ІС компараторів для порівняння чисел можуть використовуватися й інші ЦКП. Типовою є ідея використання для порівняння кодів суматорів: відніманням одного числа від іншого за різницею легко з'ясувати співвідношення між ними. Якщо віднімання виконується шляхом додавання в оберненому коді (рис. 5.8), то всі розряди суми S = A +   + (2n – 1 – B) при A = B перетворюються на одиниці S = 2n – 1 = 11...1, тобто функцію yA=B = aeb можна сформувати за допомогою елемента збігу. Якщо ж  A > B, то сума  S = A+ 2n –  1 ³ 2n, тобто виникає перенесення cn до старшого розряду, яке i є ознакою функції yA>B = cn = agb.  Функцію yA<B = alb, як і інші, можна сформувати логічними елементами. Аналогічно і в АЛП (див. рис. 5.5, а) з'єднання виходів f0...f4 на елементі І, виконане всередині ІС, утворює функцію компаратора К=yA=B=aeb, шляхом комбінації якої з виходом перенесення за допомогою зовнішніх елементів можна утворити потрібні функції порівняння на кшталт зображеного на рис. 5.8.