Главная / Без рубрики / Цифровые компараторы и устройство контроля чётности

Цифровые компараторы и устройство контроля чётности

1. Введение: роль устройств сравнения и контроля в цифровой технике

В цифровых системах постоянно требуется:

  • сравнивать данные (равны ли два числа, какое больше);
  • контролировать целостность данных (нет ли ошибок при передаче/хранении).

Цифровые компараторы решают задачу сравнения двоичных слов.
Устройства контроля чётности — простейший механизм обнаружения ошибок на основе подсчёта единиц в коде.

Оба типа устройств широко применяются:

  • в процессорах (ветвления, циклы);
  • в интерфейсах передачи данных (UART, SPI, Ethernet);
  • в памяти (ECC, кэш);
  • в системах безопасности и диагностики.

2. Цифровые компараторы

2.1. Назначение и основные функции

Цифровой компаратор — комбинационная схема, сравнивающая два n-разрядных двоичных числа A и B и выдающая сигналы:

  • A = B (равенство);
  • A > B (больше);
  • A < B (меньше).

Варианты выходов:

  • однобитовые флаги;
  • кодированный результат (например, 2 бита: 00 — равно, 01 — A > B, 10 — A < B`);
  • сигнал для мультиплексора (выбор максимума/минимума).

2.2. Принципы сравнения

Сравнение ведётся от старших разрядов к младшим:

  1. Если Aᵢ ≠ Bᵢ, то результат определяется этим разрядом.
  2. Если Aᵢ = Bᵢ, переходим к следующему (младшему) разряду.
  3. Если все разряды равны — числа равны.

2.3. Одноразрядный компаратор

Входы: A, B.
Выходы:

  • EQ = 1, если A = B;
  • GT = 1, если A > B;
  • LT = 1, если A < B.

Логические уравнения:

EQGTLT​=A⊕B​,=A⋅B,=A⋅B.​

Таблица истинности:

ABEQGTLT
00100
01001
10010
11100

2.4. Многоразрядный компаратор (последовательная структура)

Идея: каскадное соединение одноразрядных компараторов с передачей сигналов «больше/меньше» от старших разрядов.

Рекуррентные уравнения (для i-го разряда, начиная со старшего):

EQi​GTi​LTi​​=EQi+1​⋅(Ai​⊕Bi​​),=GTi+1​+EQi+1​⋅(Ai​⋅Bi​​),=LTi+1​+EQi+1​⋅(Ai​​⋅Bi​).​

Начальные условия (для старшего разряда n − 1):

EQn​=1,GTn​=0,LTn​=0.

2.5. Параллельный компаратор (прямое сравнение)

Для повышения скорости:

  • все разряды сравниваются одновременно;
  • логические выражения для EQ, GT, LT строятся на основе поразрядных равенств и неравенств.

Пример для 2 бит:

EQGT​=(A1​≡B1​)⋅(A0​≡B0​),=(A1​>B1​)+(A1​=B1​)⋅(A0​>B0​).​

2.6. Интегральные реализации

  • 7485 (4‑разрядный компаратор с каскадированием);
  • CD4063B (4 бита, поддержка знаковых чисел);
  • встроенные компараторы в FPGA/CPLD.

2.7. Применение

  • условные переходы в процессорах;
  • сортировка и поиск в данных;
  • контроль границ (переполнение, выход за диапазон);
  • аналогово‑цифровые и цифро‑аналоговые преобразователи (ЦАП/АЦП).

3. Устройство контроля чётности

3.1. Понятие чётности и её значение

Чётность битовой последовательности — свойство:

  • чётная — число единиц в слове чётное;
  • нечётная — число единиц нечётное.

Цель контроля чётности: обнаружение одиночных ошибок (изменение одного бита) при передаче/хранении данных.

Ограничения:

  • не обнаруживает двойные ошибки (и чётное число ошибок);
  • не указывает, какой бит ошибочен;
  • не исправляет ошибки (только сигнализирует о них).

3.2. Генератор бита чётности

Задача: добавить к n-разрядному слову один бит P так, чтобы общее число единиц стало чётным (или нечётным).

Алгоритм:

P=A0​⊕A1​⊕…⊕An−1​.

  • Если используется чётная чётность, то P выбирается так, чтобы сумма единиц в (A₀…Aₙ₋₁P) была чётной.
  • Для нечётной чётности — наоборот.

Пример (4 бита, чётная чётность):

  • Данные: 1011 (3 единицы → нечётное).
  • Бит чётности: P = 1 (чтобы стало 4 единицы).
  • Передаётся: 10111.

3.3. Схема генератора

  • Цепочка элементов исключающее ИЛИ (XOR) — каскадное сложение по модулю 2 всех битов.
  • Для n бит требуется n − 1 элементов XOR.
  • Задержка растёт с числом разрядов (можно оптимизировать пирамидальной структурой).

3.4. Проверяющее устройство (контроллер чётности)

Задача: принять (n + 1)-разрядное слово и проверить, соблюдается ли правило чётности.

Алгоритм:

  1. Вычислить S = A₀ ⊕ A₁ ⊕ … ⊕ Aₙ₋₁ ⊕ P.
  2. Если S = 0 — чётность соблюдена (ошибок нет или чётное число ошибок).
  3. Если S = 1 — обнаружена ошибка (нечётное число бит изменено).

Схема: аналогична генератору, но на вход подаётся и бит чётности P.

3.5. Многоразрядные схемы контроля

  • Пословный контроль: один бит чётности на всё слово (простой, но низкая обнаруживающая способность).
  • Побайтный контроль: каждый байт имеет свой бит чётности (лучше локализует ошибку).
  • Двумерный контроль (матрица слов): биты чётности по строкам и столбцам — позволяет обнаруживать и исправлять одиночные ошибки.

3.6. Практические аспекты

  • Скорость: задержка генератора/контроллера зависит от числа разрядов и топологии XOR‑цепочки.
  • Надёжность: контроль чётности — первый уровень защиты; для критичных систем используют CRC, Хэмминга и др.
  • Стандарты: UART (1 стоп‑бит + бит чётности), SCSI, память с ECC.

3.7. Примеры интегральных схем

  • 74F280 (9‑входовый генератор/контроллер чётности);
  • CD40107B (двойной XOR с возможностью каскадирования);
  • встроенные модули в микроконтроллеры и интерфейсы.

Оставить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *