基于fpga的数字跑表的设计学士学位论文

基于fpga的数字跑表的设计学士学位论文

ID:5216488

大小:346.05 KB

页数:32页

时间:2017-12-06

基于fpga的数字跑表的设计学士学位论文_第1页
基于fpga的数字跑表的设计学士学位论文_第2页
基于fpga的数字跑表的设计学士学位论文_第3页
基于fpga的数字跑表的设计学士学位论文_第4页
基于fpga的数字跑表的设计学士学位论文_第5页
资源描述:

《基于fpga的数字跑表的设计学士学位论文》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、基于FPGA的数字跑表的设计陈宝锋2011059010017摘要:以硬件描述语言(Verilog或VHDL)所完成的电路设计,可以经过简单的综合与布局,快速的烧录至FPGA上进行测试,是现代IC设计验证的技术主流。这些可编辑元件可以被用来实现一些基本的逻辑门电路(比如AND、OR、XOR、NOT)或者更复杂一些的组合功能比如解码器或数学方程式。在大多数的FPGA里面,这些可编辑的元件里也包含记忆元件例如触发器(Flip-flop)或者其他更加完整的记忆块。第1章引言本设计是基于FPGA利用VHDL语言实现硬件电路的描述实现

2、一个智力抢答器的设计,完成6位选手在规定的时间内(10秒)按键抢答;抢中编号锁定显示,其他无效;主持按键控制清零和开始选手抢中后在规定的时间内(30秒)答提;具有报警提示功能,分别提示抢答开始,有人抢答,抢答时间到,答题时间到。报警延时为1s;。设计使用的FPGA软件开发平台为Xilinx的ISE,它具有界面简单、简单易学、辅助功能强大等特点。在编写代码时可以使用编写向导生成头文件和模块框架,也可以使用语言模块帮助编写代码。实验使用的仿真软件为ModelSim,该软件具有代码分析能力可以看出不同代码段消耗资源的情况。其功能

3、侧重于编译和仿真,不能制定编译的器件和不具有下载配置能力,所以需要和ISE等软件关联使用。第2章实验项目方案设计2.1项目系统设计原理系统主要要实现计数功能、显示功能还有数据的锁存和读取。本设计采用了外部时钟为48Mhz的FPGA硬件开发平台。首先利用分频器将48Mhz的外部时钟分频产生100hz和1khz的始终信号,100hz的时钟用于实现精度为0.01s精度的计数器时钟,1kHz的时钟信号用于显示模块扫描显示的外部信号。计数器为两个六进制计数器和四个十进制计数器的同步级联,同时具有清零,暂停控制端口。显示模块6只数码管

4、采用动态扫描的连接方式,硬件电路上的每个数码管abcdefg分别连在一起,作为段选信号,8个数码管数码管分别由8个选通信号控制(这里使用到了三八译码器),由于段选信号连在一起,所以数码管的显示采用的是动态扫描的显示方式。锁存模块设计时采用了六进制的计数器输出端触发,有效地完成了锁存六个时间点的实验要求,同时加入了数据锁存和数据输出选择键,完美实现了锁存数据的输出。2.2项目系统设计方案及模块组成图一为此次设计的基本构架和模块组成(不包含消抖模块)。系统的主要组成模块主要有消抖电路模块、分频器模块、计数器模块、锁存器模块、扫

5、描显示模块、译码器模块、势能/选择模块。各模块的功能描述,将在第三章作介绍。具体的实现过程为:下载完成后按下get键,此时使能模块输出高电平,计数器开始计时,并在数码管上实时显示,锁存器模块进入锁存状态,start为系统的清零/复位键,sc为六进制计数器的时钟,每按一次sc键将会产生一个上升沿,并计数一次,六进制的计数器的输出端触发锁存器,每记一次数锁存一组数。当再按一次get键的时候,势能/选择模块输出低电平,此时计数器停止计时,锁存器进入数据读取状态,显示模块显示读取的锁存的数据,按下start键为系统清零,当每按一次

6、sc键,锁存器将会按锁存的顺序读取锁存的数据并显示该数据时第几次锁存下的。第3章实验项目单元模块电路设计3.1消抖模块设计3.1.1模块描述分频器的功能是提供计数器的时钟信号以及数码管动态扫描部分的时钟信号。由于系统的外部时钟为48Mhz,而根据跑表的精度要求0.01s,计数器的时钟信号应为100hz,因此需要对48MHZ的时钟信号进行分频,得到100hz的信号,作为时钟的计数时钟。根据显示部分的原理,需要1khz的扫描控制信号,因此在分频器部分还要产生1khz的信号。分频器的设计采用基于计数器的方法来实现。在本设计中,在

7、程序的第一个进程中设计了一个24000进制的计数器,当计数24000个时钟,分频输出信号clk1kHz取反,这样就可以实现对输入时钟的48000次分频,从而得到1kHz的输出信号。在第二个进程中采用同样的方法对已经得到的1khz的信号进行10分频得到100hz的输出信号clk100hz。分频模块如图二所示:clkin为48Mhz的外部时钟输入端clk1khz为输出1khz的时钟输出端clk100hz为输出为100hz的时钟输出端该模块的VHDL源程序如下:libraryIEEE;useIEEE.STD_LOGIC_1164

8、.ALL;entitydivisport(clkin:instd_logic;clk1khz:outstd_logic;clk100hz:outstd_logic);enddiv;architectureBehavioralofdivissignalcnter0:integerrange0to23999

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。