Цифровые схемы - Краткое руководство

Цифровые схемы - системы счисления

Если основание или основание системы счисления - «r», то числа, присутствующие в этой системе счисления, находятся в диапазоне от нуля до r-1. Общее число, присутствующее в этой системе счисления, равно «r». Таким образом, мы получим различные системы счисления, выбрав значения radix, большие или равные двум.

В этой главе давайте поговорим о популярных системах счисления и о том, как представить число в соответствующей системе счисления. Следующие системы счисления являются наиболее часто используемыми.

  • Десятичная система счисления
  • Двоичная система счисления
  • Восьмеричная система счисления
  • Шестнадцатеричная система счисления

Десятичная система счисления

Основой или основанием десятичной системы счисления является 10 . Таким образом, числа в диапазоне от 0 до 9 используются в этой системе счисления. Часть числа, которая находится слева от десятичной точки, называется целой частью. Аналогично, часть числа, которая находится справа от десятичной точки, называется дробной частью.

В этой системе счисления последовательные позиции слева от десятичной точки имеют веса 10 0 , 10 1 , 10 2 , 10 3 и так далее. Аналогично, последовательные позиции справа от десятичной запятой имеют веса 10 -1 , 10 -2 , 10 -3 и так далее. Это означает, что каждая позиция имеет удельный вес, который является силой основания 10

пример

Рассмотрим десятичное число 1358.246 . Целая часть этого числа равна 1358, а дробная часть этого числа равна 0,246. Цифры 8, 5, 3 и 1 имеют веса 100, 101, 10 2 и 10 3 соответственно. Аналогично, цифры 2, 4 и 6 имеют веса 10 -1 , 10 -2 и 10 -3 соответственно.

Математически мы можем записать это как

1358.246 = (1 × 10 3 ) + (3 × 10 2 ) + (5 × 10 1 ) + (8 × 10 0 ) + (2 × 10 -1 ) +

(4 × 10 -2 ) + (6 × 10 -3 )

После упрощения правых слагаемых мы получим десятичное число, которое находится с левой стороны.

Двоичная система счисления

Все цифровые схемы и системы используют эту двоичную систему счисления. Основа или основание этой системы счисления - 2 . Итак, числа 0 и 1 используются в этой системе счисления.

Часть числа, лежащая слева от двоичной точки, называется целой частью. Аналогично, часть числа, которая находится справа от двоичной точки, называется дробной частью.

В этой системе счисления последовательные позиции слева от двоичной точки имеют веса 2 0 , 2 1 , 2 2 , 2 3 и так далее. Аналогично, последовательные позиции справа от двоичной точки имеют веса 2 -1 , 2 -2 , 2 -3 и так далее. Это означает, что каждая позиция имеет определенный вес, который является степенью основания 2 .

пример

Рассмотрим двоичное число 1101.011 . Целая часть этого числа равна 1101, а дробная часть этого числа равна 0,011. Цифры 1, 0, 1 и 1 целой части имеют веса 2 0 , 2 1 , 2 2 , 2 3 соответственно. Аналогично, цифры 0, 1 и 1 дробной части имеют веса 2 -1 , 2 -2 , 2 -3 соответственно.

Математически мы можем записать это как

1101.011 = (1 × 2 3 ) + (1 × 2 2 ) + (0 × 2 1 ) + (1 × 2 0 ) + (0 × 2 -1 ) +

(1 × 2 -2 ) + (1 × 2 -3 )

После упрощения правых слагаемых мы получим десятичное число, которое является эквивалентом двоичного числа с левой стороны.

Восьмеричная система счисления

Основа или основание восьмеричной системы счисления - 8 . Таким образом, числа в диапазоне от 0 до 7 используются в этой системе счисления. Часть числа, которая находится слева от восьмеричной точки, называется целой частью. Точно так же часть числа, которая находится справа от восьмеричной точки, известна как дробная часть.

В этой системе счисления последовательные позиции слева от восьмеричной точки имеют веса 8 0 , 8 1 , 8 2 , 8 3 и так далее. Аналогично, последовательные позиции справа от восьмеричной точки имеют веса 8 -1 , 8 -2 , 8 -3 и так далее. Это означает, что каждая позиция имеет определенный вес, который является силой основания 8 .

пример

Рассмотрим восьмеричное число 1457.236 . Целая часть этого числа равна 1457, а дробная часть этого числа равна 0,236. Цифры 7, 5, 4 и 1 имеют веса 8 0 , 8 1 , 8 2 и 8 3 соответственно. Аналогично, цифры 2, 3 и 6 имеют веса 8 -1 , 8 -2 , 8 -3 соответственно.

Математически мы можем записать это как

1457.236 = (1 × 8 3 ) + (4 × 8 2 ) + (5 × 8 1 ) + (7 × 8 0 ) + (2 × 8 -1 ) +

(3 × 8 -2 ) + (6 × 8 -3 )

После упрощения правых слагаемых мы получим десятичное число, которое эквивалентно восьмеричному числу в левой части.

Шестнадцатеричная система счисления

Основа или основание шестнадцатеричной системы счисления составляет 16 . Таким образом, числа в диапазоне от 0 до 9 и буквы от A до F используются в этой системе счисления. Десятичный эквивалент шестнадцатеричных цифр от A до F составляет от 10 до 15.

Часть числа, которая находится слева от шестнадцатеричной точки, называется целой частью. Аналогично, часть числа, которая находится справа от гекса-десятичной точки, называется дробной частью.

В этой системе счисления последовательные позиции слева от шестнадцатеричной запятой имеют веса 16 0 , 16 1 , 16 2 , 16 3 и так далее. Аналогично, последовательные позиции справа от гекса-десятичной точки имеют веса 16 -1 , 16 -2 , 16 -3 и так далее. Это означает, что каждая позиция имеет определенный вес, который является силой основания 16 .

пример

Рассмотрим шестнадцатеричное число 1A05.2C4 . Целая часть этого числа - 1A05, а дробная часть этого числа - 0,2C4. Цифры 5, 0, A и 1 имеют веса 16 0 , 16 1 , 16 2 и 16 3 соответственно. Аналогично, цифры 2, С и 4 имеют весовые коэффициенты 16 -1 , 16 -2 и 16 -3 соответственно.

Математически мы можем записать это как

1A05.2C4 = (1 × 16 3 ) + (10 × 16 2 ) + (0 × 16 1 ) + (5 × 16 0 ) + (2 × 16 -1 ) +

(12 × 16 -2 ) + (4 × 16 -3 )

После упрощения правых слагаемых мы получим десятичное число, которое эквивалентно шестнадцатеричному десятичному числу в левой части.

Цифровые схемы - базовые преобразования

В предыдущей главе мы видели четыре выдающихся системы счисления. В этой главе давайте преобразуем числа из одной системы счисления в другую, чтобы найти эквивалентное значение.

Преобразование десятичного числа в другие базы

Если десятичное число содержит как целую часть, так и дробную часть, то преобразуйте обе части десятичного числа в другое основание по отдельности. Выполните следующие шаги для преобразования десятичного числа в эквивалентное ему число любой базы 'r'.

  • Сделайте деление целой части десятичного числа и последовательных отношений с основанием 'r' и запишите остатки, пока частное не станет равным нулю. Рассмотрим остатки в обратном порядке, чтобы получить целую часть эквивалентного числа основания 'r'. Это означает, что первые и последние остатки обозначают наименее значимую цифру и наиболее значимую цифру соответственно.

  • Умножьте дробную часть десятичного числа и последовательных дробей на основание 'r' и запишите перенос, пока результат не станет равным нулю или не будет получено желаемое количество эквивалентных цифр. Рассмотрим нормальную последовательность переноса, чтобы получить дробную часть эквивалентного числа основания 'r'.

Десятичное в двоичное преобразование

Происходят следующие два типа операций при преобразовании десятичного числа в его эквивалентное двоичное число.

  • Деление целой части и последовательных отношений с основанием 2.
  • Умножение дробной части и последовательных дробей с основанием 2.

пример

Рассмотрим десятичное число 58,25 . Здесь целочисленная часть равна 58, а дробная часть равна 0,25.

Шаг 1 - Деление 58 и последовательных отношений с основанием 2.

операция частное остаток
58/2 29 0 (LSB)
29/2 14 1
14/2 7 0
7/2 3 1
3/2 1 1
1/2 0 1 (СЗБ)

⇒ (58) 10 = (111010) 2

Следовательно, целая часть эквивалентного двоичного числа равна 111010 .

Шаг 2 - Умножение 0,25 и последовательных дробей с основанием 2.

операция Результат Нести
0,25 х 2 0,5 0
0,5 х 2 1,0 1
- 0.0 -

⇒ (.25) 10 = (.01) 2

Следовательно, дробная часть эквивалентного двоичного числа равна 0,01.

⇒ (58.25) 10 = (111010.01) 2

Следовательно, двоичный эквивалент десятичного числа 58.25 равен 111010.01.

Десятичное в восьмое

Происходят следующие два типа операций при преобразовании десятичного числа в его эквивалентное восьмеричное число.

  • Деление целой части и последовательных отношений с основанием 8.

  • Умножение дробной части и последовательных дробей с основанием 8.

пример

Рассмотрим десятичное число 58,25 . Здесь целочисленная часть равна 58, а дробная часть равна 0,25.

Шаг 1 - Деление 58 и последовательных отношений с основанием 8.

операция частное остаток
58/8 7 2
7/8 0 7

⇒ (58) 10 = (72) 8

Следовательно, целая часть эквивалентного восьмеричного числа равна 72 .

Шаг 2 - Умножение 0,25 и последовательных дробей с основанием 8.

операция Результат Нести
0,25 х 8 2,00 2
- 0,00 -

⇒ (.25) 10 = (.2) 8

Следовательно, дробная часть эквивалентного восьмеричного числа равна .2

⇒ (58,25) 10 = (72,2) 8

Следовательно, восьмеричный эквивалент десятичного числа 58,25 составляет 72,2.

Десятичное в гекса-десятичное преобразование

Происходят следующие два типа операций при преобразовании десятичного числа в его эквивалентное шестнадцатеричное число.

  • Деление целой части и последовательных отношений с основанием 16.
  • Умножение дробной части и последовательных дробей с основанием 16.

пример

Рассмотрим десятичное число 58,25 . Здесь целая часть равна 58, а десятичная часть равна 0,25.

Шаг 1 - Деление 58 и последовательных отношений с основанием 16.

операция частное остаток
58/16 3 10 = А
3/16 0 3

⇒ (58) 10 = (3А) 16

Следовательно, целая часть эквивалентного шестнадцатеричного числа равна 3А.

Шаг 2 - Умножение 0,25 и последовательных дробей с основанием 16.

операция Результат Нести
0,25 х 16 4,00 4
- 0,00 -

⇒ (.25) 10 = (.4) 16

Следовательно, дробная часть эквивалентного гекса-десятичного числа равна .4.

⇒ (58.25) 10 = (3А.4) 16

Следовательно, шестнадцатеричный эквивалент десятичного числа 58,25 равен 3A.4.

Преобразование двоичного числа в другие базы

Процесс преобразования числа из двоичного в десятичное отличается от процесса преобразования двоичного числа в другие основания. Теперь давайте поговорим о преобразовании двоичного числа в десятичную, восьмеричную и гекса-десятичную системы счисления одну за другой.

Двоично-десятичное преобразование

Для преобразования двоичного числа в его эквивалентное десятичное число сначала умножьте биты двоичного числа на соответствующие позиционные веса, а затем добавьте все эти произведения.

пример

Рассмотрим двоичное число 1101.11 .

Математически мы можем записать это как

(1101.11) 2 = (1 × 2 3 ) + (1 × 2 2 ) + (0 × 2 1 ) + (1 × 2 0 ) + (1 × 2 -1 ) +

(1 × 2 -2 )

⇒ (1101.11) 2 = 8 + 4 + 0 + 1 + 0,5 + 0,25 = 13,75

⇒ (1101.11) 2 = (13.75) 10

Следовательно, десятичный эквивалент двоичного числа 1101.11 составляет 13,75.

Бинарное преобразование в восьмеричное

Мы знаем, что базисами двоичных и восьмеричных систем счисления являются 2 и 8 соответственно. Три бита двоичного числа эквивалентны одной восьмеричной цифре, поскольку 2 3 = 8.

Выполните эти два шага для преобразования двоичного числа в его эквивалентное восьмеричное число.

  • Начните с двоичной точки и сделайте группы по 3 бита с обеих сторон двоичной точки. Если один или два бита меньше при создании группы из 3 битов, то включите необходимое количество нулей на крайних сторонах.

  • Запишите восьмеричные цифры, соответствующие каждой группе из 3 бит.

пример

Рассмотрим двоичное число 101110.01101 .

Шаг 1 - Создайте группы по 3 бита с обеих сторон двоичной точки.

101 110.011 01

Здесь, с правой стороны двоичной точки, последняя группа имеет только 2 бита. Итак, включите один ноль на крайней стороне, чтобы сделать его группой из 3 битов.

⇒ 101 110.011 010

Шаг 2 - Запишите восьмеричные цифры, соответствующие каждой группе из 3 бит.

⇒ (101 110.011 010) 2 = (56.32) 8

Следовательно, восьмеричный эквивалент двоичного числа 101110.01101 равен 56,32.

Двоичное преобразование в гекса-десятичное

Мы знаем, что базисами двоичных и гекса-десятичных систем счисления являются 2 и 16 соответственно. Четыре бита двоичного числа эквивалентны одной шестнадцатеричной цифре, поскольку 2 4 = 16.

Выполните эти два шага для преобразования двоичного числа в его эквивалентное шестнадцатеричное число.

  • Начните с двоичной точки и сделайте группы по 4 бита с обеих сторон двоичной точки. Если при создании группы из 4 битов несколько битов меньше, включите необходимое число нулей на крайних сторонах.

  • Запишите шестнадцатеричные цифры, соответствующие каждой группе из 4 битов.

пример

Рассмотрим двоичное число 101110.01101

Шаг 1 - Создайте группы по 4 бита с обеих сторон двоичной точки.

10 1110.0110 1

Здесь первая группа имеет только 2 бита. Итак, включите два нуля на крайней стороне, чтобы сделать его группой из 4 битов. Аналогично, включите три нуля на крайней стороне, чтобы сделать последнюю группу также группой из 4 битов.

⇒ 0010 1110.0110 1000

Шаг 2 - Запишите гекса-десятичные цифры, соответствующие каждой группе из 4 битов.

⇒ (0010 1110.0110 1000) 2 = (2E.68) 16

Следовательно, шестнадцатеричный эквивалент двоичного числа 101110.01101 равен (2E.68).

Восьмеричное преобразование в другие базы

Процесс преобразования восьмеричного числа в десятичное отличается от процесса преобразования восьмеричного числа в другие основания. Теперь давайте поговорим о преобразовании восьмеричного числа в десятичную, двоичную и гекса-десятичную системы счисления одну за другой.

Восьмеричное и десятичное преобразование

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

пример

Рассмотрим восьмеричное число 145.23 .

Математически мы можем записать это как

(145.23) 8 = (1 × 8 2 ) + (4 × 8 1 ) + (5 × 8 0 ) + (2 × 8 -1 ) + (3 × 8 -2 )

⇒ (145,23) 8 = 64 + 32 + 5 + 0,25 + 0,05 = 101,3

⇒ (145,23) 8 = (101,3) 10

Следовательно, десятичный эквивалент восьмеричного числа 145,23 равен 101,3.

Восьмеричное в двоичное преобразование

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

пример

Рассмотрим восьмеричное число 145.23 .

Представьте каждую восьмеричную цифру с 3 битами.

(145.23) 8 = (001 100 101.010 011) 2

Значение не изменяется, удаляя нули, которые находятся на крайней стороне.

⇒ (145.23) 8 = (1100101.010011) 2

Следовательно, двоичный эквивалент восьмеричного числа 145,23 равен 1100101.010011.

Восьмеричное в гекса-десятичное преобразование

Выполните эти два шага для преобразования восьмеричного числа в его эквивалентное шестнадцатеричное число.

  • Преобразуйте восьмеричное число в его эквивалентное двоичное число.
  • Преобразуйте указанное выше двоичное число в его эквивалентное шестнадцатеричное число.

пример

Рассмотрим восьмеричное число 145,23

В предыдущем примере мы получили двоичный эквивалент восьмеричного числа 145,23 как 1100101.010011.

Следуя процедуре двоичного преобразования в гекса-десятичное, мы получим

(1100101.010011) 2 = (65,4 ° С) 16

⇒ (145,23) 8 = (65,4 ° С) 16

Следовательно, шестнадцатеричный эквивалент восьмеричного числа 145,23 составляет 65,4 С.

Преобразование шестнадцатеричного числа в другие базы

Процесс преобразования числа из шестнадцатеричного числа в десятичное отличается от процесса преобразования шестнадцатеричного числа в другие основания. Теперь давайте поговорим о преобразовании гекса-десятичного числа в десятичную, двоичную и восьмеричную системы счисления одну за другой.

Гекса-десятичное в десятичное преобразование

Для преобразования шестнадцатеричного числа в эквивалентное десятичное число сначала умножьте цифры шестнадцатеричного числа на соответствующие позиционные веса, а затем добавьте все эти продукты.

пример

Рассмотрим шестнадцатеричное число 1A5.2

Математически мы можем записать это как

(1A5.2) 16 = (1 × 16 2 ) + (10 × 16 1 ) + (5 × 16 0 ) + (2 × 16 -1 )

⇒ (1A5.2) 16 = 256 + 160 + 5 + 0,125 = 421,125

⇒ (1A5.2) 16 = (421.125) 10

Следовательно, десятичный эквивалент шестнадцатеричного числа 1A5.2 составляет 421,125.

Гекса-десятичное в двоичное преобразование

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

пример

Рассмотрим гекса-десятичное число 65.4C

Представьте каждую шестнадцатеричную цифру с 4 битами.

(65,4 ° С) 6 = (0110 0101,0100 1100) 2

Значение не изменяется, удаляя нули, которые находятся на двух крайних сторонах.

⇒ (65,4C) 16 = (1100101.010011) 2

Поэтому двоичный эквивалент шестнадцатеричного числа 65.4C равен 1100101.010011.

Преобразование из шестнадцатеричной системы в десятичную

Выполните эти два шага для преобразования шестнадцатеричного числа в его эквивалентное восьмеричное число.

  • Преобразуйте шестнадцатеричное число в его эквивалентное двоичное число.
  • Преобразуйте указанное выше двоичное число в его эквивалентное восьмеричное число.

пример

Рассмотрим гекса-десятичное число 65.4C

В предыдущем примере мы получили двоичный эквивалент шестнадцатеричного числа 65.4C как 1100101.010011.

Следуя процедуре двоичного преобразования в восьмеричное, мы получим

(1100101.010011) 2 = (145,23) 8

⇒ (65,4C) 16 = (145,23) 𝟖

Следовательно, восьмеричный эквивалент шестнадцатеричного числа 65,4 C равен 145,23.

Представление двоичных чисел

Мы можем превратить двоичные числа в следующие две группы - числа без знака и числа со знаком .

Беззнаковые номера

Числа без знака содержат только величину числа. У них нет никаких признаков. Это означает, что все беззнаковые двоичные числа положительны. Как и в десятичной системе счисления, размещение положительного знака перед числом необязательно для представления положительных чисел. Следовательно, все положительные числа, включая ноль, могут рассматриваться как числа без знака, если перед номером не указан положительный знак.

Подписанные номера

Числа со знаком содержат как знак, так и величину числа. Как правило, знак ставится перед номером. Таким образом, мы должны рассмотреть положительный знак для положительных чисел и отрицательный знак для отрицательных чисел. Следовательно, все числа могут рассматриваться как числа со знаком, если перед номером назначен соответствующий знак.

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

Представление не подписанных двоичных чисел

Биты, присутствующие в двоичном числе без знака, содержат величину числа. Это означает, что если беззнаковое двоичное число содержит «N» битов, то все N битов представляют величину числа, поскольку у него нет знакового бита.

пример

Рассмотрим десятичное число 108 . Двоичный эквивалент этого числа - 1101100 . Это представление беззнакового двоичного числа.

(108) 10 = (1101100) 2

Имеет 7 бит. Эти 7 битов представляют величину числа 108.

Представление подписанных двоичных чисел

Наиболее значимый бит (MSB) двоичных чисел со знаком используется для обозначения знака чисел. Следовательно, он также называется знаковым битом . Положительный знак представлен путем помещения 0 в бит знака. Точно так же отрицательный знак представлен путем помещения 1 в бит знака.

Если двоичное число со знаком содержит «N» битов, то (N-1) биты представляют только величину числа, поскольку один бит (MSB) зарезервирован для представления знака числа.

Существует три типа представлений для двоичных чисел со знаком

  • Форма знака-величины
  • 1 дополнение формы
  • Форма дополнения 2

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

пример

Рассмотрим положительное десятичное число +108 . Двоичный эквивалент величины этого числа равен 1101100. Эти 7 битов представляют величину числа 108. Поскольку это положительное число, знаковый бит считается нулем, который размещается с самой левой стороны от величины.

(+108) 10 = (01101100) 2

Следовательно, двоичное представление со знаком положительного десятичного числа +108 равно 𝟎𝟏𝟏𝟎𝟏𝟏𝟎𝟎. Таким образом, одно и то же представление действует в форме знака-величины, форме дополнения 1 и форме дополнения 2 для положительного десятичного числа +108.

Форма знака-величины

В форме величины знака MSB используется для представления знака числа, а остальные биты представляют величину числа. Итак, просто включите знаковый бит слева от двоичного числа без знака. Это представление похоже на представление десятичных чисел со знаком.

пример

Рассмотрим отрицательное десятичное число -108 . Величина этого числа равна 108. Мы знаем, что беззнаковое двоичное представление 108 равно 1101100. Оно имеет 7 бит. Все эти биты представляют величину.

Поскольку данное число является отрицательным, рассмотрим знаковый бит как единицу, который расположен с самой левой стороны от величины.

(−108) 10 = (11101100) 2

Следовательно, значение знака -108 равно 11101100 .

1 дополнение формы

Дополнение числа 1 получается путем дополнения всех битов двоичного числа со знаком. Таким образом, дополнение 1 положительного числа дает отрицательное число. Точно так же дополнение 1 отрицательного числа дает положительное число.

Это означает, что если вы выполняете двоичное число два раза в 1, включая знаковый бит, то вы получите исходное двоичное число со знаком.

пример

Рассмотрим отрицательное десятичное число -108 . Величина этого числа равна 108. Мы знаем двоичное представление со знаком 108 как 01101100.

Имеет 8 бит. MSB этого числа равно нулю, что указывает на положительное число. Дополнение к нулю равно единице и наоборот. Итак, замените нули единицами, а единицы - нулями, чтобы получить отрицательное число.

(−108) 10 = (10010011) 2

Следовательно, 1-е дополнение (108) 10 равно (10010011) 2 .

Форма дополнения 2

Дополнение 2 двоичного числа получается добавлением единицы к дополнению 1 двоичного числа со знаком. Таким образом, дополнение 2 положительного числа дает отрицательное число. Аналогично, дополнение 2 отрицательного числа дает положительное число.

Это означает, что если вы выполняете двоичное число два раза, включая двоичный знак, то вы получите исходное двоичное число со знаком.

пример

Рассмотрим отрицательное десятичное число -108 .

Мы знаем, что 1 дополнение ( 108 ) 10 является ( 10010011 ) 2

Комплимент 2 (108) 10 = 1 Комплимент (108) 10 + 1.

= 10010011 + 1

= 10010100

Следовательно, дополнение 2 к (108) 10 равно (10010100) 2 .

Цифровые схемы - двоичная арифметика со знаком

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

Добавление двух подписанных двоичных чисел

Рассмотрим два двоичных числа со знаком A и B, которые представлены в виде дополнения 2. Мы можем выполнить сложение этих двух чисел, что аналогично сложению двух беззнаковых двоичных чисел. Но, если результирующая сумма содержит результат от знакового бита, отбросьте (игнорируйте) его, чтобы получить правильное значение.

Если полученная сумма положительна, вы можете определить ее величину напрямую. Но, если результирующая сумма отрицательна, то возьмем 2-е дополнение к ней, чтобы получить величину.

Пример 1

Давайте выполним сложение двух десятичных чисел +7 и +4, используя метод дополнения 2.

Представления дополнения 2 по +7 и +4 с 5 битами показаны ниже.

(+7) 10 = (00111) 2

(+4) 10 = (00100) 2

Сложение этих двух чисел

(+7) 10 + (+ 4) 10 = (00111) 2 + (00100) 2

⇒ (+7) 10 + (+ 4) 10 = (01011) 2 .

Результирующая сумма содержит 5 битов. Таким образом, нет смысла от знака бит. Знаковый бит «0» указывает, что результирующая сумма является положительной . Итак, величина суммы равна 11 в десятичной системе счисления. Следовательно, сложение двух положительных чисел даст другое положительное число.

Пример 2

Давайте выполним сложение двух десятичных чисел -7 и -4, используя метод дополнения 2.

Представление дополнения 2 -7 и -4 с 5 битами показано ниже.

(−7) 10 = (11001) 2

(−4) 10 = (11100) 2

Сложение этих двух чисел

(−7) 10 + (−4) 10 = (11001) 2 + (11100) 2

⇒ (−7) 10 + (−4) 10 = (110101) 2 .

Результирующая сумма содержит 6 битов. В этом случае перенос получен из знакового бита. Итак, мы можем удалить это

Результирующая сумма после удаления переноса составляет (−7) 10 + (−4) 10 = (10101) 2 .

Знаковый бит «1» указывает, что результирующая сумма является отрицательной . Итак, взяв 2-е дополнение к нему, мы получим величину результирующей суммы как 11 в десятичной системе счисления. Следовательно, добавление двух отрицательных чисел даст другое отрицательное число.

Вычитание двух подписанных двоичных чисел

Рассмотрим два двоичных числа со знаком A и B, которые представлены в виде дополнения 2. Мы знаем, что 2 положительного числа дает отрицательное число. Таким образом, всякий раз, когда мы должны вычесть число B из числа A, затем взять 2 дополнения B и добавить его к A. Таким образом, математически мы можем записать это как

A - B = A + (дополнение 2 к B)

Точно так же, если мы должны вычесть число A из числа B, затем взять 2 дополнения A и добавить его к B. Таким образом, математически мы можем записать это как

B - A = B + (дополнение 2 к A)

Таким образом, вычитание двух двоичных чисел со знаком похоже на сложение двух двоичных чисел со знаком. Но мы должны взять 2-е дополнение числа, которое должно быть вычтено. Это преимущество техники дополнения 2. Следуйте, те же правила сложения двух знаковых двоичных чисел.

Пример 3

Давайте выполним вычитание двух десятичных чисел +7 и +4, используя метод дополнения 2.

Вычитание этих двух чисел

(+7) 10 - (+4) 10 = (+7) 10 + (−4) 10 .

Представление дополнения 2 по +7 и -4 с 5 битами показано ниже.

(+7) 10 = (00111) 2

(+4) 10 = (11100) 2

⇒ (+7) 10 + (+4) 10 = (00111) 2 + (11100) 2 = (00011) 2

Здесь перенос получен из знака бит. Итак, мы можем удалить это. Итоговая сумма после снятия переноса равна

(+7) 10 + (+4) 10 = (00011) 2

Знаковый бит «0» указывает, что результирующая сумма является положительной . Таким образом, его величина равна 3 в десятичной системе счисления. Следовательно, вычитание двух десятичных чисел +7 и +4 равно +3.

Пример 4

Давайте выполним вычитание двух десятичных чисел +4 и +7, используя метод дополнения 2.

Вычитание этих двух чисел

(+4) 10 - (+7) 10 = (+4) 10 + (−7) 10 .

Представление дополнения 2 +4 и -7 с 5 битами показано ниже.

(+4) 10 = (00100) 2

(-7) 10 = (11001) 2

⇒ (+4) 10 + (-7) 10 = (00100) 2 + (11001) 2 = (11101) 2

Здесь перенос не получается из знака бита. Знаковый бит «1» указывает, что результирующая сумма является отрицательной . Итак, взяв 2-е дополнение к нему, мы получим величину результирующей суммы как 3 в десятичной системе счисления. Следовательно, вычитание двух десятичных чисел +4 и +7 равно -3.

Цифровые схемы - коды

В кодировании, когда цифры или буквы представлены конкретной группой символов, говорят, что кодируется цифра или буква. Группа символов называется кодом . Цифровые данные представлены, сохранены и переданы в виде группы битов. Эта группа битов также называется двоичным кодом .

Двоичные коды можно классифицировать на два типа.

  • Взвешенные коды
  • Невзвешенные коды

Если код имеет позиционные веса, то он называется взвешенным кодом . В противном случае это невзвешенный код. Взвешенные коды могут быть далее классифицированы как положительно взвешенные коды и отрицательно взвешенные коды.

Двоичные коды для десятичных цифр

В следующей таблице показаны различные двоичные коды для десятичных цифр от 0 до 9.

Десятичная цифра Код 8421 Код 2421 84-2-1 Код Код превышения 3
0 0000 0000 0000 0011
1 0001 0001 0111 0100
2 0010 0010 0110 0101
3 0011 0011 0101 0110
4 0100 0100 0100 0111
5 0101 1011 1011 1000
6 0110 1100 1010 1001
7 0111 1101 1001 1010
8 1000 1110 1000 1011
9 1001 1111 1111 1100

У нас есть 10 цифр в десятичной системе счисления. Чтобы представить эти 10 цифр в двоичном виде, нам нужно минимум 4 бита. Но с 4 битами будет 16 уникальных комбинаций нулей и единиц. Поскольку у нас есть только 10 десятичных цифр, остальные 6 комбинаций нулей и единиц не требуются.

8 4 2 1 код

  • Веса этого кода 8, 4, 2 и 1.

  • Этот код имеет все положительные веса. Итак, это положительно взвешенный код .

  • Этот код также называется естественным BCD (двоично-десятичным) кодом .

пример

Давайте найдем BCD-эквивалент десятичного числа 786. Это число имеет 3 десятичных цифры 7, 8 и 6. Из таблицы можно записать коды BCD (8421) с номерами 7, 8 и 6: 0111, 1000 и 0110 соответственно ,

∴ (786) 10 = (011110000110) BCD

В представлении BCD 12 битов, поскольку каждый код BCD десятичной цифры имеет 4 бита.

2 4 2 1 код

  • Весами этого кода являются 2, 4, 2 и 1.

  • Этот код имеет все положительные веса. Итак, это положительно взвешенный код .

  • Это неестественный код BCD . Сумма весов неестественных кодов BCD равна 9.

  • Это самодополняющий код. Самопополняющие коды обеспечивают дополнение 9 к десятичному числу, просто чередуя 1 и 0 в его эквивалентном представлении 2421.

пример

Давайте найдем 2421 эквивалент десятичного числа 786. Это число имеет 3 десятичных числа 7, 8 и 6. Из таблицы мы можем записать 2421 кодов 7, 8 и 6: 1101, 1110 и 1100 соответственно.

Следовательно, 2421 эквивалент десятичного числа 786 равен 110111101100 .

8 4 -2 -1 код

  • Веса этого кода 8, 4, -2 и -1.

  • Этот код имеет отрицательные веса вместе с положительными весами. Итак, это отрицательно взвешенный код .

  • Это неестественный код BCD .

  • Это самодополняющий код.

пример

Давайте найдем 8 4-2-1 эквивалент десятичного числа 786. Это число имеет 3 десятичных числа 7, 8 и 6. Из таблицы мы можем написать 8 4 -2 -1 коды 7, 8 и 6 1001, 1000 и 1010 соответственно.

Следовательно, 8 4 -2 -1 эквивалент десятичного числа 786 равен 100110001010 .

Код превышения 3

  • Этот код не имеет весов. Итак, это невзвешенный код .

  • Мы получим код Excess 3 десятичного числа, добавив три (0011) к двоичному эквиваленту этого десятичного числа. Следовательно, это называется избыточным кодом 3.

  • Это самодополняющий код.

пример

Найдем эквивалент Excess 3 десятичного числа 786. Это число имеет 3 десятичных числа 7, 8 и 6. Из таблицы мы можем записать коды Excess 3 7, 8 и 6: 1010, 1011 и 1001 соответственно.

Таким образом, превышение 3 эквивалента десятичного числа 786 составляет 101010111001

Серый код

В следующей таблице показаны 4-битные коды Грея, соответствующие каждому 4-битному двоичному коду.

Десятичное число Бинарный код Серый код
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101
10 1010 1111
11 1011 1110
12 1100 1010
13 1101 1011
14 1110 1001
15 1111 1000
  • Этот код не имеет весов. Итак, это невзвешенный код .

  • В приведенной выше таблице последовательные коды Грея различаются только в одной позиции бита. Следовательно, этот код называется единичным кодом расстояния .

Преобразование двоичного кода в серый

Выполните следующие шаги для преобразования двоичного кода в его эквивалентный код Грея.

  • Рассмотрите данный двоичный код и поместите ноль слева от MSB.

  • Сравните два последовательных бита, начиная с нуля. Если 2 бита одинаковы, то выход равен нулю. В противном случае выход один.

  • Повторите вышеуказанный шаг, пока не получите LSB кода Грея.

пример

Из таблицы мы знаем, что код Грея, соответствующий двоичному коду 1000, равен 1100. Теперь давайте проверим его с помощью описанной выше процедуры.

Учитывая, двоичный код 1000.

Шаг 1 - поместив ноль слева от MSB, двоичный код будет 01000.

Шаг 2 - Сравнивая два последовательных бита нового двоичного кода, мы получим серый код как 1100 .

Коды обнаружения и исправления ошибок

Мы знаем, что биты 0 и 1 соответствуют двум разным диапазонам аналоговых напряжений. Таким образом, во время передачи двоичных данных из одной системы в другую, шум также может быть добавлен. В связи с этим возможны ошибки в полученных данных в другой системе.

Это означает, что бит 0 может измениться на 1 или бит 1 может измениться на 0. Мы не можем избежать помех от шума. Но мы можем сначала получить исходные данные, обнаружив, присутствуют ли какие-либо ошибки, а затем исправив эти ошибки. Для этой цели мы можем использовать следующие коды.

  • Коды обнаружения ошибок
  • Коды исправления ошибок

Коды обнаружения ошибок - используются для обнаружения ошибок, присутствующих в принятых данных (битовом потоке). Эти коды содержат некоторые биты, которые включены (добавлены) в исходный поток битов. Эти коды обнаруживают ошибку, если она произошла во время передачи исходных данных (потока битов). Пример - код четности, код Хэмминга.

Коды исправления ошибок - используются для исправления ошибок, присутствующих в полученных данных (битовом потоке), чтобы мы получили исходные данные. Коды исправления ошибок также используют аналогичную стратегию кодов обнаружения ошибок. Пример - код Хэмминга.

Поэтому, чтобы обнаружить и исправить ошибки, дополнительные биты добавляются к битам данных во время передачи.

Код паритета

Легко включить (добавить) один бит четности либо слева от MSB, либо справа от LSB исходного битового потока. Существует два типа кодов четности, а именно четный код четности и нечетный код четности, в зависимости от типа выбранной четности.

Четный код

Значение четного бита должно быть равно нулю, если в двоичном коде присутствует четное количество единиц. В противном случае он должен быть один. Таким образом, четное число единиц присутствует в четном коде четности . Четный код четности содержит биты данных и четный бит четности.

В следующей таблице показаны четные коды четности, соответствующие каждому 3-битному двоичному коду. Здесь бит четности включен справа от LSB двоичного кода.

Бинарный код Четный бит Четный код
000 0 0000
001 1 0011
010 1 0101
011 0 0110
100 1 1001
101 0 1010
110 0 1100
111 1 1111

Здесь число битов, присутствующих в четных кодах четности, равно 4. Таким образом, возможное четное число единиц в этих четных кодах четности равно 0, 2 и 4.

  • Если другая система получает один из этих четных кодов четности, то в полученных данных нет ошибок. Биты, отличные от четного бита, такие же, как у двоичного кода.

  • Если другая система получит коды, отличные от четных, то в полученных данных возникнет ошибка (и). В этом случае мы не можем предсказать исходный двоичный код, потому что мы не знаем битовую позицию (ы) ошибки.

Поэтому четный бит четности полезен только для обнаружения ошибки в принятом коде четности. Но недостаточно исправить ошибку.

Код нечетного паритета

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

В следующей таблице показаны нечетные коды четности, соответствующие каждому 3-битному двоичному коду. Здесь нечетный бит четности включен справа от LSB двоичного кода.

Бинарный код Нечетный бит четности Код нечетного паритета
000 1 0001
001 0 0010
010 0 0100
011 1 0111
100 0 1000
101 1 1011
110 1 1101
111 0 1110

Здесь число битов, присутствующих в нечетных кодах четности, равно 4. Таким образом, возможное нечетное число единиц в этих нечетных кодах четности равно 1 и 3.

  • Если другая система получает один из этих нечетных кодов четности, то в полученных данных нет ошибки. Биты, отличные от нечетного бита четности, совпадают с битами двоичного кода.

  • Если другая система получает не четные коды четности, то в полученных данных есть ошибка (и). В этом случае мы не можем предсказать исходный двоичный код, потому что мы не знаем битовую позицию (ы) ошибки.

Следовательно, нечетный бит четности полезен только для обнаружения ошибки в принятом коде четности. Но недостаточно исправить ошибку.

Код Хэмминга

Код Хэмминга полезен как для обнаружения, так и для исправления ошибок, присутствующих в полученных данных. Этот код использует несколько битов четности, и мы должны поместить эти биты четности в позиции степеней 2.

Минимальное значение 'k', для которого следующее соотношение является правильным (действительным), является не чем иным, как требуемым количеством битов четности.

$$ 2 ^ k \ geq n + k + 1 $$

Где,

«n» - количество бит в двоичном коде (информация)

'k' - количество бит четности

Следовательно, количество битов в коде Хэмминга равно n + k.

Пусть код Хэмминга равен $ b_ {n + k} b_ {n + k-1} ..... b_ {3} b_ {2} b_ {1} $ и битам четности $ p_ {k}, p_ {k -1}, .... p_ {1} $. Мы можем поместить биты четности 'k' только в степени 2 позиции. В оставшихся битовых позициях мы можем разместить n бит двоичного кода.

Исходя из требований, мы можем использовать четную или нечетную четность при формировании кода Хемминга. Но тот же метод контроля четности следует использовать для того, чтобы определить, присутствует ли какая-либо ошибка в полученных данных.

Выполните эту процедуру для поиска битов четности .

  • Найдите значение p 1 , основанное на количестве единиц, присутствующих в позициях битов b 3 , b 5 , b 7 и так далее. Все эти битовые позиции (суффиксы) в их эквивалентном двоичном файле имеют «1» в значении места 2 0 .

  • Найдите значение p 2 , основанное на количестве единиц, присутствующих в позициях битов b 3 , b 6 , b 7 и так далее. Все эти битовые позиции (суффиксы) в их эквивалентном двоичном файле имеют «1» в значении места 2 1 .

  • Найдите значение p 3 , основанное на количестве единиц, присутствующих в битовых позициях b 5 , b 6 , b 7 и так далее. Все эти битовые позиции (суффиксы) в их эквивалентном двоичном файле имеют «1» в значении места 2 2 .

  • Аналогичным образом найдите другие значения битов четности.

Выполните эту процедуру для поиска контрольных битов .

  • Найдите значение c 1 , основанное на количестве единиц, присутствующих в позициях битов b 1 , b 3 , b 5 , b 7 и так далее. Все эти битовые позиции (суффиксы) в их эквивалентном двоичном файле имеют «1» в значении места 2 0 .

  • Найдите значение c 2 , основанное на количестве единиц, присутствующих в позициях битов b 2 , b 3 , b 6 , b 7 и так далее. Все эти битовые позиции (суффиксы) в их эквивалентном двоичном файле имеют «1» в значении места 2 1 .

  • Найдите значение c 3 , основанное на количестве единиц, присутствующих в битовых позициях b 4 , b 5 , b 6 , b 7 и так далее. Все эти битовые позиции (суффиксы) в их эквивалентном двоичном файле имеют «1» в значении места 2 2 .

  • Аналогично найдите другие значения контрольных битов.

Десятичный эквивалент контрольных битов в полученных данных дает значение позиции бита, где присутствует ошибка. Просто добавьте значение, присутствующее в этой битовой позиции. Поэтому мы получим оригинальный двоичный код после удаления битов четности.

Пример 1

Найдем код Хемминга для двоичного кода: d 4 d 3 d 2 d 1 = 1000. Рассмотрим четные биты четности.

Количество битов в данном двоичном коде равно n = 4.

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

$$ 2 ^ k \ geq n + k + 1 $$

Подставим n = 4 в вышеприведенном математическом соотношении.

$$ \ Rightarrow 2 ^ k \ geq 4 + k + 1 $$

$$ \ Rightarrow 2 ^ k \ geq 5 + k $$

Минимальное значение k, удовлетворяющее указанному выше соотношению, равно 3. Следовательно, нам требуется 3 бита четности p 1 , p 2 и p 3 . Следовательно, число битов в коде Хэмминга будет равно 7, поскольку в двоичном коде 4 бита и 3 бита четности. Мы должны поместить биты четности и биты двоичного кода в код Хэмминга, как показано ниже.

7-битный код Хэмминга : $ b_ {7} b_ {6} b_ {5} b_ {4} b_ {3} b_ {2} b_ {1} = d_ {4} d_ {3} d_ {2} p_ {3} D_ {1} р- {2} bp_ {1} $

Подставляя биты двоичного кода, код Хэмминга будет иметь вид $ b_ {7} b_ {6} b_ {5} b_ {4} b_ {3} b_ {2} b_ {1} = 100p_ {3} Op_ {2 } p_ {1} $. Теперь давайте найдем биты четности.

$$ p_ {1} = b_ {7} \ oplus b_ {5} \ oplus b_ {3} = 1 \ oplus 0 \ oplus 0 = 1 $$

$$ p_ {2} = b_ {7} \ oplus b_ {6} \ oplus b_ {3} = 1 \ oplus 0 \ oplus 0 = 1 $$

$$ p_ {3} = b_ {7} \ oplus b_ {6} \ oplus b_ {5} = 1 \ oplus 0 \ oplus 0 = 1 $$

Подставляя эти биты четности, код Хэмминга будет $ b_ {7} b_ {6} b_ {5} b_ {4} b_ {3} b_ {2} b_ {1} = 1001011 $.

Пример 2

В приведенном выше примере мы получили код Хэмминга в виде $ b_ {7} b_ {6} b_ {5} b_ {4} b_ {3} b_ {2} b_ {1} = 1001011 $. Теперь давайте найдем позицию ошибки, когда полученный код равен $ b_ {7} b_ {6} b_ {5} b_ {4} b_ {3} b_ {2} b_ {1} = 1001111 $.

Теперь давайте найдем контрольные биты.

$$ c_ {1} = b_ {7} \ oplus b_ {5} \ oplus b_ {3} \ oplus b_ {1} = 1 \ oplus 0 \ oplus 1 \ oplus1 = 1 $$

$$ c_ {2} = b_ {7} \ oplus b_ {6} \ oplus b_ {3} \ oplus b_ {2} = 1 \ oplus 0 \ oplus 1 \ oplus1 = 1 $$

$$ c_ {3} = b_ {7} \ oplus b_ {6} \ oplus b_ {5} \ oplus b_ {4} = 1 \ oplus 0 \ oplus 0 \ oplus1 = 0 $$

Десятичное значение контрольных битов дает позицию ошибки в полученном коде Хэмминга.

$$ c_ {3} c_ {2} c_ {1} = \ left (011 \ right) _ {2} = \ left (3 \ right) _ {10} $$

Следовательно, ошибка присутствует в третьем бите (b 3 ) кода Хэмминга. Просто добавьте значение, присутствующее в этом бите, и удалите биты четности, чтобы получить исходный двоичный код.

Цифровые схемы - булева алгебра

Булева алгебра - это алгебра, которая имеет дело с двоичными числами и двоичными переменными. Следовательно, он также называется бинарной алгеброй или логической алгеброй. Математик по имени Джордж Буль разработал эту алгебру в 1854 году. Переменные, используемые в этой алгебре, также называются булевыми переменными.

Диапазон напряжений, соответствующий логике «Высокий», обозначен «1», а диапазон напряжений, соответствующий логике «Низкий», представлен «0».

Постулаты и основные законы булевой алгебры

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

Булевы постулаты

Рассмотрим двоичные числа 0 и 1, булеву переменную (x) и ее дополнение (x '). Булева переменная или ее дополнение называется литералом . Четыре возможных логических операции ИЛИ среди этих литералов и двоичных чисел показаны ниже.

х + 0 = х

х + 1 = 1

х + х = х

х + х '= 1

Точно так же четыре возможные логические операции И среди этих литералов и двоичных чисел показаны ниже.

х.1 = х

х.0 = 0

хх = х

x.x '= 0

Это простые булевы постулаты. Мы можем легко проверить эти постулаты, заменив логическую переменную на «0» или «1».

Примечание . Дополнение к любой булевой переменной равно самой переменной. т.е. (х ')' = х.

Основные законы булевой алгебры

Ниже приведены три основных закона булевой алгебры.

  • Коммутативное право
  • Ассоциативный закон
  • Распределительное право

Коммутативное право

Если любая логическая операция двух булевых переменных дает один и тот же результат независимо от порядка этих двух переменных, то эта логическая операция называется коммутативной . Логическое ИЛИ и логические И операции двух булевых переменных x & y показаны ниже

х + у = у + х

xy = yx

Символ «+» указывает на логическую операцию ИЛИ. Точно так же символ «.» указывает логическую операцию И, и это необязательно для представления. Коммутативное право подчиняется логическому ИЛИ, логическому И операциям.

Ассоциативное право

Если сначала выполняется логическая операция любых двух логических переменных, а затем выполняется та же самая операция с оставшейся переменной, которая дает тот же результат, то эта логическая операция называется ассоциативной . Логические операции ИЛИ и логические И трех булевых переменных x, y & z показаны ниже.

x + (y + z) = (x + y) + z

x. (yz) = (xy) .z

Ассоциативный закон подчиняется логическому ИЛИ и логическому И операциям.

Распределительный закон

Если какая-либо логическая операция может быть распространена на все термины, присутствующие в булевой функции, то эта логическая операция называется распределительной . Распределение логических ИЛИ и логических И операций трех булевых переменных x, y & z показано ниже.

х. (у + г) = ху + хз

x + (yz) = (x + y). (x + z)

Распределительный закон подчиняется логическому ИЛИ и логическому И операциям.

Это основные законы булевой алгебры. Мы можем легко проверить эти законы, подставив логические переменные в «0» или «1».

Теоремы булевой алгебры

Следующие две теоремы используются в булевой алгебре.

  • Теорема двойственности
  • Теорема Деморгана

Теорема двойственности

Эта теорема утверждает, что двойственность булевой функции получается путем замены логического оператора AND на логический оператор OR и нулей на единицу. Для каждой булевой функции будет соответствующая двойная функция.

Давайте сделаем булевы уравнения (отношения), которые мы обсуждали в разделе булевых постулатов и основных законов, на две группы. В следующей таблице показаны эти две группы.

Группа 1 Group2
х + 0 = х х.1 = х
х + 1 = 1 х.0 = 0
х + х = х хх = х
х + х '= 1 x.x '= 0
х + у = у + х xy = yx
x + (y + z) = (x + y) + z x. (yz) = (xy) .z
х. (у + г) = ху + хз x + (yz) = (x + y). (x + z)

В каждом ряду есть два булевых уравнения, и они двойственны друг другу. Мы можем проверить все эти булевы уравнения группы 1 и группы 2, используя теорему двойственности.

Теорема Деморгана

Эта теорема полезна для нахождения дополнения булевой функции . В нем говорится, что дополнение логического ИЛИ хотя бы двух булевых переменных равно логическому И каждой дополненной переменной.

Теорема Деморгана с 2 булевыми переменными x и y может быть представлена в виде

(x + y) '= x'.y'

Двойственная из вышеупомянутых булевых функций

(xy) '= x' + y '

Следовательно, дополнение логического И двух булевых переменных равно логическому ИЛИ каждой дополненной переменной. Точно так же мы можем применить теорему Деморгана для более чем 2 булевых переменных.

Упрощение булевых функций

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

Пример 1

Упростим булеву функцию: f = p'qr + pq'r + pqr '+ pqr

Мы можем упростить эту функцию двумя способами.

Способ 1

Для данной булевой функции f = p'qr + pq'r + pqr '+ pqr.

Шаг 1 - В первом и втором членах r является общим, а в третьем и четвертом членах pq является общим. Итак, примите общие термины, используя Распределительный закон .

⇒ f = (p'q + pq ') r + pq (r' + r)

Шаг 2 - Термины, представленные в первых скобках, можно упростить до операции Ex-OR. Термины, представленные во второй скобке, можно упростить до «1», используя булев постулат

⇒ f = (p ⊕q) r + pq (1)

Шаг 3 - Первый термин не может быть упрощен в дальнейшем. Но второй член можно упростить до pq, используя булев постулат .

⇒ f = (p ⊕q) r + pq

Следовательно, упрощенная булева функция имеет вид f = (p⊕q) r + pq

Способ 2

Для данной булевой функции f = p'qr + pq'r + pqr '+ pqr.

Шаг 1 - Используйте булев постулат , х + х = х. Это означает, что операция логического ИЛИ с любой логической переменной n раз будет равна той же самой переменной. Итак, мы можем написать последний член pqr еще два раза.

⇒ f = p'qr + pq'r + pqr '+ pqr + pqr + pqr

Шаг 2 - Используйте Распределительное право для 1- го и 4- го терминов, 2- го и 5- го терминов, 3- го и 6- го терминов.

⇒ f = qr (p '+ p) + pr (q' + q) + pq (r '+ r)

Шаг 3 - Используйте булев постулат , x + x '= 1 для упрощения терминов, присутствующих в каждой скобке.

⇒ f = qr (1) + pr (1) + pq (1)

Шаг 4 - Используйте булев постулат , x.1 = x для упрощения трех указанных выше терминов.

⇒ f = qr + pr + pq

⇒ f = pq + qr + pr

Следовательно, упрощенная булева функция имеет вид f = pq + qr + pr .

Итак, мы получили две разные булевы функции после упрощения данной булевой функции в каждом методе. Функционально эти две булевы функции одинаковы. Таким образом, исходя из требования, мы можем выбрать одну из этих двух булевых функций.

Пример 2

Найдем дополнение к булевой функции f = p'q + pq '.

Дополнением к булевой функции является f '= (p'q + pq') '.

Шаг 1 - Используйте теорему Деморгана, (x + y) '= x'.y'.

⇒ f '= (p'q)'. (Pq ')'

Шаг 2 - Используйте теорему Деморгана, (xy) '= x' + y '

⇒ f '= {(p') '+ q'}. {P '+ (q') '}

Шаг 3 - Используйте булев постулат, (x ')' = x.

⇒ f '= {p + q'}. {P '+ q}

⇒ f '= pp' + pq + p'q '+ qq'

Шаг 4 - Используйте булев постулат, xx '= 0.

⇒ f = 0 + pq + p'q '+ 0

⇒ f = pq + p'q '

Следовательно, дополнение к булевой функции p'q + pq 'равно pq + p'q' .

Цифровые схемы - канонические и стандартные формы

Мы получим четыре термина булевых произведений, объединив две переменные x и y с логической операцией AND. Эти булевы условия продукта называются минимальными условиями или стандартными условиями продукта . Минимальные термины: x'y ', x'y, xy' и xy.

Аналогично, мы получим четыре члена с булевой суммой, объединив две переменные x и y с логической операцией ИЛИ. Эти слагаемые логической суммы называются слагаемыми Max или слагаемыми стандартной суммы . Максимальные члены: x + y, x + y ', x' + y и x '+ y'.

В следующей таблице показано представление минимальных и максимальных терминов для 2 переменных.

Икс Y Мин условия Макс условия
0 0 m 0 = x'y ' М 0 = х + у
0 1 m 1 = x'y М 1 = х + у '
1 0 м 2 = ху ' М 2 = х '+ у
1 1 м 3 = ху М 3 = х '+ у'

Если двоичная переменная равна '0', то она представляется как дополнение переменной в минимальный срок и как сама переменная в максимальный срок. Точно так же, если двоичная переменная равна '1', то она представляется как дополнение переменной в термине Max и как сама переменная в минимальном члене.

Из приведенной выше таблицы легко заметить, что минимальные термины и максимальные термины являются дополнением друг друга. Если есть 'n' булевых переменных, то будет 2 n min слагаемых и 2 n Max слагаемых.

Канонические формы SoP и PoS

Таблица истинности состоит из набора входных и выходных данных. Если есть n входных переменных, то будет 2 n возможных комбинаций с нулями и единицами. Таким образом, значение каждой выходной переменной зависит от комбинации входных переменных. Таким образом, каждая выходная переменная будет иметь «1» для некоторой комбинации входных переменных и «0» для некоторой другой комбинации входных переменных.

Следовательно, мы можем выразить каждую выходную переменную следующими двумя способами.

  • Каноническая форма SoP
  • Каноническая форма PoS

Каноническая форма SoP

Форма Canonical SoP означает форму Canonical Sum of Products. В этой форме каждый термин продукта содержит все литералы. Таким образом, эти условия продукта являются ничем иным, как минимальными условиями. Следовательно, каноническая форма SoP также называется суммой формы минимальных членов .

Сначала определите минимальные условия, для которых выходная переменная равна единице, а затем выполните логическое ИЛИ этих минимальных условий, чтобы получить логическое выражение (функцию), соответствующее этой выходной переменной. Эта булева функция будет в форме суммы минимальных членов.

Выполните ту же процедуру и для других выходных переменных, если существует более одной выходной переменной.

пример

Рассмотрим следующую таблицу истинности .

входные Выход
п Q р е
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 1

Здесь выход (f) равен «1» для четырех комбинаций входов. Соответствующие минимальные члены представляют собой p'qr, pq'r, pqr ', pqr. Выполнив логическое ИЛИ из этих четырех минимальных членов, мы получим булеву функцию выхода (f).

Следовательно, булева функция вывода имеет вид: f = p'qr + pq'r + pqr '+ pqr. Это каноническая форма вывода SoP , f. Мы также можем представить эту функцию в следующих двух обозначениях.

$$ f = m_ {3} + m_ {5} + m_ {6} + m_ {7} $$

$$ f = \ sum m \ left (3,5,6,7 \ right) $$

В одном уравнении мы представили функцию в виде суммы соответствующих минимальных членов. В другом уравнении мы использовали символ для суммирования этих минимальных членов.

Каноническая форма PoS

Форма Canonical PoS означает форму Canonical Product of Sums. В этой форме каждый член суммы содержит все литералы. Таким образом, эти суммы сумм - это не что иное, как условия Макса. Следовательно, каноническая форма PoS также называется произведением формы Макса .

Сначала определите термины Max, для которых выходная переменная равна нулю, а затем выполните логическое И этих терминов Max, чтобы получить логическое выражение (функцию), соответствующее этой выходной переменной. Эта булева функция будет в форме произведения членов Макса.

Выполните ту же процедуру и для других выходных переменных, если существует более одной выходной переменной.

пример

Рассмотрим ту же таблицу истинности предыдущего примера. Здесь выход (f) равен 0 для четырех комбинаций входов. Соответствующие слагаемые Макса: p + q + r, p + q + r ', p + q' + r, p '+ q + r. Выполняя логическое И из этих четырех слагаемых Макса, мы получим булеву функцию выхода (f).

Следовательно, булева функция выхода равна f = (p + q + r). (P + q + r '). (P + q' + r). (P '+ q + r). Это каноническая форма вывода PoS , f. Мы также можем представить эту функцию в следующих двух обозначениях.

$$ F = M_ {0} .M_ {1} .M_ {2} .M_ {4} $$

$$ f = \ prod M \ left (0,1,2,4 \ right) $$

В одном уравнении мы представили функцию как произведение соответствующих членов Макса. В другом уравнении мы использовали символ для умножения этих терминов Макс.

Булева функция, f = (p + q + r). (P + q + r '). (P + q' + r). (P '+ q + r) является двойственной к булевой функции, f = p'qr + pq'r + pqr '+ pqr.

Следовательно, и каноническая форма SoP, и каноническая форма PoS являются двойственными по отношению друг к другу. Функционально эти две формы одинаковы. Исходя из требования, мы можем использовать одну из этих двух форм.

Стандартные формы SoP и PoS

Мы обсудили две канонические формы представления булевых выходных данных. Точно так же есть две стандартные формы представления логических выходных данных. Это упрощенная версия канонических форм.

  • Стандартная форма SoP
  • Стандартная форма PoS

Мы обсудим логические элементы в следующих главах. Основным преимуществом стандартных форм является то, что количество входов, применяемых к логическим элементам, можно минимизировать. Иногда будет происходить уменьшение общего количества необходимых логических элементов.

Стандартная форма SoP

Стандартная форма SoP означает стандартную форму суммы продуктов . В этой форме каждый термин продукта не обязательно должен содержать все литералы. Таким образом, условия продукта могут быть или не быть минимальными условиями. Поэтому стандартная форма SoP является упрощенной формой канонической формы SoP.

Мы получим стандартную форму SoP выходной переменной в два этапа.

  • Получить каноническую форму выходной переменной SoP
  • Упростите вышеупомянутую логическую функцию, которая находится в канонической форме SoP.

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

пример

Преобразуйте следующую булеву функцию в стандартную форму SoP.

f = p'qr + pq'r + pqr '+ pqr

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

Шаг 1 - Используйте булев постулат , х + х = х. Это означает, что операция логического ИЛИ с любой логической переменной n раз будет равна той же самой переменной. Итак, мы можем написать последний член pqr еще два раза.

⇒ f = p'qr + pq'r + pqr '+ pqr + pqr + pqr

Шаг 2 - Используйте Распределительное право для 1- го и 4- го терминов, 2- го и 5- го терминов, 3- го и 6- го терминов.

⇒ f = qr (p '+ p) + pr (q' + q) + pq (r '+ r)

Шаг 3 - Используйте булев постулат , x + x '= 1 для упрощения терминов, присутствующих в каждой скобке.

⇒ f = qr (1) + pr (1) + pq (1)

Шаг 4 - Используйте булев постулат , x.1 = x для упрощения вышеуказанных трех терминов.

⇒ f = qr + pr + pq

⇒ f = pq + qr + pr

Это упрощенная булева функция. Следовательно, стандартной формой SoP, соответствующей данной канонической форме SoP, является f = pq + qr + pr

Стандартная форма PoS

Стандартная форма PoS означает стандартную форму Суммы . В этой форме каждый член суммы не обязательно должен содержать все литералы. Таким образом, условия суммы могут быть или не быть условиями Макса. Следовательно, стандартная форма PoS является упрощенной формой канонической формы PoS.

Мы получим стандартную форму PoS выходной переменной в два этапа.

  • Получить каноническую форму PoS выходной переменной
  • Упростите вышеупомянутую булеву функцию, которая находится в канонической форме PoS.

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

пример

Преобразуйте следующую булеву функцию в стандартную форму PoS.

f = (p + q + r). (p + q + r '). (p + q' + r). (p '+ q + r)

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

Шаг 1 - Используйте булев постулат , хх = х. Это означает, что операция логического И с любой логической переменной n раз будет равна одной и той же переменной. Итак, мы можем записать первый член p + q + r еще два раза.

⇒ f = (p + q + r). (P + q + r). (P + q + r). (P + q + r '). (P + q' + r). (P '+ q) + г)

Шаг 2 - Используйте закон распределения, x + (yz) = (x + y). (X + z) для 1- й и 4- й скобок, 2- й и 5- й скобок, 3- й и 6- й скобок.

⇒ f = (p + q + rr '). (P + r + qq'). (Q + r + pp ')

Шаг 3 - Используйте булев постулат , x.x '= 0 для упрощения терминов, присутствующих в каждой скобке.

⇒ f = (p + q + 0). (P + r + 0). (Q + r + 0)

Шаг 4 - Используйте булев постулат , x + 0 = x для упрощения терминов, присутствующих в каждой скобке

⇒ f = (p + q). (P + r). (Q + r)

⇒ f = (p + q). (Q + r). (P + r)

Это упрощенная булева функция. Следовательно, стандартной формой PoS, соответствующей данной канонической форме PoS, является f = (p + q). (Q + r). (P + r) . Это двойственный элемент булевой функции, f = pq + qr + pr.

Следовательно, стандартные формы SoP и стандартные формы PoS являются двойственными по отношению друг к другу.

Цифровые схемы - метод K-Map

В предыдущих главах мы упростили булевы функции, используя булевы постулаты и теоремы. Это трудоемкий процесс, и мы должны переписывать упрощенные выражения после каждого шага.

Чтобы преодолеть эту трудность, Карно ввел метод упрощения булевых функций простым способом. Этот метод известен как метод карты Карно или метод K-карты. Это графический метод, который состоит из 2 n ячеек для 'n' переменных. Соседние ячейки отличаются только позицией одного бита.

K-Maps для 2-5 переменных

Метод K-Map наиболее подходит для минимизации булевых функций от 2 переменных до 5 переменных. Теперь давайте поговорим о K-Maps для 2-5 переменных одна за другой.

2 Переменная K-Map

Количество ячеек в 2-х переменных K-map равно четырем, поскольку количество переменных равно двум. На следующем рисунке показаны 2 переменные K-Map .

2 Переменная K-Map
  • Существует только одна возможность группировки 4 смежных минимальных терминов.

  • Возможные комбинации группировки 2 смежных минимальных терминов: {(m 0 , m 1 ), (m 2 , m 3 ), (m 0 , m 2 ) и (m 1 , m 3 )}.

3 Переменная K-Map

Количество ячеек в 3-х переменных K-map равно восьми, поскольку количество переменных равно трем. На следующем рисунке показаны 3 переменных K-Map .

3 Переменная K-Map
  • Существует только одна возможность группировки 8 смежных минимальных терминов.

  • Возможные комбинации группировки 4 смежных минимальных терминов: {(m 0 , m 1 , m 3 , m 2 ), (m 4 , m 5 , m 7 , m 6 ), (m 0 , m 1 , m 4 , m 5 ), (м 1 , м 3 , м 5 , м 7 ), (м 3 , м 2 , м 7 , м 6 ) и (м 2 , м 0 , м 6 , м 4 )}.

  • Возможные комбинации группировки 2 смежных минимальных терминов: {(m 0 , m 1 ), (m 1 , m 3 ), (m 3 , m 2 ), (m 2 , m 0 ), (m 4 , m 5 ) , (м 5 , м 7 ), (м 7 , м 6 ), (м 6 , м 4 ), (м 0 , м 4 ), (м 1 , м 5 ), (м 3 , м 7 ) и ( м 2 , м 6 )}.

  • Если x = 0, то 3-х переменная K-карта становится 2-х переменной K-map.

4 переменная K-карта

Количество ячеек в 4-х переменных K-map равно шестнадцати, поскольку количество переменных равно четырем. На следующем рисунке показана 4 переменная K-Map .

  • Существует только одна возможность группировки 16 смежных минимальных терминов.

  • Пусть R 1 , R 2 , R 3 и R 4 представляют минимальные члены первого ряда, второго ряда, третьего ряда и четвертого ряда соответственно. Аналогично, C 1 , C 2 , C 3 и C 4 представляют минимальные термины первого столбца, второго столбца, третьего столбца и четвертого столбца соответственно. Возможные комбинации группировки 8 смежных минимальных терминов: {(R 1 , R 2 ), (R 2 , R 3 ), (R 3 , R 4 ), (R 4 , R 1 ), (C 1 , C 2 ) , (C 2 , C 3 ), (C 3 , C 4 ), (C 4 , C 1 )}.

  • Если w = 0, то 4-х переменная K-карта становится 3-х переменной K-map.

5 переменных K-Map

Количество ячеек в 5-переменной переменной K-map равно тридцати двум, поскольку количество переменных равно 5. На следующем рисунке показана 5-переменная K-Map .

5 переменных K-Map
  • Существует только одна возможность группировки 32 смежных минимальных терминов.

  • Существует две возможности группировки 16 смежных минимальных терминов. то есть группировка минимальных членов от m 0 до m 15 и от m 16 до m 31 .

  • Если v = 0, то 5 переменных K-map становятся 4 переменными K-map.

В вышеупомянутых всех K-картах мы использовали исключительно обозначение минимальных терминов. Точно так же вы можете использовать исключительно обозначение Макс. Терминов.

Минимизация булевых функций с использованием K-Maps

Если мы рассмотрим комбинацию входных данных, для которых булева функция равна '1', то мы получим булеву функцию, которая находится в стандартной сумме форм продуктов после упрощения K-карты.

Точно так же, если мы рассмотрим комбинацию входов, для которых булева функция равна '0', то мы получим булеву функцию, которая находится в стандартном произведении формы сумм после упрощения K-карты.

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

  • Выберите соответствующую K-карту на основе количества переменных, присутствующих в булевой функции.

  • Если булева функция задана в виде суммы минимальных членов, поместите их в соответствующие ячейки минимальных членов на K-карте. Если булева функция задана в виде суммы продуктов, поместите их во все возможные ячейки K-карты, для которых действительны данные условия продукта.

  • Проверьте возможности группировки максимального количества соседних. Это должно быть полномочия двух. Начните с максимальной степени двух и до минимальной степени двух. Наибольшая мощность равна числу переменных, рассматриваемых в K-карте, а наименьшая мощность равна нулю.

  • Каждая группа будет давать буквальный или один товарный термин. Это известно как главный импликант . Первичный импликант называется существенным первичным импликантом , если хотя бы один «1» не покрывается какими-либо другими группировками, а охватывает только эта группировка.

  • Запишите все основные и важные основные факторы. Упрощенная булева функция содержит все основные простые импликанты и только необходимые простые импликанты.

Примечание 1 - Если выходы не определены для некоторой комбинации входов, то эти выходные значения будут представлены символом «x» . Это означает, что мы можем рассматривать их как «0» или «1».

Примечание 2 - Если не нужны термины, присутствующие также, тогда не обращайте внимания на 'x' в соответствующих ячейках K-карты. Рассмотрим только те «x», которые не важны для группирования максимального числа соседних. В этих случаях рассматривайте значение «все равно» как «1».

пример

Упростим следующую булеву функцию f (W, X, Y, Z) = WX'Y '+ WY + W'YZ', используя K-map.

Данная булева функция находится в виде суммы произведений. Он имеет 4 переменные W, X, Y и Z. Итак, нам требуется 4 переменных K-map . K-карта с четырьмя переменными , соответствующая заданным условиям продукта, показана на следующем рисунке.

Пример минимизации

Здесь 1s помещены в следующие ячейки K-карты.

  • Ячейки, которые являются общими для пересечения строки 4 и столбцов 1 и 2, соответствуют термину продукта WX'Y ' .

  • Ячейки, которые являются общими для пересечения строк 3 и 4 и столбцов 3 и 4, соответствуют термину продукта WY .

  • Ячейки, которые являются общими для пересечения строк 1 и 2 и столбца 4, соответствуют термину продукта W'YZ ' .

Нет возможности сгруппировать 16 соседних или 8 соседних. Есть три возможности группировки 4 смежных. После этих трех группировок не останется ни одной группы. Таким образом, нам не нужно проверять для группировки 2 смежных. K-карта с четырьмя переменными с этими тремя группировками показана на следующем рисунке.

Три группировки

Здесь мы получили три основных импликанта WX ', WY & YZ'. Все эти основные факторы важны по следующим причинам.

  • Два из них (m 8 и m 9 ) из группы четвертого ряда не охватываются никакими другими группами. Только четвертая группа строк охватывает эти два.

  • Одиночная 15 ) группа квадратной формы не охватывается никакими другими группами. Только группа квадратной формы покрывает это.

  • Два (m 2 & m 6 ) четвертой группы столбцов не охватываются никакими другими группами. Только четвертая группа столбцов охватывает эти два.

Следовательно, упрощенная булева функция

f = WX '+ WY + YZ'

Следуйте этим правилам для упрощения K-карт , чтобы получить стандартное произведение суммы форм.

  • Выберите соответствующую K-карту на основе количества переменных, присутствующих в булевой функции.

  • Если булева функция задана как произведение формы максимальных членов, поместите нули в соответствующие ячейки максимальных членов на K-карте. Если булева функция задана как произведение суммы суммы, то поместите нули во все возможные ячейки K-карты, для которых действительны заданные суммы сумм.

  • Проверьте возможности группировки максимального количества соседних нулей. Это должно быть полномочия двух. Начните с максимальной степени двух и до минимальной степени двух. Наибольшая мощность равна числу переменных, рассматриваемых в K-карте, а наименьшая мощность равна нулю.

  • Каждая группировка будет давать буквальное или однозначное выражение. Это известно как главный импликант . Первичный импликант называется существенным первичным импликантом , если хотя бы один «0» не покрывается какими-либо другими группировками, а охватывает только эта группировка.

  • Запишите все основные и важные основные факторы. Упрощенная булева функция содержит все основные простые импликанты и только необходимые простые импликанты.

Примечание. Если не имеют значения термины, присутствующие, тогда не обращайте внимания на 'x' в соответствующих ячейках K-карты. Рассмотрим только те значения x, которые полезны для группировки максимального количества смежных нулей. В этих случаях обрабатывайте значение «все равно» как «0».

пример

Упростим следующую булеву функцию: $ f \ left (X, Y, Z \ right) = \ prod M \ left (0,1,2,4 \ right) $, используя K-map.

Данная булева функция находится в произведении формы Макса. Он имеет 3 переменные X, Y & Z. Итак, нам требуется 3 переменных K-map. Данные условия Max: M 0 , M 1 , M 2 и M 4 . 3- переменная K-карта с нулями, соответствующими заданным условиям Max, показана на следующем рисунке.

Главные Импликанты

Нет возможности сгруппировать 8 смежных нулей или 4 смежных нуля. Существует три возможности группировки 2 смежных нулей. После этих трех группировок не остается ни одного нулевого значения как несгруппированного. K-карта с тремя переменными с этими тремя группировками показана на следующем рисунке.

разгруппированы

Здесь мы получили три простых импликанта X + Y, Y + Z и Z + X. Все эти простые импликанты существенны, потому что один ноль в каждой группировке не охватывается никакими другими группировками, кроме их отдельных группировок.

Следовательно, упрощенная булева функция

f = (X + Y). (Y + Z). (Z + X)

Таким образом, мы можем легко упростить булевы функции до 5 переменных, используя метод K-map. Для более чем 5 переменных сложно упростить функции с помощью K-Maps. Потому что количество ячеек в K-карте удваивается за счет включения новой переменной.

Вследствие этого проверка и группировка смежных (минимальные условия) или смежных нулей (максимальные условия) будут затруднены. Мы обсудим метод Tabular в следующей главе, чтобы преодолеть трудности метода K-map.

Табличный метод Куайна-МакКласки

В предыдущей главе мы обсуждали метод K-map, который является удобным методом минимизации булевых функций до 5 переменных. Но с помощью этого метода сложно упростить булевы функции, имеющие более 5 переменных.

Табличный метод Куайна-МакКлюки - это табличный метод, основанный на концепции простых импликантов. Мы знаем, что главный импликант является продуктом (или суммой) слагаемым, которое не может быть дополнительно уменьшено путем объединения с любым другим продуктом (или суммой) слагаемых данной булевой функции.

Этот табличный метод полезен для получения простых импликантов путем многократного использования следующего логического тождества.

xy + xy '= x (y + y') = x.1 = x

Процедура табличного метода Куайна-МакКласки

Выполните следующие шаги для упрощения булевых функций с помощью табличного метода Куайна-МакКлюки.

Шаг 1 - Расположите заданные минимальные слагаемые в порядке возрастания и создайте группы на основе числа элементов, присутствующих в их двоичных представлениях. Таким образом, будет не более «n + 1» групп, если в булевой функции есть «n» булевых переменных или «n» битов в двоичном эквиваленте min членов.

Шаг 2 - Сравните минимальные термины, присутствующие в последовательных группах . Если есть изменение только в однобитовой позиции, возьмите пару из этих двух минимальных членов. Поместите этот символ '_' в отличающуюся битовую позицию и оставьте оставшиеся биты как есть.

Шаг 3 - Повторите шаг 2 с вновь сформированными терминами, пока мы не получим все основные импликанты .

Шаг 4 - Сформулируйте таблицу основных импликантов . Он состоит из множества строк и столбцов. Первичные импликанты могут быть размещены в строке, а минимальные - в столбце. Поместите «1» в ячейки, соответствующие минимальным терминам, которые охватываются каждым основным импликантом.

Шаг 5 - Найти основные простые импликанты, наблюдая за каждым столбцом. Если минимальный член покрывается только одним основным импликантом, то он является существенным основным импликантом . Эти основные простые импликанты будут частью упрощенной булевой функции.

Шаг 6 - Уменьшите таблицу первичных импликантов, удалив строки каждого существенного первичного импликанта и столбцы, соответствующие минимальным терминам, которые охватываются этим существенным первичным импликантом. Повторите шаг 5 для таблицы Сокращенный главный импликант. Остановите этот процесс, когда все минимальные члены данной булевой функции закончатся.

пример

Упростим следующую булеву функцию $ f \ left (W, X, Y, Z \ right) = \ sum m \ left (2,6,8,9,10,11,14,15 \ right) $, используя Табличный метод Куайна-МакКлюки.

Данная булева функция имеет вид суммы минимальных членов . Он имеет 4 переменные W, X, Y и Z. Заданные минимальные слагаемые равны 2, 6, 8, 9, 10, 11, 14 и 15. Порядок возрастания этих минимальных слагаемых основан на количестве присутствующих в их двоичный эквивалент равен 2, 8, 6, 9, 10, 11, 14 и 15. В следующей таблице приведены эти минимальные члены и их эквивалентные двоичные представления.

Имя группы Мин условия W Икс Y Z
GA1 2 0 0 1 0
8 1 0 0 0
GA2 6 0 1 1 0
9 1 0 0 1
10 1 0 1 0
GA3 11 1 0 1 1
14 1 1 1 0
GA4 15 1 1 1 1

Указанные минимальные слагаемые разбиты на 4 группы в зависимости от количества единиц, присутствующих в их двоичных эквивалентах. В следующей таблице показано возможное объединение минимальных терминов из соседних групп.

Имя группы Мин условия W Икс Y Z
GB1 2,6 0 - 1 0
2,10 - 0 1 0
8,9 1 0 0 -
8,10 1 0 - 0
ГБ2 6,14 - 1 1 0
9,11 1 0 - 1
10,11 1 0 1 -
10,14 1 - 1 0
GB3 11,15 1 - 1 1
14,15 1 1 1 -

Термины min, которые отличаются только однобитовой позицией от смежных групп, объединяются. Этот отличающийся бит представлен этим символом '-'. В этом случае есть три группы, и каждая группа содержит комбинации двух минимальных членов. В следующей таблице показано возможное объединение пар минимальных членов из соседних групп.

Имя группы Мин условия W Икс Y Z
GB1 2,6,10,14 - - 1 0
2,10,6,14 - - 1 0
8,9,10,11 1 0 - -
8,10,9,11 1 0 - -
ГБ2 10,11,14,15 1 - 1 -
10,14,11,15 1 - 1 -

Последовательные группы пар минимальных членов, которые отличаются только однобитовой позицией, объединяются. Этот отличающийся бит представлен этим символом '-'. В этом случае есть две группы, и каждая группа содержит комбинации из четырех минимальных членов. Здесь эти комбинации 4-минутных терминов доступны в двух строках. Итак, мы можем удалить повторяющиеся строки. Сокращенная таблица после удаления лишних строк показана ниже.

Имя группы Мин условия W Икс Y Z
GC1 2,6,10,14 - - 1 0
8,9,10,11 1 0 - -
GC2 10,11,14,15 1 - 1 -

Дальнейшее объединение комбинаций минимальных членов из смежных групп невозможно, так как они отличаются более чем одним битом. В приведенной выше таблице есть три строки. Таким образом, каждый ряд даст один главный импликант. Следовательно, основными импликантами являются YZ ', WX' & WY.

Таблица основных значений приведена ниже.

Мин условия / премьер Implicants 2 6 8 9 10 11 14 15
YZ» 1 1 1 1
WX» 1 1 1 1
Вайоминг 1 1 1 1

Основные импликанты располагаются в строке, а минимальные - в колонке. 1 помещаются в общие ячейки строк простого импликанта и соответствующие столбцы минимального члена.

Минимальные слагаемые 2 и 6 охватываются только одним главным импликантом YZ ' . Таким образом, это важный главный импликант . Это будет частью упрощенной логической функции. Теперь удалите эту строку главного импликанта и соответствующие столбцы минимального члена. Таблица приведенных основных значений приведена ниже.

Мин условия / премьер Implicants 8 9 11 15
WX» 1 1 1
Вайоминг 1 1

Минимальные условия 8 и 9 охватываются только одним главным имплицитным WX ' . Таким образом, это важный главный импликант . Это будет частью упрощенной логической функции. Теперь удалите эту строку главного импликанта и соответствующие столбцы минимального члена. Таблица приведенных основных значений приведена ниже.

Мин условия / премьер Implicants 15
Вайоминг 1

Минимальный срок 15 покрывается только одним главным имплицитным WY . Таким образом, это важный главный импликант . Это будет частью упрощенной логической функции.

В этом примере задачи у нас есть три основных импликанта, и все три являются существенными. Следовательно, упрощенная булева функция

f (W, X, Y, Z) = YZ '+ WX' + WY.

Цифровые схемы - логические элементы

Цифровые электронные схемы работают с напряжениями двух логических уровней, а именно Logic Low и Logic High. Диапазон напряжений, соответствующий низкому логическому уровню, обозначен как «0». Точно так же диапазон напряжений, соответствующий логическому максимуму, обозначен как «1».

Базовая цифровая электронная схема, которая имеет один или несколько входов и один выход, называется логическим вентилем . Следовательно, логические элементы являются строительными блоками любой цифровой системы. Мы можем классифицировать эти логические элементы в следующие три категории.

  • Основные ворота
  • Универсальные ворота
  • Специальные ворота

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

Основные ворота

В предыдущих главах мы узнали, что булевы функции могут быть представлены либо в форме суммы произведений, либо в форме произведения сумм в зависимости от требования. Таким образом, мы можем реализовать эти булевы функции, используя базовые элементы. Основными воротами являются И, ИЛИ И НЕ ворота.

И ворота

Логический элемент И представляет собой цифровую схему, которая имеет два или более входов и производит выход, который является логическим И всех этих входов. Логическое И необязательно представлять символом «.».

В следующей таблице показана таблица истинности 2-входного логического элемента И

В Y = AB
0 0 0
0 1 0
1 0 0
1 1 1

Здесь A, B - входы, а Y - выход двух входных И логических элементов. Если оба входа «1», то только выход, Y «1». Для остальных комбинаций входов выход Y равен 0.

На следующем рисунке показан символ логического элемента AND, который имеет два входа A, B и один выход Y.

И ворота

Этот логический элемент И производит выход (Y), который является логическим И двух входов А, В. Аналогично, если есть 'n' входов, то логический элемент И производит выход, который является логическим И всех этих входов. Это означает, что выход логического элемента AND будет равен «1», когда все входы равны «1».

ИЛИ ворота

Логический элемент ИЛИ - это цифровая схема, имеющая два или более входов и создающая выход, который является логическим ИЛИ всех этих входов. Это логическое ИЛИ обозначается символом «+».

Следующая таблица показывает таблицу истинности 2-входного ИЛИ вентиля.

В Y = A + B
0 0 0
0 1 1
1 0 1
1 1 1

Здесь A, B - входы, а Y - выход двух входных логических элементов ИЛИ. Если оба входа - «0», то только выход, Y - «0». Для остальных комбинаций входов выход Y равен «1».

На следующем рисунке показан символ логического элемента ИЛИ, который имеет два входа A, B и один выход Y.

Или ворота

Этот логический элемент ИЛИ выдает выход (Y), который является логическим ИЛИ двух входов A, B. Аналогично, если имеется 'n' входов, то вентиль ИЛИ генерирует выход, который является логическим ИЛИ всех этих входов. Это означает, что выход логического элемента ИЛИ будет равен «1», когда хотя бы один из этих входов равен «1».

НЕ ворота

Логический элемент NOT - это цифровая схема с одним входом и одним выходом. Выход NOT gate является логической инверсией входа. Следовательно, вентиль НЕ также называется инвертором.

В следующей таблице показана таблица истинности NOT gate.

Y = A '
0 1
1 0

Здесь A и Y - вход и выход элемента НЕ соответственно. Если вход A равен 0, тогда выход Y равен 1. Аналогично, если вход A равен 1, то выход Y равен 0.

На следующем рисунке показан символ НЕ, который имеет один вход A и один выход Y.

Не ворота

Этот НЕ вентиль производит вывод (Y), который является дополнением ввода, A.

Универсальные ворота

Ворота NAND & NOR называются универсальными воротами . Потому что мы можем реализовать любую булеву функцию, которая находится в виде суммы продуктов, используя только вентили NAND. Точно так же мы можем реализовать любую булеву функцию, которая находится в виде суммы сумм, используя только вентили NOR.

NAND ворота

NAND gate - это цифровая схема, которая имеет два или более входов и производит выход, который является инверсией логического И всех этих входов.

Следующая таблица показывает таблицу истинности 2-входного вентиля NAND.

В Y = (AB) '
0 0 1
0 1 1
1 0 1
1 1 0

Здесь A, B - входы, а Y - выход двух входных вентилей NAND. Когда оба входа равны 1, выход Y равен 0. Если хотя бы один из входов равен нулю, тогда выход Y равен «1». Это прямо противоположно тому из двух операций ввода-вывода.

На следующем рисунке показан символ логического элемента NAND, который имеет два входа A, B и один выход Y.

NAND Gate

Работа шлюза NAND такая же, как и у шлюза AND, за которым следует инвертор. Вот почему символ ворот NAND представлен так.

NOR ворота

NOR gate - это цифровая схема, которая имеет два или более входов и производит выход, который является инверсией логического ИЛИ всех этих входов.

В следующей таблице показана таблица истинности 2-входного вентиля NOR

В Y = (A + B) '
0 0 1
0 1 0
1 0 0
1 1 0

Здесь A, B - входы, а Y - выход. Если оба входа равны 0, то выход Y равен 1. Если хотя бы один из входных данных равен «1», то выходным значением является «0». Это прямо противоположно таковому для двух входных ИЛИ стробирующих операций.

На следующем рисунке показан символ логического элемента NOR, который имеет два входа A, B и один выход Y.

NOR Gate

Работа шлюза NOR такая же, как и у шлюза OR, за которым следует инвертор. Вот почему символ ворот NOR представлен так.

Специальные ворота

Ворота EX-OR & Ex-NOR называются специальными воротами. Потому что эти два входа - это особые случаи ворот ИЛИ ИЛИ НЕ.

Бывшие ворота

Полная форма ворот Ex-OR - это ворота Exclusive-OR . Его функция такая же, как у логического элемента ИЛИ, за исключением некоторых случаев, когда входы имеют четное число единиц.

В следующей таблице показана таблица истинности 2-входного вентиля Ex-OR.

В Y = A⊕B
0 0 0
0 1 1
1 0 1
1 1 0

Здесь A, B - входы, а Y - выход двух входных шлюзов Ex-OR. Таблица истинности для шлюза Ex-OR такая же, как и для таблицы OR для первых трех строк. Единственная модификация находится в четвертом ряду. Это означает, что выход (Y) равен нулю вместо единицы, когда оба входа равны единице, поскольку входы имеют четное число единиц.

Следовательно, выход логического элемента ИЛИ-ИЛИ равен «1», когда только один из двух входов равен «1». И это ноль, когда оба входа одинаковы.

На следующем рисунке показан символ шлюза Ex-OR, который имеет два входа A, B и один выход Y.

Ex-OR Gate

Работа шлюза Ex-OR аналогична работе шлюза OR, за исключением нескольких комбинаций входов. Вот почему символ ворот Ex-OR представлен так. Выход логического элемента Ex-OR равен '1', когда на входах присутствует нечетное количество единиц. Следовательно, выход шлюза Ex-OR также называется нечетной функцией .

Бывшие ворота

Полная форма ворот Ex-NOR - это ворота Exclusive-NOR . Его функция такая же, как у шлюза NOR, за исключением некоторых случаев, когда входы имеют четное число единиц.

В следующей таблице показана таблица истинности 2-входного вентиля Ex-NOR.

В Y = A⊙B
0 0 1
0 1 0
1 0 0
1 1 1

Здесь A, B - входы, а Y - выход. Таблица истинности шлюза Ex-NOR такая же, как и у шлюза NOR для первых трех строк. Единственная модификация находится в четвертом ряду. Это означает, что выход равен одному, а не нулю, когда оба входа равны.

Следовательно, выход шлюза Ex-NOR равен «1», когда оба входа одинаковы. И это ноль, когда оба входа разные.

На следующем рисунке показан символ шлюза Ex-NOR, который имеет два входа A, B и один выход Y.

Бывшие ворота

Работа шлюза Ex-NOR аналогична работе шлюза NOR, за исключением нескольких комбинаций входов. Вот почему символ ворот Ex-NOR представлен именно так. Выходной сигнал шлюза Ex-NOR равен «1», когда на входах присутствует четное количество единиц. Следовательно, выход шлюза Ex-NOR также называется четной функцией .

Из приведенных выше таблиц истинности логических элементов Ex-OR и Ex-NOR мы можем легко заметить, что операция Ex-NOR является просто логической инверсией операции Ex-OR.

Цифровые схемы - двухуровневая логическая реализация

Максимальное количество уровней между входами и выходами - два в двухуровневой логике . Это означает, что независимо от общего количества логических вентилей максимальное количество логических вентилей, которые присутствуют (каскадируются) между любым входом и выходом, равно двум в двухуровневой логике. Здесь выходы логических вентилей первого уровня подключены как входы логических вентилей второго уровня.

Рассмотрим четыре логических элемента И, ИЛИ, НЕ и НЕ. Поскольку существует 4 логических элемента, мы получим 16 возможных способов реализации двухуровневой логики. Это И-И-И-И-И-И-И-И-И-И-И-И-И-ИЛИ ИЛИ-И-И-И-ИЛИ-ИЛИ-И-И-И-И-И-И-И-И-И-И-И-И-И-И-И-И-И-И-И-И NOR-OR, NOR-NAND, NOR-NOR.

Эти две реализации логики уровня могут быть классифицированы в следующие две категории.

  • Дегенеративная форма
  • Невырожденная форма

Дегенеративная форма

Если выходные данные двухуровневой логической реализации могут быть получены с использованием одного логического элемента, то это называется вырожденной формой . Очевидно, что количество входов одного логического элемента увеличивается. За счет этого увеличивается размах ворот логики. Это преимущество дегенеративной формы.

Только 6 комбинаций двухуровневых логических реализаций из 16 комбинаций входят в дегенеративную форму. Это И-И, И-И-НЕ, ИЛИ-ИЛИ, ИЛИ-НОР, НАН-НОР, НОРНАНД.

В этом разделе давайте обсудим некоторые реализации. Предположим, что A, B, C & D являются входами, а Y - выходом в каждой логической реализации.

И-И Логика

В этой логической реализации И ворота присутствуют на обоих уровнях. На рисунке ниже показан пример реализации логики «И-И» .

И-И Логика

Мы получим выходные данные логических элементов первого уровня как $ Y_ {1} = AB $ и $ Y_ {2} = CD $

Эти выходы $ Y_ {1} $ и $ Y_ {2} $ применяются как входы логического элемента AND, который присутствует на втором уровне. Таким образом, выход этого логического элемента И

$$ Y = Y_ {1} Y_ {2} $$

Замените значения $ Y_ {1} $ и $ Y_ {2} $ в приведенном выше уравнении.

$$ Y = \ left (AB \ right) \ left (CD \ right) $$

$ \ Rightarrow Y = ABCD $

Следовательно, результатом этой логической реализации И-И является ABCD . Эта булева функция может быть реализована с использованием логического элемента И с 4 входами. Следовательно, это дегенеративная форма .

AND-NAND Logic

В этой логической реализации вентили AND присутствуют на первом уровне, а вентили NAND присутствуют на втором уровне. На следующем рисунке показан пример реализации логики AND-NAND .

AND-NAND Logic

Ранее мы получили выходные данные логических элементов первого уровня как $ Y_ {1} = AB $ и $ Y_ {2} = CD $

Эти выходы $ Y_ {1} $ и $ Y_ {2} $ применяются в качестве входов шлюза NAND, который присутствует на втором уровне. Итак, выход этого NAND-шлюза

$$ Y = {\ left (Y_ {1} Y_ {2} \ right)} '$$

Замените значения $ Y_ {1} $ и $ Y_ {2} $ в приведенном выше уравнении.

$$ Y = {\ left (\ left (AB \ right) \ left (CD \ right) \ right)} '$$

$ \ Rightarrow Y = {\ left (ABCD \ right)} '$

Следовательно, результат этой логической реализации AND-NAND равен $ {\ left (ABCD \ right)} '$. Эта логическая функция может быть реализована с помощью 4-входного вентиля NAND. Следовательно, это дегенеративная форма .

ИЛИ-ИЛИ Логика

В этой логической реализации вентили ИЛИ присутствуют на обоих уровнях. На следующем рисунке показан пример реализации логики OR-OR .

ИЛИ-ИЛИ Логика

Мы получим выходные данные логических элементов первого уровня как $ Y_ {1} = A + B $ и $ Y_ {2} = C + D $.

Эти выходы $ Y_ {1} $ и $ Y_ {2} $ применяются как входы логического элемента ИЛИ, который присутствует на втором уровне. Таким образом, выход этого ИЛИ вентиля

$$ Y = Y_ {1} + Y_ {2} $$

Замените значения $ Y_ {1} $ и $ Y_ {2} $ в приведенном выше уравнении.

$$ Y = \ left (A + B \ right) + \ left (C + D \ right) $$

$ \ Rightarrow Y = A + B + C + D $

Следовательно, выход этой логической реализации ИЛИ-ИЛИ является A + B + C + D. Эта логическая функция может быть реализована с использованием логического элемента ИЛИ с 4 входами. Следовательно, это дегенеративная форма .

Точно так же вы можете проверить, принадлежат ли остальные реализации к этой категории или нет.

Невырожденная форма

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

Оставшиеся 10 комбинаций двухуровневых логических реализаций имеют невырожденную форму. Это И-ИЛИ, И-ИЛИ, ИЛИ-И, ИЛИ-НАНД, НАН-И-И, НАНДОР, НАН-НАНД, НОР-И, НОР-ИЛИ, НОР-НОР.

Теперь давайте обсудим некоторые реализации. Предположим, что A, B, C & D являются входами, а Y - выходом в каждой логической реализации.

И-ИЛИ Логика

В этой логической реализации логические элементы И присутствуют на первом уровне, а вентили ИЛИ присутствуют на втором уровне. Ниже на рисунке показан пример реализации логики «И-ИЛИ» .

И-ИЛИ Логика

Ранее мы получили выходные данные логических элементов первого уровня как $ Y_ {1} = AB $ и $ Y_ {2} = CD $.

Эти выходы Y1 и Y2 применяются как входы логического элемента ИЛИ, который присутствует на втором уровне. Таким образом, выход этого ИЛИ вентиля

$$ Y = Y_ {1} + Y_ {2} $$

Замените значения $ Y_ {1} $ и $ Y_ {2} $ в приведенном выше уравнении

$$ Y = АВ + CD-$$

Следовательно, результатом этой логической реализации И-ИЛИ является AB + CD . Эта логическая функция находится в форме Sum of Products . Поскольку мы не можем реализовать его с помощью одного логического вентиля, логическая реализация И-ИЛИ является невырожденной формой .

AND-NOR Logic

В этой логической реализации вентили AND присутствуют на первом уровне, а вентили NOR присутствуют на втором уровне. На следующем рисунке показан пример реализации логики AND-NOR .

AND-NOR Logic

Мы знаем выходы логических элементов первого уровня как $ Y_ {1} = AB $ и $ Y_ {2} = CD $

Эти выходы Y1 и Y2 применяются как входы логического элемента NOR, который присутствует на втором уровне. Итак, выход этого логического элемента NOR

$$ Y = {\ left (Y_ {1} + Y_ {2} \ right)} '$$

Замените значения $ Y_ {1} $ и $ Y_ {2} $ в приведенном выше уравнении.

$$ Y = {\ left (AB + CD \ right)} '$$

Следовательно, результат этой логической реализации AND-NOR равен $ {\ left (AB + CD \ right)} '$. Эта булева функция имеет форму AND-OR-Invert . Поскольку мы не можем реализовать его с помощью одного логического элемента, логическая реализация AND-NOR является невырожденной формой.

ИЛИ-И Логика

В этой логической реализации логические элементы ИЛИ присутствуют на первом уровне, а логические элементы И присутствуют на втором уровне. На следующем рисунке показан пример реализации логики ИЛИ-И .

ИЛИ-И Логика

Ранее мы получили выходные данные логических элементов первого уровня как $ Y_ {1} = A + B $ и $ Y_ {2} = C + D $.

Эти выходы $ Y_ {1} $ и $ Y_ {2} $ применяются как входы логического элемента AND, который присутствует на втором уровне. Таким образом, выход этого логического элемента И

$$ Y = Y_ {1} Y_ {2} $$

Замените значения $ Y_ {1} $ и $ Y_ {2} $ в приведенном выше уравнении.

$$ Y = \ left (A + B \ right) \ left (C + D \ right) $$

Следовательно, результат этой логической реализации ИЛИ-И (A + B) (C + D) . Эта булева функция находится в форме произведения сумм . Поскольку мы не можем реализовать его с помощью единого логического элемента, логическая реализация ИЛИ-И является невырожденной формой .

Точно так же вы можете проверить, принадлежат ли остальные реализации к этой категории или нет.

Цифровые комбинированные схемы

Комбинационные схемы состоят из логических элементов. Эти схемы работают с двоичными значениями. Выход (ы) комбинационной схемы зависит от комбинации имеющихся входов. На следующем рисунке показана блок-схема комбинационной схемы.

Комбинационная схема

Эта комбинационная схема имеет n входных переменных и m выходов. Каждая комбинация входных переменных будет влиять на вывод (ы).

Методика расчета комбинационных цепей

  • Найдите требуемое количество входных переменных и выходов из заданных спецификаций.

  • Сформулируйте таблицу Истины . Если есть 'n' входных переменных, то будет 2n возможных комбинаций. Для каждой комбинации входных данных найдите выходные значения.

  • Найдите логические выражения для каждого вывода. При необходимости упростите эти выражения.

  • Реализуйте вышеупомянутые логические выражения, соответствующие каждому выводу, используя логические элементы .

Преобразователи кода

Мы обсудили различные коды в главе под названием коды. Преобразователи, которые преобразовывают один код в другой, называются преобразователями кода . Эти преобразователи кода в основном состоят из логических элементов.

пример

Конвертер двоичного кода в код Грея

Давайте реализуем конвертер, который преобразует 4-битный двоичный код WXYZ в его эквивалентный код Грея ABCD.

В следующей таблице показана таблица истинности 4-разрядного двоичного кода в преобразователь кода Грея.

Двоичный код WXYZ WXYZ Серый код ABCD
0000 0000
0001 0001
0010 0011
0011 0010
0100 0110
0101 0111
0110 0101
0111 0100
1000 1100
1001 1101
1010 1111
1011 1110
1100 1010
1101 1011
1110 1001
1111 1000

Из таблицы Truth мы можем записать логические функции для каждого выходного бита кода Грея, как показано ниже.

$$ A = \ sum m \ left (8,9,10,11,12,13,14,15 \ right) $$

$$ B = \ sum m \ left (4,5,6,7,8,9,10,11 \ right) $$

$$ C = \ sum m \ left (2,3,4,5,10,11,12,13 \ right) $$

$$ D = \ sum m \ left (1,2,5,6,9,10,13,14 \ right) $$

Упростим перечисленные выше функции, используя 4 переменные K-Maps.

На следующем рисунке показана 4-переменная K-Map для упрощения булевой функции A.

Булева функция

Сгруппировав 8 смежных, мы получили $ A = W $.

На следующем рисунке показана 4-переменная K-Map для упрощения булевой функции B.

Булева функция B

Есть две группы из 4 смежных. После группировки мы получим B как

$$ B = {W} 'X + W {X}' = W \ oplus X $$

Точно так же мы получим следующие логические функции для C & D после упрощения.

$$ C = {X} 'Y + X {Y}' = X \ oplus Y $$

$$ D = {Y} 'Z + Y {Z}' = Y \ oplus Z $$

На следующем рисунке показана принципиальная схема преобразователя 4-битного двоичного кода в код Грея.

Преобразователи кода

Поскольку выходы зависят только от существующих входов, этот 4-битный преобразователь двоичного кода в код Грея является комбинационной схемой. Точно так же вы можете реализовать другие конвертеры кода.

Генератор четности

Существует два типа генераторов битов четности, основанных на типе генерируемого бита четности. Даже генератор четности генерирует бит четности. Аналогично, генератор нечетной четности генерирует бит нечетной четности.

Четный генератор

Теперь давайте реализуем четный генератор четности для 3-битного двоичного входа WXY. Он генерирует четный бит четности P. Если на входе присутствует нечетное число единиц, то четный бит четности P должен быть равен 1, чтобы результирующее слово содержало четное число единиц. Для других комбинаций ввода, даже четного бита, P должно быть '0'. В следующей таблице показана таблица истинности генератора четности.

Двоичный вход WXY Четный бит P
000 0
001 1
010 1
011 0
100 1
101 0
110 0
111 1

Из приведенной выше таблицы истинности мы можем записать логическую функцию для четного бита как

$$ P = {W} '{X}' Y + {W} 'Х {У}' + W {X} {Y} '+ WXY $$

$ \ Rightarrow P = {W} '\ left ({X}' Y + X {Y} '\ right) + W \ left ({X}' {Y} '+ XY \ right) $

$ \ Rightarrow P = {W} '\ left (X \ oplus Y \ right) + W {\ left (X \ oplus Y \ right)}' = W \ oplus X \ oplus Y $

На следующем рисунке показана принципиальная схема четного генератора четности.

Четный генератор

Эта схема состоит из двух вентилей типа « исключающее ИЛИ» , каждый из которых имеет два входа. Первый вентиль ExclusiveOR имеет два входа W & X и выдает выход W ⊕ X. Этот выход задается как один вход второго вентиля Exclusive-OR. Другим входом этого второго логического элемента «Исключающее ИЛИ» является Y, который выдает выход W ⊕ X ⊕ Y.

Генератор нечетных четностей

Если на входе присутствует четное число единиц, то нечетный бит четности, P должен быть равен 1, чтобы результирующее слово содержало нечетное число единиц. Для других комбинаций ввода, нечетного бита четности, P должно быть '0'.

Выполните ту же процедуру генератора четности для реализации генератора нечетности. Принципиальная схема генератора нечетной четности показана на следующем рисунке.

Генератор нечетных четностей

Вышеприведенная принципиальная схема состоит из шлюза Ex-OR на первом уровне и шлюза Ex-NOR на втором уровне. Поскольку нечетная четность прямо противоположна четной четности, мы можем разместить инвертор на выходе генератора четной четности. В этом случае первый и второй уровни содержат вентиль ExOR на каждом уровне, а третий уровень состоит из инвертора.

Проверка четности

Существует два типа проверок четности в зависимости от типа проверяемой четности. Четная проверка четности проверяет ошибку в передаваемых данных, которые содержат биты сообщения наряду с четной четностью. Аналогично, программа проверки нечетной четности проверяет ошибку в передаваемых данных, которая содержит биты сообщения наряду с нечетной четностью.

Четный паритет

Теперь давайте реализуем схему проверки четности. Предположим, что 3-битный двоичный вход передает WXY вместе с четным битом четности P. Таким образом, результирующее слово (данные) содержит 4 бита, которые будут получены в качестве входных данных проверки четности.

Он генерирует четный бит проверки четности, E. Этот бит будет нулевым, если полученные данные содержат четное количество единиц. Это означает, что в полученных данных нет ошибок. Этот бит проверки четности будет равен единице, если полученные данные содержат нечетное число единиц. Это означает, что в полученных данных произошла ошибка.

В следующей таблице показана таблица истинности проверки четности.

4-битные полученные данные WXYP Четный контроль четности, бит E
0000 0
0001 1
0010 1
0011 0
0100 1
0101 0
0110 0
0111 1
1000 1
1001 0
1010 0
1011 1
1100 0
1101 1
1110 1
1111 0

Из приведенной выше таблицы истинности мы можем наблюдать, что значение бита для проверки четности равно '1', когда в полученных данных присутствует нечетное число единиц. Это означает, что булева функция четного бита проверки четности является нечетной функцией . Функция Exclusive-OR удовлетворяет этому условию. Следовательно, мы можем напрямую записать булеву функцию четного бита проверки четности как

$$ E = W \ oplus X \ oplus Y \ oplus P $$

На следующем рисунке показана принципиальная схема проверки четности.

Проверка четности

Эта схема состоит из трех вентилей типа « исключающее ИЛИ» , каждый из которых имеет два входа. Ворота первого уровня выдают выходные данные $ W \ oplus X $ & $ Y \ oplus P $. Вентиль Exclusive-OR, который находится на втором уровне, производит вывод $ W \ oplus X \ oplus Y \ oplus P $

Проверка нечетности

Предположим, что 3-битный двоичный вход передает WXY вместе с нечетным битом четности P. Таким образом, результирующее слово (данные) содержит 4 бита, которые будут получены как входные данные проверки нечетной четности.

Он генерирует нечетный бит проверки четности, E. Этот бит будет нулевым, если полученные данные содержат нечетное количество единиц. Это означает, что в полученных данных нет ошибок. Этот бит нечетной проверки на четность будет равен единице, если полученные данные содержат четное количество единиц. Это означает, что в полученных данных произошла ошибка.

Выполните ту же процедуру проверки четности для реализации проверки нечетности. Принципиальная электрическая схема нечетного контроля четности показана на следующем рисунке.

Проверка нечетности

Вышеприведенная принципиальная схема состоит из вентилей Ex-OR на первом уровне и вентиля Ex-NOR на втором уровне. Поскольку нечетная четность прямо противоположна четной четности, мы можем разместить инвертор на выходе проверки четности. В этом случае первый, второй и третий уровни содержат два вентиля Ex-OR, один вентиль Ex-OR и один инвертор соответственно.

Цифровые арифметические схемы

Двоичный сумматор

Самая основная арифметическая операция - сложение. Схема, которая выполняет сложение двух двоичных чисел, называется двоичным сумматором . Во-первых, давайте реализуем сумматор, который выполняет сложение двух битов.

Полумесяц

Половина сумматора представляет собой комбинационную схему, которая выполняет сложение двух двоичных чисел A и B, состоящих из одного бита . Он выдает две выходных суммы, S & carry, C.

Таблица истинности Half сумматора показана ниже.

входные Выходы
В С S
0 0 0 0
0 1 0 1
1 0 0 1
1 1 1 0

Когда мы добавляем два бита, результирующая сумма может иметь значения в диапазоне от 0 до 2 в десятичном виде. Мы можем представить десятичные цифры 0 и 1 одним битом в двоичном виде. Но мы не можем представить десятичную цифру 2 с одним битом в двоичном виде. Итак, нам требуется два бита для представления его в двоичном виде.

Пусть, sum, S - младший значащий бит и перенос, C - старший значащий бит из полученной суммы. Для первых трех комбинаций входов, carry, C равен нулю, а значение S будет равно нулю или единице в зависимости от количества единиц, присутствующих на входах. Но, для последней комбинации входов, carry, C равен единице, а sum равен нулю, поскольку результирующая сумма равна двум.

Из таблицы Truth мы можем напрямую записать логические функции для каждого вывода как

$$ S = A \ oplus B $$

$ C = AB $

Мы можем реализовать вышеупомянутые функции с 2-входным вентилем Ex-OR и 2-входным вентилем AND. Принципиальная электрическая схема полумесяца показана на следующем рисунке.

Полумесяц

В приведенной выше схеме два входных логических элемента ИЛИ-И и два входных И логических элемента И дают сумму, S и перенос, C соответственно. Поэтому Half-adder выполняет сложение двух битов.

Полный сумматор

Полный сумматор представляет собой комбинационную схему, которая выполняет сложение трех битов A, B и C в . Где A & B - два параллельных значащих бита, а C in - бит переноса, который генерируется из предыдущего этапа. Этот полный сумматор также выдает две выходные суммы, S & carry, C out , которые похожи на половину сумматора.

Таблица истинности полного сумматора показана ниже.

входные Выходы
В С в C out S
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 1

Когда мы добавляем три бита, результирующая сумма может иметь значения в диапазоне от 0 до 3 в десятичном виде. Мы можем представить десятичные цифры 0 и 1 одним битом в двоичном виде. Но мы не можем представлять десятичные цифры 2 и 3 одним битом в двоичном виде. Итак, нам требуется два бита для представления этих двух десятичных цифр в двоичном виде.

Пусть, sum, S - младший значащий бит и перенос, C out - старший значащий бит полученной суммы. Легко заполнить значения выходов для всех комбинаций входов в таблице истинности. Просто посчитайте количество единиц на входах и запишите эквивалентное двоичное число на выходах. Если C in равен нулю, то полная таблица истинности сумматора такая же, как в таблице истинной половины сумматора.

Мы получим следующие логические функции для каждого вывода после упрощения.

$$ S = A \ oplus B \ oplus C_ {in} $$

$ c_ {out} = AB + \ left (A \ oplus B \ right) c_ {in} $

Сумма S равна единице, когда на входах присутствует нечетное число единиц. Мы знаем, что вентиль Ex-OR производит вывод, который является нечетной функцией. Таким образом, мы можем использовать либо два входа Ex-OR с 2 входами, либо один вентиль Ex-OR с 3 входами, чтобы получить сумму S. Мы можем реализовать перенос C , используя два вентиля И с двумя входами И и один вентиль ИЛИ. Принципиальная электрическая схема полного сумматора показана на следующем рисунке.

Полный сумматор

Этот сумматор называется полным сумматором, потому что для реализации одного полного сумматора нам нужны два полумесяца и один вентиль ИЛИ. Если C in равно нулю, то Полное сумматор становится Полу сумматором. Мы можем легко проверить это из приведенной схемы или из булевых функций выходов полного сумматора.

4-битный двоичный сумматор

4-разрядный двоичный сумматор выполняет сложение двух 4-разрядных чисел . Пусть 4-битные двоичные числа, $ A = A_ {3} A_ {2} A_ {1} A_ {0} $ и $ B = B_ {3} B_ {2} B_ {1} B_ {0} $. Мы можем реализовать 4-битный двоичный сумматор одним из следующих двух способов.

  • Для суммирования двух старших значащих битов используйте один половинный сумматор и три полных сумматора.

  • Используйте четыре полных сумматора для однородности. Поскольку начальный перенос C in равен нулю, полный сумматор, который используется для добавления младших значащих битов, становится половинным сумматором.

Пока мы рассматривали второй подход. Блок-схема 4-битного двоичного сумматора показана на следующем рисунке.

Четырехбитный двоичный сумматор

Здесь 4 полных сумматора расположены каскадно. Каждый полный сумматор получает соответствующие биты двух параллельных входов A и B. Выходной сигнал переноса одного полного сумматора будет входом переноса последующего полного сумматора более высокого порядка. Этот 4-битный двоичный сумматор производит результирующую сумму, имеющую не более 5 бит. Итак, проводить последний этап Полным сумматором будет MSB.

Таким образом, мы можем реализовать любой двоичный сумматор высшего порядка, просто каскадируя необходимое количество полных сумматоров. Этот двоичный сумматор также называется сумматором с волновым переносом (двоичным), потому что перенос распространяется (колебания) от одного этапа к следующему этапу.

Бинарный вычитатель

Схема, которая выполняет вычитание двух двоичных чисел, известна как двоичный вычитатель . Мы можем реализовать двоичный вычитатель следующими двумя способами.

  • Каскад Полные вычитатели
  • Метод дополнения 2

В первом методе мы получим n-битный двоичный вычитатель путем каскадного вычитания 'n' полных вычитателей. Итак, сначала вы можете реализовать Half subtractor и Full subtractor, аналогично Half adder & Full adder. Затем вы можете реализовать n-битный двоичный вычитатель, каскадируя 'n' полных вычитателей. Итак, у нас будут две отдельные схемы для двоичного сложения и вычитания двух двоичных чисел.

Во втором методе мы можем использовать один и тот же двоичный сумматор для вычитания двух двоичных чисел, просто выполнив некоторые изменения во втором входе. Таким образом, внутренне двоичная операция сложения имеет место, но на выходе получается вычитание.

Мы знаем, что вычитание двух двоичных чисел A & B может быть записано как,

$$ AB = A + \ left ({2} 's:: compment \: of \: B \ right) $$

$ \ Rightarrow AB = A + \ left ({1} 's: комплимент \: of \: B \ right) + 1 $

4-разрядный двоичный вычитатель

4-разрядный двоичный вычитатель производит вычитание двух 4-разрядных чисел . Пусть 4-битные двоичные числа, $ A = A_ {3} A_ {2} A_ {1} A_ {0} $ и $ B = B_ {3} B_ {2} B_ {1} B_ {0} $. Внутренне работа 4-разрядного двоичного вычитателя аналогична работе 4-разрядного двоичного сумматора. Если нормальные биты двоичного числа A, дополненные биты двоичного числа B и начального переноса (заимствования), C в качестве единицы применяются к 4-разрядному двоичному сумматору, то он становится 4-разрядным двоичным вычитающим веществом. Блок-схема 4-разрядного двоичного вычитателя показана на следующем рисунке.

4-битный бинарный вычитатель

Этот 4-битный двоичный вычитатель выдает выходной сигнал, имеющий не более 5 бит. Если двоичное число A больше двоичного числа B, то значение MSB на выходе равно нулю, а оставшиеся биты содержат величину AB. Если двоичное число A меньше двоичного числа B, то MSB выходного значения равно единице. Итак, возьмите 2-е дополнение вывода, чтобы получить величину AB.

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

Двоичный сумматор / вычитатель

Схема, которую можно использовать для сложения или вычитания двух двоичных чисел в любое время, называется двоичным сумматором / вычитателем . И двоичный сумматор, и двоичный вычитатель содержат набор полных сумматоров, которые каскадируются. Входные биты двоичного числа A непосредственно применяются как в двоичном сумматоре, так и в двоичном вычитателе.

Есть два различия во входах полных сумматоров, которые присутствуют в двоичном сумматоре и двоичном вычитателе.

  • Входные биты двоичного числа B непосредственно применяются к полным сумматорам в двоичном сумматоре, тогда как дополненные биты двоичного числа B применяются к полным сумматорам в двоичном вычитателе.

  • Первоначальный перенос, C 0 = 0, применяется в 4-разрядном двоичном сумматоре, тогда как начальный перенос (C 0) 1 применяется в 4-разрядном двоичном вычитателе.

Мы знаем, что вентиль Ex-OR с 2 входами производит выход, который такой же, как у первого входа, когда другой вход равен нулю. Точно так же это производит вывод, который является дополнением первого ввода, когда другой ввод - один.

Поэтому мы можем применить входные биты двоичного числа B к 2-входным вентилям Ex-OR. Другим входом для всех этих ворот Ex-OR является C 0 . Таким образом, на основе значения C 0 вентили Ex-OR создают либо нормальные, либо дополненные биты двоичного числа B.

4-разрядный двоичный сумматор / вычитатель

4-разрядный двоичный сумматор / вычитатель производит либо сложение, либо вычитание двух 4-разрядных чисел на основе значения начального переноса или заимствования, 𝐶 0 . Пусть 4-битные двоичные числа, $ A = A_ {3} A_ {2} A_ {1} A_ {0} $ и $ B = B_ {3} B_ {2} B_ {1} B_ {0} $. Работа 4-разрядного двоичного сумматора / вычитателя аналогична работе 4-разрядного двоичного сумматора и 4-разрядного двоичного сумматора.

Примените обычные биты двоичных чисел A и B и начальный перенос или заимствование, C 0 от внешнего к 4-битному двоичному сумматору. Блок-схема 4-битного двоичного сумматора / вычитателя показана на следующем рисунке.

Сумматор и вычитатель

Если начальный перенос, 𝐶 0 равен нулю, то каждый полный сумматор получает нормальные биты двоичных чисел A & B. Таким образом, 4-разрядный двоичный сумматор / вычитатель выдает выход, который является сложением двух двоичных чисел A & B.

Если начальный заем равен 0 , то каждый полный сумматор получает нормальные биты двоичного числа A и дополненные биты двоичного числа B. Таким образом, 4-битный двоичный сумматор / вычитатель выдает результат, который является вычитанием двух двоичных номера A и B.

Следовательно, с помощью дополнительных шлюзов Ex-OR одна и та же схема может использоваться как для сложения, так и для вычитания двух двоичных чисел.

Цифровые схемы - Декодеры

Декодер представляет собой комбинационную схему, которая имеет «n» входных линий и максимум 2 n выходных линий. Один из этих выходов будет активным Высоким на основе комбинации имеющихся входов, когда декодер включен. Это означает, что декодер обнаруживает определенный код. Выходы декодера представляют собой не что иное, как минимальные члены n переменных (строк), когда он включен.

Декодер от 2 до 4

Пусть 2-4 декодера имеют два входа A 1 и A 0 и четыре выхода Y 3 , Y 2 , Y 1 и Y 0 . Блок-схема декодера с 2 по 4 показана на следующем рисунке.

Декодер от 2 до 4

Один из этих четырех выходов будет равен «1» для каждой комбинации входов при включении, «Е» - «1». Таблица истинности декодера от 2 до 4 показана ниже.

включить входные Выходы
Е А 1 А 0 Y 3 Y 2 Y 1 Y 0
0 Икс Икс 0 0 0 0
1 0 0 0 0 0 1
1 0 1 0 0 1 0
1 1 0 0 1 0 0
1 1 1 1 0 0 0

Из таблицы Truth мы можем записать логические функции для каждого вывода как

$$ Y_ {3} = E.A_ {1} .A_ {0} $$

$$ Y_ {2} = E.A_ {1}. {A_ {0}} '$$

$$ Y_ {1} = E. {A_ {1}} '. A_ {0} $$

$$ Y_ {0} = E. {A_ {1}} '. {A_ {0}}' $$

Каждый выход имеет один термин продукта. Итак, всего четыре продукта. Мы можем реализовать эти четыре термина продукта, используя четыре элемента И, имеющие три входа каждый и два инвертора. Принципиальная схема декодера с 2 по 4 показана на следующем рисунке.

Принципиальная схема декодера от 2 до 4

Следовательно, выходы декодера с 2 по 4 представляют собой не что иное, как минимальные члены двух входных переменных A 1 и A 0 , при включении E равно единице. Если разрешено, E равно нулю, то все выходы декодера будут равны нулю.

Аналогично, декодер с 3 по 8 выдает восемь минутных членов трех входных переменных A 2 , A 1 и A 0 и декодер с 4 по 16 выдает шестнадцать минут по четырем входным переменным A 3 , A 2 , A 1 & A 0 .

Реализация декодеров высшего порядка

Теперь давайте реализуем следующие два декодера более высокого порядка, используя декодеры более низкого порядка.

  • От 3 до 8 декодер
  • 4-16 декодер

От 3 до 8 декодер

В этом разделе мы реализуем от 3 до 8 декодеров, используя от 2 до 4 декодеров . Мы знаем, что декодер с 2 по 4 имеет два входа, A 1 и A 0 и четыре выхода, от Y 3 до Y 0 . Принимая во внимание, что декодер с 3 по 8 имеет три входа A 2 , A 1 и A 0 и восемь выходов, Y 7 - Y 0 .

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

$$ Обязательно \: число \: of \: нижний \: порядок \: декодеры = \ frac {m_ {2}} {m_ {1}} $$

Где,

$ m_ {1} $ - количество выходов декодера более низкого порядка.

$ m_ {2} $ - количество выходов декодера более высокого порядка.

Здесь $ m_ {1} $ = 4 и $ m_ {2} $ = 8. Подставим эти два значения в приведенную выше формулу.

$$ Обязательно \: число \: of \: 2 \: to \: 4 \: decoders = \ frac {8} {4} = 2 $$

Поэтому для реализации одного из 3-8 декодеров нам потребуются два-четыре декодера. Блок-схема от 3 до 8 декодеров, использующих от 2 до 4 декодеров, показана на следующем рисунке.

От 2 до 8 декодер

Параллельные входы A 1 и A 0 применяются к каждому 2-4 декодеру. Дополнение входа A 2 подключено к Enable, E нижнего декодера от 2 до 4 для получения выходов, от Y 3 до Y 0 . Это нижние четыре мин . Вход A 2 напрямую подключен к Enable, E верхнего 2-4 декодера для получения выходов, Y 7 - Y 4 . Это высшие четыре мин .

От 4 до 16 декодер

В этом разделе мы реализуем от 4 до 16 декодеров, используя от 3 до 8 декодеров . Мы знаем, что декодер с 3 по 8 имеет три входа A 2 , A 1 & A 0 и восемь выходов, Y 7 - Y 0 . Принимая во внимание, что от 4 до 16 декодер имеет четыре входа A 3 , A 2 , A 1 и A 0 и шестнадцать выходов, Y 15 до Y 0

Мы знаем следующую формулу для определения количества необходимых декодеров более низкого порядка.

$$ Обязательно \: число \: of \: нижний \: порядок \: декодеры = \ frac {m_ {2}} {m_ {1}} $$

Замените $ m_ {1} $ = 8 и $ m_ {2} $ = 16 в приведенной выше формуле.

$$ Обязательно \: число \: of \: 3 \: to \: 8 декодеров = \ frac {16} {8} = 2 $$

Поэтому для реализации одного декодера от 4 до 16 требуются два-восемь декодеров. Блок-схема 4-16 декодера с использованием 3-8 декодеров показана на следующем рисунке.

От 4 до 16 декодер

Параллельные входы A 2 , A 1 и A 0 применяются к каждому 3–8 декодеру. Дополнение входа A3 подключено к Enable, E нижнего декодера с 3 по 8 для получения выходов, Y 7 - Y 0 . Это нижние восемь минут . Вход A 3 напрямую подключен к Enable, E верхнего декодера с 3 по 8 для получения выходов, Y 15 - Y 8 . Это высшие восемь минут .

Цифровые схемы - Кодеры

Энкодер - комбинационная схема, которая выполняет обратную операцию Декодера. Он имеет максимум 2 n входных и n выходных строк. Это произведет двоичный код, эквивалентный входу, который является активным Высоким. Следовательно, кодер кодирует 2 n входных строк с помощью n битов. Опционально представлять сигнал включения в энкодерах.

4 к 2 Энкодер

Пусть с 4 по 2 энкодер имеет четыре входа Y 3 , Y 2 , Y 1 и Y 0 и два выхода A 1 и A 0 . Блок-схема кодера с 4 по 2 показана на следующем рисунке.

4 к 2 Энкодер

В любое время только один из этих 4 входов может иметь значение «1», чтобы получить соответствующий двоичный код на выходе. Таблица истинности кодера с 4 по 2 показана ниже.

входные Выходы
Y 3 Y 2 Y 1 Y 0 А 1 А 0
0 0 0 1 0 0
0 0 1 0 0 1
0 1 0 0 1 0
1 0 0 0 1 1

Из таблицы Truth мы можем записать логические функции для каждого вывода как

$$ A_ {1} = Y_ {3} + Y_ {2} $$

$$ A_ {0} = Y_ {3} + Y_ {1} $$

Мы можем реализовать две вышеупомянутые логические функции, используя два входа ИЛИ. Принципиальная схема датчика 4–2 показана на следующем рисунке.

Схема от 4 до 2 энкодера

Вышеприведенная принципиальная схема содержит два вентиля ИЛИ. Эти вентили ИЛИ кодируют четыре входа двумя битами

Восьмеричное в двоичный кодировщик

Восьмеричный в двоичный кодировщик имеет восемь входов, от Y 7 до Y 0 и три выхода A 2 , A 1 и A 0 . Восьмеричное в двоичный кодировщик - всего лишь 8 - 3 кодировщика. Блок-схема восьмеричного и двоичного кодировщика показана на следующем рисунке.

Восьмеричное в двоичный кодировщик

В любое время только один из этих восьми входов может иметь значение «1» для получения соответствующего двоичного кода. Таблица истинности восьмеричного кодера приведена ниже.

входные Выходы
Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0 А 2 А 1 А 0
0 0 0 0 0 0 0 1 0 0 0
0 0 0 0 0 0 1 0 0 0 1
0 0 0 0 0 1 0 0 0 1 0
0 0 0 0 1 0 0 0 0 1 1
0 0 0 1 0 0 0 0 1 0 0
0 0 1 0 0 0 0 0 1 0 1
0 1 0 0 0 0 0 0 1 1 0
1 0 0 0 0 0 0 0 1 1 1

Из таблицы Truth мы можем записать логические функции для каждого вывода как

$$ A_ {2} = Y_ {7} + Y_ {6} + Y_ {5} + Y_ {4} $$

$$ A_ {1} = Y_ {7} + Y_ {6} + Y_ {3} + Y_ {2} $$

$$ A_ {0} = Y_ {7} + Y_ {5} + Y_ {3} + Y_ {1} $$

Мы можем реализовать вышеупомянутые логические функции, используя четыре входа ИЛИ. Принципиальная электрическая схема восьмеричного кодера показана на следующем рисунке.

Восьмеричная схема двоичного энкодера

Приведенная выше принципиальная схема содержит три 4-входных ИЛИ вентиля. Эти вентили ИЛИ кодируют восемь входов тремя битами.

Недостатки кодировщика

Ниже приведены недостатки нормального энкодера.

  • Существует неоднозначность, когда все выходы энкодера равны нулю. Потому что это может быть код, соответствующий входам, когда только наименее значимый вход равен единице или когда все входы равны нулю.

  • Если активен высокий уровень для более чем одного входа, то кодер выдает выходной сигнал, который может быть неправильным кодом. Например , если Y 3 и Y 6 равны '1', то кодер выдает 111 на выходе. Это не эквивалентный код, соответствующий Y 3 , когда это «1», ни эквивалентный код, соответствующий Y 6 , когда это «1».

Итак, чтобы преодолеть эти трудности, мы должны назначить приоритеты каждому входу кодера. Тогда на выходе кодера будет (двоичный) код, соответствующий активному высокому входу (входам), который имеет более высокий приоритет. Этот кодировщик называется приоритетным кодером .

Приоритетный кодировщик

Приоритетный энкодер с 4 по 2 имеет четыре входа Y 3 , Y 2 , Y 1 и Y 0 и два выхода A 1 и A 0 . Здесь у входа Y 3 самый высокий приоритет, а у входа Y 0 самый низкий приоритет. В этом случае, даже если несколько входов имеют значение «1» одновременно, на выходе будет (двоичный) код, соответствующий входу, который имеет более высокий приоритет .

Мы рассмотрели еще один вывод, V , чтобы узнать, действителен ли код, доступный на выходах, или нет.

  • Если хотя бы один вход кодера равен «1», то код, доступный на выходах, является действительным. В этом случае выход V будет равен 1.

  • Если все входы энкодера равны «0», то код, доступный на выходах, недопустим. В этом случае выход V будет равен 0.

Таблица истинности приоритетного энкодера с 4 по 2 показана ниже.

входные Выходы
Y 3 Y 2 Y 1 Y 0 А 1 А 0 В
0 0 0 0 0 0 0
0 0 0 1 0 0 1
0 0 1 Икс 0 1 1
0 1 Икс Икс 1 0 1
1 Икс Икс Икс 1 1 1

Используйте 4 переменных K-карты для получения упрощенных выражений для каждого вывода.

K Карта

Упрощенные булевы функции

$$ A_ {1} = Y_ {3} + Y_ {2} $$

$ A_ {0} = {Y_ 3} + {Y_ {2}} 'Y_ {1} $

Аналогично, мы получим булеву функцию выхода V как

$$ V = Y_ {3} + Y_ {2} + Y_ {1} + Y_ {0} $$

Мы можем реализовать вышеупомянутые булевы функции, используя логические элементы. Принципиальная схема 4–2 приоритетного датчика показана на следующем рисунке.

Приоритетный кодировщик

Вышеприведенная принципиальная схема содержит два вентиля ИЛИ с 2 входами, один вентиль ИЛИ с 4 входами, один вентиль И с 2 входами и инвертор. Здесь комбинация логического элемента И инвертора используется для создания действительного кода на выходах, даже если несколько входов равны «1» одновременно. Следовательно, эта схема кодирует четыре входа двумя битами на основе приоритета, назначенного каждому входу.

Цифровые схемы - мультиплексоры

Мультиплексор - это комбинационная схема, которая имеет максимум 2 n входов данных, n линий выбора и одну выходную линию. Один из этих входов данных будет подключен к выходу на основе значений линий выбора.

Так как есть n строк выбора, будет 2 n возможных комбинаций нулей и единиц. Итак, каждая комбинация выберет только один ввод данных. Мультиплексор также называется Mux .

4x1 мультиплексор

Мультиплексор 4x1 имеет четыре входа данных I 3 , I 2 , I 1 & I 0 , две строки выбора s 1 & s 0 и один выход Y. Блок-схема мультиплексора 4x1 показана на следующем рисунке.

4x1 мультиплексор

Один из этих 4 входов будет подключен к выходу на основе комбинации входов, присутствующих в этих двух линиях выбора. Таблица истинности мультиплексора 4x1 показана ниже.

Линии выбора Выход
S 1 S 0 Y
0 0 Я 0
0 1 Я 1
1 0 Я 2
1 1 Я 3

Из таблицы Truth мы можем напрямую написать булеву функцию для вывода, Y как

$$ Y = {S_ {1}} '{S_ {0}}' I_ {0} + {S_ {1}} 'S_ {0} I_ {1} + S_ {1} {S_ {0}}' I_ {2} + S_ {1} S_ {0} I_ {3} $$

Мы можем реализовать эту булеву функцию с помощью инверторов, вентилей AND и вентиля OR. Принципиальная схема мультиплексора 4x1 показана на следующем рисунке.

Схема мультиплексора 4 к 1

Мы можем легко понять работу вышеупомянутой схемы. Аналогично, вы можете реализовать мультиплексор 8x1 и мультиплексор 16x1, следуя той же процедуре.

Реализация мультиплексоров высшего порядка.

Теперь давайте реализуем следующие два мультиплексора высшего порядка, используя мультиплексоры низкого порядка.

  • 8x1 мультиплексор
  • 16x1 мультиплексор

8x1 мультиплексор

В этом разделе мы реализуем мультиплексор 8x1, используя мультиплексоры 4x1 и мультиплексор 2x1. Мы знаем, что 4x1 Multiplexer имеет 4 входа данных, 2 строки выбора и один выход. Принимая во внимание, что 8x1 Multiplexer имеет 8 входов данных, 3 строки выбора и один выход.

Итак, нам требуется два мультиплексора 4x1 на первом этапе, чтобы получить 8 входных данных. Так как каждый мультиплексор 4x1 производит один выход, нам требуется мультиплексор 2x1 на втором этапе, рассматривая выходы первого этапа в качестве входных данных и для получения конечного выхода.

Пусть мультиплексор 8x1 имеет восемь входов данных от I 7 до I 0 , три строки выбора s 2 , s 1 & s0 и один выход Y. Таблица истинности мультиплексора 8x1 показана ниже.

Выбор входов Выход
S 2 S 1 S 0 Y
0 0 0 Я 0
0 0 1 Я 1
0 1 0 Я 2
0 1 1 Я 3
1 0 0 Я 4
1 0 1 Я 5
1 1 0 Я 6
1 1 1 Я 7

Мы можем легко реализовать мультиплексор 8x1, используя мультиплексоры низкого порядка, рассмотрев приведенную выше таблицу истинности. Блок-схема мультиплексора 8x1 показана на следующем рисунке.

Мультиплексор 8 к 1

Те же строки выбора, s 1 и s 0 , применяются к обоим мультиплексорам 4x1. Входы данных верхнего мультиплексора 4x1 - от I 7 до I 4, а входы данных нижнего мультиплексора 4x1 - от I 3 до I 0 . Следовательно, каждый мультиплексор 4x1 создает выходной сигнал на основе значений строк выбора, s 1 & s 0 .

Выходы мультиплексоров 4х1 первой ступени применяются в качестве входов мультиплексора 2х1, который присутствует на второй ступени. Другая строка выбора s 2 применяется к мультиплексору 2x1.

  • Если s 2 равно нулю, то выход мультиплексора 2x1 будет одним из 4 входов от I 3 до I 0 на основании значений линий выбора s 1 & s 0 .

  • Если s 2 равно единице, то выход мультиплексора 2x1 будет одним из 4 входов от I 7 до I 4 на основе значений линий выбора s 1 & s 0 .

Таким образом, общая комбинация двух мультиплексоров 4x1 и одного мультиплексора 2x1 работает как один мультиплексор 8x1.

16x1 мультиплексор

В этом разделе мы реализуем мультиплексор 16x1, используя мультиплексоры 8x1 и мультиплексор 2x1. Мы знаем, что мультиплексор 8x1 имеет 8 входов данных, 3 строки выбора и один выход. Принимая во внимание, что мультиплексор 16x1 имеет 16 входов данных, 4 строки выбора и один выход.

Итак, нам требуется два мультиплексора 8x1 на первом этапе, чтобы получить 16 входных данных. Поскольку каждый мультиплексор 8x1 производит один выход, нам требуется мультиплексор 2x1 на втором этапе, рассматривая выходы первого этапа в качестве входов и для получения конечного выхода.

Пусть мультиплексор 16x1 имеет шестнадцать входов данных от I 15 до I 0 , четыре строки выбора от s 3 до s 0 и один выход Y. Таблица истинности мультиплексора 16x1 показана ниже.

Выбор входов Выход
S 3 S 2 S 1 S 0 Y
0 0 0 0 Я 0
0 0 0 1 Я 1
0 0 1 0 Я 2
0 0 1 1 Я 3
0 1 0 0 Я 4
0 1 0 1 Я 5
0 1 1 0 Я 6
0 1 1 1 Я 7
1 0 0 0 Мне 8
1 0 0 1 Мне 9
1 0 1 0 Мне 10
1 0 1 1 Мне 11
1 1 0 0 Мне 12
1 1 0 1 Мне 13
1 1 1 0 Мне 14
1 1 1 1 Мне 15

Мы можем легко реализовать мультиплексор 16x1, используя мультиплексоры низкого порядка, рассмотрев приведенную выше таблицу истинности. Блок-схема мультиплексора 16x1 показана на следующем рисунке.

Мультиплексор 16 на 1

Те же строки выбора, s 2 , s 1 и s 0 , применяются к обоим мультиплексорам 8x1. Входы данных верхнего мультиплексора 8x1 - от I 15 до I 8, а входы данных нижнего мультиплексора 8x1 - от I 7 до I 0 . Следовательно, каждый мультиплексор 8x1 создает выходной сигнал на основе значений линий выбора, s 2 , s 1 & s 0 .

Выходы мультиплексоров 8x1 первой ступени применяются в качестве входов мультиплексора 2x1, который присутствует на второй ступени. Другая строка выбора s 3 применяется к мультиплексору 2x1.

  • Если s 3 равно нулю, то выход мультиплексора 2x1 будет одним из 8 входов от 7 до I 0 на основе значений линий выбора s 2 , s 1 & s 0 .

  • Если s 3 равен единице, то выход мультиплексора 2x1 будет одним из 8 входов от I 15 до I 8 на основе значений линий выбора s 2 , s 1 & s 0 .

Таким образом, общая комбинация двух мультиплексоров 8x1 и одного мультиплексора 2x1 работает как один мультиплексор 16x1.

Цифровые схемы - демультиплексоры

Демультиплексор представляет собой комбинационную схему, которая выполняет обратную операцию мультиплексора. Он имеет один вход, n линий выбора и максимум 2 n выходов. Вход будет подключен к одному из этих выходов на основе значений линий выбора.

Так как есть n строк выбора, будет 2 n возможных комбинаций нулей и единиц. Таким образом, каждая комбинация может выбрать только один выход. De-Multiplexer также называется De-Mux .

1x4 демультиплексор

1x4 De-Multiplexer имеет один вход I, две строки выбора, s 1 и s 0 и четыре выхода Y 3 , Y 2 , Y 1 и Y 0 . Блок-схема демультиплексора 1x4 показана на следующем рисунке.

От 1 до 4 демультиплексора

Один вход «I» будет подключен к одному из четырех выходов, от Y 3 до Y 0, в зависимости от значений линий выбора s 1 и s0. Таблица истинности 1x4 De-Multiplexer показана ниже.

Выбор входов Выходы
S 1 S 0 Y 3 Y 2 Y 1 Y 0
0 0 0 0 0 я
0 1 0 0 я 0
1 0 0 я 0 0
1 1 я 0 0 0

Из приведенной выше таблицы Истины мы можем напрямую написать булевы функции для каждого вывода как

$$ Y_ {3} = S_ {1} S_ {0} Я $$

$$ Y_ {2} = S_ {1} {S_ {0}} "Я $$

$$ Y_ {1} = {S_ {1}} 'S_ {0} Я $$

$$ Y_ {0} = {s_1} {S_ {0}} 'I $$

Мы можем реализовать эти булевы функции с помощью инверторов и вентилей с 3 входами И. Принципиальная схема демультиплексора 1x4 показана на следующем рисунке.

Принципиальная схема демультиплексора 1x4

Мы можем легко понять работу вышеупомянутой схемы. Аналогично, вы можете реализовать демультиплексор 1x8 и демультиплексор 1x16, выполнив одну и ту же процедуру.

Реализация демультиплексоров высшего порядка

Теперь давайте реализуем следующие два демультиплексора высшего порядка, используя демультиплексоры низкого порядка.

  • 1x8 демультиплексор
  • 1x16 демультиплексор

1x8 демультиплексор

В этом разделе мы реализуем демультиплексор 1x8, используя демультиплексоры 1x4 и демультиплексор 1x2. Мы знаем, что демультиплексор 1x4 имеет один вход, две линии выбора и четыре выхода. Принимая во внимание, что демультиплексор 1x8 имеет один вход, три линии выбора и восемь выходов.

Итак, нам нужны два 1x4 демультиплексора на втором этапе, чтобы получить последние восемь выходов. Поскольку количество входов на втором этапе равно двум, нам потребуется 1x2 демультиплексора на первом этапе, чтобы выходы первого этапа были входами второго этапа. Вход этого демультиплексора 1x2 будет общим входом демультиплексора 1x8.

Пусть демультиплексор 1x8 имеет один вход I, три строки выбора s 2 , s 1 и s 0 и выходы с Y 7 по Y 0 . Таблица истинности демультиплексора 1x8 показана ниже.

Выбор входов Выходы
с 2 с 1 с 0 Y 7 Y 6 Y 5 Y 4 Y 3 Y 2 Y 1 Y 0
0 0 0 0 0 0 0 0 0 0 я
0 0 1 0 0 0 0 0 0 я 0
0 1 0 0 0 0 0 0 я 0 0
0 1 1 0 0 0 0 я 0 0 0
1 0 0 0 0 0 я 0 0 0 0
1 0 1 0 0 я 0 0 0 0 0
1 1 0 0 я 0 0 0 0 0 0
1 1 1 я 0 0 0 0 0 0 0

Мы можем легко реализовать демультиплексор 1x8, используя мультиплексоры низкого порядка, рассмотрев приведенную выше таблицу истинности. Блок-схема демультиплексора 1x8 показана на следующем рисунке.

От 1 до 8 демультиплексора

Общие строки выбора s 1 & s 0 применяются к обоим демультиплексорам 1x4. Выходы верхнего демультиплексора 1x4 - от Y 7 до Y 4, а выходы нижнего демультиплексора 1x4 - от Y 3 до Y 0 .

Другая строка выбора, s 2 , применяется к демультиплексору 1x2. Если s 2 равно нулю, то один из четырех выходов нижнего демультиплексора 1x4 будет равен входу I, основываясь на значениях линий выбора s 1 & s 0 . Аналогично, если s 2 равно единице, то один из четырех выходов верхнего демультиплексора 1x4 будет равен входу I, основываясь на значениях линий выбора s 1 & s 0 .

1x16 демультиплексор

В этом разделе мы реализуем демультиплексор 1x16, используя демультиплексоры 1x8 и демультиплексор 1x2. Мы знаем, что демультиплексор 1x8 имеет один вход, три линии выбора и восемь выходов. Принимая во внимание, что демультиплексор 1x16 имеет один вход, четыре строки выбора и шестнадцать выходов.

Итак, нам нужны два демультиплексора 1x8 на втором этапе, чтобы получить окончательные шестнадцать выводов. Поскольку количество входов на втором этапе равно двум, нам потребуется 1x2 демультиплексора на первом этапе, чтобы выходы первого этапа были входами второго этапа. Вход этого демультиплексора 1x2 будет общим входом демультиплексора 1x16.

Пусть демультиплексор 1x16 имеет один вход I, четыре строки выбора s 3 , s 2 , s 1 & s 0 и выходы Y 15 - Y 0 . Блок-схема демультиплексора 1x16 с использованием мультиплексоров более низкого порядка показана на следующем рисунке.

1-16 Демультиплексор

Общие строки выбора s 2 , s 1 и s 0 применяются к обоим демультиплексорам 1x8. Выходы верхнего демультиплексора 1x8 - от Y 15 до Y 8, а выходы нижнего демультиплексора 1x8 - от Y 7 до Y 0 .

Другая строка выбора s 3 применяется к демультиплексору 1x2. Если s 3 равно нулю, то один из восьми выходов нижнего демультиплексора 1x8 будет равен входу I, основываясь на значениях линий выбора s 2 , s 1 & s 0 . Аналогично, если s3 равен единице, то один из 8 выходов верхнего демультиплексора 1x8 будет равен входу I, основываясь на значениях строк выбора s 2 , s 1 & s 0 .

Программируемые логические устройства

Программируемые логические устройства (PLD) являются интегральными схемами. Они содержат массив вентилей AND и другой массив вентилей OR. Существует три типа PLD, основанные на типе массива (ов), который имеет программируемую функцию.

  • Программируемая постоянная память
  • Программируемая логика массива
  • Программируемый логический массив

Процесс ввода информации в эти устройства известен как программирование . По сути, пользователи могут программировать эти устройства или микросхемы электрически, чтобы реализовать булевы функции на основе требований. Здесь термин «программирование» относится к аппаратному программированию, но не к программному.

Программируемая постоянная память (PROM)

Постоянное запоминающее устройство (ПЗУ) - это запоминающее устройство, которое постоянно хранит двоичную информацию. Это означает, что мы не можем изменить эту сохраненную информацию каким-либо образом позже. Если ПЗУ имеет программируемую функцию, то она называется ППЗУ . Пользователь может гибко программировать двоичную информацию один раз с помощью программатора PROM.

PROM - это программируемое логическое устройство с фиксированным массивом AND и программируемым массивом OR. Блок-схема PROM показана на следующем рисунке.

ВЫПУСКНОЙ ВЕЧЕР

Здесь входы логических элементов И не являются программируемыми. Таким образом, мы должны сгенерировать 2 n терминов продукта, используя 2 n логических элемента AND, каждый из которых имеет n входов. Мы можем реализовать эти условия продукта с помощью nx2 n декодера. Таким образом, этот декодер генерирует 'n' min терминов .

Здесь входы ИЛИ вентилей являются программируемыми. Это означает, что мы можем запрограммировать любое количество необходимых терминов продукта, поскольку все выходы логических элементов И применяются в качестве входных данных для каждого логического элемента ИЛИ. Следовательно, выходные данные PROM будут представлены в виде суммы минимальных членов .

пример

Давайте реализуем следующие булевы функции, используя PROM.

$$ A (X, Y, Z) = \ sum m \ left (5,6,7 \ right) $$

$$ B (X, Y, Z) = \ sum m \ left (3,5,6,7 \ right) $$

Эти две функции представлены в виде суммы минимальных членов, и каждая функция имеет три переменные X, Y и Z. Таким образом, нам требуется от 3 до 8 декодеров и два программируемых логических элемента ИЛИ для создания этих двух функций. Соответствующий PROM показан на следующем рисунке.

Пример выпускного вечера

Здесь декодер с 3 по 8 генерирует восемь минутных терминов. Два программируемых логических элемента ИЛИ имеют доступ ко всем этим минимальным терминам. Но запрограммированы только необходимые минимальные условия для создания соответствующих логических функций каждым логическим элементом ИЛИ. Символ «X» используется для программируемых соединений.

Программируемая логическая матрица (PAL)

PAL - это программируемое логическое устройство, которое имеет программируемый массив И и фиксированный массив ИЛИ. Преимущество PAL заключается в том, что мы можем генерировать только необходимые условия продукта булевой функции вместо генерации всех минимальных условий с помощью программируемых вентилей AND. Блок-схема PAL показана на следующем рисунке.

PAL

Здесь входы логических элементов И являются программируемыми. Это означает, что каждый логический элемент И имеет как нормальные, так и дополненные входы переменных. Таким образом, основываясь на требовании, мы можем запрограммировать любой из этих входов. Таким образом, мы можем генерировать только необходимые условия продукта с помощью этих вентилей AND.

Здесь входы вентилей ИЛИ не являются программируемыми. Таким образом, количество входов в каждый вентиль ИЛИ будет фиксированного типа. Следовательно, примените эти требуемые условия продукта к каждому элементу ИЛИ в качестве входных данных. Таким образом, результаты PAL будут в виде суммы суммы продуктов .

пример

Давайте реализуем следующие булевы функции, используя PAL.

$$ А = XY + X {Z} '$$

$$ А = Х {У} '+ Y {Z}' $$

Данные две функции находятся в виде суммы произведений. В каждой булевой функции присутствуют два термина продукта. Итак, нам нужны четыре программируемых И-вентиля и два фиксированных ИЛИ-вентиля для создания этих двух функций. Соответствующий PAL показан на следующем рисунке.

Пример Pal

Программируемые логические элементы И имеют доступ как к обычным, так и к дополнительным входам переменных. На рисунке выше входы X, $ {X} '$, Y, $ {Y}' $, Z & $ {Z} '$ доступны на входах каждого логического элемента AND. Таким образом, запрограммируйте только необходимые литералы, чтобы сгенерировать один термин продукта для каждого элемента И. Символ «X» используется для программируемых соединений.

Здесь входы вентилей ИЛИ имеют фиксированный тип. Таким образом, необходимые условия продукта связаны с входами каждого логического элемента ИЛИ . Так что вентили OR производят соответствующие логические функции. Символ '.' используется для фиксированных соединений.

Программируемый логический массив (PLA)

PLA - это программируемое логическое устройство, которое имеет как Программируемый массив, так и Программируемый массив ИЛИ. Следовательно, это самый гибкий PLD. Блок-схема PLA показана на следующем рисунке.

PLA

Здесь входы логических элементов И являются программируемыми. Это означает, что каждый логический элемент И имеет как нормальные, так и дополненные входы переменных. Таким образом, основываясь на требовании, мы можем запрограммировать любой из этих входов. Таким образом, мы можем генерировать только необходимые условия продукта с помощью этих вентилей AND.

Здесь входы ИЛИ вентилей также программируются. Таким образом, мы можем запрограммировать любое количество необходимых терминов продукта, поскольку все выходы логических элементов И применяются в качестве входных данных для каждого логического элемента ИЛИ. Таким образом, результаты PAL будут в виде суммы суммы продуктов .

пример

Давайте реализуем следующие булевы функции с использованием PLA.

$$ А = XY + X {Z} '$$

$$ В = Х {У} '+ YZ + X {Z}' $$

Данные две функции находятся в виде суммы произведений. Число членов продукта, присутствующих в данных булевых функциях A и B, равно двум и трем соответственно. Один член произведения $ {Z} 'X $ является общим в каждой функции.

Итак, нам нужны четыре программируемых И-логических элемента и два программируемых ИЛИ-вентиля для выполнения этих двух функций. Соответствующий PLA показан на следующем рисунке.

PLA принципиальная схема

Программируемые логические элементы И имеют доступ как к обычным, так и к дополнительным входам переменных. На рисунке выше входы X, $ {X} '$, Y, $ {Y}' $, Z & $ {Z} '$ доступны на входах каждого логического элемента AND. Таким образом, запрограммируйте только необходимые литералы, чтобы сгенерировать один термин продукта для каждого элемента И.

Все эти термины продукта доступны на входах каждого программируемого логического элемента ИЛИ . Но программируйте только необходимые термины продукта, чтобы создавать соответствующие логические функции для каждого логического элемента ИЛИ. Символ «X» используется для программируемых соединений.

Цифровые схемы - пороговая логика

В предыдущих главах мы реализовали различные комбинационные схемы с использованием логических элементов. За исключением шлюза NOT, все остальные логические элементы имеют как минимум два входа и один выход. Аналогично, пороговый вентиль также содержит по меньшей мере один вход и только один выход.

Кроме того, он содержит соответствующие веса для каждого входа и пороговое значение. Значения этих весов и пороговых значений могут быть любыми конечными действительными числами.

Основы пороговых ворот

Пусть входы порогового вентиля: X 1 , X 2 , X 3 ,…, X n . Соответствующие веса этих входов W 1 , W 2 , W 3 ,…, W n . Символ пороговых ворот показан на следующем рисунке.

Основы пороговых ворот

Пороговый затвор представлен кружком и имеет «n» входов, от X 1 до X n и один выход Y. Этот круг состоит из двух частей. Одна часть представляет веса, соответствующие входам, а другая часть представляет пороговое значение, T.

Сумма произведений входов с соответствующими весами известна как взвешенная сумма . Если эта взвешенная сумма больше или равна пороговому значению T, то только выход Y будет равен единице. В противном случае выход Y будет равен нулю.

Математически мы можем записать это соотношение между входами и выходами порогового элемента, как показано ниже.

$$ Y = 1, если \: \: W_ {1} X_ {1} + W_ {2} X_ {2} + W_ {3} X_ {3} + ... W_ {n} X_ {n} \ geq T $$

𝑌 = 0, в противном случае.

Следовательно, мы можем реализовать различные логические элементы и логические функции, просто изменив значения весов и / или пороговое значение, T.

пример

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

Пример пороговых ворот

Этот пороговый элемент имеет три входа X 1 , X 2 , X 3 и один выход Y.

Веса, соответствующие входам X 1 , X 2 и X 3, составляют W 1 = 2, W 2 = 1 и W 3 = -4 соответственно.

Значение порогового затвора Т = -1.

Взвешенная сумма порога ворот

$$ W = W _ {1} X_ {1} + W _ {2} X_ {2} + W _ {3} X_ {3} $$

Подставим данные веса в приведенное выше уравнение.

$$ \ Rightarrow W = 2X_ {1} + X_ {2} -4X_ {3} $$

Выход порогового элемента Y будет равен 1, если W ≥ −1, в противном случае он будет равен 0.

В следующей таблице показана взаимосвязь между входом и выходом для всех возможных комбинаций входов.

входные Взвешенная сумма Выход
$ X_ {1} $ $ X_ {2} $ $ X_ {3} $ $ W = 2X_ {1} + Х- {2} -4X_ {3} $ $ Y $
0 0 0 0 1
0 0 1 -4 0
0 1 0 1 1
0 1 1 -3 0
1 0 0 2 1
1 0 1 -2 0
1 1 0 3 1
1 1 1 -1 1

Из приведенной выше таблицы мы можем написать булеву функцию для вывода, Y как

$$ Y = \ sum m \ left (0,2,4,6,7 \ right) $$

Упрощение этой булевой функции с использованием 3-х переменных K-Map показано на следующем рисунке.

Упрощенная булева функция

Следовательно, упрощенная булева функция для данного порогового элемента равна $ Y = {X_ {3} '} + X_ {1} X_ {2} $.

Синтез пороговых функций

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

Выполните следующие шаги для реализации логической функции с использованием одного порогового элемента.

Шаг 1 - Сформулируйте таблицу истинности для данной булевой функции.

Шаг 2 - В приведенной выше таблице «Истина» добавьте (включите) еще один столбец, который дает соотношение между взвешенными суммами и пороговым значением .

Шаг 3 - Запишите соотношение между взвешенными суммами и порогом для каждой комбинации входов, как указано ниже.

  • Если выходные данные булевой функции равны 1, то взвешенная сумма будет больше или равна пороговому значению для этой комбинации входов.

  • Если выход булевой функции равен 0, то взвешенная сумма будет меньше порогового значения для этой комбинации входов.

Шаг 4 - Выберите значения весов и порога таким образом, чтобы они удовлетворяли всем отношениям, представленным в последнем столбце приведенной выше таблицы.

Шаг 5 - Нарисуйте символ порога с этими весами и значением порога.

пример

Давайте реализуем следующую булеву функцию, используя один пороговый элемент.

$$ Y \ left (X_ {1}, X_ {2}, X_ {3} \ right) = \ sum m \ left (0,2,4,6,7 \ right) $$

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

входные Выход
X 1 X 2 X 3 Y
0 0 0 1
0 0 1 0
0 1 0 1
0 1 1 0
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

Теперь давайте добавим (включим) еще один столбец в таблицу выше. Этот последний столбец содержит отношения между взвешенными суммами (W) и пороговым значением (T) для каждой комбинации входов.

входные Выход Отношения между W & T
X 1 X 2 X 3 Y
0 0 0 1 0 ≥T
0 0 1 0 W 3 <T
0 1 0 1 W 2 ≥ T
0 1 1 0 W 2 + W 3 <T
1 0 0 1 W 1 ≥ T
1 0 1 0 W 1 + W 3 <T
1 1 0 1 W 1 + W 2 ≥ T
1 1 1 1 W 1 + W 2 + W 3 ≥ T

Ниже приведены выводы из приведенной выше таблицы.

  • Значение Threshold должно быть либо нулевым, либо отрицательным в зависимости от первого отношения.

  • Значение W 3 должно быть отрицательным на основании первого и второго соотношений.

  • Значения W 1 и W 2 должны быть больше или равны пороговому значению на основе пятого и третьего соотношений.

  • W 2 должно быть больше, чем W 3 на основе четвертого соотношения.

Мы можем выбрать следующие значения для весов и порога на основе приведенных выше выводов.

W 1 = 2, W 2 = 1, W 3 = -4 & T = -1

Символ пороговых ворот с указанными выше значениями показан ниже.

Символ пороговых ворот

Следовательно, этот пороговый элемент реализует заданную булеву функцию : $ Y \ left (X_ {1}, X_ {2}, X_ {3} \ right) = \ sum m \ left (0,2,4,6,7 \ правильно)

Цифровые последовательные цепи

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

Последовательная цепь

Эта последовательная схема содержит набор входов и выходов. Выход (ы) последовательной цепи зависит не только от комбинации имеющихся входов, но и от предыдущих выходов. Предыдущий вывод - не что иное, как настоящее состояние . Следовательно, последовательные схемы содержат комбинационные схемы наряду с элементами памяти (хранения). Некоторые последовательные схемы могут содержать не комбинационные схемы, а только элементы памяти.

Следующая таблица показывает различия между комбинационными цепями и последовательными цепями.

Комбинационные схемы Последовательные цепи
Выходы зависят только от текущих входов. Выходы зависят как от текущих входов, так и от текущего состояния.
Путь обратной связи отсутствует. Путь обратной связи присутствует.
Элементы памяти не требуются. Элементы памяти обязательны.
Тактовый сигнал не требуется. Требуется тактовый сигнал.
Легко оформить. Сложно оформить.

Типы последовательных цепей

Ниже приведены два типа последовательных цепей -

  • Асинхронные последовательные цепи
  • Синхронные последовательные цепи

Асинхронные последовательные цепи

Если некоторые или все выходы последовательной цепи не изменяются (не влияют) относительно активного перехода тактового сигнала, то эта последовательная схема называется асинхронной последовательной цепью . Это означает, что все выходы асинхронных последовательных цепей не изменяются (влияют) одновременно. Следовательно, большинство выходов асинхронных последовательных цепей не синхронизированы ни только с положительными фронтами, либо только с отрицательными фронтами тактового сигнала.

Синхронные последовательные цепи

Если все выходы последовательной цепи изменяются (влияют) относительно активного перехода тактового сигнала, то эта последовательная цепь называется синхронной последовательной цепью . Это означает, что все выходы синхронных последовательных цепей изменяются (влияют) одновременно. Следовательно, выходы синхронных последовательных цепей синхронизированы либо только с положительными фронтами, либо только с отрицательными фронтами тактового сигнала.

Сигнал и запуск часов

В этом разделе давайте обсудим тактовый сигнал и типы запуска по одному.

Тактовый сигнал

Сигнал часов является периодическим сигналом, и время его включения и время выключения не обязательно должны совпадать. Мы можем представить сигнал часов в виде прямоугольной волны , когда время включения и выключения совпадают. Этот тактовый сигнал показан на следующем рисунке.

Тактовый сигнал

На приведенном выше рисунке прямоугольная волна считается тактовым сигналом. Этот сигнал остается на логическом высоком уровне (5 В) в течение некоторого времени и остается на логическом низком уровне (0 В) в течение равного периода времени. Этот шаблон повторяется с некоторым периодом времени. В этом случае период времени будет равен либо двукратному времени включения, либо удвоенному времени выключения.

Мы можем представить сигнал часов как последовательность импульсов , когда время включения и время выключения не совпадают. Этот тактовый сигнал показан на следующем рисунке.

Поезд Импульсов

На приведенном выше рисунке последовательность импульсов рассматривается как тактовый сигнал. Этот сигнал остается на логическом высоком уровне (5 В) в течение некоторого времени и остается на логическом низком уровне (0 В) в течение другого времени. Этот шаблон повторяется с некоторым периодом времени. В этом случае период времени будет равен сумме времени включения и времени выключения.

Обратная величина периода времени тактового сигнала известна как частота тактового сигнала. Все последовательные цепи работают с тактовым сигналом. Таким образом, частота, на которой могут работать последовательные схемы в соответствии с частотой тактового сигнала, должна быть выбрана.

Типы запуска

Ниже приведены два возможных типа запуска, которые используются в последовательных цепях.

  • Уровень срабатывания
  • Краевой запуск

Уровень срабатывания

Существует два уровня, а именно: высокий логический уровень и низкий логический уровень в тактовом сигнале. Ниже приведены два типа запуска уровня .

  • Положительный уровень срабатывания
  • Отрицательный уровень срабатывания

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

запуск по уровню

Если последовательная цепь работает с тактовым сигналом, когда он находится на низком логическом уровне , то этот тип запуска известен как запуск по отрицательному уровню . Это выделено на следующем рисунке.

Отрицательный уровень срабатывания

Краевой запуск

Есть два типа переходов, которые происходят в тактовом сигнале. Это означает, что тактовый сигнал переходит либо из низкого логического уровня в высокий логический, либо из высокого логического уровня в низкий логический уровень.

Ниже приведены два типа запуска фронта на основе переходов тактового сигнала.

  • Срабатывание положительного фронта
  • Отрицательный запуск по фронту

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

Положительный край запуска

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

Запуск по отрицательному краю

В следующих главах мы обсудим различные последовательные схемы, основанные на типе запуска, который может использоваться в нем.

Цифровые схемы - защелки

Существует два типа элементов памяти, основанных на типе запуска, который подходит для его работы.

  • Задвижки
  • Шлепки

Защелки работают с разрешающим сигналом, который чувствителен к уровню . Принимая во внимание, что шлепанцы чувствительны к краям. Мы обсудим шлепанцы в следующей главе. Теперь давайте поговорим о SR Latch & D Latch один за другим.

SR Latch

SR Latch также называется Set Reset Latch . Эта защелка влияет на выходы до тех пор, пока активация E поддерживается на «1». Принципиальная электрическая схема SR Latch показана на следующем рисунке.

SR Latch

Эта схема имеет два входа S & R и два выхода Q (t) и Q (t) '. Верхний вентиль NOR имеет два входа R & дополнение текущего состояния, Q (t) ', и выдает следующее состояние, Q (t + 1), когда разрешено, E равно' 1 '.

Аналогично, нижний логический элемент NOR имеет два входа S и текущее состояние, Q (t), и выдает дополнение следующего состояния, Q (t + 1) ', когда разрешено, E равно' 1 '.

Мы знаем, что вентиль NOR с 2 входами производит выход, который является дополнением к другому входу, когда один из входов равен «0». Точно так же это производит '0' вывод, когда один из входов является '1'.

  • Если S = 1, то следующее состояние Q (t + 1) будет равно «1» независимо от текущего состояния, значения Q (t).

  • Если R = 1, то следующее состояние Q (t + 1) будет равно «0» независимо от текущего состояния, значения Q (t).

В любое время только из этих двух входов должно быть «1». Если оба входа «1», то значение следующего состояния Q (t + 1) не определено.

В следующей таблице показана таблица состояний SR-защелки.

S р Q (t + 1)
0 0 Q (T)
0 1 0
1 0 1
1 1 -

Поэтому SR Latch выполняет три типа функций, таких как Hold, Set & Reset, в зависимости от условий ввода.

D Latch

Есть один недостаток SR Latch. То есть следующее значение состояния не может быть предсказано, когда оба входа S & R едины. Таким образом, мы можем преодолеть эту трудность с помощью D Latch. Это также называется Data Latch. Принципиальная электрическая схема D Latch показана на следующем рисунке.

D Latch

Эта схема имеет один вход D и два выхода Q (t) и Q (t) '. D Latch получается из SR Latch, помещая инвертор между входами S amp & & R и подключая вход D к S. Это означает, что мы исключили комбинации S & R одинакового значения.

  • Если D = 0 → S = 0 & R = 1, то следующее состояние Q (t + 1) будет равно «0» независимо от текущего состояния, значения Q (t). Это соответствует второй строке таблицы состояний SR Latch.

  • Если D = 1 → S = 1 & R = 0, то следующее состояние Q (t + 1) будет равно «1» независимо от текущего состояния, значения Q (t). Это соответствует третьей строке таблицы состояний SR Latch.

В следующей таблице показана таблица состояний D-защелки.

D Q (t + 1)
0 0
1 1

Таким образом, D Latch Удерживает информацию, которая доступна на входе данных, D. Это означает, что выход D Latch чувствителен к изменениям на входе, D, пока разрешение является Высоким.

В этой главе мы реализовали различные защелки, обеспечив перекрестную связь между воротами NOR. Точно так же вы можете реализовать эти защелки с помощью вентилей NAND.

Цифровые схемы - шлепанцы

В предыдущей главе мы обсуждали защелки. Это основные строительные блоки вьетнамки. Мы можем реализовать триггеры двумя способами.

В первом способе каскадируют две защелки таким образом, чтобы первая защелка включалась для каждого положительного тактового импульса, а вторая защелка включалась для каждого отрицательного тактового импульса. Так что комбинация этих двух защелок становится триггером.

Во втором методе мы можем напрямую реализовать триггер, который чувствителен к краям. В этой главе давайте обсудим следующие триггеры, используя второй метод.

  • SR Flip-Flop
  • D Триггер
  • JK Flip-Flop
  • T Триггер

SR Flip-Flop

Триггер SR работает только с положительными тактовыми переходами или отрицательными тактовыми переходами. Принимая во внимание, что защелка SR работает с разрешающим сигналом. Принципиальная электрическая схема триггера SR показана на следующем рисунке.

SR Flip-Flop

Эта схема имеет два входа S & R и два выхода Q (t) и Q (t) '. Работа триггера SR аналогична SR Latch. Но этот триггер влияет на выходы только тогда, когда вместо активного разрешения применяется положительный переход тактового сигнала.

В следующей таблице показана таблица состояний SR-триггера.

S р Q (t + 1)
0 0 Q (T)
0 1 0
1 0 1
1 1 -

Здесь Q (t) и Q (t + 1) представляют собой текущее состояние и следующее состояние соответственно. Таким образом, SR-триггер может использоваться для одной из этих трех функций, таких как Hold, Reset & Set, в зависимости от условий входа, когда применяется положительный переход тактового сигнала. Следующая таблица показывает таблицу характеристик SR триггера.

Представленные входы Современное состояние Следующее состояние
S р Q (T) Q (t + 1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 Икс
1 1 1 Икс

Используя три переменные K-Map, мы можем получить упрощенное выражение для следующего состояния, Q (t + 1). Три переменные K-Map для следующего состояния, Q (t + 1), показаны на следующем рисунке.

3 переменная K карта следующего состояния

Максимально возможные группировки соседних уже показаны на рисунке. Следовательно, упрощенное выражение для следующего состояния Q (t + 1) имеет вид

$ Q \ left (t + 1 \ right) = S + {R} 'Q \ left (t \ right) $

D Триггер

D триггер работает только с положительными тактовыми переходами или отрицательными тактовыми переходами. Принимая во внимание, что D-защелка работает с разрешающим сигналом. Это означает, что вывод D триггера нечувствителен к изменениям на входе D, за исключением активного перехода тактового сигнала. Принципиальная схема D-триггера показана на следующем рисунке.

D Триггер

Эта схема имеет один вход D и два выхода Q (t) и Q (t) '. Работа D триггера аналогична D Latch. Но этот триггер влияет на выходы только тогда, когда вместо активного разрешения применяется положительный переход тактового сигнала.

В следующей таблице показана таблица состояний D триггера.

D Qt + 1t + 1
0 0
1 1

Следовательно, D триггер всегда содержит информацию, которая доступна на входе данных, D о более раннем положительном переходе тактового сигнала. Из приведенной выше таблицы состояний мы можем непосредственно записать следующее уравнение состояния в виде

Q (t + 1) = D

Следующее состояние D триггера всегда равно вводу данных, D для каждого положительного перехода тактового сигнала. Следовательно, D триггеры могут использоваться в регистрах, регистрах сдвига и некоторых счетчиках.

JK Flip-Flop

JK-триггер - модифицированная версия SR-триггера. Он работает только с положительными переходами часов или отрицательными переходами часов. Принципиальная электрическая схема триггера JK показана на следующем рисунке.

JK Flip-Flop

Эта схема имеет два входа J & K и два выхода Q (t) и Q (t) '. Работа JK триггера аналогична SR триггеру. Здесь мы рассмотрели входы триггера SR как S = JQ (t) ' и R = KQ (t) , чтобы использовать модифицированный триггер SR для 4 комбинаций входов.

В следующей таблице показана таблица состояний JK-триггера.

J К Q (t + 1)
0 0 Q (T)
0 1 0
1 0 1
1 1 Q (T)»

Здесь Q (t) и Q (t + 1) представляют собой текущее состояние и следующее состояние соответственно. Таким образом, триггер JK можно использовать для одной из этих четырех функций, таких как «Удержание», «Сброс», «Установить и дополнить текущее состояние» на основе условий ввода, когда применяется положительный переход тактового сигнала. В следующей таблице показана таблица характеристик JK-триггера.

Представленные входы Современное состояние Следующее состояние
J К Q (T) Q (T + 1)
0 0 0 0
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 0

Используя три переменные K-Map, мы можем получить упрощенное выражение для следующего состояния, Q (t + 1). Три переменные K-Map для следующего состояния Q (t + 1) показаны на следующем рисунке.

JK 3 Переменная K-Map

Максимально возможные группировки соседних уже показаны на рисунке. Следовательно, упрощенное выражение для следующего состояния Q (t + 1) имеет вид

$$ Q \ left (t + 1 \ right) = J {Q \ left (t \ right)} '+ {K}' Q \ left (t \ right) $$

T Триггер

T-триггер - это упрощенная версия JK-триггера. Он получается путем подключения одного и того же входа «T» к обоим входам триггера JK. Он работает только с положительными переходами часов или отрицательными переходами часов. Принципиальная электрическая схема T-триггера показана на следующем рисунке.

T Триггер

Эта схема имеет один вход T и два выхода Q (t) и Q (t) '. Операция T триггера такая же, как и у JK триггера. Здесь мы рассмотрели входные данные JK-триггера как J = T и K = T , чтобы использовать модифицированный JK-триггер для 2 комбинаций входов. Итак, мы исключили две другие комбинации J & K, для которых эти два значения дополняют друг друга в T-триггере.

В следующей таблице показана таблица состояний T-триггера.

D Q (t + 1)
0 Q (T)
1 Q (T)»

Здесь Q (t) и Q (t + 1) представляют собой текущее состояние и следующее состояние соответственно. Таким образом, T-триггер может использоваться для одной из этих двух функций, таких как «Удержание» и «Дополнение текущего состояния» на основе условий ввода, когда применяется положительный переход тактового сигнала. Следующая таблица показывает таблицу характеристик T триггера.

входные Современное состояние Следующее состояние
T Q (T) Q (t + 1)
0 0 0
0 1 1
1 0 1
1 1 0

Из приведенной выше таблицы характеристик мы можем непосредственно записать следующее уравнение состояния в виде

$$ Q \ left (t + 1 \ right) = {T} 'Q \ left (t \ right) + TQ {\ left (t \ right)}' $$

$$ \ Rightarrow Q \ left (t + 1 \ right) = T \ oplus Q \ left (t \ right) $$

Выход триггера T всегда переключается для каждого положительного перехода тактового сигнала, когда вход T остается на высоком логическом уровне (1). Следовательно, T триггер может быть использован в счетчиках .

В этой главе мы реализовали различные триггеры, обеспечив перекрестную связь между вентилями NOR. Точно так же вы можете реализовать эти триггеры с помощью вентилей NAND.

Цифровые схемы - конвертация вьетнамки

В предыдущей главе мы обсудили четыре триггера, а именно: триггер SR, триггер D, триггер JK и триггер T. Мы можем преобразовать один триггер в оставшиеся три триггера, добавив некоторую дополнительную логику. Таким образом, всего будет получено двенадцать конвертаций .

Выполните следующие шаги для преобразования одного триггера в другой.

  • Рассмотрим таблицу характеристик желаемого триггера.

  • Заполните значения возбуждения (входы) данного триггера для каждой комбинации текущего состояния и следующего состояния. Таблица возбуждения для всех шлепанцев показана ниже.

Современное состояние Следующее состояние SR триггерные входы D триггерный ввод JK триггерные входы Т триггер ввода
Q (T) Q (T + 1) S р D J К T
0 0 0 Икс 0 0 Икс 0
0 1 1 0 1 1 Икс 1
1 0 0 1 0 Икс 1 1
1 1 Икс 0 1 Икс 0 0
  • Получите упрощенные выражения для каждого входа возбуждения. При необходимости используйте Kmaps для упрощения.

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

Теперь давайте конвертируем несколько шлепанцев в другие. Выполните тот же процесс для оставшихся конверсий триггера.

SR Flip-Flop в другие преобразования Flip-Flop

Ниже приведены три возможных преобразования SR-триггера в другие триггеры.

  • SR триггер на D триггер
  • SR триггер на JK триггер
  • SR триггер к T триггеру

SR-триггер в D-триггер

Здесь данный триггер является SR триггером, а желаемый триггер - D триггером. Поэтому рассмотрим следующую таблицу характеристик D триггера.

D триггерный ввод Современное состояние Следующее состояние
D Q (T) Q (t + 1)
0 0 0
0 1 0
1 0 1
1 1 1

Мы знаем, что триггер SR имеет два входа S & R. Итак, запишите значения возбуждения триггера SR для каждой комбинации значений текущего состояния и следующего состояния. Следующая таблица показывает таблицу характеристик D триггера вместе с входами возбуждения триггера SR.

D триггерный ввод Современное состояние Следующее состояние SR триггерные входы
D Q (T) Q (t + 1) S р
0 0 0 0 Икс
0 1 0 0 1
1 0 1 1 0
1 1 1 Икс 0

Из приведенной выше таблицы мы можем написать булевы функции для каждого входа, как показано ниже.

$$ S = M_ {2} + d- {3} $$

$$ R = M_ {1} + d- {0} $$

Мы можем использовать две переменные K-Maps для получения упрощенных выражений для этих входных данных. K-карты для S & R показаны ниже.

Конвертация триггера

Итак, мы получили S = D & R = D 'после упрощения. Принципиальная схема D-триггера показана на следующем рисунке.

Принципиальная схема D триггера

Эта схема состоит из триггера SR и инвертора. Этот инвертор производит выход, который является дополнением к входу D. Таким образом, общая схема имеет один вход, D и два выхода Q (t) и Q (t) '. Следовательно, это D-триггер . Точно так же вы можете сделать два других преобразования.

D Триггер на другие триггеры

Ниже приведены три возможных преобразования D-триггера в другие триггеры.

  • D триггер к T триггеру
  • D триггер на SR триггер
  • D триггер на JK триггер

D триггер-конверсия в T-триггер

Здесь данный триггер является D триггером, а желаемый триггер - T триггером. Поэтому рассмотрим следующую таблицу характеристик T-триггера.

Т триггер ввода Современное состояние Следующее состояние
T Q (T) Q (t + 1)
0 0 0
0 1 1
1 0 1
1 1 0

Мы знаем, что D-триггер имеет один вход D. Итак, запишите значения возбуждения D-триггера для каждой комбинации значений текущего состояния и следующего состояния. В следующей таблице показана таблица характеристик T-триггера вместе с входом возбуждения D-триггера.

Т триггер ввода Современное состояние Следующее состояние D триггерный ввод
T Q (T) Q (t + 1) D
0 0 0 0
0 1 1 1
1 0 1 1
1 1 0 0

Из приведенной выше таблицы мы можем напрямую написать булеву функцию D, как показано ниже.

$$ D = T \ oplus Q \ left (t \ right) $$

Итак, нам требуется два входных вентиля Exclusive-OR вместе с D-триггером. Принципиальная электрическая схема T-триггера показана на следующем рисунке.

Принципиальная схема T-триггера

Эта схема состоит из D-триггера и логического элемента Exclusive-OR. Этот вентиль Exclusive-OR производит вывод, который является Ex-OR для T и Q (t). Таким образом, общая схема имеет один вход, T и два выхода Q (t) и Q (t) '. Следовательно, это T-триггер . Точно так же вы можете сделать два других преобразования.

JK Flip-Flop в другие преобразования Flip-Flop

Ниже приведены три возможных преобразования JK триггера в другие триггеры.

  • JK триггер к T триггеру
  • JK триггер на D триггер
  • JK триггер на SR триггер

JK триггер к T-триггеру

Здесь данный триггер является JK триггером, а желаемый триггер - T триггером. Поэтому рассмотрим следующую таблицу характеристик T-триггера.

Т триггер ввода Современное состояние Следующее состояние
T Q (T) Q (t + 1)
0 0 0
0 1 1
1 0 1
1 1 0

Мы знаем, что триггер JK имеет два входа J & K. Итак, запишите значения возбуждения триггера JK для каждой комбинации значений текущего состояния и следующего состояния. Следующая таблица показывает таблицу характеристик T триггера вместе с входами возбуждения триггера JK.

Т триггер ввода Современное состояние Следующее состояние JK триггерные входы
T Q (T) Q (t + 1) J К
0 0 0 0 Икс
0 1 1 Икс 0
1 0 1 1 Икс
1 1 0 Икс 1

Из приведенной выше таблицы мы можем написать булевы функции для каждого входа, как показано ниже.

$$ J = M_ {2} + d- {1} + d- {3} $$

$$ K = M_ {3} + d- {0} + d- {2} $$

Мы можем использовать две переменные K-Maps для получения упрощенных выражений для этих двух входов. K-карты для J & K показаны ниже.

K Карта для J и K

Итак, мы получили, J = T & K = T после упрощения. Принципиальная электрическая схема T-триггера показана на следующем рисунке.

Принципиальная схема T-триггера с JK-триггером

Эта схема состоит только из триггера JK. Не требует никаких других ворот. Просто подключите один и тот же вход T к обоим J & K. Итак, общая схема имеет один вход, T и два выхода Q (t) и Q (t) '. Следовательно, это T-триггер . Точно так же вы можете сделать два других преобразования.

T Триггер на другие триггеры

Ниже приведены три возможных преобразования T-триггера в другие триггеры.

  • T триггер в D триггер
  • Т-триггер в SR-триггер
  • Т-триггер на JK-триггер

T триггер в D конвертацию

Здесь данный триггер представляет собой T триггер, а желаемый триггер - D триггер. Поэтому рассмотрим таблицу характеристик D триггера и запишите значения возбуждения T триггера для каждой комбинации значений текущего состояния и следующего состояния. В следующей таблице показана таблица характеристик D триггера вместе с входом возбуждения T триггера.

D триггерный ввод Современное состояние Следующее состояние Т триггер ввода
D Q (T) Q (t + 1) T
0 0 0 0
0 1 0 1
1 0 1 1
1 1 1 0

Из приведенной выше таблицы мы можем непосредственно написать булеву функцию T, как показано ниже.

$$ T = D \ oplus Q \ left (t \ right) $$

Итак, нам требуется два входных вентиля Exclusive-OR вместе с T-триггером. Принципиальная схема D-триггера показана на следующем рисунке.

T триггерная схема

Эта схема состоит из T-триггера и вентиля Exclusive-OR. Этот вентиль Exclusive-OR производит вывод, который является Ex-OR для D и Q (t). Таким образом, общая схема имеет один вход, D и два выхода Q (t) и Q (t) '. Следовательно, это D-триггер . Точно так же вы можете сделать два других преобразования.

Цифровые схемы - сдвиговые регистры

Мы знаем, что один триггер может хранить один бит информации. Чтобы хранить несколько битов информации, нам нужно несколько триггеров. Группа триггеров, которые используются для хранения (хранения) двоичных данных, называется регистром .

Если регистр способен сдвигать биты либо вправо, либо влево, это называется регистром сдвига . Регистр сдвига битов «N» содержит триггеры «N». Ниже приведены четыре типа сдвиговых регистров, основанные на применении входов и доступе к выходам.

  • Serial In - сдвиговый регистр Serial Out
  • Serial In - регистр сдвига параллельного выхода
  • Параллельный вход - сдвиговый регистр последовательного выхода
  • Параллельный вход - сдвиговый регистр параллельного выхода

Серийный вход - Серийный выход (SISO) Сдвиговый регистр

Сдвиговый регистр, который допускает последовательный ввод и производит последовательный выход, известен как сдвиговый регистр Serial In - Serial Out (SISO) . Блок-схема 3-битного регистра сдвига SISO показана на следующем рисунке.

SISO

Эта блок-схема состоит из трех D-триггеров, которые каскадируются . Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры являются синхронными друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.

В этом регистре сдвига мы можем посылать биты последовательно со входа самого левого D-триггера. Следовательно, этот вход также называется последовательным входом . При каждом срабатывании положительного фронта тактового сигнала данные перемещаются с одной ступени на другую. Таким образом, мы можем получать биты последовательно с выхода самого правого D-триггера. Следовательно, этот выход также называется последовательным выходом .

пример

Давайте посмотрим, как работает 3-битный регистр сдвига SISO, посылая двоичную информацию «011» из LSB в MSB последовательно на входе.

Предположим, что начальный статус D-триггеров слева направо равен $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Мы можем понять работу 3-битного регистра сдвига SISO из следующей таблицы.

Нет положительного края часов Последовательный ввод Q 2 Q 1 Q 0
0 - 0 0 0
1 1 (LSB), 1 0 0
2 1 1 1 0
3 0 (СЗБ) 0 1 1 (LSB),
4 - - 0 1
5 - - - 0 (СЗБ)

Исходное состояние D-триггеров в отсутствие тактового сигнала: $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Здесь последовательный вывод исходит из $ Q_ {0} $. Таким образом, LSB (1) принимается на 3- м положительном фронте тактового сигнала, а MSB (0) принимается на 5- м положительном фронте тактового сигнала.

Следовательно, 3-битный сдвиговый регистр SISO требует пяти тактовых импульсов для получения действительного выхода. Аналогично, N-битный сдвиговый регистр SISO требует 2N-1 тактовых импульсов для сдвига «N» битовой информации.

Сдвиговый регистр Serial In - Parallel Out (SIPO)

Сдвиговый регистр, который допускает последовательный ввод и производит параллельный вывод, известен как сдвиговый регистр Serial In - Parallel Out (SIPO) . Блок-схема 3-битного регистра сдвига SIPO показана на следующем рисунке.

СИПО

Эта схема состоит из трех D-триггеров, которые каскадно. Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры являются синхронными друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.

В этом регистре сдвига мы можем посылать биты последовательно со входа самого левого D-триггера. Следовательно, этот вход также называется последовательным входом . При каждом срабатывании положительного фронта тактового сигнала данные перемещаются с одной ступени на другую. В этом случае мы можем получить доступ к выходам каждого D триггера параллельно. Итак, мы получим параллельные выходы из этого регистра сдвига.

пример

Давайте посмотрим, как работает 3-битный регистр сдвига SIPO, посылая двоичную информацию «011» из LSB в MSB последовательно на входе.

Предположим, что начальный статус D-триггеров слева направо равен $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Здесь $ Q_ {2} $ & $ Q_ {0} $ - это MSB и LSB соответственно. Мы можем понять работу 3-битного регистра сдвига SIPO из следующей таблицы.

Нет положительного края часов Последовательный ввод Q 2 (MSB) Q 1 Q 0 (LSB)
0 - 0 0 0
1 1 (LSB), 1 0 0
2 1 1 1 0
3 0 (СЗБ) 0 1 1

Исходное состояние D-триггеров в отсутствие тактового сигнала: $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Двоичная информация «011» получается параллельно на выходах D триггеров для третьего положительного фронта тактового сигнала.

Таким образом, 3-битный сдвиговый регистр SIPO требует три тактовых импульса для получения действительного выхода. Аналогично, N-битный сдвиговый регистр SIPO требует N тактовых импульсов для сдвига «N» битовой информации.

Регистр сдвига параллельного входа - последовательного выхода (PISO)

Сдвиговый регистр, который допускает параллельный ввод и производит последовательный выход, известен как сдвиговый регистр Parallel In-Serial Out (PISO) . Блок-схема 3-битного регистра сдвига PISO показана на следующем рисунке.

PISO

Эта схема состоит из трех D-триггеров, которые каскадно. Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры являются синхронными друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.

В этом регистре сдвига мы можем применить параллельные входы к каждому D-триггеру, установив Preset Enable в 1. Для каждого срабатывания положительного фронта тактового сигнала данные сдвигаются от одного этапа к следующему. Итак, мы получим последовательный вывод с самого правого D-триггера.

пример

Давайте посмотрим, как работает 3-битный регистр сдвига PISO, применяя двоичную информацию «011» параллельно через предустановленные входы.

Поскольку предустановленные входные данные применяются до положительного фронта тактового сигнала, начальное состояние D-триггеров от крайнего левого к правому будет $ Q_ {2} Q_ {1} Q_ {0} = 011 $. Мы можем понять работу 3-битного регистра сдвига PISO из следующей таблицы.

Нет положительного края часов Q 2 Q 1 Q 0
0 0 1 1 (LSB),
1 - 0 1
2 - - 0 (LSB)

Здесь последовательный вывод исходит из $ Q_ {0} $. Таким образом, младший бит (1) принимается до применения положительного фронта тактового сигнала, а MSB (0) принимается на втором положительном фронте тактового сигнала.

Поэтому 3-битный регистр сдвига PISO требует два тактовых импульса для получения действительного выхода. Аналогично, N-битный регистр сдвига PISO требует N-1 тактовых импульсов, чтобы сдвинуть информацию «N» битов.

Регистр сдвига параллельного входа - параллельного выхода (PIPO)

Сдвиговый регистр, который допускает параллельный ввод и производит параллельный вывод, известен как сдвиговый регистр Parallel In - Parallel Out (PIPO) . Блок-схема 3-битного регистра сдвига PIPO показана на следующем рисунке.

PIPO

Эта схема состоит из трех D-триггеров, которые каскадно. Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры являются синхронными друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.

В этом регистре сдвига мы можем применить параллельные входы к каждому D-триггеру, установив Preset Enable в 1. Мы можем применить параллельные входы через предустановку или сброс. Эти два являются асинхронными входами. Это означает, что триггеры производят соответствующие выходные данные, основываясь на значениях асинхронных входных данных. В этом случае влияние выходов не зависит от тактового перехода. Итак, мы получим параллельные выходы от каждого D-триггера.

пример

Давайте посмотрим, как работает 3-битный регистр сдвига PIPO, применяя двоичную информацию «011» параллельно через предустановленные входы.

Поскольку предустановленные входные данные применяются до положительного фронта тактового сигнала, начальное состояние D-триггеров от крайнего левого к правому будет $ Q_ {2} Q_ {1} Q_ {0} = 011 $. Таким образом, двоичная информация «011» получается параллельно на выходах D триггеров перед применением положительного фронта тактового сигнала.

Поэтому 3-битный регистр сдвига PIPO требует нулевых тактовых импульсов для получения действительного выхода. Аналогично, N-битный регистр сдвига PIPO не требует никакого тактового импульса для сдвига информации «N» битов.

Цифровые схемы - применение сдвиговых регистров

В предыдущей главе мы обсудили четыре типа сдвиговых регистров. Исходя из требования, мы можем использовать один из этих сдвиговых регистров. Ниже приведены применения регистров сдвига.

  • Регистр сдвига используется в качестве параллельного преобразователя в последовательный , который преобразует параллельные данные в последовательные. Он используется в секции передатчика после блока аналого-цифрового преобразователя (АЦП).

  • Сдвиговый регистр используется как последовательный преобразователь , который преобразует последовательные данные в параллельные. Он используется в секции приемника перед блоком цифро-аналогового преобразователя (ЦАП).

  • Сдвиговый регистр вместе с некоторыми дополнительными воротами генерирует последовательность нулей и единиц. Следовательно, он используется в качестве генератора последовательности .

  • Сдвиговые регистры также используются в качестве счетчиков . Существует два типа счетчиков, основанных на типе выхода справа. D-триггер подключен к последовательному входу. Это счетчик Ринга и счетчик Джонсона Ринга.

В этой главе давайте поговорим об этих двух счетчиках один за другим.

Кольцо Счетчик

В предыдущей главе мы обсуждали работу регистра сдвига Serial In - Parallel Out (SIPO) . Он принимает данные извне в последовательной форме и требует N тактовых импульсов, чтобы сдвинуть N битные данные.

Аналогично, счетчик бита 'N' выполняет аналогичную операцию. Но единственное отличие состоит в том, что вывод самого правого D-триггера задается как ввод самого левого D-триггера вместо применения данных извне. Следовательно, счетчик звонков генерирует последовательность состояний (последовательность нулей и единиц) и повторяется для каждых «N» тактов .

Блок-схема 3-битного счетчика звонков показана на следующем рисунке.

Кольцо Счетчик

3-битный счетчик звонка содержит только 3-битный регистр сдвига SIPO. Выход самого правого D-триггера соединен с последовательным входом самого левого D-триггера.

Предположим, что начальный статус D-триггеров слева направо равен $ Q_ {2} Q_ {1} Q_ {0} = 001 $. Здесь $ Q_ {2} $ & $ Q_ {0} $ - это MSB и LSB соответственно. Мы можем понять работу счетчика звонков из следующей таблицы.

Нет положительного края часов Последовательный ввод = Q 0 Q 2 (MSB) Q 1 Q 0 (LSB)
0 - 0 0 1
1 1 1 0 0
2 0 0 1 0
3 0 0 0 1

Исходное состояние D-триггеров в отсутствие тактового сигнала: $ Q_ {2} Q_ {1} Q_ {0} = 001 $. Это состояние повторяется для каждых трех положительных фронтов тактового сигнала.

Поэтому для каждого положительного фронта тактового сигнала выполняются следующие операции .

  • Последовательный ввод первого D-триггера получает предыдущий выход третьего триггера. Таким образом, текущий вывод первого D-триггера равен предыдущему выводу третьего триггера.

  • Предыдущие выходы первого и второго D триггеров смещены вправо на один бит. Это означает, что текущие выходы второго и третьего D-триггеров равны предыдущим выходам первого и второго D-триггеров.

Счетчик Джонсон Ринг

Работа счетчика Джонсона Ринга аналогична работе счетчика Ринга. Но единственное отличие состоит в том, что дополненный вывод самого правого D-триггера задается как ввод самого левого D-триггера вместо нормального вывода. Следовательно, «N» -битовый счетчик Джонсона Ринга генерирует последовательность состояний (последовательность нулей и единиц) и повторяется для каждых «2N» тактов .

Счетчик Johnson Ring также называется счетчиком Twisted Ring и переключателем хвостового кольца. Блок-схема 3-битного счетчика Джонсона Ринга показана на следующем рисунке.

Счетчик витых колец

3-битный счетчик Джонсона Ринга также содержит только 3-битный регистр сдвига SIPO. Дополненный выход крайнего правого D-триггера соединен с последовательным входом самого левого D-триггера.

Предположим, изначально все D-триггеры очищены. Итак, $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Здесь $ Q_ {2} $ & $ Q_ {0} $ - это MSB и LSB соответственно. Мы можем понять работу счетчика Джонсона Ринга из следующей таблицы.

Нет положительного края часов Последовательный ввод = Q 0 Q 2 (MSB) Q 1 Q 0 (LSB)
0 - 0 0 0
1 1 1 0 0
2 1 1 1 0
3 1 1 1 1
4 0 0 1 1
5 0 0 0 1
6 0 0 0 0

Исходное состояние D-триггеров в отсутствие тактового сигнала: $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Это состояние повторяется для каждых шести положительных фронтов тактового сигнала.

Поэтому для каждого положительного фронта тактового сигнала выполняются следующие операции .

  • Последовательный ввод первого D-триггера получает предыдущий дополняемый вывод третьего триггера. Таким образом, текущий вывод первого D-триггера равен предыдущему дополненному выводу третьего триггера.

  • Предыдущие выходы первого и второго D триггеров смещены вправо на один бит. Это означает, что текущие выходы второго и третьего D-триггеров равны предыдущим выходам первого и второго D-триггеров.

Цифровые схемы - Счетчики

В предыдущих двух главах мы обсуждали различные регистры и счетчики сдвигов, используя D триггеры . Теперь давайте обсудим различные счетчики, используя T-триггеры. Мы знаем, что T триггер переключает выход либо для каждого положительного фронта тактового сигнала, либо для отрицательного фронта тактового сигнала.

Бинарный счетчик «N» состоит из «N» T триггеров. Если счетчик считает от 0 до 2 𝑁 - 1, то он называется двоичным повышающим счетчиком . Точно так же, если счетчик ведет обратный отсчет от 2 𝑁 - 1 до 0, то он называется двоичным обратным счетчиком .

Существует два типа счетчиков, основанных на триггерах, которые подключены синхронно или нет.

  • Асинхронные счетчики
  • Синхронные счетчики

Асинхронные Счетчики

Если триггеры не получают один и тот же тактовый сигнал, этот счетчик называется асинхронным счетчиком . Выходной сигнал системных часов применяется в качестве тактового сигнала только для первого триггера. Оставшиеся триггеры получают тактовый сигнал с выхода предыдущего триггера. Следовательно, выходы всех триггеров не изменяются (влияют) одновременно.

Теперь давайте обсудим следующие два счетчика один за другим.

  • Асинхронный двоичный счетчик
  • Асинхронный двоичный счетчик

Асинхронный двоичный счетчик

N-битный асинхронный двоичный счетчик состоит из «N» T триггеров. Он отсчитывает от 0 до 2 𝑁 - 1. Блок-схема 3-разрядного асинхронного двоичного счетчика с повышением частоты показана на следующем рисунке.

Асинхронный двоичный счетчик

3-битный асинхронный двоичный счетчик содержит три триггера, и Т-вход всех триггеров подключен к «1». Все эти триггеры запускаются по отрицательному фронту, но выходы изменяются асинхронно. Тактовый сигнал подается непосредственно на первый Т-триггер. Таким образом, выход первого T триггера переключается для каждого отрицательного фронта тактового сигнала.

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

Предположим, что начальный статус T триггеров с крайнего справа на крайний угол равен $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Здесь $ Q_ {2} $ & $ Q_ {0} $ - это MSB и LSB соответственно. Мы можем понять работу 3-битного асинхронного двоичного счетчика из следующей таблицы.

Нет отрицательного края часов Q 0 (LSB) Q 1 Q 2 (MSB)
0 0 0 0
1 1 0 0
2 0 1 0
3 1 1 0
4 0 0 1
5 1 0 1
6 0 1 1
7 1 1 1

Здесь $ Q_ {0} $ переключается для каждого отрицательного фронта тактового сигнала. $ Q_ {1} $ переключается для каждого $ Q_ {0} $, который идет от 1 до 0, в противном случае остается в предыдущем состоянии. Аналогично, $ Q_ {2} $ переключается для каждого $ Q_ {1} $, который изменяется от 1 до 0, в противном случае остается в предыдущем состоянии.

Начальное состояние T-триггеров в отсутствие тактового сигнала: $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Это значение увеличивается на единицу для каждого отрицательного фронта тактового сигнала и достигает максимального значения на 7- м отрицательном фронте тактового сигнала. Этот шаблон повторяется, когда применяются дополнительные отрицательные фронты тактового сигнала.

Асинхронный двоичный счетчик

N-битный асинхронный двоичный обратный счетчик состоит из «N» T триггеров. Он рассчитывает от 2 𝑁 - 1 до 0. Блок-схема 3-битного асинхронного двоичного счетчика с понижением частоты показана на следующем рисунке.

Асинхронный двоичный счетчик

Блок-схема 3-битного асинхронного двоичного счетчика с понижением аналогична блок-схеме 3-битного асинхронного двоичного счетчика с повышением частоты. Но единственное отличие состоит в том, что вместо подключения обычных выходов одноступенчатого триггера в качестве тактового сигнала для триггера следующей ступени, подключите дополненные выходы одноступенчатого триггера в качестве тактового сигнала для триггера следующей ступени. Дополняемый вывод идет от 1 до 0 так же, как нормальный вывод идет от 0 до 1.

Предположим, что начальный статус T триггеров с крайнего справа на крайний угол равен $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Здесь $ Q_ {2} $ & $ Q_ {0} $ - это MSB и LSB соответственно. Мы можем понять работу 3-битного асинхронного двоичного счетчика с понижением из следующей таблицы.

Нет отрицательного края часов Q 0 (LSB) Q 1 Q 2 (MSB)
0 0 0 0
1 1 1 1
2 0 1 1
3 1 0 1
4 0 0 1
5 1 1 0
6 0 1 0
7 1 0 0

Здесь $ Q_ {0} $ переключается для каждого отрицательного фронта тактового сигнала. $ Q_ {1} $ переключается для каждого $ Q_ {0} $, который идет от 0 до 1, в противном случае остается в предыдущем состоянии. Аналогично, $ Q_ {2} $ переключается для каждого $ Q_ {1} $, который идет от 0 до 1, в противном случае остается в предыдущем состоянии.

Начальное состояние T-триггеров в отсутствие тактового сигнала: $ Q_ {2} Q_ {1} Q_ {0} = 000 $. Это уменьшается на единицу для каждого отрицательного фронта тактового сигнала и достигает того же значения на 8- ом отрицательном фронте тактового сигнала. Этот шаблон повторяется, когда применяются дополнительные отрицательные фронты тактового сигнала.

Синхронные Счетчики

Если все триггеры получают один и тот же тактовый сигнал, то этот счетчик называется синхронным счетчиком . Следовательно, выходы всех триггеров изменяются (влияют) одновременно.

Теперь давайте обсудим следующие два счетчика один за другим.

  • Синхронный двоичный счетчик
  • Синхронный двоичный счетчик

Синхронный двоичный счетчик

N-битный синхронный двоичный счетчик состоит из «N» T триггеров. Он отсчитывает от 0 до 2 𝑁 - 1. Блок-схема 3-разрядного синхронного двоичного счетчика с повышением частоты показана на следующем рисунке.

Синхронный двоичный счетчик

3-разрядный синхронный двоичный счетчик содержит три Т-триггера и один 2-входной логический элемент И. Все эти триггеры запускаются по отрицательному фронту, и выходы триггеров изменяются (влияют) синхронно. Т-входы первого, второго и третьего триггеров равны 1, $ Q_ {0} $ и $ Q_ {1} Q_ {0} $ соответственно.

Выход первого T триггера переключается для каждого отрицательного фронта тактового сигнала. Выход второго триггера T переключается для каждого отрицательного фронта тактового сигнала, если $ Q_ {0} $ равно 1. Выход третьего триггера T переключается для каждого отрицательного фронта тактового сигнала, если оба $ Q_ {0} $ & $ Q_ {1} $ равны 1.

Синхронный двоичный счетчик

N-битный синхронный двоичный счетчик состоит из «N» T триггеров. Он отсчитывает от 2 𝑁 до 1 до 0. Блок-схема 3-битного двоичного счетчика с синхронным понижением частоты показана на следующем рисунке.

Синхронный двоичный счетчик

3-битный двоичный счетчик с синхронным понижением содержит три T-триггера и один 2-входной вентиль AND. Все эти триггеры запускаются по отрицательному фронту, и выходы триггеров изменяются (влияют) синхронно. Т-входы первого, второго и третьего триггеров равны 1, $ {Q_ {0}} '$ &' $ {Q_ {1}} '$$ {Q_ {0}}' $ соответственно.

Выход первого T триггера переключается для каждого отрицательного фронта тактового сигнала. Выход второго триггера T переключается для каждого отрицательного фронта тактового сигнала, если $ {Q_ {0}} '$ равно 1. Выход третьего триггера T переключается для каждого отрицательного фронта тактового сигнала, если оба $ {Q_ {1}} '$ & $ {Q_ {0}}' $ равны 1.

Цифровые схемы - конечные автоматы

Мы знаем, что синхронные последовательные схемы изменяют (влияют) на свои состояния для каждого положительного (или отрицательного) перехода тактового сигнала на основе входа. Таким образом, это поведение синхронных последовательных цепей может быть представлено в графической форме, и это известно как диаграмма состояний .

Синхронная последовательная схема также называется конечным автоматом (FSM), если она имеет конечное число состояний. Есть два типа автоматов.

  • Мили State State
  • Moore State Machine

Теперь давайте поговорим об этих двух конечных автоматах один за другим.

Мили State State

Конечный конечный автомат называется конечным автоматом Мили, если выходные данные зависят как от текущих входных данных, так и от текущих состояний. Блок-схема конечного автомата Мили показана на следующем рисунке.

Мили State State

Как показано на рисунке, в конечном автомате Мили присутствуют две части. Это комбинационная логика и память. Память полезна для предоставления некоторых или части предыдущих выходов (текущих состояний) в качестве входов комбинационной логики.

Таким образом, на основе текущих входных данных и текущих состояний конечный автомат Мили производит выходные данные. Следовательно, выходы будут действительны только при положительном (или отрицательном) переходе тактового сигнала.

Диаграмма состояний конечного автомата Мили показана на следующем рисунке.

Государственная Диаграмма

На рисунке выше представлены три состояния, а именно A, B и C. Эти состояния помечены внутри окружностей, и каждый кружок соответствует одному состоянию. Переходы между этими состояниями обозначены направленными линиями. Здесь 0/0, 1/0 и 1/1 обозначает ввод / вывод . На приведенном выше рисунке есть два перехода из каждого состояния в зависимости от значения ввода x.

В общем, число состояний, требуемых в автомате состояний Мили, меньше или равно числу состояний, требуемых в автомате состояний Мура. Существует эквивалентный конечный автомат Мура для каждого конечного автомата Мили.

Moore State Machine

Конечный конечный автомат называется конечным автоматом Мура, если выходные данные зависят только от текущих состояний. Блок-схема конечного автомата Мура показана на следующем рисунке.

Moore State Machine

Как показано на рисунке, в автомате Мура присутствуют две части. Это комбинационная логика и память. В этом случае текущие входные данные и текущие состояния определяют следующие состояния. Итак, исходя из следующих состояний, конечный автомат Мура выдает выходные данные. Следовательно, выходы будут действительны только после перехода в состояние.

Диаграмма состояний конечного автомата Мура показана на следующем рисунке.

Диаграмма состояний Мура

На рисунке выше представлены четыре состояния, а именно A, B, C и D. Эти состояния и соответствующие выходные данные помечены внутри окружностей. Здесь только входное значение помечено на каждом переходе. На приведенном выше рисунке есть два перехода из каждого состояния в зависимости от значения ввода x.

В общем, число состояний, требуемых в автомате состояний Мура, больше или равно числу состояний, требуемых в автомате состояний Мили. Для каждого конечного автомата Мура существует эквивалентный конечный автомат Мили. Итак, исходя из требования, мы можем использовать один из них.

Цифровые схемы - алгоритмические автоматы

Каждая цифровая система может быть разделена на две части. Это цепи передачи данных (цифровые) и цепи управления. Схемы тракта данных выполняют такие функции, как хранение двоичной информации (данных) и передача данных из одной системы в другую. Принимая во внимание, что схемы управления определяют последовательность операций цифровых схем.

Трудно описать поведение больших конечных автоматов с помощью диаграмм состояний. Чтобы преодолеть эту трудность, можно использовать диаграммы алгоритмического автомата (ASM). Диаграммы ASM похожи на блок-схемы. Они используются для представления последовательности задач, которые должны быть выполнены цепями трактов данных и цепями управления.

Основные компоненты диаграмм ASM

Ниже приведены три основных компонента карт ASM.

  • Государственная коробка
  • Окно решений
  • Коробка условного вывода

Государственная коробка

Штатная коробка представлена в прямоугольной форме. Каждый блок состояний представляет одно состояние последовательной цепи. Символ поля состояния показан на следующем рисунке.

Государственная коробка

Он имеет одну точку входа и одну точку выхода. Название состояния размещается слева от поля состояния. Безусловные выходы, соответствующие этому состоянию, могут быть помещены в блок состояния. Выходы конечного автомата Мура также могут быть помещены в блок состояний.

Окно решений

Решение коробка представлена в форме ромба. Символ окна принятия решения показан на следующем рисунке.

Коробка решений

Он имеет одну точку входа и два пути выхода. Входные данные или логические выражения могут быть помещены в поле принятия решения, которые должны быть проверены, являются ли они истинными или ложными. Если условие истинно, то оно предпочтет path1. В противном случае он предпочтет path2.

Коробка условного вывода

Коробка условного вывода представлена в овальной форме. Символ условного поля вывода показан на следующем рисунке.

Коробка условного вывода

Он также имеет одну точку входа и одну точку выхода, аналогичную окну состояния. Условные выходы могут быть помещены в поле состояния. В общем, выходные данные конечного автомата Мили представлены внутри поля условного вывода. Таким образом, основываясь на требовании, мы можем правильно использовать вышеуказанные компоненты для построения диаграмм ASM.