wiki:AdderVbe

Version 4 (modified by alain, 17 years ago) (diff)

--

-- Additionneur 4 bits avec report entrant et sortant

ENTITY  adder IS
  PORT (
    x           : IN  BIT_VECTOR(3 DOWNTO 0);
    y           : IN  BIT_VECTOR(3 DOWNTO 0);
    q           : OUT BIT_VECTOR(3 DOWNTO 0);
    cin         : IN  BIT;
    cout        : OUT BIT;
    vdd         : IN  BIT;
    vss         : IN  BIT
    );
END  adder;

ARCHITECTURE vbe OF adder IS

  SIGNAL carry : BIT_VECTOR(4 DOWNTO 0) ;

BEGIN

carry(0) <= cin;
carry(4 DOWNTO 1) <=  ( x(3 DOWNTO 0)    AND y(3 DOWNTO 0) )    OR
                      ( x(3 DOWNTO 0)    AND carry(3 DOWNTO 0) ) OR
                      ( carry(3 DOWNTO 0) AND y(3 DOWNTO 0) )  ;
q(3 DOWNTO 0)     <= x(3 DOWNTO 0)  XOR 
                     y (3 DOWNTO 0) XOR 
                     carry(3 DOWNTO 0) ;
cout    <= carry(4);

END;