线性反馈移位寄存器(LFSR)VHDL代码及视频

名称:线性反馈移位寄存器(LFSR)VHDL代码

软件:ISE

语言:VHDL

代码功能:

    线性反馈移位寄存器(LFSR)VHDL代码

演示视频:线性反馈移位寄存器(LFSR)Verilog代码_Verilog/VHDL资源下载

FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com

代码下载:

线性反馈移位寄存器(LFSR)Verilog代码_Verilog/VHDL资源下载名称:线性反馈移位寄存器(LFSR)Verilog代码(代码在文末付费下载)软件:ISE语言:Verilog代码功能: 线性反馈移位寄存器(LFSR)Verilog代码,移位次数7次演示视频:FPGA代码Verilog/VHDL代码资源下载网:www.hdlcode.com部分代码展示LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieeicon-default.png?t=N7T8http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=221

部分代码展示

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次循环

设计文档:

设计文档.doc

1. 工程文件

线性反馈移位寄存器(LFSR)VHDL代码及视频_第1张图片

2. 程序文件

线性反馈移位寄存器(LFSR)VHDL代码及视频_第2张图片

3. 程序编译

线性反馈移位寄存器(LFSR)VHDL代码及视频_第3张图片

4. Testbench

线性反馈移位寄存器(LFSR)VHDL代码及视频_第4张图片

5. 仿真图

移位3次

线性反馈移位寄存器(LFSR)VHDL代码及视频_第5张图片

线性反馈移位寄存器(LFSR)VHDL代码及视频_第6张图片

移位5次

线性反馈移位寄存器(LFSR)VHDL代码及视频_第7张图片

线性反馈移位寄存器(LFSR)VHDL代码及视频_第8张图片

你可能感兴趣的:(fpga开发,LFSR,VHDL,伪随机数)