首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >64位LFSR设计

64位LFSR设计
EN

Stack Overflow用户
提问于 2016-10-20 02:24:10
回答 1查看 1.8K关注 0票数 0

我设计了一个64位的lfsr,但我认为它不是随机的。这是一种有规律的模式。可以请任何人检查我的代码,看看它是否正确。(TAP 64,63,61,60)

代码语言:javascript
复制
 module lfsr (out, clk, rst);

 output reg [63:0] out;
 input clk, rst;

 wire feedback1,feedback2,feedback3;

 assign feedback1 = ~(out[63] ^ out[62]); 
 assign feedback2 = ~(out[62] ^ out[60]);
 assign feedback3 = ~(out[60] ^ out[59]);

 always @(posedge clk, posedge rst)
 begin
  if (rst)
     out = 64'b0;
  else
     out = {out[60:0],feedback3,feedback2,feedback1};
  end
 endmodule
EN

回答 1

Stack Overflow用户

发布于 2016-10-20 16:39:28

对于最大长度的LFSR,您的抽头是正确的(64,63,61,60),但您没有正确地连接它们。这就是你所需要的:

代码语言:javascript
复制
 module lfsr (out, clk, rst);

   output reg [63:0] out;
   input clk, rst;

   wire feedback;

   assign feedback = ~(out[63] ^ out[62] ^ out[60] ^ out[59]);

   always @(posedge clk, posedge rst)
   begin
    if (rst)
       out <= 64'b0;
    else
      out <= {out[62:0],feedback};
    end

 endmodule

请参阅this playground,它是为6抽头LFSR实现的,因为64抽头的LFSR需要相当长的时间来模拟。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40138917

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档