Def === СУММАТОР - комбинированное функциональное устройство предназначенное для суммирования чисел [а также вычитания, умножения, деления, преобразования в обратный код и других операций] [ FA = Full Adder ] ANSI
однобитный сумматор: --------------- C0 A B | C1 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 --------------- Carry Out в пространсве состояний:
Карта карно: Cin Cin 0 1 0 1 +------+ +------+ 00 | 0 1 | 00 | 0 0 | AB 01 | 1 0 | AB 01 | 0 1 | 11 | 0 1 | 11 | 1 1 | 10 | 1 0 | 10 | 0 1 | +------+ +-----+ S Cout Сумматор с использованием XOR:
Реализация полного сумматора на VHDL: library ieee; use ieee.std_logic_1164.all; entity SUM1 is port( A0, B0, P0 : in std_logic; P1, S1 : out std_logic); end SUM1; architecture Example of SUM1 is signal T:std_logic; signal S:std_logic; signal V:std_logic; begin T <= (A0 and B0) or (P0 and (A0 or B0)); -- T is carry S <= A0 and B0 and P0; V <= S or ((not T) and (A0 or B0 or P0)); P1 <= T; S1 <= V; end Example;
Реализация полного сумматора на Verilog: module fulladd(sum, c_out, a, b, c_in); output sum, c_out; input a, b, c_in; wire s1, c1, c2; xor (s1, a, b); and (c1, a, b); xor (sum, s1, c_in); and (c2, s1, c_in); xor (c_out, c2, c1); endmodule
Сумматор на базе XOR:
Сумматор на базе AOI:
Сумматор на базе CMOS мультиплексоров:
Сумматор на CMOS:
Топология