名称:二进制序列检测器设计Verilog代码Quartus? DE2-70开发板
软件:Quartus
语言:Verilog
代码功能:
1.设计目的
(1)了解DE270开发板的硬件构成;
(2)熟悉开发板可用资源的硬件电路;
(3)掌握EDA开发流程;
(4)熟悉 Quartus ll开发环境;
(5)掌握 Verilog基本语法;
(6)熟练掌握在 Quartus ll环境下进行软件仿真的方法;
2.设计内容及基本要求:
基本功能:用状态机设计一个二进制序列检测器,其功能是检测一个4位二进制序列“1111",即输入序列中如果又4个或4个以上连续的“1”出现,输出为1,其他情况下,输出为0。
3.撰写课程设计报告。报告内容要求如下:
设计题目、目的、内容;设计思路
系统电路图;
各功能模块的功能、实现方法、电路图(源代码)、功能仿真图;开发板硬件资源使用情况;
编程模块的源代码清单;设计时碰到的问题及解决方法
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE2-70开发板验证,DE2-70开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
1.?工程文件
2.?程序文件
3.?程序编译
4.?RTL图
状态图
5.?引脚分配
6.?仿真图
部分代码展示:
//二进制序列检测器,检测“1111” module?xulie( input?clk,//时钟 input?reset_n,//复位 input?data_in,//输入序列值 output?reg?data_out//输出检测结果 ); reg?[2:0]?state=3'd0;//定义状态寄存器 parameter?s_d0=3'd0; parameter?s_d1=3'd1; parameter?s_d11=3'd2; parameter?s_d111=3'd3; parameter?s_d1111=3'd4; always@(posedge?clk?or?negedge?reset_n) if(reset_n==0)//复位 state<=s_d0;//初始状态 else case(state) s_d0://初始状态 if(data_in==1)//输入1 state<=s_d1;//输入1个1状态 else//输入0 state<=s_d0;//初始状态 s_d1://输入1个1状态 if(data_in==1)//输入1 state<=s_d11;//输入2个1状态 else//输入0 state<=s_d0;//初始状态 s_d11://输入2个1状态 if(data_in==1)//输入1 state<=s_d111;//输入3个1状态 else//输入0 state<=s_d0;//初始状态 s_d111://输入3个1状态 if(data_in==1)//输入1 state<=s_d1111;//输入4个1状态
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1226