МИНИСТЕРСТВО ОБРАЗОВАНИЯ РФ

НОВОСИБИРСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

КАФЕДРА ВТ

Контрольная работа

Вариант 11

«Синтез одноразрядного сумматора двоично-десятичных чисел в коде «8421»

Факультет: АВТ

Группа: АМ-710

Студент:

Преподаватель:

НОВОСИБИРСК 2009


Цель работы.

Синтезировать схему одноразрядного сумматора двоично-десятичных чисел в коде «8421».

Ход работы.

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

Если результат сложения тетрад меньше 9, то коррекция не требуется.

Если при сложении тетрад и переноса из соседней тетрады результат лежит в пределах 10…15, то разрядная сетка не переполняется и переноса не возникает, тогда как нужен перенос в соседнюю тетраду с одновременным уменьшением полученного числа на 10. Вычитание 10 можно заменить сложением с дополнительным кодом 10, имеющим двоичное представление 0110. Таким образом, в данном случае к результату нужно прибавить корректирующую поправку 6 и обеспечить сигнал переноса в старшую тетраду.

Если при первичном сложении результат превысил 15, то разрядная сетка переполняется и вырабатывается перенос в старшую тетраду. Однако цена этого переноса 16, а для десятичных чисел цена должна составлять 10. Поэтому необходимо прибавить к полученному результату поправку 6.

Тетрада двоично-десятичного сумматора содержит сумматоры и цепи выработки корректирующей поправки при перевыполнении тетрады или получении в ней чисел 10…15. В последнем случае вырабатывается и сигнал переноса. Первый этап сложения осуществляется сумматором, на который поступают тетрады слагаемых. Коррекция результатов первого этапа происходит во втором сумматоре, на одни входы которого подаются первоначальные значения сумм, а на другие – при необходимости подается корректирующая поправка 0110 (в младший разряд всегда поступает при этом нуль, поэтому он передается на выход непосредственно). Перенос из первого сумматора происходит через элемент ИЛИ и устанавливает на входах b0, b1 второго сумматора единицы, что и соответствует двоичному коду числа 6, равному 0110.

Если первоначальное значение суммы лежит в пределах 10…15, то следует искусственно создать на выходе тетрады перенос. Наличие чисел в указанном диапазоне индицируется с помощью логической функции F=s1s3Vs2s3, воспроизводимой конъюнкторами и схемой ИЛИ.

Результаты работы схемы приведены ниже на рис.1 и рис.2.

Рис.1. Сумма чисел 3 и 2 со входным переносом.

Рис.2. Сумма чисел 8 и 9 без входного переноса.