pld与数字系统设计创新报告

pld与数字系统设计创新报告

ID:14497984

大小:325.00 KB

页数:7页

时间:2018-07-29

pld与数字系统设计创新报告_第1页
pld与数字系统设计创新报告_第2页
pld与数字系统设计创新报告_第3页
pld与数字系统设计创新报告_第4页
pld与数字系统设计创新报告_第5页
资源描述:

《pld与数字系统设计创新报告》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、PLD与数字系统设计创新报告A组实验二:运动计时器1实验要求使用Xilinx公司的Spartan3S 400AN开发板上的相关模块,利用ISE开发软件完成数字密码锁的设计,要求实现如下功能:(1)在LED数码管上显示分钟和秒,最长的计时时间为59:59。(2)自定义清零按键,按下该按键,在液晶显示屏上显示的时间为00:00。(3)自定义启动/暂停按键,按下该按键,则启动或暂停计时器计时。其功能与实际的计时器的开始/停止按钮功能相同。2实验原理实验开发板提供4个LED七段数码管,可显示数字,直接与FPGA相

2、连。其控制方法为扫描式,如图所示,若要控制左边第一个七节灯管输出“2”的字型,可以先输出“0010010”到CA~DP,然后输出“0111”到A1~A4即可。七段数码管段排列如下图:图1七段数码管段排列七段数码管从内部接线上分共阳和共阴两种:如图2所示,左为共阴,右为共阳。在电路设计时应根据情况决定采用共阳或共阴,开发板上采用的是共阴的,即:低电平亮。6图2七段数码管内部接线类型其控制方法为扫描式,如图3所示,若要控制左边第一个七段数码管输出“2”的字型,可以先输出“11011010”到CA~DP,然后输

3、出“0111”到A1至A4即可。A1A2A3A4图3显示数字“2”3实验仪器1.XUP(FPGA:spartan3S400AN)实验开发板2.安装ISE软件的电脑4实验主要操作步骤4.1实验设计思想实验采用分层次设计的方法,用硬件描述语言分别实现计数器计时和LED七段数码管显示功能模块,具体方法如下:1.通过ISE开发工具,新建3个模块,分别为计数器计时模块,LED七段数码管显示模块和计时器暂停启动控制模块。        2.计数器计时模块:每一个时钟周期到来时判断秒使能信号是否为1,即是否计数了1秒钟

4、的时间,若是则逐步判断分钟十位、分钟个位、秒钟十位和秒钟个位计数器是否需要进位和归零,以及加1操作。3.LED七段数码管显示模块:根据6LED显示模块的原理,先设计一个扫描计数器(实验中每1ms扫描一个数码管)循环扫描四个数码管,即同一时刻仅有一个数码管亮,而1ms后,下一个数码管亮,如此循环。由于人眼分辨率限制,使得观看起来的效果是所有的数码管一直在显示。再设计一个十进制数到数码管显示的译码器,将需要显示的数字转换成符合数码器显示规则的数字。3.计时器暂停启动模块:设置一个使能信号,使得使能信号为高时,

5、计数器计时模块工作,否则不工作,如此实现计时器的启动和暂停功能。4.2创新思想1.并没有分频出一个周期为1s占空比1:1的时钟信号,而是以一个每1s产生一个高脉冲的秒使能信号去触发计时器工作。这样做很好地避免了分频后的时钟信号会产生毛刺,而不正确的触发计数。两者的区别如下图所示:图4占空比1:1的分频时钟信号图5秒使能信号2.所有计数器都是在同一时钟信号触发下工作,而不是像传统前级触发后级的设计。传统设计是,秒个位每计数到9就会向秒十位发送一个信号,触发秒十位加1;秒十位计数到9再向分个位发送触发信号。像

6、这样前级触发后级的思想是一种门控时钟的思想,容易产生不必要的竞争冒险而导致计数错误。本实验的思路是所有计数器在50MHz时钟信号控制下,由高位向地位逐位判断是否需要进行进位、归零和加1操作,这样既可避免竞争冒险也使程序简洁明了。4.2程序源代码moduleclock(clk,res,start,clockout);inputclk,res,start;outputreg[11:0]clockout;parameterT1s=2500_0000-1;//onesecond(0~2500_0000-1)par

7、ameterT1m=59;parameterT1h=59;reg[7:0]sec,min;reg[21:0]counter;regsec_en;always@(posedgeclkornegedgeres)//secondenablesignalblockif(!res)6begincounter<=22'd0;sec_en<=0;endelseif(counter==T1s)begincounter<=22'd0;sec_en<=1;endelsebegincounter<=counter+1;sec_

8、en<=0;endalways@(posedgeclkornegedgeres)//secondandminutecounterblockbeginif(!res)beginsec<=0;min<=0;endelseif(sec_en&&start)if(min[7:4]==4'h5&&min[3:0]==4'h9)min[7:0]<=0;elseif(min[3:0]==4'h9)beginmin[7:4]<=min[7:4

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

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

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