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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Цифровой компаратор или компаратор амплитуд является электронным устройством, берущим два числа в двоичном виде и определяющим, является ли первое число меньшим, большим или равным второму числу.

Компараторы используются в центральных процессорах и микроконтроллерах. Примерами цифровых компараторов являются КМОП — 4063 и 4585, ТТЛ — 7485 и 74682-89.

Аналоговым эквивалентом цифрового компаратора является компаратор напряжений. Некоторые микроконтроллеры имеют аналоговые компараторы на некоторых своих входах, которые могут быть считаны или включать прерывание.

Таблица истинности компаратора[править | править вики-текст]

Действие однобитного цифрового компаратора может быть выражено таблицей истинности:

Входы Выходы
A B A<B A=B A>B
0 0 0 1 0
0 1 1 0 0
1 0 0 0 1
1 1 0 1 0

Действие двухцифрового компаратора может быть выражено таблицей истинности:

Входы Выходы
A_1 A_0 B_1 B_0 A<B A=B A>B
0 0 0 0 0 1 0
0 0 0 1 1 0 0
0 0 1 0 1 0 0
0 0 1 1 1 0 0
0 1 0 0 0 0 1
0 1 0 1 0 1 0
0 1 1 0 1 0 0
0 1 1 1 1 0 0
1 0 0 0 0 0 1
1 0 0 1 0 0 1
1 0 1 0 0 1 0
1 0 1 1 1 0 0
1 1 0 0 0 0 1
1 1 0 1 0 0 1
1 1 1 0 0 0 1
1 1 1 1 0 1 0

Выражения[править | править вики-текст]

Рассмотрим два 4-х битных числа A и B

A=A_3A_2A_1A_0

B=B_3B_2B_1B_0

Здесь каждая буква с цифрой представляет одну из цифр в числе.

Равенство (эквивалентность)

Двоичные числа A и B будут равны, если все пары значащих цифр обоих чисел равны, т.е.,

A_3=B_3, A_2=B_2, A_1=B_1 и A_0=B_0

Так как числа являются двоичными, то цифры являются или 0 или 1. Булева функция для равенства любых двух цифр A_i и B_i может быть выражена как

x_i= A_i \cdot B_i + \overline{A}_i \cdot \overline{B}_i.

x_i равна 1 только если A_i и B_i равны.

Для равенства A и B, все функции x_i (для i=0,1,2,3) должны быть равны 1.

Состояние равенства A и B может быть выражено используя операции И, как

\ (A=B) = x_3x_2x_1x_0

Двоичная функция (A=B) равна 1 только если все пары цифр двух чисел равны.

Неравенство (неэквивалентность)

Чтобы определить наибольшее из двух двоичных чисел, мы рассмотрим отношение величин пар значащих цифр, начиная с наиболее значащих битов, последовательно продвигаясь к младшим значащим битам до нахождения неравенства. Когда неравенство найдено, то, если соответствующий бит A равен 1 и такой же бит B равен 0, то мы считаем, что A>B.

Это последовательное сравнение может быть выражено логически как:

(A>B)=A_3 \cdot \overline{B}_3+x_3 A_2 \overline{B}_2+x_3 x_2 A_1 \overline{B}_1+x_3x_2x_1 A_0 \overline{B}_0

(A<B)=\overline{A}_3 \cdot B_3+x_3 \overline{A}_2 B_2+x_3 x_2 \overline{A}_1 B_1+x_3x_2x_1 \overline{A}_0 B_0


(A>B) и (A < B) - выходные двоичные переменные, которые равны 1 когда A>B или A<B соответственно.

См. также[править | править вики-текст]

Ссылки[править | править вики-текст]