名称:线性反馈移位寄存器(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
阅读全文
1086