名称:线性反馈移位寄存器(LFSR)VHDL代码(代码在文末付费下载)
软件:ISE
语言:VHDL
代码功能:
线性反馈移位寄存器(LFSR)VHDL代码
演示视频:
FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com
部分代码展示
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY H17000103 IS PORT ( clock : IN STD_LOGIC;--时钟 reset : IN STD_LOGIC;--低电平复位 random_num : OUT STD_LOGIC_VECTOR(2 DOWNTO 0)--输出 ); END H17000103; ARCHITECTURE behave OF H17000103 IS SIGNAL ran_num : STD_LOGIC_VECTOR(2 DOWNTO 0) := "111"; SIGNAL feedback : STD_LOGIC; SIGNAL shtft_times : STD_LOGIC_VECTOR(2 DOWNTO 0) := "000";--移位次数 BEGIN feedback <= ((ran_num(0) XOR ran_num(2)));--反馈信号,异或再取非 --移位 PROCESS (clock, reset) BEGIN IF ((NOT(reset)) = '1') THEN--复位 ran_num <= "111";--初值 ELSIF (clock'EVENT AND clock = '1') THEN--时钟上升沿 ran_num <= (ran_num(1) & ran_num(0) & feedback);--左移 END IF; END PROCESS; --移位次数计数 PROCESS (clock, reset) BEGIN IF ((NOT(reset)) = '1') THEN--复位 shtft_times<= "000";--起始0次 ELSIF (clock'EVENT AND clock = '1') THEN--时钟上升沿 IF(shtft_times="111")THEN--移位7次循环
设计文档:
1. 工程文件
2. 程序文件
3. 程序编译
4. Testbench
5. 仿真图
移位3次
移位5次
阅读全文
1050