View difference between Paste ID: S05usn7g and yqwDeFwN
SHOW: | | - or go back to the newest paste.
1
LIBRARY ieee ;
2
USE ieee.std_logic_1164.all ;
3
USE ieee.std_logic_unsigned.all ;
4
ENTITY lab6_b IS
5
 PORT (  add_sub : in std_logic;
6
         zero_flag : out std_logic; 
7
         X, Y  : IN  STD_LOGIC_VECTOR(4 DOWNTO 0) ;
8
         Result  : OUT  STD_LOGIC_VECTOR(4 DOWNTO 0) ;
9
         Overflow : OUT  STD_LOGIC ) ;
10
END lab6_b ;
11
12
ARCHITECTURE Behavior OF lab6_b IS    
13
          SIGNAL internal_result : STD_LOGIC_VECTOR(5 DOWNTO 0) ;
14
BEGIN
15-
	internal_result      <= ('0'&X + Y) when add_sub = '0' else ('0'&X + Y + '1');
15+
	internal_result      <= ('0'&X + Y) when add_sub = '0' else ('0'&X - Y);
16
	Result       <= internal_result( 4 downto 0);
17
	Overflow       <= X(4) xor Y(4) xor internal_result(4) xor internal_result(5);
18
	zero_flag       <= '1' when internal_result( 4 downto 0) = 0 else '0';
19
END Behavior ;