My title page contents

基于FPGA的LFSR伪随机数生成器的设计VHDL代码Xilinx ISE仿真

 

名称:基于FPGA的LFSR伪随机数生成器的设计VHDL代码Xilinx ISE仿真

软件:Xilinx ISE

语言:VHDL

 

代码功能:

本项目实现了两种不同位宽的线性反馈移位寄存器(LFSR):

- 8位LFSR:采用多项式x^8 + x^6 + x^5 + x^4 + 1

- 5位LFSR:采用多项式x^5 + x^3 + 1

主要功能包括伪随机数生成、序列加密、测试模式验证等。

 

代码实现思路:

LFSR通过特定的反馈多项式实现循环移位,产生伪随机序列。核心原理是:

1. 初始化寄存器为特定值

2. 每个时钟周期进行移位操作

3. 通过异或门实现反馈逻辑

4. 输出寄存器最高位作为随机数

 

系统工作流程:

时钟信号 → 移位寄存器 → 反馈计算 → 输出随机数 → 循环重复

 

代码结构:

项目包含两个主要模块:

- Hardware_model_a:8位LFSR实现

- Hardware_model_b:5位LFSR实现

每个模块包含实体声明、架构实现和测试向量。

 

演示视频:

设计文档:

设计文档_part1.doc


程序文件

 

Testbench文件

 

综合结果

 

资源占用

 

仿真图

 

 

B部分

程序文件

 

Testbench文件

 

综合结果

 

资源占用

 

仿真图



部分代码展示:

LIBRARY ieee;
   USE ieee.std_logic_1164.all;
ENTITY Hardware_model_a IS
   PORT (
      clock  : IN STD_LOGIC;
      Q      : OUT STD_LOGIC
   );
END Hardware_model_a;
ARCHITECTURE behave OF Hardware_model_a IS
   
   SIGNAL x0_q : STD_LOGIC:='0';
   SIGNAL x1_q : STD_LOGIC:='1';
   SIGNAL x2_q : STD_LOGIC:='0';
   SIGNAL x3_q : STD_LOGIC:='1';
   SIGNAL x4_q : STD_LOGIC:='0';
   SIGNAL x5_q : STD_LOGIC:='1';
   SIGNAL x6_q : STD_LOGIC:='0';
   SIGNAL x7_q : STD_LOGIC:='1';
BEGIN
   PROCESS (clock)
   BEGIN
      IF (clock'EVENT AND clock = '1') THEN
         x0_q <= x7_q;
      END IF;
   END PROCESS;
   
   
   PROCESS (clock)
   BEGIN
      IF (clock'EVENT AND clock = '1') THEN
         x1_q <= x0_q;
      END IF;
   END PROCESS;
   
   
   PROCESS (clock)
   BEGIN
      IF (clock'EVENT AND clock = '1') THEN
         x2_q <= x1_q XOR x7_q;
      END IF;
   END PROCESS;
   
   
   PROCESS (clock)
   BEGIN
      IF (clock'EVENT AND clock = '1') THEN
         x3_q <= x2_q;
      END IF;
   END PROCESS;
   
   
   PROCESS (clock)
   BEGIN
      IF (clock'EVENT AND clock = '1') THEN
         x4_q <= x3_q;
      END IF;
   END PROCESS;
   
   
   PROCESS (clock)
   BEGIN
      IF (clock'EVENT AND clock = '1') THEN
         x5_q <= x4_q;
      END IF;
   END PROCESS;
   
   
   PROCESS (clock)
   BEGIN
      IF (clock'EVENT AND clock = '1') THEN
         x6_q <= x5_q;
      END IF;
   END PROCESS;

代码文件(付费下载):





1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 基于FPGA的LFSR伪随机数生成器的设计VHDL代码Xilinx ISE仿真

发表评论

模板文件不存在: ./template/plugins/comment/pc/index.htm

注册为本站会员,充值100得150,详情咨询客服

目前为止共有 *** 位优秀的会员加入! 立刻加入会员