资源预览内容
第1页 / 共41页
第2页 / 共41页
第3页 / 共41页
第4页 / 共41页
第5页 / 共41页
第6页 / 共41页
第7页 / 共41页
第8页 / 共41页
第9页 / 共41页
第10页 / 共41页
亲,该文档总共41页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
滁州职业技术学院应用电子专业毕业论文滁州职业技术学院ATA软件学院2008级毕 业 设 计姓 名: 班 级:08应用电子技术 设计题目:基于Verilog设计的电子钟系统 指导教师:宫 强 2010年12月目 录目 录II摘 要III第一章 多功能数字电子钟设计要求1第二章 EDA仿真环境简介12.1 EDA技术简介22.2 Quartus软件简介22.3 Modelsim 软件简介32.4Verilog HDL语言简介4第三章多功能数字电子钟的设计原理6第四章 数字钟单元电路模块设计与仿真84.1 秒脉冲电路模块84.2 秒钟电路模块154.3 分钟电路模块184.4 小时计时电路模块224.5 整点报时电路模块254.6译码显示电路模块28第五章 总体系统设计与仿真385.1 总体系统设计385.2总体系统仿真39总 结40致 谢41参考文献.41摘 要4第一章 多功能数字电子钟设计要求数字钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,已得到广泛的使用。本次设计是利用EDA基本知识以及Verilog HDL语言来设计的一个多功能数字电子钟系统,以下是本次设计的主要要求:1掌握系统设计的一般步骤与方法,掌握一个大系统中各子系统的相互制约关系;2运用所学EDA知识及Verilog HDL语言,自行设计并实现一个较为完整的小型系统。通过程序设计,仿真与综合,写设计论文等环节,初步掌握一个工程设计的具体步骤与方法,以提高分析问题与解决问题的能力,提高实际应用水平;3学会使用Modelsim与Quartus软件来设计一个符合要求的系统,并熟悉使用Verilog HDL语言来编程;4数字电子钟要求能显示时、分、秒,并且是24进制的即时间显示到23-59-59后转变为00-00-00;5分钟与秒钟是8421BCD码60进制计数器;6系统能够复位,复位后显示00-00-00;7系统能够整点报时。第二章 EDA仿真环境简介2.1 EDA技术简介2.2 Quartus软件简介 2.3 Modelsim 软件简介2.4 Verilog HDL语言简介第三章 多功能数字电子钟的设计原理电子钟要求能够复位(复位显示00-00-00),并且在整点的时候还可以报时。hfy.10kHz系统基准时钟输入,作为七段数码管扫描频率。将其10000分频可得到1Hz的数字钟工作频率,将10kHZ信号送入整点报时模块来驱动扬声器,使其产“嗒”的报时声;Rst.系统复位信号,低电平有效。复位后显示00-00-00;Spk.输出到扬声器,发出“嗒”的报时声;Display.7段数码管显示输出。在设计的时候从0到7共有8个Display,就必须有8个数码管。 要使电子钟实现上述功能,在设计的时候要有6个模块,分别为分频电路模块、秒钟电路模块、分钟电路模块、小时电路模块、整点报时模块、(报时需要一个扬声器来发出声音,所以在整点报时模块后加了一个扬声器)译码显示模块(显示模块需要讲数字显示出来,所以在显示模块后加了一个数码显示管)。并将这些模块生成元件符号,最后用原理图输入方式,将各个模块连接起来编译仿真。其系统框图如下所示: 图3.2 多功能数字电子钟功能模块框图由上面的功能模块框图可以看出,系统的基准时钟脉冲为10kHz分为三路,一路送到分频器模块,用以产生10000分频的秒脉冲信号。另外两路不用分频直接送给整点报时模块和译码显示模块,用以驱动扬声器报时和数码管显示。秒钟模块:它的输入信号是分频器产生的1s脉冲信号,功能是秒计数即从0计到59,然后产生进位信号;分钟模块:它的输入信号是秒钟模块产生的进位信号,功能是分计数即从0计数到59,然后产生进位信号;小时模块:它的输入信号时分钟模块产生的进位信号,功能是小时计数即从0到23;然后复位;整点报时模块:它的驱动信号是系统基准时钟脉冲10kHz信号,秒钟模块和分钟模块都为0的时候报时,实现整点报时功能;系统复位端:此端口是在嵌入在上述6个模块中的,它的输出分别送到秒钟模块、分钟模块和小时模块是这三个模块同时清零,从而达到复位的效果;译码显示模块:它的驱动信号是系统基准脉冲10kHz信号,它将秒钟模块、分钟模块和小时模块送来的数据显示出来。第四章 数字钟单元电路模块设计与仿真4.1 秒脉冲电路模块一、模块作用秒脉冲电路模块作用是提供1Hz秒脉冲来驱动秒模块。二、模块设计思路它是将系统基准时钟的10kHz信号10000分频以产生1Hz的信号,即为1s。一个时钟脉冲是从低电平跳变到高电平的,所以在这里将10kHz的信号5000分频得到2Hz,也就是0.5s,然后在跳变为高电平,运行0.5s,两个加起来就为1 s,以达到1s时钟周期的目的。在设计程序时,定义模块名为“hfy_1s”,运用了“always”语句,并且是在系统基准时钟信号hfy上升沿有效,输入引脚为hfy,输出引脚为hfy_1Hz。图4.1.1秒脉冲电路元件符号下面分别用Quartus和Modelsim进行编译和仿真。三、Quartus仿真源程序 module hfy_1s(hfy,hfy_1Hz);input hfy;output hfy_1Hz;reg hfy_1Hz;reg12:0 hfy_count1;always (posedge hfy) begin if(hfy_count1=4999) begin hfy_count1=0; hfy_1Hz=hfy_1Hz; endelse hfy_count1=hfy_count1+1;endendmodule四、Quartus仿真第一步:双击桌面的“Quartus”图标进入Quartus仿真编译环境。第二步:输入源程序,选择菜单“File”“New”命令,在弹出的“New”对话框的“Device Design Files”页面中选择源文件的类型,这里选择“Verilog HDLFile”类型,然后输入上述源程序,如图4.1.3和4.1.4所示。图4.1.2 源文件类型选择第三步.编辑好源程序后保存并建立一个工程,保存时文件名要和模块名一样。第四步.点击上步之后弹出的对话框中的“是”后出现“New Project Wizard”对话框。第五步.单击对话框中的“Next”创建工程的名称,工程名为“hfy_1s”, 单击“Next”进入下一步。第六步.选择要编译的文件,这里已经默认的为所输入的源程序文件,单击“Next”进入下一步。第七步.选择目标器件,这里选择Altear Cyclone EP1C6Q240C8。第八步.单击“Next”完成工程的建立,然后单击“Finish”;如下图所示:图4.1.3 完成工程建立第九步.如上面所述,建立好工程后,就对源程序进行编译,点击按钮进入编译状态,在编译的时候注意type一栏,如有错误会在这里提示,并要返回源程序进行修改,如没有错误编译结束后在弹出的对话框中点击确定。如下图所示:图4.1.4 编译提示第十步.建立波形文件,执行“File”“New”,在弹出的如图4.1.3对话框中选择“Other Files”“Vector Waveform Files”“OK”,创建一个如下图所示的波形文件:图4.1.5 波形文件第十一步.建立好波形文件后,需要将源程序里的输入输出引脚加到波形文件中去,具体步骤为执行“View”“Utility Windows”“Node Finder”,在弹出的对话框中的“Filter”栏中选择“pins:all”,然后点击“List”。第十二步.将引脚拖到波形文件的“Name”栏中,并在菜单栏中将截止时间改为“5s”具体步骤执行“Edit”“Endtime”在弹出的对话框中修改时间,单击OK结束。第十三步.对“hfy”信号进行赋值,在这里将“hfy”信号的周期设置为0.1ms,因为我们需要的“hfy”为10kHz,设置周期为0.1ms就可以达到10kHz。具体步骤为:先选中“hfy”然后点击“”这个图标,然后会出现一个对话框,然后在“Period”中设置。第十四步.将仿真改为功能仿真,具体步骤为:“Assignments”“Setting”,在“Simulation mode”中将仿真改为“Functomal”。第十五步.将波形文件生成一个网表,以供软件编译。步骤为:“Processing”“Generate Functional Simulation Netlist”在弹出的对话框中点击保存,因为默认的名称就为模块名,所以不用改。然后会弹出生成网表成功对话框,点击确定。第十六步.做完上述的工作后就可以对程序进行仿真,点击“”按钮,就会自动仿真了,仿真结束后点击确定。如下图所示:图4.1.6 仿真波形图在图4.1.6可以看出当计数器hfy_count1从0计数到4999时,hfy_1Hz就从高电平翻转到低电平,这就说明“hfy_1Hz”高电平的持续时间为0.5s。图4.1.7 仿真波形图在图4.1.7中,:“hfy”信号从A点到B点运行了5000个周期,“hfy_1Hz”为高电平,持续时间为0.5s,从B点到C点,“hfy_1Hz”为低电平,持续时间也为0.5s,因此得知,“hfy_1Hz”的周期为1s。这说明设计的程序是正确的。第十七步.仿真的结果出来之后,如我们所设想的一样就可以将源程序生成一个元器件了以供以后调用,步骤为:“File”“Createl/update”“Creater Symbol Files for current File”,生成的元器件符号如图4.1.1所示。下面可以用Modelsim软件对所设计的程序进行进一步的验证。四、Modelsim仿真1、Modelsim仿真源程序module hfy_1s(hfy,reset,hfy_count1,hfy_1Hz);input hfy,reset;output hfy_1Hz;output12:0 hfy_count1;reg hfy_1Hz;reg12:0 hfy_count1;always (posedge hfy) begin if(reset) begin hfy_count1=0; hfy_1Hz=0; end else if(hfy_count1=4999) begin hfy_count1=0; hfy_1Hz=hfy_1Hz; end else hf
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号