m序列(线性反馈移位寄存器)发生器Verilog代码Quartus仿真

名称:m序列(线性反馈移位寄存器)发生器Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

m序列(线性反馈移位寄存器)发生器

线性反馈移位寄存器设计(m序列)

本源多项式为1+x2+x3+x4+x8

1. 工程文件

2. 程序文件

3. 程序编译

4. Testbench

5. 仿真图

部分代码展示:

//伪随机序列发生器
module M_code(
    input clk,//时钟
    input RESET,//复位
    output random_out//输出伪随机信号
    );
reg [7:0] shift_data=8'h12;//移位寄存器
parameter polynomial=8'b10001110;//多项式1+x2+x3+x4+x8
//移位
always @(posedge clk or negedge RESET)
   if (RESET==0) begin
      shift_data <= 8'h12;//复位,获取初始值(可自定义,但不可为0)
   end 
   else begin//移位
     shift_data[0] <=shift_data[1];//移位
     shift_data[1] <=shift_data[2];//移位
     shift_data[2] <=shift_data[3];//移位
     shift_data[3] <=shift_data[4];//移位
     shift_data[4] <=shift_data[5];//移位
     shift_data[5] <=shift_data[6];//移位
     shift_data[6] <=shift_data[7];//移位
 
 //反馈多项式
     shift_data[7] <=(shift_data[0] & polynomial[7]) ^ //异或
  (shift_data[1] & polynomial[6]) ^ //异或
  (shift_data[2] & polynomial[5]) ^ //异或
  (shift_data[3] & polynomial[4]) ^ //异或
  (shift_data[4] & polynomial[3]) ^ //异或
  (shift_data[5] & polynomial[2]) ^ //异或
  (shift_data[6] & polynomial[1]) ^ //异或
  (shift_data[7] & polynomial[0]) ; //异或   
  end
源代码

 扫描文章末尾的公众号二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值