您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 电子技术实验FPGA大作业
1/20154182/1.32.33.34.35.31.72.73.74.75.73/1.led1)2)3)“E”2.basys2Pnumnumledled—clrbtnAnum1E3.led4.12ISE—NETaddCLOCK_DEDICATED_ROUTE=FALSE;3—01E—4regwire5.4///moduleadd_sub(inputwire[7:0]sw,//inputadd,//btninputsub,//btninputclr,//btninputclk,//outputwire[3:0]led,//led,outputreg[6:0]a_to_g,//output[3:0]an//);wires;wiret;//s,treg[4:0]num;//reg[3:0]nume;//reg[32:0]clk_cnt;////,01always@(*)case(nume)0:a_to_g=7'b0000001;1:a_to_g=7'b1001111;'hE:a_to_g=7'b0110000;default:a_to_g=7'b0110000;endcaseassigns=clk_cnt[15];assignt=clk_cnt[16];//s,tAassignan[3]=s|t;assignan[2]=(~s)|t;assignan[1]=s|(~t);assignan[0]=(~s)|(~t);//analways@(*)//ledif(clr)num=4'b0000;//elsebeginclk_cnt=clk_cnt+1;if(add)num=sw[7:4]+sw[3:0];//5if(sub)num=sw[7:4]-sw[3:0];//end//Aalways@(*)begincase(s)1:case(t)1:nume=num[0];0:nume=num[2];endcase0:case(t)1:nume=num[1];0:nume=num[3];//nume,endcaseendcaseif(num[4]==1)nume='hE;//Eendassignled=num[3:0];//ledendmodule#PlanAheadGeneratedphysicalconstraintsNETled[0]LOC=M5;NETled[1]LOC=M11;NETled[2]LOC=P7;NETled[3]LOC=P6;NETsw[0]LOC=P11;NETsw[1]LOC=L3;NETsw[2]LOC=K3;NETsw[3]LOC=B4;NETsw[4]LOC=G3;NETsw[5]LOC=F3;NETsw[6]LOC=E2;NETsw[7]LOC=N3;NETaddLOC=C11;NETsubLOC=G12;NETclrLOC=M4;NETan[0]LOC=F12;6NETan[1]LOC=J12;NETan[2]LOC=M13;NETan[3]LOC=K14;NETa_to_g[1]LOC=L13;NETa_to_g[0]LOC=M12;NETa_to_g[2]LOC=P12;NETa_to_g[3]LOC=N11;NETa_to_g[4]LOC=N14;NETa_to_g[5]LOC=H12;NETa_to_g[6]LOC=L14;NETaddCLOCK_DEDICATED_ROUTE=FALSE;7/1.1—24—LED12LED2—112/24232.F——BCDled0012/24btn1212LED7BCDGclralways3.4.1flag_increase_time…flag_increase_time=increase_time;P…2Basys2an—5.moduletop(inputclk,//inputclr,//inputhour_minute_opt,//,108inputincrease_time,//btninputam_pm_change,//12-24btninputset_alarm,//btninput[6:0]sw,//outputhour_strike,//ledoutputalarm,//ledoutputpm,//pmledoutput[4:0]hour_show,//ledoutput[3:0]an,//outputreg[6:0]a_to_g//);reg[30:0]clk_cnt;//reg[3:0]NUM;//reg[17:0]switch;//regpm_flag;//pmwire[7:0]second_h;//8wire[7:0]second;//reg[7:0]minute;//reg[4:0]hour;//reg[4:0]hour_alarm;//reg[7:0]minute_alarm;//regflag_increase_time;//btn//always@(*)case(NUM)0:a_to_g=7'b0000001;1:a_to_g=7'b1001111;2:a_to_g=7'b0010010;3:a_to_g=7'b0000110;4:a_to_g=7'b1001100;5:a_to_g=7'b0100100;6:a_to_g=7'b0100000;7:a_to_g=7'b0001111;8:a_to_g=7'b0000000;9:a_to_g=7'b0000100;default:a_to_g=7'b0000001;endcase//second_hBCDsecond,,reg[3:0]c;reg[7:0]q;9assignsecond={c,q[3:0]};always@(*)beginc=second_h[7:0]/16;q=(second_h[7:0]%16)+(second_h[7:0]/16)*6;if(q/16)beginc=c+q/16;q=q%16+(q/16)*6;endif(q/16)beginc=c+q/16;q=q%16+(q/16)*6;endif(q/16)beginc=c+q/16;q=q%16+(q/16)*6;endelseif(q=10)beginc=c+1;q=q-10;endend//,always@(posedgeclkorposedgeclr)beginif(clr)beginclk_cnt=0;minute=0;hour=0;hour_alarm=8'b11111111;minute_alarm=8'b11111111;endelsebeginclk_cnt=clk_cnt+1;//second60;6010,if(clk_cnt[29:22]59)//60beginclk_cnt=0;minute=minute+1;endif(minute[3:0]9)//10beginminute=minute+6;endif(minute[7:4]5)//60beginminute=0;hour=hour+1;endif(hour23)//24beginhour=0;end//btnswif(increase_time&&hour_minute_opt&&!flag_increase_time)beginhour=hour+sw;end//btnswif(increase_time&&!hour_minute_opt&&!flag_increase_time)beginminute=minute+sw;endflag_increase_time=increase_time;//P…//btnif(set_alarm&&hour_minute_opt)beginhour_alarm=0;hour_alarm=hour_alarm+sw[4:0];end//btn,11if(set_alarm&&!hour_minute_opt)beginminute_alarm=0;minute_alarm=minute_alarm+sw;endendendalways@(posedgeam_pm_change)//am-pmpm_flag=~pm_flag;//12/2412assignsecond_h=clk_cnt[29:22];//assignan[0]=switch[15]||switch[16];assignan[1]=(~switch[15])||switch[16];assignan[2]=switch[15]||(~switch[16]);assignan[3]=(~switch[15])||(~switch[16]);//Aassignhour_strike=(minute==0)&&second[0]&&(second17);//10,second[0]assignhour_show=hour-12*(pm_flag&&(hour12));//12/24assignalarm=(hour==hour_alarm)&&(minute==minute_alarm)&&second[0]&&(second33);//LED20assignpm=pm_flag&&(hour12);//pm12always@(posedgeclk)//switchAbeginif(clk)beginswitch=switch+1;if(switch[17])//switch15,16,switch17switch=0;endendalways@(*)//,Acase(switch[16:15])1:NUM=second[7:4];0:NUM=second[3:0];2:NUM=minute[3:0];3:NUM=minute[7:4];12endcaseendmodule#PlanAheadGeneratedphysicalconstraintsNETa_to_g[0]LOC=M12;NETa_to_g[1]LOC=L13;NETa_to_g[2]LOC=P12;NETa_to_g[3]LOC=N11;NETa_to_g[4]LOC=N14;NETa_to_g[5]LOC=H12;NETa_to_g[6]LOC=L14;NETsw[0]LOC=N3;NETsw[1]LOC=E2;NETsw[2]LOC=F3;NETsw[3]LOC=G3;NETsw[4]LOC=B4;NETsw[5]LOC=K3;NETsw[6]LOC=L3;NETalarmLOC=M5;NETam_pm_changeLOC=A7;NETclkLOC=B8;NETclrLOC=M4;NETincrease_timeLOC=G12;NEThour_minute_optLOC=P11;NETset_alarmLOC=C11;NEThour_strikeLOC=M11;NETpmLOC=P7;#PlanAheadGeneratedphysicalconstraintsNEThour_show[0]LOC=G1;NEThour_show[1]LOC=P4;NEThour_show[2]LOC=N4;NEThour_show[3]LOC=N5;NEThour_show[4]LOC=P6;NETan[0]LOC=F12;NETan[1]LOC=J12;NETan[2]LOC=M13;NETan[3]LOC=K14;
本文标题:电子技术实验FPGA大作业
链接地址:https://www.777doc.com/doc-5747724 .html