基于FPGA数字钟设计_第1页
基于FPGA数字钟设计_第2页
基于FPGA数字钟设计_第3页
基于FPGA数字钟设计_第4页
基于FPGA数字钟设计_第5页
已阅读5页,还剩10页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、河南科技学院新科学院数字系统课程设计报告书 课题名称 基于FPGA的数字钟设计院 系新科学院姓名学号 夏文平、专业班级通信工程、通信132指导教师刘艳昌、雷进辉设计时间2014-2015学年第2学期12、13周 2015年6月5日 目录摘要1 设计任务与要求2系统整体方案及设计原理2各模块电路设计与实现21 分频模块22 计数模块43 数码管显示模块7 硬件下载及调试10 试验中出现的问题及解决办法11 设计总结11参考文献12摘要FPGA是可编程逻辑器件,在早期可编程逻辑器件PAL和GAL的基础上发展而来,但电路规模更大。同时FPGA具有许多优点,在数字电路设计中得到广泛的应用。本次设计过程

2、中,我们使用了Altera公司开发的Cyclone芯片,使用EP2C8Q208C8开发板,完成我们的设计。在设计过程中,主要使用Verilog编程语言进行编程,由于它和C语言有一定的相似之处,使用起来较为方便。本次课程设计,我们通过编程来控制八段数码管显示我们要的时钟数字,我们通过编程控制交通灯的变换并且利用数码管显示剩余时间,根据EP2C8Q208C8 使用说明,合理安排引脚和时序,顺利完成预定的功能,同时也了解了FPGA和其编程控制过程,为以后的设计奠定了基础。 设计任务与要求。1.设计一个数字计时器,可以完成00:00:00到23:59:59的计时功能。2.具体要求如下:1)能进行正常的

3、时、分、秒计时功能,最大计时显示23小时59分59秒。2)分别由六个数码管显示时分秒的计时。系统整体方案及设计原理。数字计时器是由计时电路、译码显示电路、脉冲发生电路等几部分组成的。其中,脉冲发生电路将试验箱提供的50Mhz的频率分成电路所需要的频率;计时电路与动态显示电路相连,将时间显示在八段数码管上。原理框图如下:译码显示器计时器脉冲发生电路各模块电路设计与实现。1 分频模块。分频模块程序:module div_clk(clk_50MHz,clk_1Hz,clk_1KHz);input clk_50MHz; /20M时钟频率output clk_1Hz,clk_1KHz;/20M时钟频率分

4、为1Hz,200Hz,1MHz,1kHz,500Hz时钟频率reg clk_1Hz,clk_1KHz;reg 24:0 cnt;/计数器reg 14:0 cnt3;always (posedge clk_50MHz)begin if(cnt = ) /20MHz分为1Hz,当计数器到时,时钟反转一次begin cnt = 0; /即次为一个时钟周期,即周期为1Hz clk_1Hz = clk_1Hz;/时钟翻转end else cnt = cnt + 1b1;endalways (posedge clk_50MHz)begin if(cnt3 = 24999)begin cnt3 =0; cl

5、k_1KHz = clk_1KHz;/20MHz分为1kHzend else cnt3 = cnt3 + 1b1;endendmodule分频模块时序仿真图如下:2 计数模块。秒计时模块:秒是60进制,所以秒计时模块是60进制。程序如下:module cet60(clk,cen,a,b);input clk;output cen;output 3:0a,b;reg 3:0a,b;reg cen;always (posedge clk ) beginif(a=9)begin a=0; if (b=5)b=0; else b=b+1;endelse begina=a+1;b=b;endendalw

6、ays(posedge clk)beginif(a=9)&(b=5) cen=1;else cen=0;endendmodule秒及时模块时序仿真图如下:分计时模块也是60进制,同上。小时计时模块:小时使用的24小时制,故使用的是24进制计数,程序如下:module counter24(a,b,nCR,EN,clk);input clk,nCR,EN,nCR;output3:0a,b;reg 3:0 a,b;always(posedge clk or negedge nCR)beginif(nCR)a,b=8h00;else if(EN)a,b2)|(b9)|(a=2)&(b=3)a,b=8h

7、00;else if(a=2)&(b3)begin a=b; b=b+1b1;endelse if(b=9)begin a=a+1b1; b=4b0000;endelsebegin a=a; b=b+1b1;endend endmodule小时计数模块时序仿真图如下:3 数码管显示模块:数码管显示模块程序如下:module decode(clk_1kHz,hour_ten,hour_one,min_ten,min_one,sec_ten,sec_one,dig,seg);input clk_1kHz; /输入时钟1kHzinput 3:0 hour_ten,hour_one,min_ten,m

8、in_one,sec_ten,sec_one;output7:0 dig; /数码管位选output7:0 seg; /数码管段选reg7:0 seg_reg; /定义数码管段选寄存器reg7:0 dig_reg; /定义数码管位选寄存器reg3:0 dat_reg; reg2:0 count; /定义计数器always (posedge clk_1kHz) /定义上升沿触发进程beginif(count = 5)count = 0;else count = count +1b1;endalways (posedge clk_1kHz)begin case(count) /选择扫描显示数据 3

9、d0 : begin dat_reg = hour_ten3:0;dig_reg = 8b;end /第一个数码管显示小时的十位 3d1 : begin dat_reg = hour_one3:0;dig_reg = 8b;end /第二个数码管显示小时的个位 3d2 : begin dat_reg = min_ten3:0; dig_reg = 8b;end /第三个数码管显示分钟的十位 3d3 : begin dat_reg = min_one3:0; dig_reg = 8b;end /第四个数码管显示分钟的个位 3d4 : begin dat_reg = sec_ten3:0; dig

10、_reg = 8b;end /第五个数码管显示秒的十位 3d5 : begin dat_reg = sec_one3:0; dig_reg = 8b;end /第六个数码管显示秒的个位 default : begin dat_reg = 0;dig_reg =6b;end endcaseendalways (dat_reg)begin case (dat_reg) 4h0 : seg_reg = 8hc0; /显示0 4h1 : seg_reg = 8hf9; /显示1 4h2 : seg_reg = 8ha4; /显示2 4h3 : seg_reg = 8hb0; /显示3 4h4 : se

11、g_reg = 8h99; /显示4 4h5 : seg_reg = 8h92; /显示5 4h6 : seg_reg = 8h82; /显示6 4h7 : seg_reg = 8hf8; /显示7 4h8 : seg_reg = 8h80; /显示8 4h9 : seg_reg = 8h90; /显示9 default: seg_reg = 8hff;/不显示 endcase endassign dig = dig_reg; assign seg = seg_reg; endmodule 硬件下载及调试。数字时钟模块搭建图:下载:选择“Processing-start complicatio

12、n”进行全编译,编译通过后要进行管脚分配,选择“AssignmentsPins”,在打开的对话框中的“Location”栏中选择相应的管脚填入,并将未用到的管脚置为三态,最后将程序下载到SmartSOPC实验系统中运行,检验结果是否正确。 试验中出现的问题及解决办法。在设计分频模块的时候,由于没有考虑整体功能实现需要多个不同频率的输出,而只把1HZ作为我们的目标,导致后来用到时又返回去增加输出,导致模块的变动,也给整个工程带来了麻烦。 设计总结。本次试验一方面需要我们掌握数字逻辑电路的知识,另一方面又要适应新的软件Quartus和试验箱的用法。虽说和电工电子实验的内容基本一样,但用的方法却不一样。上次实验除了理论知识外,还需要相当高的人品,万一哪边没接地或哪个孔差错了可能害你花掉整个小时的时间去查错,而且万一芯片坏了也很麻烦,效率比较低,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论