史上最全的多功能数字电子钟eda技术课程设计报告veriloghdl语言实现内容摘要:

entity,如图13。 图 13 ( 2)编译,如图 14 所示操作。 图 14 编译无误后,可做功能仿真。 10 ( 3)仿真,先建立一个波形激励文件,单击 ,选择 vector waveform file。 打开波形编辑器(图 15),在波形编辑器窗口的 name列空白处双击,打开图 16。 图 15 图 16 单击 node finder,打开图 17。 图 17 11 在图 17里设置 Filter为 pins:all,单击 list,如图 18左框所示,列出端口,单击 ,添加端口到波形编辑器,如图 18右框所示。 图 18 连续点击两次 OK,得图 19 图 19 分组,按 Ctrl 键选中需要分为一组的端口,在阴影处右击,选择 Grouping/Group(如图 20),分为一组,并在弹出的命名框中,命名为 Hl,如图 21,单击 OK,这样小时的低四位设置完成。 图 20 12 图 21 用同样的方法设置小时的高四位,并命名为 Hh,完成后得到图 22。 图 22 然后设定仿真结束的时间,如图 23,这里设置为 2us,如图 24。 图 23 13 图 24 点击 OK,并保存 ,注意波形名改为指 定的文件名,如图 25。 图 25 首先选定输入信号 CPH,单击 CPH就选定 CPH,如图 26 图 26 单击 ,打开图 27,并设置参数,点击 OK。 14 图 27 CPH的波形如下图 28: 图 28 然后设置 RD,选择 RD,单击 ,将 RD全设为高电平。 图 29 设置仿真类型, Assignments/Settings,如图 30。 图 30 单击 Simulator Settings,选择仿真类型为功能仿真,即设置 Simulator mode为 Functional,如图 31,点击 OK。 15 图 31 然后,生成功能仿真网表文件,选择 Processing/Generate Functional Simulation Netlist。 图 32 图 33 现在,可以仿真了,点击 ,生成仿真结果,如图 34 图 34 由仿真波形可知:① Hl 作个位计数, Hh 作十位计数;②当小时的高四位为 0、 1 时,小时的低四 16 位为 9 时,在下一个时钟的上升沿来之后,高四位加一;③当小时的高 四位为 2,同时低四位为 3时,小时的高低四位都清零。 实现了从 00 到 23 的循环计数,其结论是符合时计时规律,逻辑电路设计正确。 ( 4)经仿真确认无误后,将当前设计打包,按图 35操作,打包后生成 24 进制计数器的符号,如图 36。 图 35 图 36 分钟计时模块 ( 1)〝 分 〞 计时功能电路 Verilog 语言描述 module counter60m(M,CP60M,CPM,RD)。 output [7:0]M。 output CP60M。 input CPM。 input RD。 reg [7:0]M。 wire CP60M。 always@(negedge RD or posedge CPM) begin if(!RD) //RD为低电平时, begin M[7:0]=0。 end //分输出 M清零。 else begin if((M[7:4]==5)amp。 amp。 (M[3:0]==9)) //到 59时, begin M[7:0]=0。 end //分输出 M清零。 else begin if(M[3:0]==9) //分钟个位到 9时,其分钟个位清零。 17 begin M[3:0]=0。 if(M[7:4]==5) //如果分钟十位此时巧好也到 5时 , begin M[7:4]=0。 end //其分钟十位也清零。 else M[7:4]=M[7:4]+1。 //。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。