名称:LFSR线性反馈移位寄存器DE1-SOC开发板(代码在文末下载)
软件:Quartus II
语言:Verilog
代码功能:
多项式:y=x8+x6+x4+1
1、时钟50M分频到0.5Hz;
2、数码管HEX5,HEX4显示SW7~SW0对应的16进制;
3、HEX1,HEX0显显示1~8 DFF对应的16进制;
4、HEX3、HEX2显示自复位后clk计数,不计溢出;
5、模块化设计,完成功能,给出简单 testbench.能文本轴出6个数管上应显示的内容。
演示视频:
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
部分代码展示:
//LFSR module?lfsr_top( input?clk_in,//50MHz input?rst_n,//复位 input?[7:0]?in_data,//输入--SW7~0 output?[6:0]?HEX5,//7?segment?display?output output?[6:0]?HEX4,//7?segment?display?output output?[6:0]?HEX3,//7?segment?display?output output?[6:0]?HEX2,//7?segment?display?output output?[6:0]?HEX1,//7?segment?display?output output?[6:0]?HEX0//7?segment?display?output ); wire?clk; wire?[7:0]?out_data;//输出 wire[7:0]?count;?//计数输出 //分频模块 div?i_div( .?clk_in(clk_in),//50MHz .?clk???(clk)//0.5HZ ); lfsr?i_lfsr( .?clk(clk),//0.5Hz .?rst_n(rst_n),//复位 .?in_data(in_data),//输入--SW7~0 .?out_data(out_data),//输出 .?count(count)?//计数输出 ); //显示模块 display_top?i_display_top( .in_data?(in_data?), .out_data(out_data), .count???(count???), .HEX5????(HEX5????), .HEX4????(HEX4????), .HEX3????(HEX3????), .HEX2????(HEX2????), .HEX1????(HEX1????), .HEX0????(HEX0????) ); endmodule
设计文档:
1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图
整体仿真图



分频模块


LSFR模块


显示模块


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