1、 电子线路设计报告 (数字钟及汽车尾灯) 题目:数字钟与汽车尾灯 院系:电子与信息工程系 班级: 姓名: 学号: 试验号: 指导老师: 2009.6.24 【实验目的】 掌握可编程逻辑器件的应用开发技术设计输入、编译、仿 真和器件编程; 熟悉一种 EDA 软件MAX+Plus的使用; 掌握 Verilog设计方法; 掌握分模块分层次的设计方法; 用 Verilog完成一个多功能数字钟和汽车尾灯控制的设计。 【实验原理】 采用分模块分层次的设计方法,用 Verilog语言由顶层模块逐层向 下设计,顶层模块调用底层模块来完成相应的功能。完成电路的编 译与适配后进行电路的仿真实验, 在仿真结果满足实
2、验要求的情况 下进行电路的配置,即将生成的*.sof 文件下载到开发板上,验证 实验结果。 【实验开发环境】 开发软件:MAX+Plus,其开发流程为设计输入、编译、仿真、 和编程与验证。 开发语言:Verilog,一种专门为 ASIC 设计而开发的,通常用 于寄存器传输级(RTL)门电路级的描述,是一种相对低级的 描述语言。 实验板:EDA Pro2K 实验开发系统,是一种基于 CPLD 可编程 逻辑器件的开发板。 【实验模块设计】 一、多功能数字钟系统组成 图 1 多功能数字钟系统组成框图 由上面的设计框图容易看出,数字钟部分的实验由主体电路和扩展电路组成, 其中主体电路主要是完成小时、分
3、钟、秒的显示,通过分频器得到秒脉冲,通过 秒计数器完成 60 进制的计数,然后用译码电路完成秒在数码管上的显示,分钟 和小时显示的实现与秒类似,主要是脉冲不同而已,其中小时又分为 12 进制和 24 进制;扩展电路是用来完成计时之外的一些附加功能,比如定时控制、仿电 台报时、自动报整点时数、触摸报整点时数等。其详细设计将在下面逐一提到。 二、各模块的设计及仿真 数字钟主体电路顶层模块 图 2 数字钟主体电路的层次结构图 数字钟主体电路顶层模块由三部分组成,小时计数器、分计数器和秒计数器, 分计数器和秒计数器是 60 进制的, 用 8 位 BCD 码表示, 高 4 位为 6 进制, 0、 1、
4、2、3、4、5、0、1这样显示;低 4 位为 10 进制,0、1、2、3、4、5、6、7、8、 9、0、1这样显示。小时计数器用 12 进制和 24 进制同时计时,12 进制为 01、 02、03、04、05、06、07、08、09、10、12、01、02这样显示;24 进制为 00、 01、02、03、04、05、06、07、08、09、10、12、13、14、15、16、17、18、19、 20、21、22、23、00、01这样显示。 6 进制计数器的设计及仿真 在没计数到 5 之前,每来一个 CP 脉冲计数就加 1,到 5 时变为 0. ,Verilog 代码: /counter6.v
5、6 进制计数器 module counter6(Q,nCR,EN,CP); input CP,nCR,EN; /时钟 CP、清零 nCR、使能 EN output3:0 Q; reg3:0 Q; always(posedge CP or negedge nCR) begin if(nCR) Q9)|(CntH=2) /非法计数情况均置数为 00 else if(CntH=2) CntL=CntL+1b1; end else if(CntL=9)/低位为 9 时,高位加 1,低位置 4b0000 begin CntH=CntH+1b1; CntL=4b0000; end else begin C
6、ntH=CntH; /其它情况低位正常计数 CntL=CntL+1b1; end end endmodule ,仿真结果: 图 9 24 进制计数器仿真截图 由仿真截图可以看出在 CP 的上升沿来临时输出 Q 的值加 1,计数到 23 时为 00,继续计数,完成了 24 进制计数器的功能。仿真结果与实验的预期结果吻合, 说明此模块是成功的。 ,模块符号图: 分频模块的设计与仿真 ,Verilog 代码: /Divided_Frequency.v 分频模块产成 1Hz 与 512Hz 的脉冲 module Divided_Frequency (_1HzOut,_512HzOut,nCR,_1024HzIN); input _1024HzIN,nCR; output _1HzOut,_512HzOut; /输出 1Hz 与 512Hz supply1 Vdd; wire11:0 Q; wire EN1,EN2; counter10 DU0(Q3:0,nCR,Vdd,