- •Лабораторная работа № 6 Исследование преобразователей кодов на сумматорах
- •6.1 Теоретическое введение
- •6.2 Пример построения пороговых схем в пакете Multisim
- •6.3 Пример построения мажоритарного элемента в пакете Multisim
- •6.4 Построение преобразователей
- •6.4.1 Прямой, обратный и дополнительный коды
- •6.4.2 Преобразователь прямого кода в дополнительный код
- •6.4.3 Преобразователь дополнительного кода в прямой код
- •6.4.4 Преобразователь прямого кода в обратный код
- •6.4.5 Преобразователь обратного кода в прямой
- •6.4.6 Построение преобразователя двоичного кода в двоично-десятичный
- •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-й разряд.