rl_shift.vhd

来自「带有同步预置的加载左右移位寄存器VHDL源代码」· VHDL 代码 · 共 34 行

VHD
34
字号
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY RL_SHIFT IS
 PORT( CLK,RESET: IN STD_LOGIC;
       MODE :IN STD_LOGIC_VECTOR(1 DOWNTO 0);
       DATAIN: IN STD_LOGIC_VECTOR(7 DOWNTO 0);
       RIGHT,LEFT:IN STD_LOGIC;
       DATAOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END ENTITY RL_SHIFT;

ARCHITECTURE ONE OF RL_SHIFT IS
SIGNAL TEMP:STD_LOGIC_VECTOR(7 DOWNTO 0);
BEGIN
PROCESS(CLK,RESET,MODE,DATAIN,RIGHT,LEFT,TEMP)
 
 BEGIN
  IF RISING_EDGE(CLK) THEN
    IF (RESET='1') THEN
        TEMP<="00000000";
    ELSE
      
      CASE MODE IS
         WHEN "01"=>TEMP<=RIGHT&TEMP(7 DOWNTO 1);
         WHEN "10"=>TEMP<=TEMP(6 DOWNTO 0)&LEFT;
         WHEN "11"=>TEMP<=DATAIN;
         WHEN OTHERS=>NULL;
     END CASE;
   END IF;
END IF;
  DATAOUT<=TEMP; 
END PROCESS;
  
END ARCHITECTURE ONE;

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?