Цифровые схемы — системы счисления
Если основание или основание системы счисления — «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’.
Сделайте деление целой части десятичного числа и последовательных отношений с основанием ‘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.
Деление целой части и последовательных отношений с основанием 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 = (3A.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 бит.
Начните с двоичной точки и сделайте группы по 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 битов.
Начните с двоичной точки и сделайте группы по 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 (двоично-десятичным) кодом .
Веса этого кода 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.
Весами этого кода являются 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.
Этот код имеет отрицательные веса вместе с положительными весами. Итак, это отрицательно взвешенный код .
Это неестественный код 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 десятичного числа, добавив три (0011) к двоичному эквиваленту этого десятичного числа. Следовательно, это называется избыточным кодом 3.
Это самодополняющий код.
пример
Найдем эквивалент Excess 3 для десятичного числа 786. Это число имеет 3 десятичных числа 7, 8 и 6. Из таблицы мы можем записать коды Excess 3 для 7, 8 и 6: 1010, 1011 и 1001 соответственно.
Следовательно, эквивалентный десятичному числу 786 избыток 3 равен 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 кода Грея.
Рассмотрите данный двоичный код и поместите ноль слева от 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», для которого следующее соотношение является правильным (действительным), является не чем иным, как требуемым количеством битов четности.
2k geqn+k+1
Куда,
«n» — количество бит в двоичном коде (информация)
‘k’ — количество бит четности
Следовательно, количество битов в коде Хэмминга равно n + k.
Пусть код Хэмминга равен bn+kbn+k−1.....b3b2b1 и битам четности pk,pk−1,....p1. Мы можем поместить биты четности ‘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 .
-
Аналогично найдите другие значения битов четности.
Найдите значение 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 .
-
Аналогично найдите другие значения контрольных битов.
Найдите значение 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.
Мы можем найти необходимое количество бит четности, используя следующее математическое соотношение.
2k geqn+k+1
Подставим n = 4 в вышеприведенном математическом соотношении.
Rightarrow2k geq4+k+1
Rightarrow2k geq5+k
Минимальное значение k, удовлетворяющее указанному выше соотношению, равно 3. Следовательно, нам требуется 3 бита четности p 1 , p 2 и p 3 . Следовательно, количество битов в коде Хэмминга будет равно 7, поскольку в двоичном коде 4 бита и 3 бита четности. Мы должны поместить биты четности и биты двоичного кода в код Хэмминга, как показано ниже.
7-битный код Хэмминга : b7b6b5b4b3b2b1=d4d3d2p3D1р−2bp1
Подставляя биты двоичного кода, код Хэмминга будет b7b6b5b4b3b2b1=100p3Op2p1. Теперь давайте найдем биты четности.
p1=b7 oplusb5 oplusb3=1 oplus0 oplus0=1
p2=b7 oplusb6 oplusb3=1 oplus0 oplus0=1
p3=b7 oplusb6 oplusb5=1 oplus0 oplus0=1
Подставляя эти биты четности, код Хэмминга будет иметь значение b7b6b5b4b3b2b1=1001011.
Пример 2
В приведенном выше примере мы получили код Хэмминга в виде b7b6b5b4b3b2b1=1001011. Теперь давайте найдем позицию ошибки, когда полученный код равен b7b6b5b4b3b2b1=1001111.
Теперь давайте найдем контрольные биты.
c1=b7 oplusb5 oplusb3 oplusb1=1 oplus0 oplus1 oplus1=1
c2=b7 oplusb6 oplusb3 oplusb2=1 oplus0 oplus1 oplus1=1
c3=b7 oplusb6 oplusb5 oplusb4=1 oplus0 oplus0 oplus1=0
Десятичное значение контрольных битов дает позицию ошибки в полученном коде Хэмминга.
c3c2c1= 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 ‘)’ = x.
Основные законы булевой алгебры
Ниже приведены три основных закона булевой алгебры.
- Коммутативное право
- Ассоциативный закон
- Распределительное право
Коммутативное право
Если какая-либо логическая операция двух булевых переменных дает один и тот же результат независимо от порядка этих двух переменных, то эта логическая операция называется коммутативной . Логическое ИЛИ и логические И операции двух булевых переменных 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 — Используйте булев постулат, хх ‘= 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’.
В следующей таблице показано представление терминов min и MAX для 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 минимальных члена и 2 n максимальных члена.
Канонические формы 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=m3+m5+m6+m7
f= summ 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=M0.M1.M2.M4
f= prodM 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 .
-
Существует только одна возможность группировки 4 смежных минимальных терминов.
-
Возможные комбинации группировки 2 смежных минимальных терминов: {(m 0 , m 1 ), (m 2 , m 3 ), (m 0 , m 2 ) и (m 1 , m 3 )}.
Существует только одна возможность группировки 4 смежных минимальных терминов.
Возможные комбинации группировки 2 смежных минимальных терминов: {(m 0 , m 1 ), (m 2 , m 3 ), (m 0 , m 2 ) и (m 1 , m 3 )}.
3 Переменная K-карта
Количество ячеек в 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.
Существует только одна возможность группировки 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-Map
Количество ячеек в 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-map становится 3-х переменных 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-map становится 3-х переменных K-map.
5 переменных K-Map
Количество ячеек в 5-переменной переменной K-map равно тридцати двум, поскольку количество переменных равно 5. На следующем рисунке показана 5-переменная K-Map .
-
Существует только одна возможность группировки 32 смежных минимальных терминов.
-
Есть две возможности группировки 16 смежных минимальных терминов. то есть группировка минимальных членов от m 0 до m 15 и от m 16 до m 31 .
-
Если v = 0, то 5 переменных K-map становятся 4 переменными 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» не охватывается какими-либо другими группировками, а охватывает только эта группировка.
-
Запишите все основные и важные основные факторы. Упрощенная булева функция содержит все основные простые импликанты и только необходимые простые импликанты.
Выберите соответствующую 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 ‘ .
Ячейки, которые являются общими для пересечения строки 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 ) четвертой группы столбцов не охватываются никакими другими группами. Только четвертая группа столбцов охватывает эти два.
Два из них (m 8 и m 9 ) из группы четвертого ряда не охватываются никакими другими группами. Только четвертая группа строк охватывает эти два.
Одиночная (м 15 ) группа квадратной формы не охватывается никакими другими группами. Только группировка квадратной формы покрывает это.
Два (m 2 & m 6 ) четвертой группы столбцов не охватываются никакими другими группами. Только четвертая группа столбцов охватывает эти два.
Следовательно, упрощенная булева функция
f = WX ‘+ WY + YZ’
Следуйте этим правилам для упрощения K-карт , чтобы получить стандартный продукт формы сумм.
-
Выберите соответствующую K-карту в зависимости от количества переменных, присутствующих в булевой функции.
-
Если булева функция задана как произведение формы максимальных членов, поместите нули в соответствующие ячейки максимальных членов на K-карте. Если булева функция задана как произведение суммы суммы, то поместите нули во все возможные ячейки K-карты, для которых действительны заданные суммы сумм.
-
Проверьте возможности группировки максимального количества соседних нулей. Это должно быть полномочия двух. Начните с максимальной степени двух и до минимальной степени двух. Наибольшая мощность равна числу переменных, рассматриваемых в K-карте, а наименьшая мощность равна нулю.
-
Каждая группировка будет давать буквальное или однозначное выражение. Это известно как главный импликант . Первичный импликант называется существенным первичным импликантом , если хотя бы один «0» не покрывается какими-либо другими группировками, а охватывает только эта группировка.
-
Запишите все основные и важные основные факторы. Упрощенная булева функция содержит все основные простые импликанты и только необходимые простые импликанты.
Выберите соответствующую K-карту в зависимости от количества переменных, присутствующих в булевой функции.
Если булева функция задана как произведение формы максимальных членов, поместите нули в соответствующие ячейки максимальных членов на K-карте. Если булева функция задана как произведение суммы суммы, то поместите нули во все возможные ячейки K-карты, для которых действительны заданные суммы сумм.
Проверьте возможности группировки максимального количества соседних нулей. Это должно быть полномочия двух. Начните с максимальной степени двух и до минимальной степени двух. Наибольшая мощность равна числу переменных, рассматриваемых в K-карте, а наименьшая мощность равна нулю.
Каждая группировка будет давать буквальное или однозначное выражение. Это известно как главный импликант . Первичный импликант называется существенным первичным импликантом , если хотя бы один «0» не покрывается какими-либо другими группировками, а охватывает только эта группировка.
Запишите все основные и важные основные факторы. Упрощенная булева функция содержит все основные простые импликанты и только необходимые простые импликанты.
Примечание. Если не имеют значения термины, присутствующие, тогда не обращайте внимания на ‘x’ в соответствующих ячейках K-карты. Рассмотрим только те значения x, которые полезны для группировки максимального количества смежных нулей. В этих случаях обрабатывайте значение «все равно» как «0».
пример
Упростим следующую булеву функцию: f left(X,Y,Z right)= prodM 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)= summ 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-входного логического элемента AND.
В | 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 такая же, как и у шлюза 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 такая же, как и у шлюза 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 такая же, как и для таблицы ИЛИ для первых трех строк. Единственная модификация находится в четвертом ряду. Это означает, что выход (Y) равен нулю вместо единицы, когда оба входа равны единице, поскольку входы имеют четное число единиц.
Следовательно, выход логического элемента «ИЛИ-ИЛИ» равен «1», когда только один из двух входов равен «1». И это ноль, когда оба входа одинаковы.
На следующем рисунке показан символ шлюза Ex-OR, который имеет два входа A, B и один выход Y.
Работа шлюза 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 — выходом в каждой логической реализации.
И-И Логика
В этой логической реализации И ворота присутствуют на обоих уровнях. Ниже на рисунке показан пример реализации логики «И-И» .
Мы получим выходные данные логических элементов первого уровня как Y1=AB и Y2=CD
Эти выходы Y1 и Y2 применяются как входы логического элемента AND, который присутствует на втором уровне. Таким образом, выход этого логического элемента И
Y=Y1Y2
Замените значения Y1 и Y2 в приведенном выше уравнении.
Y= left(AB right) left(CD right)
RightarrowY=ABCD
Следовательно, результатом этой логической реализации И-И является ABCD . Эта булева функция может быть реализована с использованием логического элемента И с 4 входами. Следовательно, это дегенеративная форма .
AND-NAND Logic
В этой логической реализации логические элементы И присутствуют на первом уровне, а вентили NAND присутствуют на втором уровне. На следующем рисунке показан пример реализации логики AND-NAND .
Ранее мы получили выходные данные логических элементов первого уровня как Y1=AB и Y2=CD
Эти выходы, Y1 и Y2, применяются в качестве входов шлюза NAND, который присутствует на втором уровне. Итак, выход этого NAND-шлюза
Y= left(Y1Y2 right)′
Замените значения Y1 и Y2 в приведенном выше уравнении.
Y= left( left(AB right) left(CD right) right)′
RightarrowY= left(ABCD right)′
Следовательно, результат этой логической реализации AND-NAND равен left(ABCD right)′. Эта булева функция может быть реализована с помощью 4-входного вентиля NAND. Следовательно, это дегенеративная форма .
ИЛИ-ИЛИ Логика
В этой логической реализации вентили ИЛИ присутствуют на обоих уровнях. На следующем рисунке показан пример реализации логики OR-OR .
Мы получим выходные данные логических элементов первого уровня как Y1=A+B и Y2=C+D.
Эти выходы Y1 и Y2 применяются как входы логического элемента ИЛИ, который присутствует на втором уровне. Таким образом, выход этого ИЛИ строба
Y=Y1+Y2
Замените значения Y1 и Y2 в приведенном выше уравнении.
Y= left(A+B right)+ left(C+D right)
RightarrowY=A+B+C+D
Следовательно, выход этой логической реализации ИЛИ-ИЛИ является A + B + C + D. Эта булева функция может быть реализована с использованием логического элемента ИЛИ с 4 входами. Следовательно, это дегенеративная форма .
Точно так же вы можете проверить, принадлежат ли остальные реализации к этой категории или нет.
Невырожденная форма
Если выход двухуровневой логической реализации не может быть получен с использованием одного логического вентиля, то он называется невырожденной формой .
Оставшиеся 10 комбинаций двухуровневых логических реализаций имеют невырожденную форму. Это И-ИЛИ, И-ИЛИ, ИЛИ-И, ИЛИ-НАНД, НАН-И-И, НАНДОР, НАН-НАНД, НОР-И, НОР-ИЛИ, НОР-НОР.
Теперь давайте обсудим некоторые реализации. Предположим, что A, B, C & D являются входами, а Y — выходом в каждой логической реализации.
И-ИЛИ Логика
В этой логической реализации логические элементы И присутствуют на первом уровне, а вентили ИЛИ присутствуют на втором уровне. Ниже на рисунке показан пример реализации логики AND-OR .
Ранее мы получили выходные данные логических элементов первого уровня как Y1=AB и Y2=CD.
Эти выходы Y1 и Y2 применяются как входы логического элемента ИЛИ, который присутствует на втором уровне. Таким образом, выход этого ИЛИ строба
Y=Y1+Y2
Замените значения Y1 и Y2 в приведенном выше уравнении
Y=АВ+CD−
Следовательно, результатом этой логической реализации И-ИЛИ является AB + CD . Эта логическая функция находится в форме Sum of Products . Поскольку мы не можем реализовать его с помощью одного логического вентиля, логическая реализация И-ИЛИ является невырожденной формой .
AND-NOR Logic
В этой логической реализации логические элементы И присутствуют на первом уровне, а вентили NOR присутствуют на втором уровне. На следующем рисунке показан пример реализации логики AND-NOR .
Мы знаем выходы логических элементов первого уровня как Y1=AB и Y2=CD
Эти выходы Y1 и Y2 применяются как входы логического элемента NOR, который присутствует на втором уровне. Итак, выход этого логического элемента NOR
Y= left(Y1+Y2 right)′
Замените значения Y1 и Y2 в приведенном выше уравнении.
Y= left(AB+CD right)′
Следовательно, результат этой логической реализации AND-NOR равен left(AB+CD right)′. Эта булева функция имеет форму AND-OR-Invert . Поскольку мы не можем реализовать его с помощью одного логического элемента, логическая реализация AND-NOR является невырожденной формой.
ИЛИ-И Логика
В этой логической реализации логические элементы ИЛИ присутствуют на первом уровне, а логические элементы И присутствуют на втором уровне. На следующем рисунке показан пример для логической реализации ИЛИ-И .
Ранее мы получили выходные данные логических элементов первого уровня как Y1=A+B и Y2=C+D.
Эти выходы Y1 и Y2 применяются как входы логического элемента AND, который присутствует на втором уровне. Таким образом, выход этого логического элемента И
Y=Y1Y2
Замените значения Y1 и Y2 в приведенном выше уравнении.
Y= left(A+B right) left(C+D right)
Следовательно, выход этой логической реализации ИЛИ-И (A + B) (C + D) . Эта логическая функция находится в форме произведения сумм . Поскольку мы не можем реализовать его с помощью одного логического элемента, эта логическая реализация ИЛИ-И является невырожденной формой .
Точно так же вы можете проверить, принадлежат ли остальные реализации к этой категории или нет.
Цифровые комбинированные схемы
Комбинационные схемы состоят из логических элементов. Эти схемы работают с двоичными значениями. Выход (ы) комбинационной схемы зависит от комбинации имеющихся входов. На следующем рисунке показана блок-схема комбинационной схемы.
Эта комбинационная схема имеет n входных переменных и m выходов. Каждая комбинация входных переменных будет влиять на выходные данные.
Методика расчета комбинационных цепей
-
Найдите требуемое количество входных переменных и выходов из заданных спецификаций.
-
Сформулируйте таблицу Истины . Если есть n входных переменных, то будет 2n возможных комбинаций. Для каждой комбинации входных данных найдите выходные значения.
-
Найдите логические выражения для каждого вывода. При необходимости упростите эти выражения.
-
Реализуйте вышеупомянутые логические выражения, соответствующие каждому выводу, используя логические элементы .
Найдите требуемое количество входных переменных и выходов из заданных спецификаций.
Сформулируйте таблицу Истины . Если есть 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= summ left(8,9,10,11,12,13,14,15 right)
B= summ left(4,5,6,7,8,9,10,11 right)
C= summ left(2,3,4,5,10,11,12,13 right)
D= summ left(1,2,5,6,9,10,13,14 right)
Упростим перечисленные выше функции, используя 4 переменные K-Maps.
На следующем рисунке показана 4-х переменная K-Map для упрощения булевой функции A.
Сгруппировав 8 смежных, мы получили A=W.
На следующем рисунке показана 4-переменная K-Map для упрощения булевой функции B.
Есть две группы из 4 смежных. После группировки мы получим B как
B=W′X+WX′=W oplusX
Точно так же мы получим следующие логические функции для C & D после упрощения.
C=X′Y+XY′=X oplusY
D=Y′Z+YZ′=Y oplusZ
На следующем рисунке показана принципиальная схема преобразователя 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′ХУ′+WXY′+WXY
RightarrowP=W′ left(X′Y+XY′ right)+W left(X′Y′+XY right)
RightarrowP=W′ left(X oplusY right)+W left(X oplusY right)′=W oplusX oplusY
На следующем рисунке показана принципиальная схема четного генератора четности.
Эта схема состоит из двух вентилей типа « исключающее ИЛИ» , каждый из которых имеет два входа. Первый вентиль 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 oplusX oplusY oplusP
На следующем рисунке показана принципиальная схема проверки четности.
Эта схема состоит из трех вентилей типа « исключающее ИЛИ» , каждый из которых имеет два входа. Ворота первого уровня выдают выходные данные W oplusX & Y oplusP. Вентиль Exclusive-OR, который находится на втором уровне, производит вывод W oplusX oplusY oplusP
Проверка нечетности
Предположим, что 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 oplusB
C=AB
Мы можем реализовать вышеуказанные функции с 2-входным вентилем Ex-OR и 2-входным вентилем AND. Принципиальная электрическая схема полумесяца показана на следующем рисунке.
В приведенной выше схеме два входных логических элемента ИЛИ-И и два входных И логических элемента И дают сумму, S и перенос, C соответственно. Следовательно, Half-сумматор выполняет сложение двух битов.
Полный сумматор
Полный сумматор представляет собой комбинационную схему, которая выполняет сложение трех битов 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 oplusB oplusCin
cout=AB+ left(A oplusB right)cin
Сумма S равна единице, когда на входах присутствует нечетное число единиц. Мы знаем, что вентиль Ex-OR производит вывод, который является нечетной функцией. Таким образом, мы можем использовать либо два входа Ex-OR с 2 входами, либо один вентиль Ex-OR с 3 входами, чтобы получить сумму S. Мы можем реализовать перенос C , используя два вентиля И с двумя входами И и один вентиль ИЛИ. Принципиальная электрическая схема полного сумматора показана на следующем рисунке.
Этот сумматор называется полным сумматором, потому что для реализации одного полного сумматора нам нужны два полумесяца и один вентиль ИЛИ. Если C in равно нулю, то Полное сумматор становится Полумесяным. Мы можем легко проверить это из приведенной схемы или из булевых функций выходов полного сумматора.
4-битный двоичный сумматор
4-разрядный двоичный сумматор выполняет сложение двух 4-разрядных чисел . Пусть 4-битные двоичные числа, A=A3A2A1A0 и B=B3B2B1B0. Мы можем реализовать 4-битный двоичный сумматор одним из следующих двух способов.
-
Для суммирования двух старших значащих битов используйте один половинный сумматор и три полных сумматора.
-
Используйте четыре полных сумматора для однородности. Поскольку начальный перенос C in равен нулю, полный сумматор, который используется для добавления младших значащих битов, становится половинным сумматором.
Для суммирования двух старших значащих битов используйте один половинный сумматор и три полных сумматора.
Используйте четыре полных сумматора для однородности. Поскольку начальный перенос C in равен нулю, полный сумматор, который используется для добавления младших значащих битов, становится половинным сумматором.
Пока мы рассматривали второй подход. Блок-схема 4-битного двоичного сумматора показана на следующем рисунке.
Здесь 4 полных сумматора расположены каскадом. Каждый полный сумматор получает соответствующие биты двух параллельных входов A и B. Выходной сигнал переноса одного полного сумматора будет входом переноса последующего полного сумматора более высокого порядка. Этот 4-битный двоичный сумматор производит результирующую сумму, имеющую не более 5 бит. Итак, проводить последний этап Полный сумматор будет MSB.
Таким образом, мы можем реализовать любой двоичный сумматор более высокого порядка, просто каскадируя необходимое количество полных сумматоров. Этот двоичный сумматор также называется сумматором с волновым переносом (двоичным), потому что перенос распространяется (колебания) от одного этапа к следующему этапу.
Бинарный вычитатель
Схема, которая выполняет вычитание двух двоичных чисел, известна как двоичный вычитатель . Мы можем реализовать двоичный вычитатель следующими двумя способами.
- Каскад Полные вычитатели
- Метод дополнения 2
В первом методе мы получим n-битный двоичный вычитатель путем каскадного вычитания ‘n’ полных вычитателей. Итак, сначала вы можете реализовать Half-вычитатель и Full-вычитатель, аналогично Half-сумматору и полному сумматору. Затем вы можете реализовать n-битный двоичный вычитатель, каскадируя ‘n’ полных вычитателей. Итак, у нас будут две отдельные схемы для двоичного сложения и вычитания двух двоичных чисел.
Во втором методе мы можем использовать один и тот же двоичный сумматор для вычитания двух двоичных чисел, просто выполнив некоторые изменения во втором входе. Итак, внутренне двоичная операция сложения имеет место, но на выходе получается вычитание.
Мы знаем, что вычитание двух двоичных чисел A & B может быть записано как,
AB=A+ left(2′s::compmentofB right)
RightarrowAB=A+ left(1′s:комплиментofB right)+1
4-разрядный двоичный вычитатель
4-разрядный двоичный вычитатель производит вычитание двух 4-разрядных чисел . Пусть 4-битные двоичные числа, A=A3A2A1A0 и B=B3B2B1B0. Внутренне работа 4-разрядного двоичного вычитателя аналогична работе 4-разрядного двоичного сумматора. Если нормальные биты двоичного числа A, дополненные биты двоичного числа B и начального переноса (заимствования), C в качестве единицы применяются к 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-разрядном двоичном вычитателе.
Входные биты двоичного числа 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=A3A2A1A0 и B=B3B2B1B0. Работа 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 показана на следующем рисунке.
Один из этих четырех выходов будет равен «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 мы можем записать логические функции для каждого вывода как
Y3=E.A1.A0
Y2=E.A1.A0′
Y1=E.A1′.A0
Y0=E.A1′.A0′
Каждый выход имеет один термин продукта. Итак, всего четыре продукта. Мы можем реализовать эти четыре термина продукта, используя четыре элемента И, имеющие три входа каждый и два инвертора. Принципиальная схема декодера с 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нижнийпорядокдекодеры= fracm2m1
Куда,
m1 — количество выходов декодера более низкого порядка.
m2 — количество выходов декодера более высокого порядка.
Здесь m1 = 4 и m2 = 8. Подставим эти два значения в приведенную выше формулу.
Обязательночислоof2to4decoders= frac84=2
Следовательно, нам требуется два-четыре декодера для реализации одного-трех декодеров. Блок-схема от 3 до 8 декодеров, использующих от 2 до 4 декодеров, показана на следующем рисунке.
Параллельные входы 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нижнийпорядокдекодеры= fracm2m1
Замените m1 = 8 и m2 = 16 в приведенной выше формуле.
Обязательночислоof3to8декодеров= frac168=2
Поэтому для реализации одного декодера от 4 до 16 нам потребуется от двух до восьми декодеров. Блок-схема 4-16 декодера с использованием 3-8 декодеров показана на следующем рисунке.
Параллельные входы 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’ строк вывода. Он выдаст двоичный код, эквивалентный входу, который является активным High. Поэтому кодер кодирует 2 n входных строк с помощью n битов. Опционально представлять сигнал включения в энкодерах.
4 к 2 Энкодер
Пусть с 4 по 2 энкодер имеет четыре входа Y 3 , Y 2 , Y 1 и Y 0 и два выхода A 1 и A 0 . Блок-схема кодера с 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 мы можем записать логические функции для каждого вывода как
A1=Y3+Y2
A0=Y3+Y1
Мы можем реализовать две вышеупомянутые логические функции, используя два входных ИЛИ вентиля. Принципиальная схема датчика 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 мы можем записать логические функции для каждого вывода как
A2=Y7+Y6+Y5+Y4
A1=Y7+Y6+Y3+Y2
A0=Y7+Y5+Y3+Y1
Мы можем реализовать вышеупомянутые булевы функции, используя четыре входа ИЛИ. Принципиальная электрическая схема восьмеричного кодера показана на следующем рисунке.
Приведенная выше принципиальная схема содержит три 4-входных ИЛИ вентиля. Эти вентили ИЛИ кодируют восемь входов тремя битами.
Недостатки кодировщика
Ниже приведены недостатки нормального энкодера.
-
Существует неоднозначность, когда все выходы энкодера равны нулю. Потому что это может быть код, соответствующий входам, когда только наименее значимый вход равен единице или когда все входы равны нулю.
-
Если активен высокий уровень для более чем одного входа, то кодер выдает выходной сигнал, который может быть неправильным кодом. Например , если Y 3 и Y 6 равны ‘1’, то кодер выдает 111 на выходе. Это не эквивалентный код, соответствующий Y 3 , когда он равен «1», или эквивалентный код, соответствующий Y 6 , когда он равен «1».
Существует неоднозначность, когда все выходы энкодера равны нулю. Потому что это может быть код, соответствующий входам, когда только наименее значимый вход равен единице или когда все входы равны нулю.
Если активен высокий уровень для более чем одного входа, то кодер выдает выходной сигнал, который может быть неправильным кодом. Например , если 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.
Если хотя бы один вход энкодера равен «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-карты для получения упрощенных выражений для каждого вывода.
Упрощенные булевы функции
A1=Y3+Y2
A0=Y3+Y2′Y1
Аналогично, мы получим булеву функцию выхода V как
V=Y3+Y2+Y1+Y0
Мы можем реализовать вышеупомянутые булевы функции, используя логические элементы. Принципиальная схема 4–2 приоритетного датчика показана на следующем рисунке.
Вышеприведенная принципиальная схема содержит два вентиля ИЛИ с двумя входами, один вентиль ИЛИ с четырьмя входами, один вентиль И-входа с двумя входами и инвертор. Здесь комбинация логического элемента И инвертора используется для создания действительного кода на выходах, даже если несколько входов равны «1» одновременно. Следовательно, эта схема кодирует четыре входа двумя битами на основе приоритета, назначенного каждому входу.
Цифровые схемы — мультиплексоры
Мультиплексор — это комбинационная схема, которая имеет максимум 2 n входов данных, n линий выбора и одну выходную линию. Один из этих входов данных будет подключен к выходу на основе значений линий выбора.
Так как есть n строк выбора, будет 2 n возможных комбинаций нулей и единиц. Итак, каждая комбинация выберет только один ввод данных. Мультиплексор также называется Mux .
4×1 Мультиплексор
Мультиплексор 4×1 имеет четыре входа данных I 3 , I 2 , I 1 и I 0 , две строки выбора s 1 & s 0 и один выход Y. Блок-схема мультиплексора 4×1 показана на следующем рисунке.
Один из этих 4 входов будет подключен к выходу на основе комбинации входов, присутствующих в этих двух линиях выбора. Таблица истинности мультиплексора 4×1 показана ниже.
Линии выбора | Выход | |
---|---|---|
S 1 | S 0 | Y |
0 | 0 | Я 0 |
0 | 1 | Я 1 |
1 | 0 | Я 2 |
1 | 1 | Я 3 |
Из таблицы Truth мы можем напрямую написать булеву функцию для вывода, Y как
Y=S1′S0′I0+S1′S0I1+S1S0′I2+S1S0I3
Мы можем реализовать эту булеву функцию с помощью инверторов, вентилей AND и вентиля OR. Принципиальная схема мультиплексора 4×1 показана на следующем рисунке.
Мы можем легко понять работу вышеупомянутой схемы. Аналогично, вы можете реализовать мультиплексор 8×1 и мультиплексор 16×1, следуя той же процедуре.
Реализация мультиплексоров высшего порядка.
Теперь давайте реализуем следующие два мультиплексора высшего порядка, используя мультиплексоры низкого порядка.
- 8×1 мультиплексор
- 16×1 мультиплексор
8×1 мультиплексор
В этом разделе мы реализуем мультиплексор 8×1, используя мультиплексоры 4×1 и мультиплексор 2×1. Мы знаем, что 4×1 Multiplexer имеет 4 входа данных, 2 строки выбора и один выход. Принимая во внимание, что мультиплексор 8×1 имеет 8 входов данных, 3 строки выбора и один выход.
Итак, нам требуется два мультиплексора 4×1 на первом этапе, чтобы получить 8 входных данных. Поскольку каждый мультиплексор 4×1 производит один выходной сигнал, нам требуется мультиплексор 2×1 на втором этапе, рассматривая выходы первого этапа в качестве входных данных и для получения конечного выхода.
Пусть мультиплексор 8×1 имеет восемь входов данных от I 7 до I 0 , три строки выбора s 2 , s 1 & s0 и один выход Y. Таблица истинности мультиплексора 8×1 показана ниже.
Выбор входов | Выход | ||
---|---|---|---|
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 |
Мы можем легко реализовать мультиплексор 8×1, используя мультиплексоры низкого порядка, рассмотрев приведенную выше таблицу истинности. Блок-схема мультиплексора 8×1 показана на следующем рисунке.
Те же строки выбора, s 1 и s 0 , применяются к обоим мультиплексорам 4×1. Входы данных верхнего мультиплексора 4×1 — от I 7 до I 4, а входы данных нижнего мультиплексора 4×1 — от I 3 до I 0 . Таким образом, каждый мультиплексор 4×1 создает выходной сигнал на основе значений строк выбора, s 1 и s 0 .
Выходы мультиплексоров 4×1 первой ступени применяются в качестве входов мультиплексора 2×1, который присутствует на второй ступени. Другая строка выбора s 2 применяется к мультиплексору 2×1.
-
Если s 2 равно нулю, то выход мультиплексора 2×1 будет одним из 4 входов от I 3 до I 0 на основе значений линий выбора s 1 & s 0 .
-
Если s 2 равно единице, то выход мультиплексора 2×1 будет одним из 4 входов от I 7 до I 4 на основе значений линий выбора s 1 & s 0 .
Если s 2 равно нулю, то выход мультиплексора 2×1 будет одним из 4 входов от I 3 до I 0 на основе значений линий выбора s 1 & s 0 .
Если s 2 равно единице, то выход мультиплексора 2×1 будет одним из 4 входов от I 7 до I 4 на основе значений линий выбора s 1 & s 0 .
Таким образом, общая комбинация двух мультиплексоров 4×1 и одного мультиплексора 2×1 работает как один мультиплексор 8×1.
16×1 мультиплексор
В этом разделе мы реализуем мультиплексор 16×1, используя мультиплексоры 8×1 и мультиплексор 2×1. Мы знаем, что мультиплексор 8×1 имеет 8 входов данных, 3 строки выбора и один выход. Принимая во внимание, что мультиплексор 16×1 имеет 16 входов данных, 4 строки выбора и один выход.
Итак, нам требуется два мультиплексора 8×1 на первом этапе, чтобы получить 16 входных данных. Так как каждый мультиплексор 8×1 производит один выход, нам требуется мультиплексор 2×1 на втором этапе, рассматривая выходы первого этапа в качестве входных данных и для получения конечного выхода.
Пусть мультиплексор 16×1 имеет шестнадцать входов данных от I 15 до I 0 , четыре строки выбора от s 3 до s 0 и один выход Y. Таблица истинности мультиплексора 16×1 показана ниже.
Выбор входов | Выход | |||
---|---|---|---|---|
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 |
Мы можем легко реализовать мультиплексор 16×1, используя мультиплексоры низкого порядка, рассмотрев приведенную выше таблицу истинности. Блок-схема мультиплексора 16×1 показана на следующем рисунке.
Те же строки выбора, s 2 , s 1 и s 0 , применяются к обоим мультиплексорам 8×1. Входы данных верхнего мультиплексора 8×1 — от I 15 до I 8, а входы данных нижнего мультиплексора 8×1 — от I 7 до I 0 . Следовательно, каждый мультиплексор 8×1 создает выходной сигнал на основе значений строк выбора, s 2 , s 1 & s 0 .
Выходы мультиплексоров 8×1 первой ступени применяются в качестве входов мультиплексора 2×1, который присутствует на второй ступени. Другая строка выбора s 3 применяется к мультиплексору 2×1.
-
Если s 3 равно нулю, то выход мультиплексора 2×1 будет одним из 8 входов от 7 до I 0 на основе значений линий выбора s 2 , s 1 & s 0 .
-
Если s 3 равен единице, то выход мультиплексора 2×1 будет одним из 8 входов от I 15 до I 8 на основании значений линий выбора s 2 , s 1 & s 0 .
Если s 3 равно нулю, то выход мультиплексора 2×1 будет одним из 8 входов от 7 до I 0 на основе значений линий выбора s 2 , s 1 & s 0 .
Если s 3 равен единице, то выход мультиплексора 2×1 будет одним из 8 входов от I 15 до I 8 на основании значений линий выбора s 2 , s 1 & s 0 .
Таким образом, общая комбинация двух мультиплексоров 8×1 и одного мультиплексора 2×1 работает как один мультиплексор 16×1.
Цифровые схемы — де-мультиплексоры
Демультиплексор — это комбинационная схема, которая выполняет обратную операцию мультиплексора. Он имеет один вход, n строк выбора и максимум 2 n выходов. Вход будет подключен к одному из этих выходов на основе значений линий выбора.
Так как есть n строк выбора, будет 2 n возможных комбинаций нулей и единиц. Таким образом, каждая комбинация может выбрать только один выход. De-Multiplexer также называется De-Mux .
1×4 De-Multiplexer
1×4 De-Multiplexer имеет один вход I, две строки выбора, s 1 и s 0 и четыре выхода Y 3 , Y 2 , Y 1 и Y 0 . Блок-схема демультиплексора 1×4 показана на следующем рисунке.
Один вход «I» будет подключен к одному из четырех выходов, от Y 3 до Y 0, в зависимости от значений линий выбора s 1 и s0. Таблица истинности демультиплексора 1×4 показана ниже.
Выбор входов | Выходы | ||||
---|---|---|---|---|---|
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 |
Из приведенной выше таблицы истинности мы можем напрямую записать логические функции для каждого выхода в виде
Y3=S1S0Я
Y2=S1S0«Я
Y1=S1′S0Я
Y0=s1S0′I
Мы можем реализовать эти булевы функции с помощью инверторов и вентилей с 3 входами И. Принципиальная схема демультиплексора 1×4 показана на следующем рисунке.
Мы можем легко понять работу вышеупомянутой схемы. Точно так же вы можете реализовать 1×8 De-Multiplexer и 1×16 De-Multiplexer, следуя той же процедуре.
Реализация демультиплексоров высшего порядка
Теперь давайте реализуем следующие два демультиплексора высшего порядка, используя демультиплексоры низкого порядка.
- 1×8 демультиплексор
- 1×16 демультиплексор
1×8 демультиплексор
В этом разделе мы реализуем демультиплексор 1×8, используя демультиплексоры 1×4 и демультиплексор 1×2. Мы знаем, что 1×4 De-Multiplexer имеет один вход, две строки выбора и четыре выхода. Принимая во внимание, что демультиплексор 1×8 имеет один вход, три линии выбора и восемь выходов.
Итак, нам нужны два 1×4 демультиплексора на втором этапе, чтобы получить последние восемь выходов. Поскольку количество входов на втором этапе равно двум, нам требуется 1×2 демультиплексора на первом этапе, чтобы выходы первого этапа были входами второго этапа. Вход этого демультиплексора 1×2 будет общим входом демультиплексора 1×8.
Пусть демультиплексор 1×8 имеет один вход I, три линии выбора s 2 , s 1 и s 0 и выходы с Y 7 по Y 0 . Таблица истинности демультиплексора 1×8 показана ниже.
Выбор входов | Выходы | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
с 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 |
Мы можем легко реализовать демультиплексор 1×8, используя мультиплексоры низкого порядка, рассмотрев приведенную выше таблицу истинности. Блок-схема демультиплексора 1×8 показана на следующем рисунке.
Общие строки выбора s 1 & s 0 применяются к обоим демультиплексорам 1×4. Выходы верхнего демультиплексора 1×4 — от Y 7 до Y 4, а выходы нижнего демультиплексора 1×4 — от Y 3 до Y 0 .
Другая строка выбора s 2 применяется к демультиплексору 1×2. Если s 2 равно нулю, то один из четырех выходов нижнего демультиплексора 1×4 будет равен входу I, основываясь на значениях линий выбора s 1 & s 0 . Аналогично, если s 2 равен единице, то один из четырех выходов верхнего демультиплексора 1×4 будет равен входу I, основываясь на значениях линий выбора s 1 & s 0 .
1×16 демультиплексор
В этом разделе мы реализуем демультиплексор 1×16, используя демультиплексоры 1×8 и демультиплексор 1×2. Мы знаем, что 1×8 De-Multiplexer имеет один вход, три линии выбора и восемь выходов. Принимая во внимание, что демультиплексор 1×16 имеет один вход, четыре строки выбора и шестнадцать выходов.
Итак, нам нужны два демультиплексора 1×8 на втором этапе, чтобы получить окончательные шестнадцать выходов. Поскольку количество входов на втором этапе равно двум, нам требуется 1×2 демультиплексора на первом этапе, чтобы выходы первого этапа были входами второго этапа. Вход этого демультиплексора 1×2 будет общим входом демультиплексора 1×16.
Пусть демультиплексор 1×16 имеет один вход I, четыре строки выбора s 3 , s 2 , s 1 & s 0 и выходы Y 15 — Y 0 . Блок-схема демультиплексора 1×16 с использованием мультиплексоров более низкого порядка показана на следующем рисунке.
Общие строки выбора s 2 , s 1 & s 0 применяются к обоим демультиплексорам 1×8. Выходы верхнего демультиплексора 1×8 — от Y 15 до Y 8, а выходы нижнего демультиплексора 1×8 — от Y 7 до Y 0 .
Другая строка выбора, s 3 , применяется к демультиплексору 1×2. Если s 3 равно нулю, то один из восьми выходов нижнего демультиплексора 1×8 будет равен входу I, основываясь на значениях линий выбора s 2 , s 1 & s 0 . Аналогично, если s3 равен единице, то один из 8 выходов верхнего демультиплексора 1×8 будет равен входу I, основываясь на значениях строк выбора s 2 , s 1 & s 0 .
Программируемые логические устройства
Программируемые логические устройства (PLD) являются интегральными схемами. Они содержат массив вентилей AND и другой массив вентилей OR. Существует три вида PLD, основанные на типе массива (ов), который имеет программируемую функцию.
- Программируемая постоянная память
- Программируемая логика массива
- Программируемый логический массив
Процесс ввода информации в эти устройства известен как программирование . По сути, пользователи могут программировать эти устройства или микросхемы электрически, чтобы реализовать булевы функции на основе требований. Здесь термин программирование относится к аппаратному программированию, но не к программному программированию.
Программируемая постоянная память (PROM)
Постоянное запоминающее устройство (ПЗУ) — это устройство памяти, которое постоянно хранит двоичную информацию. Это означает, что мы не можем изменить эту сохраненную информацию каким-либо образом позже. Если ПЗУ имеет программируемую функцию, то она называется Программируемым ПЗУ (ППЗУ) . Пользователь может гибко программировать двоичную информацию один раз с помощью программатора PROM.
PROM — это программируемое логическое устройство с фиксированным массивом AND и программируемым массивом OR. Блок-схема PROM показана на следующем рисунке.
Здесь входы логических элементов AND не являются программируемыми. Таким образом, мы должны сгенерировать 2 n терминов продукта, используя 2 n логических элемента AND, каждый из которых имеет n входов. Мы можем реализовать эти условия продукта, используя nx2 n декодер. Таким образом, этот декодер генерирует ‘n’ min терминов .
Здесь входы ИЛИ вентилей являются программируемыми. Это означает, что мы можем запрограммировать любое количество необходимых терминов продукта, так как все выходы логических элементов И применяются в качестве входных данных для каждого логического элемента ИЛИ. Следовательно, выходные данные PROM будут представлены в виде суммы минимальных членов .
пример
Давайте реализуем следующие булевы функции, используя PROM.
A(X,Y,Z)= summ left(5,6,7 right)
B(X,Y,Z)= summ left(3,5,6,7 right)
Эти две функции представлены в виде суммы минимальных членов, и каждая функция имеет три переменные X, Y и Z. Таким образом, нам требуется от 3 до 8 декодеров и два программируемых логических элемента ИЛИ для создания этих двух функций. Соответствующее PROM показано на следующем рисунке.
Здесь декодер с 3 по 8 генерирует восемь минутных терминов. Два программируемых логических элемента ИЛИ имеют доступ ко всем этим минимальным терминам. Но запрограммированы только требуемые минимальные условия для создания соответствующих логических функций каждым логическим элементом ИЛИ. Символ «X» используется для программируемых соединений.
Программируемая логическая матрица (PAL)
PAL — это программируемое логическое устройство, которое имеет программируемый массив И и фиксированный массив ИЛИ. Преимущество PAL состоит в том, что мы можем генерировать только необходимые условия продукта булевой функции вместо генерации всех минимальных условий с помощью программируемых вентилей AND. Блок-схема PAL показана на следующем рисунке.
Здесь входы логических элементов И являются программируемыми. Это означает, что каждый логический элемент И имеет как нормальные, так и дополненные входы переменных. Таким образом, основываясь на требовании, мы можем запрограммировать любой из этих входов. Таким образом, мы можем генерировать только необходимые условия продукта с помощью этих вентилей AND.
Здесь входы вентилей ИЛИ не являются программируемыми. Таким образом, количество входов в каждый вентиль ИЛИ будет фиксированного типа. Следовательно, примените эти необходимые условия продукта к каждому элементу ИЛИ в качестве входных данных. Таким образом, результаты PAL будут в виде суммы суммы продуктов .
пример
Давайте реализуем следующие булевы функции, используя PAL.
А=XY+XZ′
А=ХУ′+YZ′
Указанные две функции находятся в виде суммы произведений. В каждой булевой функции присутствуют два термина продукта. Итак, нам нужны четыре программируемых И-логических элемента и два фиксированных ИЛИ-вентиля для создания этих двух функций. Соответствующий PAL показан на следующем рисунке.
Программируемые логические элементы И имеют доступ как к обычным, так и к дополнительным входам переменных. На рисунке выше входы X, X′, Y, Y′, Z & Z′ доступны на входах каждого логического элемента AND. Таким образом, запрограммируйте только необходимые литералы, чтобы сгенерировать один термин продукта для каждого элемента И. Символ «X» используется для программируемых соединений.
Здесь входы ИЛИ вентилей имеют фиксированный тип. Таким образом, необходимые условия продукта связаны с входами каждого логического элемента ИЛИ . Так что вентили OR производят соответствующие булевы функции. Символ ‘.’ используется для фиксированных соединений.
Программируемая логическая матрица (PLA)
PLA — это программируемое логическое устройство, которое имеет как программируемый массив, так и программируемый массив ИЛИ. Следовательно, это самый гибкий PLD. Блок-схема PLA показана на следующем рисунке.
Здесь входы логических элементов И являются программируемыми. Это означает, что каждый логический элемент И имеет как нормальные, так и дополненные входы переменных. Таким образом, основываясь на требовании, мы можем запрограммировать любой из этих входов. Таким образом, мы можем генерировать только необходимые условия продукта с помощью этих вентилей AND.
Здесь входы ИЛИ вентилей также программируются. Таким образом, мы можем запрограммировать любое количество требуемых терминов продукта, поскольку все выходы логических элементов И применяются в качестве входных данных для каждого логического элемента ИЛИ. Таким образом, результаты PAL будут в виде суммы суммы продуктов .
пример
Давайте реализуем следующие булевы функции с использованием PLA.
А=XY+XZ′
B=XY′+YZ+XZ′
Указанные две функции находятся в виде суммы произведений. Число членов продукта, присутствующих в данных булевых функциях A и B, равно двум и трем соответственно. Один член произведения, Z′X, является общим в каждой функции.
Итак, нам нужны четыре программируемых И-логических элемента и два программируемых ИЛИ-вентиля для выполнения этих двух функций. Соответствующий 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,еслиW1X1+W2X2+W3X3+...WnXn geqT
? = 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=W1X1+W2X2+W3X3
Подставим данные веса в приведенное выше уравнение.
RightarrowW=2X1+X2−4X3
Выход порогового элемента Y будет равен 1, если W ≥ −1, в противном случае он будет равен 0.
В следующей таблице показана взаимосвязь между входом и выходом для всех возможных комбинаций входов.
входные | Взвешенная сумма | Выход | ||
---|---|---|---|---|
X1 | X2 | X3 | W=2X1+Х−2−4X3 | 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= summ left(0,2,4,6,7 right)
Упрощение этой булевой функции с использованием 3-х переменных K-Map показано на следующем рисунке.
Следовательно, упрощенная булева функция для заданного порогового элемента равна Y=X′3+X1X2.
Синтез пороговых функций
Пороговый вентиль также называется универсальным вентилем, потому что мы можем реализовать любую булеву функцию, используя пороговые вентили. Иногда может оказаться невозможным реализовать несколько логических вентилей и булевых функций, используя один пороговый вентиль. В этом случае нам может потребоваться несколько пороговых элементов.
Выполните следующие шаги для реализации логической функции с использованием одного порогового элемента.
Шаг 1 — Сформулируйте таблицу истинности для данной булевой функции.
Шаг 2 — В приведенной выше таблице Правды добавьте (включите) еще один столбец, который дает соотношение между взвешенными суммами и пороговым значением .
Шаг 3 — Запишите соотношение между взвешенными суммами и порогом для каждой комбинации входов, как указано ниже.
-
Если выходные данные булевой функции равны 1, то взвешенная сумма будет больше или равна пороговому значению для этой комбинации входов.
-
Если выходные данные булевой функции равны 0, то взвешенная сумма будет меньше порогового значения для этой комбинации входов.
Если выходные данные булевой функции равны 1, то взвешенная сумма будет больше или равна пороговому значению для этой комбинации входов.
Если выходные данные булевой функции равны 0, то взвешенная сумма будет меньше порогового значения для этой комбинации входов.
Шаг 4 — Выберите значения весов и порога таким образом, чтобы они удовлетворяли всем отношениям, представленным в последнем столбце приведенной выше таблицы.
Шаг 5 — Нарисуйте символ порога с этими весами и значением порога.
пример
Давайте реализуем следующую булеву функцию, используя один пороговый элемент.
Y left(X1,X2,X3 right)= summ 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 |
Ниже приведены выводы из приведенной выше таблицы.
-
Значение порога должно быть либо нулевым, либо отрицательным в зависимости от первого отношения.
-
Значение W 3 должно быть отрицательным на основании первого и второго соотношений.
-
Значения W 1 и W 2 должны быть больше или равны пороговому значению на основе пятого и третьего соотношений.
-
W 2 должно быть больше, чем W 3 на основе четвертого соотношения.
Значение порога должно быть либо нулевым, либо отрицательным в зависимости от первого отношения.
Значение 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 показана на следующем рисунке.
Эта схема имеет два входа 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).
Если 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 и два выхода 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 = 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 показана на следующем рисунке.
Эта схема имеет два входа 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 можно использовать для одной из этих трех функций, таких как удержание, сброс и установка, в зависимости от условий входа, когда применяется положительный переход тактового сигнала. Следующая таблица показывает таблицу характеристик 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), показаны на следующем рисунке.
Максимально возможные группировки соседних уже показаны на рисунке. Следовательно, упрощенное выражение для следующего состояния Q (t + 1) имеет вид
Q left(t+1 right)=S+R′Q left(t right)
D Триггер
D триггер работает только с положительными тактовыми переходами или отрицательными тактовыми переходами. Принимая во внимание, что D-защелка работает с разрешающим сигналом. Это означает, что вывод D триггера нечувствителен к изменениям на входе D, за исключением активного перехода тактового сигнала. Принципиальная электрическая схема D триггера показана на следующем рисунке.
Эта схема имеет один вход D и два выхода Q (t) и Q (t) ‘. Работа D триггера аналогична D Latch. Но этот триггер влияет на выходы только тогда, когда вместо активного разрешения применяется положительный переход тактового сигнала.
В следующей таблице показана таблица состояний D триггера.
D | Q (t + 1) |
---|---|
0 | 0 |
0 | 1 |
Следовательно, D триггер всегда содержит информацию, которая доступна на входе данных, D о более раннем положительном переходе тактового сигнала. Из приведенной выше таблицы состояний мы можем непосредственно записать следующее уравнение состояния в виде
Q (t + 1) = D
Следующее состояние D триггера всегда равно вводу данных, D для каждого положительного перехода тактового сигнала. Следовательно, D триггеры могут использоваться в регистрах, регистрах сдвига и некоторых счетчиках.
JK Flip-Flop
JK flip-flop — модифицированная версия SR-триггера. Он работает только с положительными переходами часов или отрицательными переходами часов. Принципиальная схема триггера JK показана на следующем рисунке.
Эта схема имеет два входа 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), показаны на следующем рисунке.
Максимально возможные группировки соседних уже показаны на рисунке. Следовательно, упрощенное выражение для следующего состояния Q (t + 1) имеет вид
Q left(t+1 right)=JQ left(t right)′+K′Q left(t right)
T Триггер
T-триггер — это упрощенная версия JK-триггера. Его получают, подключив один и тот же вход «T» к обоим входам триггера JK. Он работает только с положительными переходами часов или отрицательными переходами часов. Принципиальная электрическая схема 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)′
RightarrowQ left(t+1 right)=T oplusQ 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 для упрощения.
-
Нарисуйте принципиальную схему нужного триггера в соответствии с упрощенными выражениями, используя заданный триггер и необходимые логические элементы.
Получите упрощенные выражения для каждого входа возбуждения. При необходимости используйте 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=M2+d−3
R=M1+d−0
Мы можем использовать 2 переменные K-Maps для получения упрощенных выражений для этих входных данных. K-карты для S & R показаны ниже.
Итак, мы получили S = D & R = 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 oplusQ left(t right)
Итак, нам требуется два входных вентиля Exclusive-OR вместе с D-триггером. Принципиальная электрическая схема 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=M2+d−1+d−3
K=M3+d−0+d−2
Мы можем использовать две переменные K-Maps для получения упрощенных выражений для этих двух входов. K-карты для J & K показаны ниже.
Итак, мы получили, J = T & K = T после упрощения. Принципиальная электрическая схема T-триггера показана на следующем рисунке.
Эта схема состоит только из триггера 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 oplusQ left(t right)
Итак, нам требуется два входных вентиля Exclusive-OR вместе с T-триггером. Принципиальная электрическая схема D триггера показана на следующем рисунке.
Эта схема состоит из T-триггера и логического элемента Exclusive-OR. Этот вентиль Exclusive-OR производит вывод, который является Ex-OR для D и Q (t). Таким образом, общая схема имеет один вход, D и два выхода Q (t) и Q (t) ‘. Следовательно, это D-триггер . Точно так же вы можете сделать два других преобразования.
Цифровые схемы — сдвиговые регистры
Мы знаем, что один триггер может хранить один бит информации. Чтобы хранить несколько битов информации, нам нужно несколько триггеров. Группа триггеров, которые используются для хранения (хранения) двоичных данных, называется регистром .
Если регистр способен сдвигать биты либо вправо, либо влево, это называется регистром сдвига . Регистр сдвига битов «N» содержит триггеры «N». Ниже приведены четыре типа регистров сдвига, основанные на применении входов и доступе к выходам.
- Serial In — сдвиговый регистр Serial Out
- Серийный вход — параллельный выходной регистр сдвига
- Параллельный вход — сдвиговый регистр последовательного выхода
- Параллельный вход — сдвиговый регистр параллельного выхода
Серийный вход — Серийный выход (SISO) Сдвиговый регистр
Сдвиговый регистр, который допускает последовательный ввод и производит последовательный вывод, известен как сдвиговый регистр Serial In — Serial Out (SISO) . Блок-схема 3-битного регистра сдвига SISO показана на следующем рисунке.
Эта блок-схема состоит из трех D-триггеров, которые каскадируются . Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры синхронны друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.
В этом регистре сдвига мы можем посылать биты последовательно со входа самого левого D-триггера. Следовательно, этот вход также называется последовательным входом . При каждом срабатывании положительного фронта тактового сигнала данные перемещаются с одной ступени на другую. Таким образом, мы можем получать биты последовательно с выхода самого правого D-триггера. Следовательно, этот выход также называется последовательным выходом .
пример
Давайте посмотрим, как работает 3-битный регистр сдвига SISO, посылая двоичную информацию «011» из LSB в MSB последовательно на входе.
Предположим, что начальный статус D-триггеров слева направо равен Q2Q1Q0=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-триггеров в отсутствие тактового сигнала: Q2Q1Q0=000. Здесь последовательный вывод исходит из Q0. Таким образом, 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-триггеров слева направо равен Q2Q1Q0=000. Здесь Q2 & Q0 — это 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-триггеров в отсутствие тактового сигнала: Q2Q1Q0=000. Двоичная информация «011» получается параллельно на выходах D триггеров для третьего положительного фронта тактового сигнала.
Итак, 3-битный сдвиговый регистр SIPO требует три тактовых импульса для получения действительного выхода. Аналогично, N-битный сдвиговый регистр SIPO требует N тактовых импульсов для сдвига «N» битовой информации.
Сдвиговый регистр параллельного входа — последовательного выхода (PISO)
Сдвиговый регистр, который допускает параллельный ввод и производит последовательный выход, известен как сдвиговый регистр Parallel In-Serial Out (PISO) . Блок-схема 3-битного регистра сдвига PISO показана на следующем рисунке.
Эта схема состоит из трех D-триггеров, которые каскадно. Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры синхронны друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.
В этом регистре сдвига мы можем применить параллельные входы к каждому D-триггеру, установив Preset Enable в 1. Для каждого срабатывания положительного фронта тактового сигнала данные сдвигаются от одного этапа к следующему. Итак, мы получим последовательный вывод с самого правого D-триггера.
пример
Давайте посмотрим, как работает 3-битный регистр сдвига PISO, применяя двоичную информацию «011» параллельно через предустановленные входы.
Так как предустановленные входные данные применяются до положительного фронта тактового сигнала, начальное состояние D-триггеров от крайнего левого к правому будет Q2Q1Q0=011. Мы можем понять работу 3-битного регистра сдвига PISO из следующей таблицы.
Нет положительного края часов | Q 2 | Q 1 | Q 0 |
---|---|---|---|
0 | 0 | 1 | 1 (LSB), |
1 | — | 0 | 1 |
2 | — | — | 0 (LSB) |
Здесь последовательный вывод исходит из Q0. Таким образом, LSB (1) принимается до применения положительного фронта тактового сигнала, а MSB (0) принимается на 2- ом положительном фронте тактового сигнала.
Следовательно, 3-битный регистр сдвига PISO требует двух тактовых импульсов для получения действительного выхода. Аналогично, N-битный регистр сдвига PISO требует N-1 тактовых импульсов, чтобы сдвигать N-битную информацию.
Регистр сдвига параллельного входа — параллельного выхода (PIPO)
Сдвиговый регистр, который допускает параллельный ввод и производит параллельный вывод, известен как сдвиговый регистр Parallel In — Parallel Out (PIPO) . Блок-схема 3-битного регистра сдвига PIPO показана на следующем рисунке.
Эта схема состоит из трех D-триггеров, которые каскадно. Это означает, что выход одного D-триггера подключен как вход следующего D-триггера. Все эти триггеры синхронны друг с другом, поскольку к каждому из них применяется один и тот же тактовый сигнал.
В этом регистре сдвига мы можем применить параллельные входы к каждому D-триггеру, установив Preset Enable в 1. Мы можем применить параллельные входы через предустановку или сброс. Эти два являются асинхронными входами. Это означает, что триггеры производят соответствующие выходные данные, основываясь на значениях асинхронных входных данных. В этом случае влияние выходов не зависит от тактового перехода. Итак, мы получим параллельные выходы от каждого D-триггера.
пример
Давайте посмотрим, как работает 3-битный регистр сдвига PIPO, применяя двоичную информацию «011» параллельно через предустановленные входы.
Так как предустановленные входные данные применяются до положительного фронта тактового сигнала, начальное состояние D-триггеров от крайнего левого к правому будет Q2Q1Q0=011. Таким образом, двоичная информация «011» получается параллельно на выходах D триггеров перед применением положительного фронта тактового сигнала.
Следовательно, 3-битный регистр сдвига PIPO требует нулевых тактовых импульсов для получения действительного выхода. Аналогично, N-битный регистр сдвига PIPO не требует никакого тактового импульса для сдвига информации «N» битов.
Цифровые схемы — применение сдвиговых регистров
В предыдущей главе мы обсудили четыре типа сдвиговых регистров. Исходя из требования, мы можем использовать один из этих сдвиговых регистров. Ниже приведены применения регистров сдвига.
-
Регистр сдвига используется в качестве параллельного преобразователя в последовательный , который преобразует параллельные данные в последовательные. Он используется в секции передатчика после блока аналого-цифрового преобразователя (АЦП).
-
Сдвиговый регистр используется как последовательный преобразователь , который преобразует последовательные данные в параллельные. Он используется в секции приемника перед блоком цифро-аналогового преобразователя (ЦАП).
-
Сдвиговый регистр вместе с некоторыми дополнительными воротами генерирует последовательность нулей и единиц. Следовательно, он используется в качестве генератора последовательности .
-
Сдвиговые регистры также используются в качестве счетчиков . Существует два типа счетчиков, основанных на типе выхода справа. D-триггер подключен к последовательному входу. Это счетчик Ринга и счетчик Джонсона Ринга.
Регистр сдвига используется в качестве параллельного преобразователя в последовательный , который преобразует параллельные данные в последовательные. Он используется в секции передатчика после блока аналого-цифрового преобразователя (АЦП).
Сдвиговый регистр используется как последовательный преобразователь , который преобразует последовательные данные в параллельные. Он используется в секции приемника перед блоком цифро-аналогового преобразователя (ЦАП).
Сдвиговый регистр вместе с некоторыми дополнительными воротами генерирует последовательность нулей и единиц. Следовательно, он используется в качестве генератора последовательности .
Сдвиговые регистры также используются в качестве счетчиков . Существует два типа счетчиков, основанных на типе выхода справа. D-триггер подключен к последовательному входу. Это счетчик Ринга и счетчик Джонсона Ринга.
В этой главе давайте поговорим об этих двух счетчиках один за другим.
Кольцо Счетчик
В предыдущей главе мы обсуждали работу сдвигового регистра Serial In — Parallel Out (SIPO) . Он принимает данные извне в последовательной форме и требует N тактовых импульсов, чтобы сдвинуть N битные данные.
Аналогично, счетчик бита ‘N’ выполняет аналогичную операцию. Но единственное отличие состоит в том, что вывод самого правого D-триггера задается как ввод самого левого D-триггера вместо применения данных извне. Следовательно, счетчик звонков генерирует последовательность состояний (последовательность нулей и единиц) и повторяется для каждых «N» тактов .
Блок-схема 3-битного счетчика звонков показана на следующем рисунке.
3-битный счетчик звонка содержит только 3-битный регистр сдвига SIPO. Выход самого правого D-триггера соединен с последовательным входом самого левого D-триггера.
Предположим, что начальный статус D-триггеров слева направо равен Q2Q1Q0=001. Здесь Q2 & Q0 — это 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-триггеров в отсутствие тактового сигнала: Q2Q1Q0=001. Это состояние повторяется для каждых трех положительных фронтов переходов тактового сигнала.
Поэтому для каждого положительного фронта тактового сигнала выполняются следующие операции .
-
Последовательный ввод первого D-триггера получает предыдущий выход третьего триггера. Таким образом, текущий вывод первого D-триггера равен предыдущему выводу третьего триггера.
-
Предыдущие выходы первого и второго D триггеров смещены вправо на один бит. Это означает, что текущие выходы второго и третьего D-триггеров равны предыдущим выходам первого и второго D-триггеров.
Последовательный ввод первого D-триггера получает предыдущий выход третьего триггера. Таким образом, текущий вывод первого D-триггера равен предыдущему выводу третьего триггера.
Предыдущие выходы первого и второго D триггеров смещены вправо на один бит. Это означает, что текущие выходы второго и третьего D-триггеров равны предыдущим выходам первого и второго D-триггеров.
Счетчик Джонсон Ринг
Работа счетчика Джонсона Ринга аналогична работе счетчика Ринга. Но единственное отличие состоит в том, что дополненный вывод самого правого D-триггера задается как ввод самого левого D-триггера вместо нормального вывода. Следовательно, «N» -битовый счетчик Джонсона Ринга генерирует последовательность состояний (последовательность нулей и единиц) и повторяется для каждых «2N» тактов .
Счетчик Johnson Ring также называется счетчиком Twisted Ring и переключателем хвостового кольца. Блок-схема 3-битного счетчика Джонсона Ринга показана на следующем рисунке.
3-битный счетчик Джонсона Ринга также содержит только 3-битный регистр сдвига SIPO. Дополненный выход крайнего правого D-триггера соединен с последовательным входом самого левого D-триггера.
Предположим, что изначально все D-триггеры очищены. Итак, Q2Q1Q0=000. Здесь Q2 & Q0 — это 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-триггеров в отсутствие тактового сигнала: Q2Q1Q0=000. Это состояние повторяется для каждых шести положительных фронтов тактового сигнала.
Поэтому для каждого положительного фронта тактового сигнала выполняются следующие операции .
-
Последовательный ввод первого D-триггера получает предыдущий дополняемый вывод третьего триггера. Таким образом, текущий вывод первого D-триггера равен предыдущему дополненному выводу третьего триггера.
-
Предыдущие выходы первого и второго D триггеров смещены вправо на один бит. Это означает, что текущие выходы второго и третьего D-триггеров равны предыдущим выходам первого и второго D-триггеров.
Последовательный ввод первого 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 триггеров с крайнего правого на самый левый равен Q2Q1Q0=000. Здесь Q2 & Q0 — это 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 |
Здесь Q0 переключается для каждого отрицательного фронта тактового сигнала. Q1 переключается для каждого Q0, который идет от 1 до 0, в противном случае остается в предыдущем состоянии. Аналогично, Q2 переключается для каждого Q1, который изменяется от 1 до 0, в противном случае остается в предыдущем состоянии.
Начальное состояние T-триггеров в отсутствие тактового сигнала: Q2Q1Q0=000. Это значение увеличивается на единицу для каждого отрицательного фронта тактового сигнала и достигает максимального значения на 7- ом отрицательном фронте тактового сигнала. Этот шаблон повторяется, когда применяются дополнительные отрицательные фронты тактового сигнала.
Асинхронный двоичный счетчик
N-битный асинхронный двоичный обратный счетчик состоит из ‘N’ T триггеров. Он отсчитывает от 2 ? до 1 до 0. Блок-схема 3-битного асинхронного двоичного счетчика с понижением частоты показана на следующем рисунке.
Блок-схема 3-битного асинхронного двоичного счетчика с понижением аналогична блок-схеме 3-битного асинхронного двоичного счетчика с повышением частоты. Но единственное отличие состоит в том, что вместо подключения обычных выходов одноступенчатого триггера в качестве тактового сигнала для триггера следующей ступени, подключите дополненные выходы одноступенчатого триггера в качестве тактового сигнала для триггера следующей ступени. Дополняемый вывод идет от 1 до 0 так же, как нормальный вывод идет от 0 до 1.
Предположим, что начальный статус T триггеров с крайнего правого на самый левый равен Q2Q1Q0=000. Здесь Q2 & Q0 — это 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 |
Здесь Q0 переключается для каждого отрицательного фронта тактового сигнала. Q1 переключается для каждого Q0, который идет от 0 до 1, в противном случае остается в предыдущем состоянии. Аналогично, Q2 переключается для каждого Q1, который идет от 0 до 1, в противном случае остается в предыдущем состоянии.
Начальное состояние T-триггеров в отсутствие тактового сигнала: Q2Q1Q0=000. Это уменьшается на единицу для каждого отрицательного фронта тактового сигнала и достигает того же значения на 8- ом отрицательном фронте тактового сигнала. Этот шаблон повторяется, когда применяются дополнительные отрицательные фронты тактового сигнала.
Синхронные Счетчики
Если все триггеры получают один и тот же тактовый сигнал, то этот счетчик называется синхронным счетчиком . Следовательно, выходы всех триггеров изменяются (влияют) одновременно.
Теперь давайте обсудим следующие два счетчика один за другим.
- Синхронный двоичный счетчик
- Синхронный двоичный счетчик
Синхронный двоичный счетчик
N-битный синхронный двоичный счетчик состоит из «N» T триггеров. Он отсчитывает от 0 до 2 ? — 1. Блок-схема 3-разрядного синхронного двоичного счетчика с повышением частоты показана на следующем рисунке.
3-разрядный синхронный двоичный счетчик содержит три Т-триггера и один 2-входной логический элемент И. Все эти триггеры запускаются по отрицательному фронту, и выходы триггеров изменяются (влияют) синхронно. Т-входы первого, второго и третьего триггеров равны 1, Q0 и Q1Q0 соответственно.
Выход первого T-триггера переключается для каждого отрицательного фронта тактового сигнала. Выход второго триггера T переключается для каждого отрицательного фронта тактового сигнала, если Q0 равно 1. Выход третьего триггера T переключается для каждого отрицательного фронта тактового сигнала, если оба Q0 & Q1 равны 1.
Синхронный двоичный счетчик
N-битный синхронный двоичный счетчик состоит из «N» T триггеров. Он отсчитывает от 2 ? до 1 до 0. Блок-схема 3-битного двоичного счетчика с синхронным понижением частоты показана на следующем рисунке.
3-битный двоичный счетчик с синхронным понижением содержит три T-триггера и один 2-входной вентиль AND. Все эти триггеры запускаются по отрицательному фронту, и выходы триггеров изменяются (влияют) синхронно. Т-входы первого, второго и третьего триггеров равны 1, Q0′ &’ Q1′Q0′ соответственно.
Выход первого T-триггера переключается для каждого отрицательного фронта тактового сигнала. Выход второго триггера T переключается для каждого отрицательного фронта тактового сигнала, если Q0′ равен 1. Выход третьего триггера T переключается для каждого отрицательного фронта тактового сигнала, если оба Q1′ & Q0′ равны 1.
Цифровые схемы — конечные автоматы
Мы знаем, что синхронные последовательные схемы меняют (влияют) на свои состояния при каждом положительном (или отрицательном) переходе тактового сигнала на основе входа. Таким образом, это поведение синхронных последовательных цепей может быть представлено в графической форме, и это известно как диаграмма состояний .
Синхронная последовательная схема также называется конечным автоматом (FSM), если она имеет конечное число состояний. Есть два типа автоматов.
- Мили State State
- Moore State Machine
Теперь давайте поговорим об этих двух конечных автоматах один за другим.
Мили State State
Конечный автомат называется конечным автоматом Мили, если выходные данные зависят как от текущих входных данных, так и от текущих состояний. Блок-схема конечного автомата Мили показана на следующем рисунке.
Как показано на рисунке, в конечном автомате Мили присутствуют две части. Это комбинационная логика и память. Память полезна для предоставления некоторых или части предыдущих выходов (текущих состояний) в качестве входов комбинационной логики.
Таким образом, на основе текущих входных данных и текущих состояний конечный автомат Мили производит выходные данные. Поэтому выходы будут действительны только при положительном (или отрицательном) переходе тактового сигнала.
Диаграмма состояний конечного автомата Мили показана на следующем рисунке.
На рисунке выше представлены три состояния, а именно A, B и C. Эти состояния помечены внутри окружностей, и каждый кружок соответствует одному состоянию. Переходы между этими состояниями обозначены направленными линиями. Здесь 0/0, 1/0 и 1/1 обозначает ввод / вывод . На приведенном выше рисунке есть два перехода из каждого состояния в зависимости от значения ввода x.
В общем, число состояний, требуемых в автомате состояний Мили, меньше или равно числу состояний, требуемых в автомате состояний Мура. Для каждого конечного автомата Мили существует эквивалентный конечный автомат Мура.
Moore State Machine
Конечный автомат называется автоматом Мура, если выходные данные зависят только от текущих состояний. Блок-схема конечного автомата Мура показана на следующем рисунке.
Как показано на рисунке, в автомате Мура присутствуют две части. Это комбинационная логика и память. В этом случае текущие входные данные и текущие состояния определяют следующие состояния. Итак, исходя из следующих состояний, конечный автомат Мура выдает выходные данные. Поэтому выходы будут действительны только после перехода в состояние.
Диаграмма состояний конечного автомата Мура показана на следующем рисунке.
На рисунке выше представлены четыре состояния, а именно A, B, C и D. Эти состояния и соответствующие выходные данные помечены внутри окружностей. Здесь только входное значение помечено на каждом переходе. На приведенном выше рисунке есть два перехода из каждого состояния в зависимости от значения ввода x.
В общем, число состояний, требуемых в автомате состояний Мура, больше или равно числу состояний, требуемых в автомате состояний Мили. Для каждого конечного автомата Мура существует эквивалентный конечный автомат Мили. Итак, исходя из требования, мы можем использовать один из них.
Цифровые схемы — алгоритмические автоматы
Каждая цифровая система может быть разделена на две части. Это цепи передачи данных (цифровые) и цепи управления. Схемы тракта данных выполняют такие функции, как хранение двоичной информации (данных) и передача данных из одной системы в другую. Принимая во внимание, что схемы управления определяют последовательность операций цифровых схем.
Трудно описать поведение больших конечных автоматов с помощью диаграмм состояний. Чтобы преодолеть эту трудность, можно использовать диаграммы алгоритмического автомата (ASM). Диаграммы ASM похожи на блок-схемы. Они используются для представления последовательности задач, которые должны быть выполнены цепями трактов данных и цепями управления.
Основные компоненты диаграмм ASM
Ниже приведены три основных компонента карт ASM.
- Государственная коробка
- Окно решений
- Коробка условного вывода
Государственная коробка
Штатная коробка представлена в прямоугольной форме. Каждый блок состояний представляет одно состояние последовательной цепи. Символ поля состояния показан на следующем рисунке.
Он имеет одну точку входа и одну точку выхода. Название состояния размещается слева от поля состояния. Безусловные выходы, соответствующие этому состоянию, могут быть помещены в блок состояния. Выходы конечного автомата Мура также могут быть помещены в блок состояний.
Окно решений
Решение коробка представлена в форме ромба. Символ окна принятия решения показан на следующем рисунке.
Он имеет одну точку входа и два пути выхода. Входные данные или логические выражения могут быть помещены в поле принятия решения, которые должны быть проверены, являются ли они истинными или ложными. Если условие истинно, то оно предпочтет path1. В противном случае он предпочтет path2.
Коробка условного вывода
Коробка условного вывода представлена в овальной форме. Символ условного поля вывода показан на следующем рисунке.
Он также имеет одну точку входа и одну точку выхода, аналогичные окну состояния. Условные выходы могут быть помещены в поле состояния. В общем, выходные данные конечного автомата Мили представлены внутри поля условного вывода. Таким образом, основываясь на требовании, мы можем правильно использовать вышеуказанные компоненты для построения диаграмм ASM.