1 / 15
文档名称:

基于FPGA数字钟设计精要.doc

格式:doc   页数:15
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

基于FPGA数字钟设计精要.doc

上传人:今晚不太方便 2016/5/28 文件大小:0 KB

下载得到文件列表

基于FPGA数字钟设计精要.doc

相关文档

文档介绍

文档介绍:河南科技学院新科学院数字系统课程设计报告书课题名称基于 FPGA 的数字钟设计院系新科学院姓名学号夏文平、 2013280218 专业班级通信工程、通信 132 指导教师刘艳昌、雷进辉设计时间 2014-2015 学年第 2学期 12、 13周 2015 年6月5日目录摘要.............................................................................................. 1 Ⅰ设计任务与要求.................................................................... 2 Ⅱ系统整体方案及设计原理...................................................... 2 Ⅲ各模块电路设计与实现.......................................................... 2 1 分频模块............................................................................. 2 2 计数模块............................................................................. 4 3 数码管显示模块................................................................. 7 Ⅳ硬件下载及调试.................................................................. 10 Ⅴ试验中出现的问题及解决办法.......................................... 11 Ⅵ设计总结.............................................................................. 11 参考文献.................................................................................... 12 1 摘要 FPGA 是可编程逻辑器件,在早期可编程逻辑器件 PAL 和 GAL 的基础上发展而来,但电路规模更大。同时 FPGA 具有许多优点, 在数字电路设计中得到广泛的应用。本次设计过程中,我们使用了 Altera 公司开发的 Cyclone Ⅱ芯片,使用 EP2C8Q208C8 开发板,完成我们的设计。在设计过程中,主要使用 Verilog 编程语言进行编程,由于它和 C语言有一定的相似之处,使用起来较为方便。本次课程设计,我们通过编程来控制八段数码管显示我们要的时钟数字,我们通过编程控制交通灯的变换并且利用数码管显示剩余时间,根据 EP2C8Q208C8 使用说明,合理安排引脚和时序,顺利完成预定的功能,同时也了解了 FPGA 和其编程控制过程,为以后的设计奠定了基础。 2 Ⅰ设计任务与要求。 1. 设计一个数字计时器,可以完成 00:00:00 到 23:59:59 的计时功能。 : 1)能进行正常的时、分、秒计时功能,最大计时显示 23小时 59 分 59秒。 2)分别由六个数码管显示时分秒的计时。Ⅱ系统整体方案及设计原理。数字计时器是由计时电路、译码显示电路、脉冲发生电路等几部分组成的。其中,脉冲发生电路将试验箱提供的 50Mhz 的频率分成电路所需要的频率;计时电路与动态显示电路相连,将时间显示在八段数码管上。原理框图如下: Ⅲ各模块电路设计与实现。 1 分频模块。脉冲发生电路计时器译码显示器 3 分频模块程序: module div_clk(clk_50MHz,clk_1Hz,clk_1KHz); input clk_50MHz; //20M 时钟频率 output clk_1Hz,clk_1KHz;//20M 时钟频率分为 1Hz , 200Hz , 1MHz , 1kHz , 500Hz 时钟频率 reg clk_1Hz,clk_1KHz; reg [24:0] cnt;// 计数器 reg [14:0] cnt3; always @(posedge clk_50MHz) begin t == 24999999) //20MH z分为 1Hz , 当计数器到 999999 9 时,时钟反转一次 t <= 0; //即 20000000 次为一个时钟周期,即周期为 1Hz clk_1Hz =