Цифровий компаратор

Матеріал з Вікіпедії — вільної енциклопедії.
Перейти до: навігація, пошук
Схема компаратора рівності

Цифрови́й компара́тор — пристрій, що призначений для порівняння двох чисел.

Розглянемо два цілих двійкових числа A і B. При їхньому порівнянні можуть статися три варіанти: A = B; A > B і A < B.

Перший випадок (компаратор рівності) (A = B) реалізується в найпростіших компараторах, які іноді носять назву нуль-органів. Такий компаратор виявляє лише факт рівності або нерівності двох поданих на його вхід чисел A і B і формує на виході сигнал рівності (логічну одиницю), або нерівності - логічний нуль. Функцію, яку реалізує компаратор у цьому випадку можна визначити формулою

y(A = B) =\begin{cases} 1, & \mbox{if }A = B,  \\ 0, & \mbox{if }A \ne B. \end{cases}

Числа A і B можуть мати n розрядів і подаватися відповідно значенням змінних a1, …, an b1, …,bn. Компаратор рівності порівнює окремі розряди за формулою, яка записана для варіанта n = 2.

y(A = B) =\bar{a_1} \bar{a_2} \bar{b_1} \bar{b_2} \vee \bar{a_1} a_2 \bar{b_1} b_2 \vee a_1 \bar{a_2} b_1 \bar{b_2} \vee a_1 a_2 b_1 b_2

Найпростіший компаратор рівності реалізується за допомогою логічних схем «Виняткове АБО» (елементи D1 і D2) та багато вхідного кон'юнктора D3.

На виході D1 і D2 (виняткове АБО з інверсією виходу) рівень логічної одиниці з'являється тоді, коли a1 = b1 та a2 = b2, незалежно від порівняння логічних одиниць чи логічних нулів. Тому на виході y компаратора логічна одиниця присутня лише у випадку, коли набули рівності обидва розряди двійкових чисел A і B.

Функціонування схеми пояснюється таблицею істинності.

Входи Вихід
a_1 a_2 b_1 b_2 y
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 0 1 1 0
0 1 0 0 0
0 1 0 1 1
0 1 1 0 0
0 1 1 1 0
1 0 0 0 0
1 0 0 1 0
1 0 1 0 1
1 0 1 1 0
1 1 0 0 0
1 1 0 1 0
1 1 1 0 0
1 1 1 1 1

У другому випадку (компаратор нерівності) компаратори можуть відрізняти не тільки рівність чисел A і B, але й нерівність, коли A > B або A < B. Такі компаратори будуються за складнішою схемою.

Вони визначають стани нерівностей і описуються системою нерівностей

y_1 =\begin{cases} 1, & \mbox{if }A < B;  \\ 0, & \mbox{if }A \ge B; \end{cases}

y_2 =\begin{cases} 1, & \mbox{if }A > B; \\ 0, & \mbox{if }A \le B. \end{cases}

Існують також нерівнісні компаратори, які мають також два виходи: y1 та y2. Рівень логічної одиниці з'являється на виході y1 при A < B, а на виході y2 — при A > B. Порівняння виконується порозрядно за формулою, яка записана для випадку n = 2.

y_1(A < B) =\bar{a_1} \bar{a_2} \bar{b_1} b_2 \vee \bar{a_1} \bar{a_2} b_1 \bar{b_2} \vee \bar{a_1} \bar{a_2} b_1 b_2 \vee \bar{a_1} a_2 b_1 \bar{b_2} \vee \bar{a_1} a_2 b_1 b_2 \vee a_1 \bar{a_2} b_1 b_2;

y_2(A > B) =\bar{a_1} a_2 \bar{b_1} \bar{b_2} \vee a_1 \bar{a_2} \bar{b_1} \bar{b_2} \vee a_1 a_2 \bar{b_1} \bar{b_2} \vee \bar{a_1} a_2 b_1 \bar{b_2} \vee a_1 a_2 \bar{b_1} b_2 \vee a_1 a_2 b_1 \bar{b_2}.

Джерела[ред.ред. код]

Воробйова О. М., Іванченко В. Д. Основи схемотехніки: У двох частинах: Навчальний посібник. — Одеса: ОНАЗ ім. О. С. Попова. — 2004, Ч. 2. — 172с.: іл.