欢迎来到天天文库
浏览记录
ID:56921161
大小:158.00 KB
页数:4页
时间:2020-07-24
《序列检测器 用verilog语言实现.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、一、实验目的及要求目的:1、掌握利用有限状态机实现一般时序逻辑分析的方法;2、掌握用verilog编写可综合的有限状态机的标准模板;3、掌握用verilog编写状态机模块的测试文件的一般方法。要求:1.设计一个串行数据检测器。要求:连续4个或4个以上为1时输出为1,其他输入情况为0。编写测试模块对设计的模块进行各层次的仿真,并观察波形,编写实验报告。二、实验设备(环境)及要求实验设备:PC机一台环境要求:安装Modelsim仿真软件以及SynplifyPro综合工具程序模块:moduleserial_detec
2、ted(din,clk,reset,out);inputdin;//串行数据输入inputclk;//时钟输入inputreset;//异步复位信号输入outputout;//结果输出regout;reg[3:0]state,nextstate;//状态编码parameterIdle=3'b000,First_bit=3'b001,Second_bit=3'b010,Third_bit=3'b011,Fourth_bit=3'b100;//----------------更新当前状态--------------
3、------------always@(posedgeclkornegedgereset)beginif(!reset)state<=Idle;elsestate<=nextstate;end//------------------------------------------------------//-------------产生下一状态组合逻辑---------------------always@(stateordin)begincase(state)Idle:if(din)nextstate=Fir
4、st_bit;elsenextstate=Idle;First_bit:if(din)nextstate=Second_bit;elsenextstate=Idle;Second_bit:if(din)nextstate=Third_bit;elsenextstate=Idle;Third_bit:if(din)nextstate=Fourth_bit;elsenextstate=Idle;Fourth_bit:if(din)nextstate=Fourth_bit;elsenextstate=Idle;def
5、ault:nextstate=3'bxxx;endcaseend//------------------------------------------------------//--------------产生输出的组合逻辑----------------------always@(stateorresetordin)beginif(!reset)out<=0;elseif(state==Fourth_bit)out<=1;elseout<=0;end//---------------------------
6、---------------------------Endmodule测试模块:moduletest_serial_detected;//Inputsregdin;regclk;regreset;//Outputswireout;//InstantiatetheUnitUnderTest(UUT)serial_detecteduut(.din(din),.clk(clk),.reset(reset),.out(out));initialbegindin=0;reset=1;//给复位信号变量赋初值clk=0;
7、//给时钟变量赋初值#22reset=0;//使复位信号有效#133reset=1;//经过一个多周期以后是复位信号无效end//---------------------------------------------------//--------产生信号和控制-----------------------------always#50clk=~clk;//产生周期性时钟always@(posedgeclk)//在每次时钟正跳变沿时刻产生不同的dinbegin#50din<={$random}%2;//di
8、n的值是随机产生的#(3*50+12);//din的值维持一段时间endinitial//暂停仿真以便观察仿真波形begin#$stop;endendmodule4.利用Modelsim编译纠错和仿真5.利用SynplifyPro进行综合6.利用Quartus2进行布局布线四、实验结果与数据处理1.Modelsim仿真波形如下,自上向下信号依次为reset、clk、din、out2.选
此文档下载收益归作者所有