【问题标题】:64 bit LFSR design64 位 LFSR 设计
【发布时间】:2016-10-19 18:24:09
【问题描述】:

我设计了一个 64 位的 lfsr,但我认为它没有随机显示。它是一种规则的模式。任何人都可以检查我的代码,看看它是否正确。 (点击 64、63、61、60)

 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

【问题讨论】:

    标签: verilog lfsr


    【解决方案1】:

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

     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-tap LFSR 实现的,因为 64-tap LFSR 需要相当长的时间来模拟。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-06-05
      • 2017-08-28
      • 1970-01-01
      • 1970-01-01
      • 2017-09-21
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多