数字跑表设计_第1页
数字跑表设计_第2页
数字跑表设计_第3页
数字跑表设计_第4页
数字跑表设计_第5页
免费预览已结束,剩余7页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、西南科技大学设计报告课程名称: 基于FPGA的现代数字系统设计设计名称: 基于原理图的数字跑表设计姓 名:学 号:班 级:指导教师:可编辑范本西南科技大学信息工程学院可编辑范本实验目的1、设计一个数字跑表,具有复位、暂停、秒表等功能实验原理1完成一个具有数显输出的数字跑表计数器设计,原理图如下图所示。结构示意图可编辑范本CLK百分秒秒数字跑表计数器原理图两个控制信号的作用控制端取值复位(CLR)计数/暂停键(PAUSE)1010功能异步清零计数暂停计数为便于显示,百分秒、秒、分钟信号均采用BCD码计数方式,并直接输出到6个数码管中显示任务分析:输入端口 :1)复位信号CLR,当CLR=1 ,输

2、出全部置0,当CLR=0,系统正常工作。2)暂停信号 PAUSE,当PAUSE=1 ,暂停计数,当PAUSE=0 ,正常计数。 3)系统时钟 CLK , CLK=50MHz 输出端口:数码管驱动-DATA1 ,位宽14位,其中,DATA17 : 0是数码管显示值,DATA114 : 8是数码管控制端口屏蔽未用端口 -ctr,位宽是2,将未用的两个数码管显示关闭(1)跑表的计时范围为 0.01s59min59.99s,计时精度为 10ms;( 2) 具有异步复位清零、启动、计时和暂停功能;( 3) 输入时钟频率为100Hz;( 4) 要求数字跑表的输出能够直接驱动共阴极7 段数码管显示.按照自顶

3、向下设计,应该分为以下模块:分频 将下载板上50MHz 时钟分频为周期是0.01 秒的时钟,提供给百分计数计数 1百分计数,输入周期是0.01 秒的时钟,计数,满100进位,注意个位,十位的不同生成计数2-60 进制计数器,输入百分位,或者秒位的进位,计数,满60 向高位进位,注意个位,十位的不同生成数码管显示控制驱动数码管数据,显示控制端口。三、 实验步骤1、 数码管显示驱动模块的设计(1)建立工程:file-New Project,并注意器件、EDA工具的正确选择( 2) 建立新 Verilog HDL 模块编辑窗口,选择资源类型为Verilog Module, 并输入合法文件名,在文本编

4、辑窗口输入代码。( 3)执行综合得到综合后的电路,并进行功能时序仿真。2 .计数器模块的设计设计步骤同数码管的设计,并完成模块的设计输入、综合、功能仿真。3 .数码管和计数器组合为一个系统用 Verilog HDL 将数码管和计数器组合为一个模块,完成综合、功能仿真,分析波形,修正设计。4 .把电路进行综合的编译之后,锁定引脚,下载到板子上进行实际仿真验证实验结果及分析1.在 Design 窗 口中,选择 Design Utilities Create Schematic Symbo创建跑表模块;paobiaoCLK_P_、DATA1(13:0)CLRPAUSEpaobiao2.时序图激励文件

5、代码timescale 1ns / 1psmodule TSET;reg CLK;reg CLR;reg PAUSE;wire 13:0 DATA1;paobiao uut (.CLK(CLK), .CLR(CLR), .PAUSE(PAUSE), .DATA1(DATA1);initial beginCLK = 0;CLR = 0;PAUSE = 0;#10 CLR=1;#10 CLR=0;forever begin#10 CLK=!CLK;endendEndmodule解释:过了 10时间后clk=1 ,再过10时间后clk=0;每过10个时间后,clk的值进行一次翻转,从而生 成的时钟周

6、期是20个时间单位3.锁定引脚# PlanAhead Generated physical constraintsNET CLK LOC = V10;NET CLR LOC = D14;NET PAUSE LOC = C14;NET DATA10 LOC = R7;NET DATA11 LOC = V7;NET DATA12 LOC = U7;NET DATA13 LOC = V6;NET DATA14 LOC = T6;NET DATA15 LOC = P6;NET DATA16 LOC = N5;NET DATA17 LOC = P7;NET DATA113 LOC = N8;NET DA

7、TA112 LOC = M8;NET DATA111 LOC = T8;NET DATA110 LOC = R8;NET DATA19 LOC = V9;NET DATA18 LOC = T9;开关前1321 DU用开关一来实现对数字的清除操作开关用开关二来实现对数字的暂停操作7段二乐器(动石)裁去显示目氯据位J7了K57段二ED皂示器t幼孔)SEC-E功左显示段豺据位J?4F67揖LEDK木器f动态)SEC C才总显注口3打据位T75T6SEC_D才去昴示我世信17GVG修虬edR示器(动念)SEC E动为显不段处据位.1/7077陶&显示器(动强)SEC_F动会显示酸型据位J?8,7皿U显

8、吊器(动态)SEC_C动态显示最射据位J?1K7M乳3 5示器(动杰)LlGt却杰舁示传会牌(晨右初;_1?11T9虬3后示瞿(动杰)D1G7劫去只示出越展J712V9匕俎心显示强(劭忘)L,G6即交三示乜数据J713RB显示器(动态)D1G5动交三示位艇.据J7.LTB7辕LE。显示器(动态)EIi;4飞去艮乐但弛.据J7二,nB3le:i显示器(动态)DIi;2由志且示位封.据J713I归了枳LEJ更示岩筋充)|懈态显示段用好(也边)| JT |21 |五、体会我初步掌握了 Verilog HDL这种目前应用最广泛的硬件描述语言的编写方法以及联机下载到硬件验证的整个流程,圆满完成了设计任务

9、。程序设计是这次实验的重点,通过老师上课讲的内容自己实际做了进位程序以及分频程序,基本掌握了它的使用。在写完程序后,发现不能调用各个程序模块,后来在同学的点拨下改成使用程序模块来生成具体的模块来使整个系统正常工作。程序设计遇到了数码管无法显示的瓶颈,在老师的指导下最终解决了这一问题。在此次课程设计过程中,我提升了自己的自学能力和动手能力,这也是一笔很大的收获。代码:timescale 1ns / 1psmodule paobiao(CLK,CLR,PAUSE,DATA1);input CLK,CLR;input PAUSE;output13:0 DATA1;reg3:0 MSH,MSL,SH,

10、SL,MH,ML,dig;reg cn1,cn2;reg 10:0 div_count1;reg 18:0 div_count;reg timer_clk;always (posedge CLK or posedge CLR)if(CLR) div_count = 19h0;elseif(div_count = 19h7a11f)div_count = 19h0;else div_count = div_count+1b1;always (posedge CLK or posedge CLR)if(CLR) timer_clk = 1b0;elseif(div_count= 0)timer_c

11、lk = 1b1;elsetimer_clk = 1b0;always (posedge timer_clk or posedge CLR)beginif(CLR) beginMSH,MSL=8h00;cn1=0;endelse if(!PAUSE)beginif(MSL=9) beginMSL=0;if(MSH=9)begin MSH=0;cn1=1; endelse MSH=MSH+1;endelse beginMSL=MSL+1; cn1=0;endendendalways (posedge cn1 or posedge CLR)beginif(CLR) beginSH,SL=8h00;

12、cn2=0;endelse if(SL=9)beginSL=0;if(SH=5)begin SH=0;cn2=1; endelseSH=SH+1;endelsebegin SL=SL+1;cn2=0; endendalways (posedge cn2 or posedge CLR) beginif(CLR)begin MH,ML=8h00; endelse if(ML=9) beginML=0;if(MH=5)MH=0;elseMH=MH+1;endelse ML=ML+1;endfunction7:0 Xrom;input 3:0 sum;case(sum)4b0000 : Xrom =

13、7b1111110 ;4b0001 : Xrom = 7b0110000 ;4b0010 : Xrom = 7b1101101 ;4b0011 : Xrom = 7b1111001 ;4b0100 : Xrom = 7b0110011 ;4b0101 : Xrom = 7b1011011 ;4b0110 : Xrom = 7b1011111 ;4b0111 : Xrom = 7b1110000 ;4b1000 : Xrom = 7b1111111 ;4b1001 : Xrom = 7b1111011 ;4b1010 : Xrom = 7b1110111 ;4b1011 : Xrom = 7b0

14、011111 ;4b1100 : Xrom = 7b1001110 ;4b1101 : Xrom = 7b0111101 ;4b1110 : Xrom = 7b1001111 ;4b1111 : Xrom = 7b1000111 ;default : Xrom = 7b1111110 ;endcaseendfunctionalways (posedge CLK or posedge CLR)if(CLR)begindiv_count1 = 11h0;dig = 3b000; endelse begindiv_count1 = div_count1 + 1;if(div_count1 = 0)if(dig=3b101)dig = 3b000;elsedig = dig + 1b1;else dig = dig;endreg13:0 DATA1;always (posedge CLK or posedge CLR)if(CLR)DATA1 = 14b0;elsecase(d

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论