- •Лабораторная работа № 6 Исследование преобразователей кодов на сумматорах
- •6.1 Теоретическое введение
- •6.2 Пример построения пороговых схем в пакете Multisim
- •6.3 Пример построения мажоритарного элемента в пакете Multisim
- •6.4 Построение преобразователей
- •6.4.1 Прямой, обратный и дополнительный коды
- •6.4.2 Преобразователь прямого кода в дополнительный код
- •6.4.5 Преобразователь обратного кода в прямой
- •6.4.6 Построение преобразователя двоичного кода в двоично-десятичный
- •6.4.3 Преобразователь дополнительного кода в прямой код
- •6.4.4 Преобразователь прямого кода в обратный код
- •6.4.7 Построение преобразователя двоично-десятичного кода в двоичный код
- •6.4.8 Построение преобразователя двоичного кода в код Грея
- •6.5 Моделирование исследуемых схем на эвм с применением пакета Multisim
- •6.7 Контрольные вопросы
6.3 Пример построения мажоритарного элемента в пакете Multisim
Мажоритарными элементами (МЭ) называются ПС, имеющие нечетное число М логически равноправных входов Хр и выполняющие функцию

где v = (Xn,...., X1), Xp = 0 и 1, p = 1, 2, ..., M,
L = (M + 1) / 2 - пороговый уровень (арифметическая сумма входных сигналов).
Трехвходовой МЭ выполняет функцию f = X3X2 V X3X1 V X2X1. Действительно, f = 1 только при равенстве двух или трех сигналов из Хр, р = 1, 2, 3. Если Х2Х1 = 0, то f = (X2 V X1)X3, а при X3 = 1 функция f = X2 V X1.
Алгоритм построения МЭ такой же, как и для ПС.
Например, построим МЭ с M = 13. За основу примем одноразрядный двоичный сумматор и построим схему МЭ, следуя правилам арифметического сложения значений входных переменных X13,...X1. Весь ход рассуждений аналогичен предыдущему примеру, однако есть и некоторая особенность (рис. 6.6). В частности, по условию L = 7, следовательно, КС должна быть построена для дешифрирования именно этого числа. Но возможно найти решение и без специальной КС, если в конечный результат добавить искусственно «1». Тогда при L = 7 единица будет на выходе переноса старшего разряда выходного сумматора. Этот разряд и будет выходом всей схемы МЭ в целом. Таким же способом можно синтезировать любой мажоритарный элемент.

Рис. 6.9 Мажоритарный элемент с М = 13

Рис. 6.10 Временные диаграммы для мажоритарного элемента
(см. рис. 6.6)

Рис. 6.11 Мажоритарный элемент с М = 13 в пакете MAX+Plus II

Рис. 6.12 Временные диаграммы для мажоритарного элемента

Рис 6.13 Матрица временных задержек
Программа:
SUBDESIGN mazoritarny_element
(M[0..12] : INPUT;
Y : OUTPUT;)
VARIABLE A, L;
BEGIN
A = M0+M1+M2+M3+M4+M5+M6+M7+M8+M9+M10+M11+M12;
IF A>= L;
THEN Y = VCC;
ELSE Y = GND;
ENDIF;
END;
В интегральном исполнении выпускаются мажоритарные элементы (Majority Logic Gate), имеющие 3 (533ЛПЗ и 561ЛП13) и 5 (МС14530В) входов. Функция, выполняемая 3-входовым. МЭ, совпадает с функцией переноса одноразрядного сумматора: f=X1X2VX1X3VX2X3, где Xp— входные сигналы функционирование 5-входового МЭ МС14530B описывается выражением:
F=(I1I2I3VI1I2I4VI1I2I5VI1I3I4VI1I3I5VI1I4I5VI2I3I4VI2I3I5VI2I4I5VI3I4I5)P, (6.1)
где P (Polarity) — сигнал инвертирования функции выхода МЭ.
Из соотношения (1) при подстановке определенных значений некоторых сигналов следует, что 5-входовой МЭ может использоваться для выполнения различных переключательных функций:
I5=1, I4=0 => F=(I1I2 V I2I3 V I2I3) Р – 3-входовой МЭ, с возможностью инвертирования функции выхода F,
I5=I4=0 => F=I1I2I3Р – 3-входовой ЛЭ И/И-НЕ,
I5=I4=1 => F=(I1 V I2 V I3)P – 3-входовой ЛЭ ИЛИ/ИЛИ-НЕ,
I5=I4 => F=(IlI2IЗ V I1I4 V I2I4 V I3I4)Р – 4-входовая пороговая схема с порогом L = 3 и неравными весами входов (вход I4 имеет вес вдвое больший, чем остальные входы) с возможностью инвертирования функции выхода.
6.4 Построение преобразователей
6.4.1 Прямой, обратный и дополнительный коды
Для выполнения в ЭВМ арифметических операций необходимо использовать специальное кодирование отрицательных чисел. Для представления знака числа требуется введение дополнительного знакового разряда. Знак минус принято кодировать символом «1», а знак плюс – символом «0».
Прямой код.
Прямой код
целого n-разрядного
двоичного числа
задается соотношением:
![]()
где
– модуль числа
,
а прямой код
(для наглядности знаковый разряд
отделяется точкой). Числу 0 может быть
приписан любой знак. Таким образом,
прямой код числа
произвольного знака получается
добавлением к модулю числа
знакового разряда
,
значение которого и определяет знак
числа.
То есть, имеем: знаковый разряд располагается слева от числа и отделяется от последнего точкой, например: +5 = 0.101;-5=1.101.
Прямой код упрощает
умножение чисел, так как в этом случае
для вычисления произведения необходимо
перемножить модули чисел
и
и вычислить знак произведения
,
который определяется только значениями
знаков чисел
и
.
Знак произведения
,
где
.
Обратный код.
Обратный код
целого n-разрядного
двоичного числа
определяется соотношением:
![]()
где
– модуль числа
,![]()
Число 0 в обратном
коде имеет два представления: 0.0…00 –
положительный и 1.1…11 – отрицательный
нули. В (n+1)-разрядных
(с учетом знакового разряда) прямом и
обратном кодах могут быть представлены
числа
![]()
То есть, имеем: обратный код двоичного отрицательного числа получается из прямого кода равного ему положительного числа инвертированием значений всех его разрядов. Например, обратный код числа -510=1.1012 есть 1.010.
Дополнительный код. Пусть требуется найти разность двух целых положительных n-разрядных чисел:
и
,
где
,
.
Так как разность
,
то вычитание эквивалентно сложению с
отрицательным числом
.
В двоичной системе счисления:
![]()
Максимальное
значение X
получается при
для всех
:
(6.2)
Таким образом,
и
.
Разность
(6.3)
где
.
Так как
значения
,
то
.
Положительное
число
называется
дополнением
Y
до
2n.
Из соотношения (6.3) следует, что
,
т. е.
вычитание сводится к сложению, но
результат надо скорректировать на 2n
(вычесть
из разности число
2n).
Из выражения
(6.2) следует, что
![]()
поэтому
![]()
так как
.
Поскольку
,
то
![]()
где
![]()
Разность (6.3) можно представить в виде:
(6.4)
где
,
![]()
Величина
называется
дополнительным
кодом положительного числа
X
(совпадает с прямым кодом), а величина
–дополнительным
кодом отрицательного числа -Y.
Здесь значение n-го
разряда определяет знак числа (0 – число
положительное, 1 – число отрицательное).
Из (6.4) следует, что знаковый разряд имеет
вес
-2n.
Если число Y может иметь любой знак, то дополнительный код
(6.5)
где
,
.
Из определения
(6.5) следуют правила получения
дополнительного кода отрицательных
чисел (правила преобразования прямого
кода в дополнительный). Для этого
необходимо: записать модуль
отрицательного числа
в двоичной системе счисления; взять
инверсию от каждого разряда числа, т.е.
вычислить число
;
сложить полученное число
с единицей, т.е. вычислить число
;
записать 1 вn-й
разряд.
