欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    2022年基于VerilogHDL设计的数字时钟.pdf

    • 资源ID:14568941       资源大小:987.20KB        全文页数:13页
    • 资源格式: PDF        下载积分:4.3金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要4.3金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    2022年基于VerilogHDL设计的数字时钟.pdf

    基于 Verilog HDL设计的数字时钟深圳大学考试答题纸(以论文、报告等形式考核专用) 二18 二19 学年度第一学期课程编号1602080001 课程名称硬件描述语言与逻辑综合主讲教师刘春平评分学号姓名李思豪专业年级电子科学与技术16 级 1 班教师评语 : 题目: 基于 Verilog HDL设计的数字时钟摘 要:本文利用 Verilog HDL 语言自顶向下的设计方法设计多功能数字钟 ,突出了其作为硬件描述语言的良好的可读性、可移植性与易 理 解 等 优 点 , 并 通 过Altera Quartus6 、 0 与cyclnoe II EP2C35F672C6完成综合、仿真。此程序通过下载到FPGA 芯片后, 可应用于实际的数字钟显示中关键词 : Verilog HDL; 硬件描述语言 ;FPGA精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 1 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟目录一、实验任务 . 3实验目的 . 3实验要求 . 3二、设计思路 . 3三、实验结果 . 10四、总结与收获. 14一、实验任务实验目的1.深入了解基于quartus ii工具的复杂时序逻辑电路的设计。2.理解并熟练利用EDA工具进行综合设计。3.熟练掌握芯片烧录的流程及步骤。4.掌握 Verilog HDL 语言的语法规范及时序电路描述方法。实验要求设计一个带秒表功能的24 小时数字钟 , 它包括以下几个组成部分: 显示屏 , 由 6 个七段数码管组成, 用于显示当前时间( 时: 分, 秒)或设置的秒表时间; 复位键复位所有显示与计数 设置键 , 用于确定新的时间设置, 三个消抖按键分别用于时分秒的设置 秒表键 , 用于切换成秒表功能基本要求(1) 计时功能 : 这就是本计时器设计的基本功能, 每隔一秒计时一次, 并在显示屏上显示当前时间。(2) 秒表功能 : 设置时间 , 进行倒计时功能(3) 设置新的计时器时间: 按下设置键后, 用户能通过时分秒三个消抖按键对时间进行设置。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 2 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟二、设计思路1、总原理框图 :精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 3 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟原理如上图所示,时钟由分频器模块,数码管显示模块,计时器模块三个模块构成,每个模块实现如下的不同功能,最后通过在顶层模块的调用,来实现时钟功能。2. 顶层模块 : 顶层模块调用三个字模块,并且定义输入输出口,代码输入所示 : module myclock2(daojishi,stop,clk,reset,shi,fen,miao,miaoout1,miaoout2,fenout1,fenout2,shiout1,shiout2); input clk,reset,stop,shi,fen,miao,daojishi; output6:0 miaoout1,miaoout2,fenout1,fenout2,shiout1,shiout2; wire3:0 miao1,miao2,fen1,fen2,shi1,shi2; wire clk_1hz; divider_1HZ divider1hz(clk_1hz,reset,clk); count count1(daojishi,shi,fen,miao,stop,miao1,miao2,fen1,fen2,shi1,shi2,reset,clk_1hz); decode4_7 d0(miaoout1,miao1); decode4_7 d1(miaoout2,miao2); decode4_7 d2(fenout1,fen1); decode4_7 d3(fenout2,fen2); decode4_7 d4(shiout1,shi1); decode4_7 d5(shiout2,shi2); endmodule 输入输出端口类型功能表: 引脚名类型功能daojishi input 秒表倒计时模式stop input 暂停按键clk input 晶振脉冲reset input 复位按键shi input 小时调节按键fen input 分钟调节按键miao input 秒调节按键miaoout1 output 秒个位数码管输出miaoout2 output 秒十位数码管输出fenout1 output 分个位数码管输出fenout2 output 分十位数码管输出shiout1 output 时个位数码管输出shiout2 output 时十位数码管输出三个子模块的原理与代码: (1)分频模块: 分频模块的作用主要就是要获得各种频率的时钟信号。输入信号27MHZ 的信号,要想获得 1HZ 的信号作为秒脉冲计时 ,则要对 27MHZ 信号分频。通过计数的方式 ,当计数从 0 开始到时 ,1HZ 信号取反一次 ,计数又从 0 开始,如此循环 ,就可以得到 1HZ 脉冲信号。 对于其她信号也就是如此 ,只就是计数值不一样 ,得到的分频信号不同。模块代码如下 : 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 4 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟module divider_1HZ(clk_1hz,reset,clk); output clk_1hz; input reset,clk; reg clk_1hz; reg23:0 count; always (posedge clk) begin if(reset) begin count=0; clk_1hz=0; end else begin if(count=) begin count=0; clk_1hz=clk_1hz; end else count=count+1;/ 计数end end endmodule (2)译码显示模块 : 一、数码管显示 :通过传入响应的十进制数,运用 case语句转换输出相应的7位二进制显示码 ,送入数码管显示。代码如下 : module decode4_7(temp,indec); output6:0 temp; input3:0 indec; reg6:0 temp; always (indec) begin case(indec) /用 case 语句进行译码4d0:temp6:0=7b1000000; 4d1:temp6:0=7b1111001; 4d2:temp6:0=7b0100100; 4d3:temp6:0=7b0110000; 4d4:temp6:0=7b0011001; 4d5:temp6:0=7b0010010; 4d6:temp6:0=7b0000010; 4d7:temp6:0=7b1111000; 4d8:temp6:0=7b0000000; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 5 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟4d9:temp6:0=7b0010000; default: temp=7bz; endcase end endmodule (3)、计时器模块: 秒计数 :在 1HZ 脉冲下进行秒计时 ,当计时达到 59秒后,在下一个脉冲来临变 0,并发出一个脉冲信号 ,可供下面分钟计数作为输入脉冲信号计时。分钟计数 :在输入脉冲下 ,分钟开始计时 ,当计时达到 59 后,在下一个脉冲来临变 0,并发出一个脉冲 ,供小时计数的输入脉冲新号。小时计数 :脉冲信号来临时 ,计数加 1,达到 23 后在下一个脉冲的作用下清零,从新计时。如果有复位信号 ,则时分秒全部清零。计时器模块还包含了设置时间与秒表切换的功能部分代码如下 : module count(daojishi,shi,fen,miao,stop,miao1,miao2,fen1,fen2,shi1,shi2,reset,clk_1hz); input reset,clk_1hz,stop,daojishi; input shi,fen,miao; output miao1,miao2,fen1,fen2,shi1,shi2; reg3:0 miao1,miao2,fen1,fen2,shi1,shi2; always (posedge clk_1hz) begin if(reset) begin miao1=0;miao2=0;fen1=0;fen2=0;shi1=0;shi2=0; end if(stop=1) begin /秒调节if(miao=0) begin miao1=miao1+1; if(miao1=9) begin miao1=0; miao2=miao2+1; if(miao2=5) begin miao2=0; end end end if(fen=0) /分调节begin fen1=fen1+1; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 6 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟if(fen1=9) begin fen1=0; fen2=fen2+1; if(fen2=5) begin fen2=0; end end end if(shi=0) /时调节begin shi1=shi1+1; if(shi1=9|(shi1=3)&(shi2=2) begin shi1=0; shi2=2) begin shi2=0; end end end end if(!reset)&(stop=0) begin if(daojishi=0) /时钟程序begin miao1=miao1+1; if(miao1=9) begin miao1=0; miao2=miao2+1; if(miao2=5) begin miao2=0; fen1=fen1+1; if(fen1=9) begin fen1=0; fen2=fen2+1; if(fen2=5) begin fen2=0; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 7 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟shi1=shi1+1; if(shi1=9)|(shi1=3)&(shi2=2) begin shi1=0; shi2=shi2+1; if(shi2=2) begin shi2=0; end end end end end end end else /倒计时程序begin if(!(shi1=0)&(shi2=0)&(fen1=0)&(fen2=0)&(miao2=0)&(miao1=0) begin miao1=miao1-1; if(miao1=0) begin miao1=9; miao2=miao2-1; if(miao2=0) begin miao2=5; fen1=fen1-1; if(fen1=0) begin fen1=9; fen2=fen2-1; if(fen2=0) begin fen2=5; shi1=shi1-1; if(shi1=0) begin shi1=9; shi2=shi2-1; if(shi2=0) begin shi2=0; 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 8 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟end end end end end end end end end end endmodule3. 引脚排布 :如下所示 : 引脚分布图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 9 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟二、实验结果(1)波形仿真在 Quartus II 中利用仿真波形进行功能或时序仿真的基本步骤如下: (1)创建新的矢量波形文件 (*、vwf)、(2)添加输入、输出节点。(3)编译输入节点的波形。(4)完成矢量波形文件的创建之后,用户即可以对设计进行功能或时序仿真。(5)仿真启动后 ,状态窗口会同时自动打开,在状态窗口中显示仿真进度及所用时间。(6)默认情况下 ,仿真器报告窗口内在仿真过程中会显示仿真波形部分,其中还包括当前仿真器的设置信息与仿真信息等。下面我们单独对三个子模块分别进行仿真并分析仿真结果: (1)分频器模块仿真结果 : 分频器仿真图仿真分析 :我们取时钟信号的周期就是20ns,为了让仿真结果更明显,取每三个时钟周期让秒脉冲clk_1hz 翻转一次 ,而不就是1349999 翻转一次。并且让reset 复位信号在仿真的 160ns-300ns有效。结果如图所示 ,在每三个时钟信号出现时,秒脉冲都会翻转一次,在 reset信号有效时 ,秒脉冲无输出 ,仿真结果符合预计要求。(2)显示译码模块仿真结果: 精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 10 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟数码管输出数字 8 仿真图数码管输出数字 8 仿真图仿真结果分析 : indec 就是我们要输出的十进制数,temp 就是连接7段数码的 7 位二进制数 ,已知数码管为共阴极数码管。我们设定indec 为 8,从图中可以瞧见temp7:0都就是 0;所以 7 个数码管都会被点亮,就就是显示8。我们再设定indec 为 1,可以预见 1在数码管中应该就是亮两个,如第二图所示只有temp1与 temp2就是 0,所以就就是亮两个灯 ,显示 1。仿真结果符合设计要求。(3)计时器模块仿真结果 : 计数器计数仿真图精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 11 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟计数器复位测试仿真图仿真结果 :miao1,miao2,fen1,fen2,shi1,shi2 分别就是秒分时的个位与十位,时钟脉冲 clk_1hz 每一个上升沿 ,miao1 就加 1,miao1 再依次进位给更高的为。如图所示 ,当 miao1 计数到 9 的时候 ,miao2加 1,当 miao2 计数到 5 的时候 ,fen1加 1,时钟计数功能实现 ,仿真符合设计要求。图二就是复位信号reset的测试,当 reset为 1 有效时 ,累计的时间清零。 如图所以 ,当 reset=1时,miao1,miao2,fen1,fen2,shi1,shi2全部变 0,仿真符合技术要求。此模块还有设置时间与倒计时的功能,但就是在波形仿真中不够直观,所以不做波形仿真。(2)DE2 开发板实现将开发板插入电脑中,烧录进程序 ,进行各项功能测试,包括计时功能,时间调节功能 ,秒表功能 ,复位功能 ,暂停功能。实验过程记录 : (1)烧录程序完成,DE2 立刻开始从0秒计数 ,依次向分钟 ,小时进位 ,当时间为23:59:59 时,下一秒全部跳0;时钟功能实现。(2)复位功能测试:switch0 为复位信号按键 ,拨下该按键 ,时间清零 ,复位功能实现。(3)暂停功能测试:switch1 为暂停信号按键 ,拨下该按键 ,时间暂停 ,暂停功能实现。(4)时间设置测试:消抖按钮 key0,key1,key2,分别就是秒分时设置键。按下暂停键, 计数停止 ,每按一下 key0,秒加一 ;每按一下 key1,分加一 ;每按一下 key2,小时加一。时间设置完成 ,回拨暂停键 ,时钟从设置的时间开始计时。时间设置功能实现。(5)秒表倒计时功能测试:switch2 为倒计时信号按键,拨下该键后 ,时钟开始倒计时,倒计时功能实现。测试完成 ,所有测试结果符合设计要求,完成 verilong 时钟设计。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 12 页,共 13 页 - - - - - - - - - - 基于 Verilog HDL设计的数字时钟四、总结与心得体会在 QuartusII 开发环境下 ,采用自顶向下的设计方法有利于在早期发现结构设计中的错误 ,避免不必要的重复设计。再结合基于FPGA 的可编程实验板 ,轻轻松松就能实现各种电子产品的设计,现场观察实验测试结果。大大缩短了产品的设计周期与调试周期 ,提高了设计的可靠性与成功率,充分体现了可编程逻辑器件在数字电路设计中的优越性。在经过了四个星期的编写与仿真后,终于完成了设计要求,这次设计 ,我克服了很多关于设计问题方面的困难,特别就是对 verilog 语法与规则的不熟悉导致很多困难 ,最后使我对 Quartus II 软件的使用有了更进一步的了解,同时也积累了一些经验。很多时候我们想要的功能,写出来的代码 ,并不就是正确的 ,需要不断的调试,要理论联系实际 ,这样才能更快的完成设计任务。精品资料 - - - 欢迎下载 - - - - - - - - - - - 欢迎下载 名师归纳 - - - - - - - - - -第 13 页,共 13 页 - - - - - - - - - -

    注意事项

    本文(2022年基于VerilogHDL设计的数字时钟.pdf)为本站会员(C****o)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开