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 ; |