ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:269.58KB ,
资源ID:5194760      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/5194760.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(FPGA数字秒表设计.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

FPGA数字秒表设计.docx

1、FPGA数字秒表设计基于 EDA的数字秒表设计论文班级: 11 电信二班 同组人员:孙兴义 20111060223 张忠义 20111060240基于 EDA的数字秒表设计摘要 :该设计是用于体育比赛的数字秒表 , 基于 EDA在 Quartus II 9.0sp2 软件下应用 VHDL语言编写程序 , 采用 ALTRA公司 CycloneII 系列的 EP2C8Q208 芯片进行了计算机仿真, 并给出了相应的仿真结果。 本设计有效的克服了传统的 数字秒表的缺点采用 EDA技术采取自上而下的设计思路。 绘制出了具体的逻辑电 路,最后又通过硬件上对其进行调试和验证。该电路能够实现很好的计时功能

2、, 计时精度高,最长计时时间可达一个小时。关键字:数字秒表; EDA;FPGA;VHDL;Quartus II1引言在科技高度发展的今天, 集成电路和计算机应用得到了高速发展。 尤其是计 算机应用的发展。 它在人们日常生活已逐渐崭露头角。 大多数电子产品多是由计 算机电路组成,如:手机、 mp3等。而且将来的不久他们的身影将会更频繁的出 现在我们身边。 各种家用电器多会实现微电脑技术。 电脑各部分在工作时多是一 时间为基准的。 本文就是基于计算机电路的时钟脉冲信号、 状态控制等原理设计 出的数字秒表 1 。秒表在很多领域充当一个重要的角色。在各种比赛中对秒表的 精确度要求很高,尤其是一些科学实

3、验。他们对时间精确度达到了几纳秒级别。2设计要求(1)能对 0秒59分 59.99秒范围进行计时,显示最长时间是 59分 59秒;(2)计时精度达到 0.01s ;(3)设计复位开关和启停开关,复位开关可以在任何情况下使用,使用以后 计时器清零,并做好下一次计时的准备。设计由控制模块、时基分频模块,计时 模块和显示模块四部分组成。各模块实现秒表不同的功能3数字秒表设计的目的本次设计的目的就是在掌握 EDA 实验开发系统的初步使用基础上,了解 EDA 技术,对计算机系统中时钟控制系统进一步了解,掌握状态机工作原理, 同时了解计算机时钟脉冲是怎么产生和工作的。 在掌握所学的计算机组成与结构 课程理

4、论知识时。 通过对数字秒表的 设计,进行理论与实际的结合, 提高与计算 机有关设计能力, 提高分析、 解决计算机技术实际问题的能力。 通过课程设计深 入理解计算机结构与控制实现的技术,达到课程设计的目标。如上图所示,计时控制器的作用是控制计时。 计时控制器的输入信号是启动, 暂停和清零。为符合惯例, 将启动和暂停功能设置在同一个按键上, 按一次是启 动,按第二次是暂停,按第三次是清零。 所以计时控制器共有 2个开关输入信号, 即启动/ 暂停和清零信号。计时电路的输入信号、计数允许,保持和清零信号,输出为 10Om、s 1s 和min 的计时数据。时基分频器是一个分频器,产生 100ms周期的脉

5、冲用于计时 电路时钟信号。显示电路为动态扫描电路。用以显示 min、1s,100ms 信号。 5 各模块实现计时模块的作用是针对计时过程进行控制。 计时控制模块可用俩个按钮来完 成秒表的启动、停止和复位。时钟分频模块的作用把输入时钟信号变为分频输出信号。计时模块执行计时功能, 计时方法和计算机一样是对标准时钟脉冲计数。 它 是由十进制计数器和六进制计数器构成, 其中毫秒位、十毫秒位、 秒位和分位采 用十进制计数器,十秒位和十分位采用六进制计数器。计时显示电路的作用是将计时值在 LED数码管上显示出来。 计时电路产生的 值经过 BCD七段译码后, 驱动 LED数码管。计时显示电路的实现方案采用扫

6、描显 示。6 仿真演示7 实验结果演示5、程序(1)分频模块:module fengpin(CLK,CLK1,CLK2); / 输入 50MHz,输出分频到 1Hzinput CLK;output CLK1,CLK2;reg CLK1,CLK2;reg24:0 counter1; / 中间变量 counter 定义为寄存器型reg24:0 counter2;parameter N1=500000;/50_000_000;parameter N2=2500;always(posedge CLK)begincounter1=counter1+1b1;/if(counter1= N1/2-1)beg

7、inCLK1 = CLK1; counter1=0;end counter2=counter2+1b1;/ if(counter2=N2/2-1) beginCLK2=CLK2; counter2=0;endendendmodule(2)六进制计数器:module CNT6(CLK,RST,EN,CQ,DOUT);input CLK,EN,RST;output 3:0 DOUT;output CQ;reg 3:0 Q1;reg CQ;assign DOUT=Q1;always(posedge CLK or negedge RST) beginif(!RST) Q1=0;else if(EN)b

8、eginif(Q15) Q1=Q1+1b1;else Q1=3b0000;endendalways(Q1)if(Q1=4h5) CQ=1b0;else CQ=1b1;endmodule(3)十进制计数器: module CNT10(CLK,RST,EN,CQ,DOUT); input CLK,EN,RST; output 3:0 DOUT; output CQ; reg 3:0 Q1; reg CQ;assign DOUT=Q1;always(posedge CLK or negedge RST) beginif(!RST) Q1=0;else if(EN)beginif(Q19) Q1=Q1

9、+1b1;else Q1=4b0000;endendalways(Q1) if(Q1=4h9) CQ=1b0; else CQ=1b1;(4)二十四进制计数器:module CNT24(CLK,RST,EN,COUT); input CLK,EN,RST;output7:0 COUT;reg 7:0 COUT;always(posedge CLK)beginif(COUT7:4!=2)beginif(COUT3:0=4b1001)beginCOUT7:4=COUT7:4+4b0001;COUT3:0=4b0000;endelsebeginCOUT7:4=COUT7:4;COUT3:0=COUT

10、3:0+4b0001endendelseif(COUT3:0=4b0011)beginCOUT7:4=4b0000;COUT3:0=4b0000;elsebeginCOUT7:4=COUT7:4;COUT3:0=COUT3:0+4b0001;end译码结果case(count)/ 选择扫描显示数据 3d0:disp_dat = d31:28;/ 第一个数码管 3d1:disp_dat = d27:24;/ 第二个数码管 3d2:disp_dat = 4ha;/ 第三个数码管 3d3:disp_dat = d19:16;/ 第四个数码管 3d4:disp_dat = d15:12;/ 第五个数码

11、管 3d5:disp_dat = 4hb;/ 第六个数码管 3d6:disp_dat = d7:4;/ 第七个数码管 3d7:disp_dat = d3:0;/ 第八个数码管case(count)/ 选择数码管显示位 3d0:dig_r = 8b01111111; / 选择第一个数码管显示 3d1:dig_r = 8b10111111; / 选择第二个数码管显示 3d2:dig_r = 8b11011111; / 选择第三个数码管显示 3d3:dig_r = 8b11101111; / 选择第四个数码管显示 3d4:dig_r = 8b11110111; / 选择第五个数码管显示 3d5:di

12、g_r = 8b11111011; / 选择第六个数码管显示 3d6:dig_r = 8b11111101; / 选择第七个数码管显示 3d7:dig_r = 8b11111110; / 选择第八个数码管显示 endcaseendalways (disp_dat) begincase(disp_dat)/ 七段译码 4h0:seg_r = 8hc0;/ 显示 0 4h1:seg_r = 8hf9;/ 显示 14h2:seg_r = 8ha4;/ 显示 2 4h3:seg_r = 8hb0;/ 显示 3 4h4:seg_r = 8h99;/ 显示 4 4h5:seg_r = 8h92;/ 显示

13、5 4h6:seg_r = 8h82;/ 显示 6 4h7:seg_r = 8hf8;/ 显示 7 4h8:seg_r = 8h80;/ 显示 8 4h9:seg_r = 8h90;/ 显示 9 4ha:seg_r = 8hbf;/ 显示 a 4hb:seg_r = 8hbf;/ 显示 b /*4hc:seg_r = 8hc6;/ 显示 c 4hd:seg_r = 8ha1;/ 显示 d 4he:seg_r = 8h86;/ 显示 e 4hf:seg_r = 8h8e;/ 显示 f*/endendmodule6、原理图:7、引脚定义:8、实验总结本系统设计用了现在 EDA设计手段,基于 FPG

14、A采用 VHDL语言编程实现数字秒表的设计。 运用层次化设计方法, 完成各电路模块的连接。 本数字秒表可用于体 育比赛,计时精度大于 1100S,计时器能显示 1100S的时间, 计时器的最长计 时时间为 1小时,显示的最长时问为 59分5999秒。系统具有简单、工作稳定可 靠等优点具有一定的实际意义。开始做设计时总是会犯一些错误, 只有经过不停的改错不停的编译得到正确 的程序说明了作为软件编程人员是不能粗心大意的, 一个程序的质量的高低与你 细心与否有着一定的联系。 在编程时, 我充分使用了结构化的思想, 这样程序检 查起来也比较方便, 调试时也给了我很大方便, 只要一个模块一个模块的进行调

15、 就可以了, 充分体现了结构化编程的优势。 在设计中要求我要有耐心和毅力, 还 要细心,稍有不慎, 一个小小的错误就会导致结果的不正确, 而对错误的检查要 求我要有足够的耐心, 通过这次设计和设计中遇到的问题, 也积累了一定的经验, 对以后从事集成电路设计工作会有一定的帮助。但在验证过程中, 也遇到了许许多多的困难, 其结论与预期间的差距, 其功 能键复位、暂停,第一次按下去时为暂停,第二次为清零。但使用时并没出现, 第一次按下去时暂停了, 但却不能正常显示; 当第二次按时却不能出现清零的状 态。在应用 VHDL 的过程中让我真正领会到了其并行运行与其他软件顺序执行 的差别及其在电路设计上的优越性。用 VHDL 硬件描述语言的形式来进行数字 系统的设计方便灵活,利用 EDA 软件进行编译优化仿真极大地减少了电路设计 时间和可能发生的错误, 降低了开发成本, 这种设计方法在数字系统设计中发挥 越来越重要的作用。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1