FPGA—基于HDL的十进制计数器设计

FPGA—基于HDL的十进制计数器设计

ID:44171973

大小:534.68 KB

页数:11页

时间:2019-10-19

FPGA—基于HDL的十进制计数器设计_第1页
FPGA—基于HDL的十进制计数器设计_第2页
FPGA—基于HDL的十进制计数器设计_第3页
FPGA—基于HDL的十进制计数器设计_第4页
FPGA—基于HDL的十进制计数器设计_第5页
资源描述:

《FPGA—基于HDL的十进制计数器设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、基于HDL的十进制计数器设计一、实验目的1、掌握基于语言的ISE设计全流程;2、熟悉、应用VerilogHDL描述数字电路;3、掌握基于Verilog的组合和时序逻辑电路的设计方法。4、掌握chipscope片内逻辑分析仪的使用与调试方法。5、设计具有异步复位、同步使能的十进制计数器,其计数结果可以通过七段数码管、发光二极管等进行显示。二、实验原理1、十进制计数器的设计即是设置一变量,当计数脉冲上升沿到来时,先判断是否为9,若是则置零,否则就进行加一操作。将变量再进行一个译码操作输出到数码管显示即可。使能控制端异步清零端十进制计数器七段数码管显示译码

2、器时钟端FPGA进位图1实验原理图2、数码管分为7段和8段,七段数码管由7段二极管组成。8段数码管比起7段数码管多了一个显示小数点的LED。数码管按发光二极管单元衔接方式分为共阳极数码管和共阴极数码管。本实验使用共阳数码管。它是指将一切发光二极管的阳极接到一同构成公共阳极(COM)的数码管。共阳数码管在应用时应将公共极COM接到电源VCC上,当某一字段发光二极管的阴极为低电平相应字段就点亮。当某一字段的阴极为高电平相应字段就不亮。共阳端可以作为位选端,实现动态扫描。动态扫描即是利用了人眼睛的视觉暂留现象,以合适的频率显示每一位数码管,便会产生所有数码

3、管是一起点亮的错觉,数码管原理图如图:图2共阳数码管示意图3、数码管显示数字与对应的输入数据的关系如表所示:08'hc018'hf928'ha438'hb048'h9958'h9268'h8278'hf888'h8098'h90表1数码管显示表4、本次设计一共有11个端口:输入信号:clk-------待计数的时钟。clr---------异步清零信号,当clr=1,输出复位为0,当clr=0,正常计数。ena---------使能控制信号,当ena=1,电路正常累加计数,否则电路不工作。输出信号:q[6:0]---------驱动数码管,显示计数值

4、的个位。cout-----------1bit数据,显示计数值向十位的进位图。一、实验步骤1、整个系统主要设计的模块是:十进制计数模块和数码管驱动模块,由于实验板的按键为实现硬件防抖,则需要将按键输入的时钟clk,先通过消抖模块消抖后,再输出至后续使用。图3系统结构图2、分别进行各个模块的设计并进行仿真测试。1)十进制计数器模块设计输入:CLK-------待计数的时钟。CLR---------异步清零信号,当CLR=1,输出复位为0,当CLR=0,正常计数。ENA---------使能控制信号,当ENA=1,电路正常累加计数,否则电路不工作。输出:

5、SUM[3:0]----------计数值的个位,即在CLK上升沿检测到SUM=9时,SUM将被置0,开始新一轮的计数。COUT------------计数值的十位进位,即只有在时钟CLK上升沿检测到SUM=9时,COUT将被置1,其余情况下COUT=0。2)数码管显示驱动模块输入:sum[3:0]-------待显示的数值。输出:out[6:0]----------驱动数码管的七位数值(注意下表中out的对应位3)消抖模块(1)按键抖动的产生原因:通常的按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,一个按键开关在闭合时

6、不会马上稳定地接通,在断开时也不会一下子断开。因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖。图4按键抖动波形图(2)本次实验提供的消抖模块简介图5消抖模块框图(3)电平检查模块:检测输入的按键是否被按下或者释放,并分别将H2L_Sig,L2H_Sig拉高,并随后拉低,给出按键的操作信息。(4)延时模块:对输入的信号变化进行计时并观察信号的变换情况,对输出端口进行恰当地赋值。注:实验资料中将给出消抖模块设计源代码。对模块的具体设计细节不需理解,消抖模块不要求仿真。2、根据板子锁定引脚,并生成下载文件。数码管驱动的

7、七位信号可输出到电路板上相关引脚。为简化设计,可将消抖模块的复位信号、使能信号与cnt10模块共用。根据下载板资料,完成引脚锁定,生成相关的用户约束文件(ucf)。注意:由于clk没锁在ISE默认的时钟输入引脚上,需要添加代码:“CLOCK_DEDICATED_ROUTE=FALSE;”锁引脚代码:NET"CLK"LOC=P57

8、CLK_DEDICATED_ROUTE=FALSE;NET"CLK_50"LOC=P80;NET"COUT"LOC=P23;NET"ENA"LOC=P32;NET"CLR"LOC=P26;NET"DATA_OUT[6]"LO

9、C=P102;NET"DATA_OUT[5]"LOC=P99;NET"DATA_OUT[4]"LOC=P10

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

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

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