📄 example12-19.vhd
字号:
LIBRARY IEEE;
USE IEEE.std_logic_1164.all;
ENTITY reg_shift IS
PORT (
data: IN STD_LOGIC_vector (7 downto 0);
clk: IN STD_LOGIC;
control: IN STD_LOGIC_vector(2 downto 0);
q: OUT STD_LOGIC_vector (7 downto 0)
);
END reg_shift;
ARCHITECTURE behave OF reg_shift IS
SIGNAL q_temp: std_logic_vector(7 downto 0);
BEGIN
PROCESS(clk)
VARIABLE ctl: std_logic_vector(2 downto 0);
BEGIN
ctl:=control;
IF clk'EVENT and clk='1' THEN
CASE ctl IS
WHEN "000"=>
q_temp<=data;
WHEN "001"=>
q_temp<=data(6 downto 0) & '0';
WHEN "010"=>
q_temp<=data(5 downto 0) & "00";
WHEN "011"=>
q_temp<=data(4 downto 0) & "000";
WHEN "100"=>
q_temp<=data(3 downto 0) & "0000";
WHEN "101"=>
q_temp<=data(2 downto 0) & "00000";
WHEN "110"=>
q_temp<=data(1 downto 0) & "000000";
WHEN "111"=>
q_temp<=data(0) & "0000000";
WHEN others=>
q_temp<="00000000";
END CASE;
END IF;
END PROCESS;
q<=q_temp;
END behave;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -