移位寄存器的VHDL描述
时间:2023-03-10来源:佚名
8位移位寄存器LIBRARY ieee; USE ieee.std_logic_1164.all; ENTITY shifter IS PORT ( data_in: IN STD_LOGIC_VECTOR(7 DOWNTO 0);--输入的数据 n: IN STD_LOGIC_VECTOR(2 DOWNTO 0);--移位的数量 dir: IN STD_LOGIC--移动的方向 0:左 1:右 kind: IN STD_LOGIC_VECTOR(1 DOWNTO 0);--移动类型 00:算术移 01:逻辑移 10:循环移 clock: IN BIT;--手动时钟PULSE data_out: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--移位的结果 ); END shifter;ARCHITECTURE behav of shifter IS BEGIN PROCESS (data_in, n, dir, kind) VARIABLE x,y : STD_LOGIC_VECTOR(7 DOWNTO 0); VARIABLE ctrl0,ctrl1,ctrl2 : STD_LOGIC_VECTOR (3 DOWNTO 0); BEGIN IF (clock'EVENT AND clock = '1')THEN--产生控制向量ctrl ctrl0 := n(0) |









