[an error occurred while processing this directive]
|
LIBRARY ieee;
USE ieee.std_logic_1164.all;
USE ieee.std_logic_arith.all;
ENTITY barrel_shifter IS
GENERIC(
WIDTH : INTEGER := 8
);
PORT(
data : IN std_logic_vector (WIDTH-1 DOWNTO 0) := (others => '0');
result : OUT std_logic_vector (WIDTH-1 DOWNTO 0) := (others => '0');
shift : IN INTEGER RANGE 0 TO WIDTH-1 := 0
);
END barrel_shifter;
-- hds interface_end
ARCHITECTURE bareel_shifter_rtl OF barrel_shifter IS
BEGIN
PROCESS(shift, data)
BEGIN
FOR i IN 0 TO width-1 LOOP
IF i < sh THEN
result(i) <= '0';
ELSE
result(i) <= data(i - shift);
END IF;
END LOOP;
END PROCESS;
END;
E-mail: info@telesys.ru