4位二进制求补电路的输入是4位的二进制原码,输出为4位二进制补码:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY complement IS
PORT ( code_in : IN STD_LOGIC_VECTOR (3 DOWNTO 0);
code_out : OUT STD_LOGIC_VECTOR (3 DOWNTO 0) );
END complement;
ARCHITECTURE rtl OF complement IS
BEGIN
PROCESS(code_in)
BEGIN
code_out(3) <= code_in(3);
IF code_in(3)='0' THEN
code_out(2 DOWNTO 0) <= code_in(2 DOWNTO 0);
ELSE
code_out(2 DOWNTO 0) <= NOT code_in(2 DOWNTO 0) + '1';
END IF;
END PROCESS;
END;