• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

线性反馈移位寄存器(LFSR)设计Verilog代码VIVADO仿真

09/19 09:29
352
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24102Q93I3444.doc

共1个文件

名称:线性反馈移位寄存器(LFSR)设计Verilog代码VIVADO仿真

软件:VIVADO

语言:Verilog

代码功能:

线性反馈移位寄存器(LFSR)

1、设计线性反馈移位寄存器

2、使用状态机的方式设计,使用2种不同的写法

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testebnch

6. 仿真图

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testebnch

6. 仿真图

部分代码展示:

`timescale?1ns?/?1ps
//3,12,14,15,21,28,31
module?data(
???input?clk,
???input?rstn,//0x02468ACD
???input?[2:0]?state,
???output?reg?[7:0]?data_out??
????);
reg?[31:0]??LFSR_reg=32'd0;?
parameter?s_idle=3'd0;
parameter?s_shift=3'd1;
parameter?s_data_1=3'd2;
parameter?s_data_2=3'd3;
parameter?s_data_3=3'd4;
parameter?s_data_4=3'd5;
always@(posedge?clk?or?negedge?rstn)
if(rstn==0)
LFSR_reg<=32'h02468ACD;
else//3,12,14,15,21,28,31
if(state==s_shift)begin
LFSR_reg[0]<=(((((LFSR_reg[31]?^?LFSR_reg[28])^LFSR_reg[21])^LFSR_reg[15])^LFSR_reg[14])^LFSR_reg[12])^LFSR_reg[3];
LFSR_reg[31:1]<=LFSR_reg[30:0];
end
else
LFSR_reg<=LFSR_reg;
always@(posedge?clk?or?negedge?rstn)
if(rstn==0)
data_out<=8'd0;
else
case(state)
s_data_1:data_out<=LFSR_reg[7:0];
s_data_2:data_out<=LFSR_reg[15:8];
s_data_3:data_out<=LFSR_reg[23:16];
s_data_4:data_out<=LFSR_reg[31:24];
default:data_out<=8'd0;
endcase
endmodule

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1270

  • 2-24102Q93I3444.doc
    下载

相关推荐