diff options
Diffstat (limited to 'works/life/computer-organization-experiment/shift_32.vhdl')
-rw-r--r-- | works/life/computer-organization-experiment/shift_32.vhdl | 23 |
1 files changed, 0 insertions, 23 deletions
diff --git a/works/life/computer-organization-experiment/shift_32.vhdl b/works/life/computer-organization-experiment/shift_32.vhdl deleted file mode 100644 index 5cb8425..0000000 --- a/works/life/computer-organization-experiment/shift_32.vhdl +++ /dev/null @@ -1,23 +0,0 @@ -LIBRARY IEEE; -USE IEEE.STD_LOGIC_1164.ALL; -USE IEEE.STD_LOGIC_UNSIGNED.ALL; -use ieee.numeric_std.all; - -entity shift_32 is - port( - D: in std_logic_vector(31 downto 0); - SA: in std_logic_vector(4 downto 0); - Right: in std_logic; - Arith: in std_logic; - SH: out std_logic_vector(31 downto 0) - ); -end entity; - -architecture behavioral of shift_32 is -begin - SH <= - std_logic_vector(signed(D) srl to_integer(unsigned(SA))) when Right = '1' and Arith = '0' - else std_logic_vector(signed(D) sll to_integer(unsigned(SA))) when Right = '0' and Arith = '0' - else std_logic_vector(signed(D) sra to_integer(unsigned(SA))) when Right = '1' and Arith = '1' - else std_logic_vector(signed(D) sla to_integer(unsigned(SA))) when Right = '0' and Arith = '1'; -end behavioral; |