介绍
我给大家介绍的是逻辑/算术左移移位寄存器。实现的功能是根据输入信号shift将输入信号进行移位,高位移除,低位补0。我建立的工程是由3个独立的桶形移位寄存器组成的。
设计文件
library ieee;
use ieee.std_logic_1164.all;
entity barrel is
port( inp : in std_logic_vector(7 downto 0);
shift : in std_logic_vector(2 downto 0);
outp : out std_logic_vector(7 downto 0));
end entity;
architecture behavier of barrel is
begin
process(inp,shift)
variable temp1 : std_logic_vector(7 downto 0);
variable temp2 : std_logic_vector(7 downto 0);
begin
if(shift(0) = '0')then
temp1 := inp;
else
temp1(0) := '0';
for i in 1 to inp'high loop
temp1(i) := inp(i-1);
end loop;
end if;
if(shift(1) = '0')then