您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 数字时钟(闹钟-计时-调节)
EDA实验六电子时钟设计(逻辑综合)姓名:莫俞聪学号:116170002班级:阳明1班一、实验目的:(1)能利用Verilog对一个给定功能的电路进行行为级的描述。(2)理解扫描在电路中的作用。(3)利用仿真工具对描述的电路进行功能仿真,验证电路行为的准确性。(4)用DA工具对相应设计进行综合(包括DA安装)。(5)理解Verilog代码可综合的意义。二、实验原理:(一输入部分:Reset:全局清零,高电平有效;Load:数据载入,高电平有效。(解决同一时间多次载入问题)。Clk:时钟信号。1024Hz;Model:功能选择信号;Sel:位选择信号,高电平有效;Up:调整加1信号,高电平有效;Down:调整减1信号,高电平有效。输出部分:Alarm_out:闹铃信号,高电平有效;Min_10:分钟十位信号;七段LED输出;Min_1:分钟个位信号;七段LED输出;Sec_10:秒的十位信号;七段LED输出;Sec_1:秒的个位信号;七段LED输出;(二)电路原理:reset_loadclkmodelupdownalarm_outmin_10min_1sec_10sec_1selcounter_timer三、实验要求:1、可以实现校时;校时时可以实现对秒,十秒,分,十分位的分别调整;2、可以实现闹铃;闹铃设置时可以分别实现对秒,十秒,分,十分位的分别调整;3、用model信号实现对电子时钟的菜单操作。4、待改动位实现闪动。如要调整十分位,则十分位的数字是闪动的。四、实验步骤:(一)实验代码:timing:moduletiming(reset1,model,clk1,reset,amiao1,afen1,amiao2,afen2,armiao1,armiao2,arfen1,arfen2,miao1,miao2,fen1,fen2,naoling);inputclk1,reset,reset1;input[1:0]model;input[3:0]amiao1,afen1,amiao2,afen2,armiao1,armiao2,arfen1,arfen2;output[3:0]miao1,fen1,miao2,fen2;outputnaoling;regnaoling;reg[3:0]miao1,miao2,fen1,fen2;reg[3:0]m1,f1,m2,f2;always@(posedgeclk1)beginif(model==0||model==1||model==2)beginif(reset1==1)beginif(model==0)//model=0,timgingbeginf1=0;m1=0;f2=0;m2=0;endelseif(model==1)//model=1,adjustingbeginm1=amiao1;m2=amiao2;f1=afen1;f2=afen2;naoling=0;endtimingalarmingadjustingselselmin_10,min_1,sec_10,sec_1min_10,min_1,sec_10,sec_1modelManual_level1Manual_level2upordownendelsebeginm1=m1+1;if(m1==10)beginm1=0;m2=m2+1;endif(m2==6)beginm2=0;f1=f1+1;endif(f1==10)beginf1=0;f2=f2+1;endif(f2==6)f2=0;endmiao1=m1;miao2=m2;fen1=f1;fen2=f2;endif(reset==0&&armiao1==miao1&&armiao2==miao2&&arfen1==fen1&&arfen2==fen2)//alarmingnaoling=1;endendmoduleadjusting:moduleadjusting(model,reset,up,down,sel,amiao1,amiao2,afen1,afen2,p);inputup,down,reset,p;input[1:0]sel,model;output[3:0]amiao1,amiao2,afen1,afen2;reg[3:0]mm1,ff1,mm2,ff2,amiao1,amiao2,afen1,afen2;always@(posedgep)beginif(reset==1)beginff1=0;mm1=0;ff2=0;mm2=0;endelseif(down==1&&model==1&&up==0)beginif(sel==0)beginmm1=mm1-1;if(mm1==15)mm1=9;endelseif(sel==1)beginmm2=mm2-1;if(mm2==15)mm2=5;endelseif(sel==2)beginff1=ff1-1;if(ff1==15)ff1=9;endelsebeginff2=ff2-1;if(ff2==15)ff2=5;endendelseif(up==1&&model==1&&down==0)beginif(sel==0)beginmm1=mm1+1;if(mm1==10)mm1=0;endelseif(sel==1)beginmm2=mm2+1;if(mm2==6)mm2=0;endelseif(sel==2)beginff1=ff1+1;if(ff1==10)ff1=0;endelsebeginff2=ff2+1;if(ff2==6)ff2=0;endendamiao1=mm1;amiao2=mm2;afen1=ff1;afen2=ff2;endendmodulealarming:modulealarming(model,reset,up,sel,p,armiao1,armiao2,arfen1,arfen2);inputup,reset,p;input[1:0]sel,model;output[3:0]armiao1,armiao2,arfen1,arfen2;reg[3:0]armiao1,armiao2,arfen1,arfen2;reg[3:0]m1,f1,m2,f2;regnaoling;always@(posedgep)if(reset==1&&model==2)beginf1=0;m1=0;f2=0;m2=0;armiao1=0;armiao2=0;arfen1=0;arfen2=0;endelseif(up==1&&reset==0&&model==2)beginif(sel==0)beginm1=m1+1;if(m1==10)m1=0;endelseif(sel==1)beginm2=m2+1;if(m2==6)m2=0;endelseif(sel==2)beginf1=f1+1;if(f1==10)f1=0;endelsebeginf2=f2+1;if(f2==6)f2=0;endarmiao1=m1;armiao2=m2;arfen1=f1;arfen2=f2;endendmoduleyimiao:moduleyimiao(clk,clk1,reset);inputclk,reset;//shuirui50mkzshuichu1000Hzoutputclk1;reg[30:0]myc;regclk1;always@(posedgeclk)beginif(reset==1)beginmyc=0;clk1=0;endelseif(reset==0&&myc==24999999)beginclk1=!clk1;myc=0;endelsemyc=myc+1;endendmodulemoda:modulemoda(load,model,clk1,armiao1,armiao2,arfen1,arfen2,amiao1,afen1,amiao2,afen2,miao1,miao2,fen1,fen2,dispfen1,dispfen2,dispmiao1,dispmiao2);inputclk1,load;input[1:0]model;//reg[1:0]model;input[3:0]armiao1,armiao2,arfen1,arfen2,amiao1,amiao2,afen1,afen2,miao1,miao2,fen1,fen2;//reg[3:0]armiao1,armiao2,arfen1,arfen2,amiao1,afen1,amiao2,afen2,miao1,miao2,fen1,fen2;output[6:0]dispfen1,dispfen2,dispmiao1,dispmiao2;reg[6:0]dispfen1,dispfen2,dispmiao1,dispmiao2;reg[6:0]disp;always@(posedgeclk1)if(model==0&&load==1)beginbegincase(miao1)4'h0:disp=7'b1000000;4'h1:disp=7'b1111001;4'h2:disp=7'b0100100;4'h3:disp=7'b0110000;4'h4:disp=7'b0011001;4'h5:disp=7'b0010010;4'h6:disp=7'b0000010;4'h7:disp=7'b1111000;4'h8:disp=7'b0000000;4'h9:disp=7'b0010000;4'ha:disp=7'b0001000;endcasedispmiao1=disp;endbegincase(miao2)4'h0:disp=7'b1000000;4'h1:disp=7'b1111001;4'h2:disp=7'b0100100;4'h3:disp=7'b0110000;4'h4:disp=7'b0011001;4'h5:disp=7'b0010010;4'h6:disp=7'b0000010;4'h7:disp=7'b1111000;4'h8:disp=7'b0000000;4'h9:disp=7'b0010000;4'ha:disp=7'b0001000;endcasedispmiao2=disp;endbegincase(fen1)4'h0:disp=7'b1000000;4'h1:disp=7'b1111001;4'h2:disp=7'b0100100;4'h3:disp=7'b0110000;4'h4:disp=7'b0011001;4'h5:disp=7'b0010010;4'h6:disp=7'b0000010;4'h7:disp=7'b1111000;4'h8:disp=7'b0000000;4'h9:disp=7'b0010000;4'ha:disp=7'b0001000;endcasedispfen1=disp;endbegincase(fen2)4'h0:disp=7'b1000000;4'h1:disp=7'b1111001;4'h2:disp=7'b0100100;4'h3:disp=7'b0110000;4'h4:disp=7'b0011001;4'h5:disp=7'b0010010;4'h6:disp=7'b0000010;4'h7:disp=7'b1111000;4'h8:disp=7'b0000000;4'h9:disp=7'b0010000;4'ha:disp=7'b0001000;endcasedispfen2=disp;endendelseif(model==1&&load==1)beginbegincase(amiao1)4'h0:disp=7'b1000000;4'h1:disp=7'b1111001;4'h2:disp=7'b0100100;4'h3:disp=7'b0110000;4'h4:disp=7'b0011001;4'h5:disp=7'b001001
本文标题:数字时钟(闹钟-计时-调节)
链接地址:https://www.777doc.com/doc-1858196 .html