您好,欢迎访问三七文档
华中科技大学文华学院电子线路实验设计报告题目:多功能数字钟电路的设计专业:计算机科学与技术班级:2班姓名:学号:13指导教师:谢永锋1一、实验名称:多功能数字钟电路的设计二、实验目的:1.掌握可编程逻辑器件的应用开发技术——设计输入、编译、仿真和器件编程;2.熟悉一种EDA软件使用;3.掌握Verilog设计方法;4.掌握分模块分层次的设计方法三、实验要求:设计一个具有时、分、秒计时的电子钟电路,按照24小时计时。要求:(1)准确计时,以数字的形式显示时、分、秒的时间;(2)具有分时校正功能,校正输入脉冲频率为1Hz;(3)具有仿广播电台整点报时的功能,即每逢59分51秒、53秒、55秒、57秒时,发出4声500Hz低音,在59分59秒时发出一声1kHz高音,它们持续的时间均为1秒,最后一声高音结束的时刻恰好为正点时刻;(4)具有定时闹钟功能,且最长闹铃时间为1分钟。要求可以任意的设着闹钟的时、分、秒;闹铃信号为500Hz和1kHz的方波信号,两种频率的信号交替输出,且均持续1秒。摄者一个停止闹钟控制键,可以停止输出闹铃的信号。分计数器计满60后向小时计数器进位2四:数字钟主体电路的设计数字钟系统由主体电路和扩展电路两部分组成层次模块图数字钟顶层模块小时计数器分钟计数器秒计数器六进制计数器十进制计数器六进制计数器十进制计数器数字钟主体电路的设计:①模24计数器的VerilogHDL设计(counter24.v)小时计数器的计数规律为00—01—…—22—23—00…,即在设计时要求小时计数器的个位和十位均按BCD码计数。②模60计数器的VerilogHDL设计(counter60.v)分和秒计数器的计数规律为00—01—…—58—59—00…,可见个位计数器从0~9计数,是一个10进制计数器;十位计数器从0~5计数,是一个六进制计数器。可以先分别设计一个十进制计数器模块(counter10.v)和一个六进制计数器模块(counter6.v),然后将这两个模块组合起来,构成六十进制计数器。分计数器计满60后向小时计数器进位3Ⅰ模6进制计数器的VerilogHDL设计(counter6.v)//counter6.v(BCD:0--9)modulecounter6(Q,ncR,EN,CP);inputCP,ncR,EN;outputreg[3:0]Q;always@(posedgeCP,negedgencR)beginif(~ncR)//ncR=0,计数器被异步清零Q=4'b0000;elseif(~EN)//EN=0,暂停计数Q=Q;elseif(Q==4'b0101)Q=4'b0000;elseQ=Q+1'b1;//计数器增1计数endEndmodule功能仿真波形图4Ⅱ模10进制数字器的VerilogHDL设计(counter10.v)//counter10.v(BCD:0--9)modulecounter10(Q,ncR,EN,CP);inputCP,ncR,EN;outputreg[3:0]Q;always@(posedgeCP,negedgencR)beginif(~ncR)//ncR=0,计数器被异步清Q=4'b0000;elseif(~EN)//EN=0,暂停计数Q=Q;elseif(Q==4'b1001)Q=4'b0000;elseQ=Q+1'b1;//计数器增1计数endEndmodule功能仿真波形图5Ⅲ模60计数器的VerilogHDL设计(counter60.v)//counter60.v(BCD:00~59)modulecounter60(Cnt,nCR,EN,CP);inputCP,nCR,EN;output[7:0]Cnt;wire[7:0]Cnt;wireENP;counter10UC0(Cnt[3:0],nCR,EN,CP);counter6UC1(Cnt[7:4],nCR,ENP,CP);assignENP=(Cnt[3:0]==4'h9);endmodule功能仿真波形图Ⅳ模24计数器的VerilogHDL设计(counter24.v)//filename:counter24.v(BCD:0--23)modulecounter24(CntH,CntL,ncR,EN,CP);inputCP,ncR,EN;output[3:0]CntH,CntL;reg[3:0]CntH,CntL;always@(posedgeCP,negedgencR)beginif(~ncR){CntH,CntL}=8'h00;elseif(~EN){CntH,CntL}={CntH,CntL};elseif((CntH2)||(CntL9)||((CntH==2)&&(CntL=3))){CntH,CntL}=8'h00;elseif((CntH==2)&&(CntL3))beginCntH=CntH;CntL=CntL+1'b1;endelseif(CntL==9)6beginCntH=CntH+1'b1;CntL=4'b0000;endelsebeginCntH=CntH;CntL=CntL+1'b1;endendendmodule功能仿真波形图Ⅴ仿电台整点报时的电路设计//Radio.vmoduleRadio(ALARM_Radio,Minute,Second,_1kHzIN,_500Hz);input_1kHzIN,_500Hz;input[7:0]Minute,Second;outputALARM_Radio;regALARM_Radio;always@(MinuteorSecond)if(Minute==8'h59)case(Second)8'h51,8'h53,8'h55,8'h57:ALARM_Radio=_500Hz;8'h59:ALARM_Radio=_1kHzIN;default:ALARM_Radio=1'b0;endcaseelseALARM_Radio=1'b0;Endmodule功能仿真波形图7Ⅵ数字钟主体电路的设计//top_clock.vmoduletop_clock(Hour,Minute,Second,_1Hz,nCR,AdjMinKey,AdjHrKey);input_1Hz,nCR,AdjMinKey,AdjHrKey;output[7:0]Hour,Minute,Second;wire[7:0]Hour,Minute,Second;supply1Vdd;wireMinCP,HrCP;//Hour:Minute:Secondcountercounter60UT1(Second,nCR,Vdd,_1Hz);counter60UT2(Minute,nCR,Vdd,~MinCP);counter24UT3(Hour[7:4],Hour[3:0],nCR,Vdd,~HrCP);assignMinCP=AdjMinKey?_1Hz:(Second==8'h59);assignHrCP=AdjHrKey?_1Hz:({Minute,Second}==16'h5959);Endmodule功能仿真波形图对计时器进位情况的仿真8Ⅶ定时闹钟模块设计//Bell.vmoduleBell(ALARM_Clock,Set_Hr,Set_Min,Hour,Minute,Second,SetHrKey,SetMinKey,_1kHzIN,_500Hz,1_Hz,CtrlBell);outputALARM_Clock;output[7:0]Set_Hr,Set_Min;wire[7:0]Set_Hr,Set_Min;wireALARM_Clock;input_1kHzIN,_500Hz,1_Hz;inputSetHrKey,SetMinKey;inputCtrlBell;input[7:0]Hour,Minute,Second;supply1Vdd;wireHrH_EQU,HrL_EQU,MinH_EQU,MinL_EQU;wireTime_EQU;counter60SU1(Set_Min,Vdd,SetMinKey,1_Hz);counter24SU2(Set_Hr[7:4],Set_Hr[3:0],Vdd,SetHrKey,1_Hz);_4bitcomparatorSU4(HrH_EQU,Set_Hr[7:4],Hour[7:4]);_4bitcomparatorSU5(HrL_EQU,Set_Hr[3:0],Hour[3:0]);_4bitcomparatorSU6(MinH_EQU,Set_Min[7:4],Minute7:4]);_4bitcomparatorSU7(MinL_EQU,Set_Min[3:0],Minute[3:0]);assignTime_EQU=(HrH_EQU&&HrL_EQU&&MinH_EQU&&MinL_EQU);assignALARM_Clock=CtrlBell?(Time_EQU&&({(Second[0]==1’b1)&&_500Hz}||((Second[0]==1’b0)&&_1kHz))):1’b0;endmodule//_4bitcomparator.vmodule_4bitcomparator(EQU,A,B);input[3:0]A,B;outputEQU;assignEQU=(A==B);endmodule对计时、校时、校分和清零功能的仿真9功能仿真波形图五、实验心得体会经过这次多功能数字钟电路的设计实验后,让我进一步的熟悉EDA软件使用、掌握Verilog设计方法及分模块分层次的设计方法。也让我知道了对Verilog语言的学习不仅是能读懂别人的程序,更重要的是能写出条理清晰的程序。通过做多功能数字钟,我发现自己对Verilog语言还不是很熟悉,接下来的时间要加强语言的学习,多看一些语言方面的书籍。分计数器计满60后向小时计数器进位
本文标题:电子线路实验报告
链接地址:https://www.777doc.com/doc-1876654 .html