⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 shift_register.vhd

📁 人民邮电出版社出版的《FPGA硬件接口设计实践》一书的代码
💻 VHD
字号:
-- 库声明
library IEEE;
use IEEE.STD_LOGIC_1164.all;
-- 实体声明
entity shift_register is
	-- 类属参数
	generic (
	TOTAL_BIT : integer := 10 );
	-- 端口
	port (
	clk : in std_logic;
	reset_n : in std_logic;
	din : in std_logic;
	regs : out std_logic_vector(TOTAL_BIT-1 downto 0);
	dout : out std_logic );
	
end shift_register;

--}} End of automatically maintained section
-- 结构体
architecture shift_register of shift_register is

-- 内部寄存器序列
signal shift_regs : std_logic_vector(TOTAL_BIT-1 downto 0) := (others => '1');

begin
	-- 寄存器输出
	regs <= shift_regs;
	
	-- 主过程
	main : process(reset_n, clk)
	begin
		-- 检查复位信号
		if reset_n = '0' then
			dout <= '1';
		-- 在时钟上升沿动作
		elsif rising_edge(clk) then
			-- 将最高位输出到dout
			dout <= shift_regs(TOTAL_BIT-1);
			-- 次高位到最低位都向高位移一位
			shift_regs(TOTAL_BIT-1 downto 1) <= shift_regs(TOTAL_BIT-2 downto 0);
			-- 读取输入端口信号并且保存到寄存器序列的最低位
			shift_regs(0) <= din;
		end if;
	end process;

end shift_register;

⌨️ 快捷键说明

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