В этой конструкции сумматора-вычитателя с входом «M» в качестве флага для вычитания 0 минус 0, по-видимому, дает неверный Cout. Предположим, что мы используем здесь только один полный сумматор (игнорируем A1/B1, A2/B2, A3/B3) для простоты, и M
=1
, A0
=0
, A1
=0
:
Полный сумматор получит входы:
0 (B0) XOR 1 (M)
= 1
0 (A0)
= 0
1 (M)
= 1
Это приводит к 1
+1
=0
, где Cout
= 1
, но Cout
должно равняться 0 для полного сумматора:
Я думаю, что инвертирование конечного Cout
даст правильный результат, но везде, где я ищу в Интернете эту схему сумматора-вычитателя, нет инвертора для конечного Cout
. В этой схеме должен быть инвертор на конце Cout
, чтобы решить эту проблему?