线性反馈移位寄存器lfsr基于fpga实现

lfsr介绍

线性反馈移位寄存器lfsr,常用于数字电路中产生伪随机数,我们给寄存器赋的初值称为种子,并且种子非零,lfsr下一时刻的输入为是由整个移位寄存器值的某些位做异或运算的结果。
n位lfsr,至多产生2^(n-1)种序列(因为异或门中,全零异或为0,同或门中,全1为0,不会产生新序列)
影响下一个状态的比特位叫做抽头。移位寄存器链的多个抽头用作XOR或XNOR门的输入。
理想抽头序列来自反馈多项式,参考
在这里插入图片描述

ie型lfsr

ie型lfsr,即内接异或门或者同或门的lfsr
在这里插入图片描述
g为反馈系数,即抽头序列,以4bit位lfsr为例,由反馈多项式得11001,即
g4,g3,g0 = 1
g2,g1 = 0
反馈系数为1表示该线路成立,反馈系数为0表示该线路不成立,由上图可得
ff0 = ff3
ff1 = ff0
ff2 = ff1
ff3 = ff2 ^ ff3
代码实现 8bit flsr
lfsr.v

module lfsr(
    input               rst_n		,
    input               clk			,    
    input               flag_seed	,    
    input      [7:0]    seed		,     
    output reg [7:0]    rand_num 
);


always@(posedge clk or negedge rst_n)
begin
    if(!rst_n)
        rand_num    <=8'b0;
    else if(load)
        rand_num <=seed;   
    else
        begin
            rand_num[0] <= rand_num[7];
            rand_num[1
  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值