EDA综合设计性实验_第1页
EDA综合设计性实验_第2页
EDA综合设计性实验_第3页
EDA综合设计性实验_第4页
EDA综合设计性实验_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

广州大学综合设计性实验报告册实验项目数字钟学院物理与电子工程学院年级专业班姓名学号成绩实验地点电子楼317室指导教师宋沛《综合设计性实验》预习报告实验项目:数字钟一引言:数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,数字时钟可植入自动控制、测试等系统内部,作为系统的时钟源,可为系统提供定时信号或中断控制的时间基准,具有广泛的用途。由于数字集成电路的发展使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的单一报时功能。加入了一些诸如自动报时、定时闹钟等功能。这些都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。二实验目的:进一步掌握用VerilogHDL语言编写任意进制计数器的方法,通过本次实验要充分认识到,顶层结构的设计和优化在综合设计中的重要性。三实验原理:基本原理:数字钟秒到分、分到时均为60进制,利用VerilogHDL编写模60的计数器,秒模块的CLK可从实验板上取得,秒模块的本身输出用来驱动显示秒的数码管,进位输出恰好是分模块的CLK。分模块的进位作为时模块的CLK。时模块为24进制。(需要调整时间时,可以用数据选择器将正常的各个模块时钟切断取而代之的是由实验箱上的按键产生的单脉冲,从而实现调整时间的功能。闹铃时间与当前时间要共用数码管的方式显示,同样我们可以采用多位数据选择器来实现。闹铃实现可采用比较计时模块输出与闹钟设定输出完全相等时,输出控制信号使扬声器发声。四实验内容:利用前面实验所学知识,设计一数字钟并在GW48实验箱上实现。具体要求如下:计时可选十二进制计时和二十四进制计时;可手动校时,能分别进行时、分的校正;&带闹钟功能,当计时计到闹铃时间时,发光二极管点亮,闹铃时间为1分,可用按键提前终止闹铃;带秒表功能;(选做)带日历显示,可显示月、日等。(选做)五重点问题:如何设计并实现下列技术指标的数字钟:1、能够用数码管显示当前时间的时、分、秒(时采用24小时制);2、能够通过按键调整时钟的时、分;(3、能够设定闹铃时间。闹铃时间到,有声音提示;4、闹铃时间与当前时间要共用数码管的方式显示,并能用按键来切换。六参考文献:[1]潘松,黄继业,潘明.EDA技术实用教程一一VerilogHDL版(第五版).北京:科学出版社,广州大学实验原始数据记录表实验项目数字钟指导教师姓名班别学号学院物理与电子工程学院专业电子信息科学与技术实验进行时间2016年6月6日第十五周一,15:20时至17:20时;实验地点电子楼317室室温26度湿度65%天气晴原始数据记录(自行设计记录表格):小时计数模块:TOC\o"1-5"\h\z■■jcnt24":::1CLKCOUT—I:::;;HRSTWUT|7..』T::;;;HEN["Uinst?[::源代码:modulecnt_24(CLK,RST,EN,COUT,DOUT);inputCLK,EN,RST;output[7:0]DOUT;*outputCOUT;reg[7:0]A;regCOUT;assignDOUT[3:0]=A%10;assignDOUT[7:4]=A/10;always@(posedgeCLKornegedgeRST)beginif(!RST)A=0;elseif(EN)beginCOUT=0;if(A<23)A=A+1;elsebeginA=0;COUT=1;endendendendmoduleL圈us瞄le墉&弩墉3隽IE4,OTus4.39监4,7|ue5.叩霞51CH•F.一..F..—..一..F..一FFF.康1STM3OTT11—1匝aa9X10K11XXf:C14:C15:C16:C17):LR:C19:20X21):22Z:3):0):1:(?1波形分析:当EN和RST信号均为高电平时,计数器正常工作。当计满24次时,COUT输出一个进位高电平信号。分、秒计数模块:■■HCLKCOUT—J--;;HRSTDOUT[7..0]^"::pEN|:::UinstIO源代码:modulecnt_60(CLK,RST,EN,COUT,DOUT);inputCLK,EN,RST;output[7:0]DOUT;outputCOUT;reg[7:0]A;regCOUT;assignDOUT[3:0]=A%10;assignDOUT[7:4]=A/10;always@(posedgeCLKornegedgeRST)beginif(!RST)A=0;elseif(EN)beginCOUT=0;if(A<59)A=A+1;elsebeginA=0;COUT=1;endend

endendmodule仿真波形分析:当EN和RST信号均为高电平时,计数器正常工作。当计满60次时,COUT输出一个进位高电平信号。比较器模块:源代码:{modulecheck(a,b,cout);input[7:0]a,b;outputcout;regcout;always@(a,b)beginif(a==b)cout=1;~elsecout=0;endendmoduleHane0P=理5ru40.0ns■SO.ijnsBLOn=i100.0nri120.Lirui140.Ciru160-0ns■U(IPEL>lJ田A.c2^*9国1£ZCOLit[1!|1波形分析:当输入a和b相等时,cout输出高电平。

2选1选择器模块:mujc21in出5源代码:modulemux21(a,b,s,y);inputa,b,s;outputy;assigny={sb:a};endmodule>波形分析:输入3置为高电平,b为低电平;当s为高电平时,输出y为b的值;反之则为a的值。9选3选择器模块:input[7:0]a,b,c,d,e,f,g,h,i;input[1:0]display;output[7:0]k,l,m;reg[7:0]k,l,m;always@(*)beginif(display==2'b00)begink=a;l=b;m=c;endelseif(display==2'b01)begink=d;l=e;m=c;end}elseif(display==2'b11)begink=a;l=g;m=f;endelseif(display==2'b10)begink=h;l=i;m=c;endend状态机模块:Parameter=TvdbsO0000UnsignedBinarys10001UnsignedBinary0010UnsignedBinarys30011UnsignedBinary0100UnsignedBinary350101UnsignedBinarys&0110UnsignedBinary370111UnsignedBinarys81000UnsiqnedBinarystatusclk_k&yled[3..O]hemeahamsmss的drdisplay[1..0:二instZZ源代码:modulestatus(clk_key,led,hc,mc,ah,am,sm,ss,dy,dr,display);inputclk_key;output[3:0]led;outputhc,mc,ah,am,sm,ss,dy,dr;/output[1:0]display;reg[3:0]led;parameter[3:0]s0=0,s1=1,s2=2,s3=3,s4=4,s5=5,s6=6,s7=7,s8=8;reg[3:0]next_state;reghc,mc,ah,am,sm,ss,dy,dr;reg[3:0]cs;reg[1:0]display;always@(cs)begincase(cs)s0:beginnext_state=s1;hc=0;mc=0;ah=0;am=0;sm=0;ss=0;dy=0;dr=0;display=2'b00;ends1:beginnext_state=s2;hc=1;mc=0;ah=0;am=0;sm=0;ss=0;dy=0;dr=0;display=2'b00;ends2:beginnext_state=s3;hc=0;mc=1;ah=0;am=0;sm=0;ss=0;dy=0;dr=0;display=2'b00;ends3:beginnext_state=s4;hc=0;mc=0;ah=1;am=0;sm=0;ss=0;dy=0;dr=0;display=2'b01;ends4:beginnext_state=s5;hc=0;mc=0;ah=0;am=1;sm=0;ss=0;dy=0;dr=0;display=2'b01;ends5:beginnext_state=s6;hc=0;mc=0;ah=0;am=0;sm=1;ss=0;dy=0;dr=0;display=2'b11;ends6:beginnext_state=s7;hc=0;mc=0;ah=0;am=0;sm=0;ss=1;dy=0;dr=0;display=2'b11;ends7:beginnext_state=s8;hc=0;mc=0;ah=0;am=0;sm=0;ss=0;dy=1;dr=0;display=2'b10;ends8:beginnext_state=s0;hc=0;mc=0;ah=0;am=0;sm=0;ss=0;dy=0;dr=1;display=2'b10;end•endcase;endalways@(posedgeclk_key)begincs<=next_state;led[3:0]=cs;endendmodule【波形分析:led输出到数码管8显示,显示所处的状态s;在4种不同的display状态下,hc(时钟),mc(分钟),ah(闹钟时钟),am(闹钟分钟),sm(定时器分钟),ss(定时器秒钟),dy(日历月份),dr(日)有不同的对应值。月计数模块:TOC\o"1-5"\h\z.一data1.2"::HCLK□QUT[7..O]—:::~RST?:::pEN[-:3inst31"moduledata12(CLK,RST,EN,DOUT,hsend);inputCLK,EN,RST;output[7:0]DOUT;output[3:0]hsend;reg[3:0]A;assignhsend[3:0]=A;reg[7:0]DOUT;always@(*)beginif(A<=9)|beginDOUT[3:0]=A;DOUT[7:4]=0;endelseif(A==10)beginDOUT[3:0]=0;DOUT[7:4]=1;endelseif(A==11)#beginDOUT[3:0]=1;DOUT[7:4]=1;endelseif(A==12)beginDOUT[3:0]=2;DOUT[7:4]=1;endend*always@(posedgeCLKornegedgeRST)beginif(!RST)A=1;elseif(EN)beginif(A<=11)A=A+1;elseA=1;endend

波形分析:当EN和RST信号均为高电平时,月计数器正常工作,从1计数到12(每一个CLK上升沿到来时计数加一),并以此方式不断循环。电路设计草图顶层电路原理图设计波形分析:key1选择模式,key2产生计数脉冲,CLK为运行时钟,CLK2为蜂鸣器时钟。如上图所示:先系统复位一次使其工作在状态s0(时钟正常计数模式),此时按下key2将不产生任何影响,并且在Press(按键8控制)为高电平情况下,speaker工作,只要置Press为低电平,speaker立即停止蜂鸣。按下key1,在CLK上升沿到来时,系统进入s1状态(设置时钟hc)在仿真中,我设置产生两次key2计数脉冲,即设置时钟为2点钟;再按下key1,在CLK上升沿到来时,系统进入s2状态(设置分钟mc),我设置产生两次计数脉冲(key2),此时完成了时间的手动设置(2:02)。34.IT5ID.L9ui波形分析:第三次按下keyl,在CLK上升沿到来时,系统进入,3状态(设置闹钟时钟34.IT5ID.L9ui波形分析:第三次按下keyl,在CLK上升沿到来时,系统进入,3状态(设置闹钟时钟ah),原理同上,设为2点钟,同理将闹钟分钟am设为3,即闹钟时间为2:03。完成上述设置后,连续按下5次key1使系统进入s0状态(由于一开始预留了定时器及日历功能,故状态s5和s6是设置定时器,s7和s8是设置日历,但上述两个附加功能最后一直没能测试成功,所以进行数字钟波形仿真时跳过了这几个状态)。波形分析:系统进入s0波形分析:系统进入s0状态后,数字钟正常工作(在每个CLK时钟上升沿到来时计数加一)。波形分析:我们设置闹钟时间为2:03,波形分析:我们设置闹钟时间为2:03,当数字钟到了这一时刻,speaker开始工作,置Press为低电平即可关掉蜂鸣器。闹钟将持续一分钟。指导教师对学生情况记录:注:此表格必须附在《实验报告》内一并交给任课老师。《综合设计性实验》实验报告#实验名称:数字钟摘要:数字时钟是一种用数字电路技术实现时、分、秒计时的装置。本设计采用VHDL语言及原理图方式设计出的数字时钟具有手动校时,闹钟等功能。通过把整个设计分为多个模块依次来实现,减少了众多重复性步骤,合理化了设计过程,使得设计更加省时、快捷,提高了设计效率。一引言:数字时钟是一种用数字电路技术实现时、分、秒计时的装置,与机械式时钟相比具有更高的准确性和直观性,且无机械装置,具有更长的使用寿命,数字时钟可植入自动控制、测试等系统内部,作为系统的时钟源,可为系统提供定时信号或中断控制的时间基准,具有广泛的用途。由于数字集成电路的发展使得数字时钟的精度远远超过老式钟表,钟表的数字化给人们生产生活带来了极大的方便,而且大大地扩展了钟表原先的单一报时功能。加入了一些诸如自动报时、定时闹钟等功能。这些都是以钟表数字化为基础的。因此,研究数字时钟及扩大其应用,有着非常现实的意义。〜二实验要求:利用前面实验所学知识,设计一数字钟并在GW48实验箱上实现。具体要求如下:计时可选十二进制计时和二十四进制计时;可手动校时,能分别进行时、分的校正;带闹钟功能,当计时计到闹铃时间时,发光二极管点亮,闹铃时间为1分,可用按键提前终止闹铃;带秒表功能;(选做)带日历显示,可显示月、日等。(选做)三实验仪器:1、安装了QuartusII软件的计算机一台;2、GW48实验箱一套。四实验步骤:1、根据题目要求,参考GW48使用说明书,选取适当的模式来实现。2、依据题目要求功能,设计顶层总体结构图。;3、使用VerilogHDL语言来实现顶层结构中各个模块的功能,并创建顶层文件可调用的图形元件,如:24、60进制计数器,数据选择器等模块。4、创建顶层GDF文档,并将各模块连接。5、根据题目要求,以及第一步所选模式,并查表,定义引脚。6、编译并下载到目标芯片中。7、利用实验箱验证所设计的数字钟功能。五数据处理及实验结果表示:1、引脚锁定:

ToLocationEnabled1_>CL<PIN_.152Yes2wENPIN_37Yes3_>RSTPINL3BYes4_>keylPINL1BYes5_>kay2PIN_2LYes6_>CTRPIN_22Yes7■_>hour[0]PIN_.127Yesahaur[l]PIN_.128Yee9hour⑵PIN_.131Yee10hour⑶PIN_.132Yee11」hour[4]PIN_.133Yes12」hour[5]PIN_.134Yes13■/hour[&]PTN_135Yes14■/hour[7]PTN_137Yes15■>mnLO]PTN_7&YesLG■_>min[l]PIN_即YesL7■_>min[2]PIN.1L2YesLS■_>min[3]PIN.1L3Yes19■_?mr[4]FIN_114YesIQ■_?mn闵FIN.117Yes11■_?mn[&]FINL.11SYes12■_?riii[7]PIN_.1Z6Yes13■_?门防。[D]FIN顼Yes240miiaofl]PIN_37Yes250miiaofZ]PIN项Yes26讲miiao[3]PIN_6BYes27—mi酣[4]FIN..69Yes2&■E^mioo-[5]F70Ytes29■E^miao[6]PIN73Yes30«^imiiao[7]PIN76Yas31^moBhii[0]PIN145Yes32心mDGhii[l]PIN14&Yes33■^moshiD]PIN159Yes34■->moshi[3]RINl&DYes35■-^speakerJ1N164Yes35_^CLKZP

温馨提示

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

评论

0/150

提交评论