library ieee;
use ieee . std-logic-1164.all ;
entity barrel-shifter is
port (
a : in std-logic-vector (7 downto 0) ;
amt : in std-logic-vector (2 downto 0) ;
y : out std-logic-vector(7 downto 0)
);
end barrel-shifter;
architecture sel-arch of barrel-shifter i s
begin
w i t h amt s e l e c t
y<= a when "000" ,
a(0) & a(7 downto 1 ) when "OOl" ,
a(l downto 0) & a(7 downto 2) when "OlO" ,
a(2 downto 0) & a(7 downto 3) when "O1l",
a(3 downto 0) & a(7 downto 4) when "lOO" ,
a(4 downto 0) & a(7 downto 5) when "101" ,
a(5 downto 0) & a(7 downto 6) when "110 " ,
a(6 downto 0 ) & a(7) when others; -- 111
end sel-arch ;
|