序列检测器仿真 verilog

序列检测器仿真 verilog

ID:14291775

大小:802.50 KB

页数:10页

时间:2018-07-27

序列检测器仿真 verilog_第1页
序列检测器仿真 verilog_第2页
序列检测器仿真 verilog_第3页
序列检测器仿真 verilog_第4页
序列检测器仿真 verilog_第5页
资源描述:

《序列检测器仿真 verilog》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、0101/110序列检测器仿真1.实验目的熟悉Modelsim仿真软件的使用方法,了解状态机的建模方法,使用ModelSim仿真QuartusII工程。2.实验内容l用HDL语言的输入方式,实现0101/110序列检测器。l用modelsim进行仿真l下载至DE0开发板上观察实验结果3.代码分析(以0101序列检测器为例)1)状态图如下:St0St1St3St2St0St1St20/01/00/01/11/00/00/01/00/00/01/01/01/00/1图3.10101(左)/110(右)序列检测状态图2)主模块中

2、首先定义了本次实验的所有输入输出接口及各个状态。其中,因为有4种状态,所以current为2位。//0101Sequentialdetectormodulelab1a(vin,cp,ncr,vout);inputvin,cp,ncr;outputvout;regvout;reg[1:0]current,next;parameters0=2'b00,s1=2'b01,s2=2'b10,s3=2'b11;3)然后设置异步清零,在cp上升沿则沿触发器状态翻转。always@(posedgecpornegedgencr)begin

3、if(~ncr)current<=s0;elsecurrent<=next;end1)接着编写组合逻辑部分,设定下一状态产生和输出的信号。always@(currentorvin)beginnext=2'bxx;case(current)s0:beginnext=(vin==1)?s0:s1;ends1:beginnext=(vin==1)?s2:s1;ends2:beginnext=(vin==1)?s0:s3;ends3:beginnext=(vin==1)?s2:s1;endendcaseend2)最后为输出部分,本

4、程序中设置让输出信号经过一个寄存器再输出,可以消除vout信号中的毛刺。always@(posedgecpornegedgencr)beginif(~ncr)vout=1'b0;elsebeginvout=1'b0;case(current)s0,s1,s2:vout=1'b0;s3:if(vin==1)vout=1'b1;elsevout=1'b0;endcaseendendendmodule3)测试模块中同样先定义了各个变量,并将它们与主模块一一对应后进行初始化。moduletest();regcp,clr,en;wi

5、req;lab1ad(.cp(cp),.ncr(clr),.vin(en),.vout(q));initialbegincp=0;clr=0;en=0;end1)接着设置各信号波形:clr在20个单位时间后变为1,en的数据变为有效,cp,,en则分别在每10个和16个单位时间翻转一次。在420个单位时间后仿真停止。initialbegin#20clr=1;#400$stop;endalways#10cp=~cp;always#16en=~en;endmodule1.实验步骤1)打开Modelsim,出现欢迎界面点击Jum

6、pstart点击CreateaProject新建一个工程设置好工程名和路径后点击OK点击CreateNewFile选择文件类型为Verilog双击文件名,写好程序后用右键单击文件,选择CompileAll成功后,文件名右边的Status会变为打钩1)选择Simulate=>StartSimulation选择所需的的测试文件点击OK后如下图点击View=>Wave在Object中添加信号然后点击RunAll开始仿真1.实验结果的测试和分析0101序列检测器的仿真图形如下:110序列检测器的仿真图形如下:检验后结果正确。2.实

7、验总结通过这次试验,我明白了序列检测器的原理以及Modelsim的基本使用方法。3.参考文献1)源代码:《VerilogHDL与数字ASIC设计基础》华中科技大学出版社

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。