实验八利用有限状态机进行时序逻辑的设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

实验八利用有限状态机进行时序逻辑的设计实验目的1.掌握利用有限状态机实现一般时序逻辑分析的方法;2.进掌握用Verilog编写的有限状态机的标准模板。实验内容1.学习VerilogHDL设计课件。2.设计一个串行数据检测器。要求是:连续4个或4个以上为1时输出为1,其他输入情况下为0。实验原理参考VerilogHDL学习课件。在数字电路中已经学习过通过建立有限状态机来进行数字逻辑的设计,而在VerilogHDL硬件描述语言中,这种设计方法得到进一步的发展。通过VerilogHDL提供的语句,可以直观地设计出更为复杂的时序逻辑的电路。关于有限状态机的设计方法在教材中已经作了较为下面是一个简单指令译码电路的设计示例。该详细的阐述,在此就不赘述了。下例是一个简单的状态机设计,功能是检测一个5位二进制序列“10010”。考虑到序列重叠的可能,有限状态机共提供了8个状态(包括初始状态IDLE)。模块源代码://----------文件名seqdet.v----------------moduleseqdet(x,z,clk,rst,state);inputx,clk,rst;outputz;output[2:0]state;reg[2:0]state;wirez;parameterIDLE=`d0,A='d1,B='d2,C='d3,D='d4,E='d5,F='d6,G='d7;assignz=(state==E&&x==0)?1:0;always@(posedgeclk)if(!rst)beginstate=IDLE;endelsecasex(state)IDLE:if(x==1)beginstate=A;endA:if(x==0)beginstate=B;endB:if(x==0)beginstate=C;endelsebeginstate=F;endC:if(x==1)beginstate=D;endelsebegnstate=G;endD:if(x==0)beginstate=E;endelsebeginstate=A;endE:if(x==0)beginstate=C;endelsebeginstate=A;endF:if(x==1)beginstate=A;endelsebeginstate=B;endG:if(x==1)beginstate=F;enddefault:state=IDLE;endcaseendmodule实验步骤1.在教师的指导下,学习VerilogHDL课件。2.由教师演示max+plusⅡ软件的文本设计流程。3.参考课件实例,动手操作软件,按照流程做完从新建文件,编译,仿真,分配引脚等软件操作部分的全过程。4.参考上述实例,完成实验内容2。实验报告1.描述出课件中模块例子的文本设计过程及其仿真结果。2.描述出实验内容2设计过程及其仿真结果。

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功