【文章內(nèi)容簡介】
in min1[7:0]=0。 hclk=1。 end endalways @(posedge hclk) //時 begin if(stop==1) begin hour1[7:0]=0。 end if(hour1==839。h23) hour1=0。 else begin if(hour1[3:0]==9) begin hour1[3:0]=0。 hour1[7:4]=hour1[7:4]+1。 end else hour1[3:0]=hour1[3:0]+1。 end if(stop==1) begin hour1[7:0]=0。 end end 定時電路模塊設(shè)計定時電路也是采用寄存器的方法來保存時,分,通過改變寄存器的里的數(shù)據(jù)來定時。Turn是用來調(diào)節(jié)時與分之間的轉(zhuǎn)換,change則改變數(shù)值的的變化。如果Turn在時位上,則每點一下change則改變時位加1,知道23再加1則清零;如果Turn在分位上,則每點一下change則改變分位加1,知道59再加1則清零。always @(posedge turn) begin fm=~fm。 endalways begin if(fm) begin counta=change。 end else begin countb=change。 end end always begin asec=839。hzz。 endalways @(posedge counta) begin if(amin==839。h59) amin=0。 else begin if(amin[3:0]==9) begin amin[3:0]=0。 amin[7:4]=amin[7:4]+1。 end else amin[3:0]=amin[3:0]+1。 end endalways @(posedge countb) if(ahour==839。h23) ahour=0。 else begin if(ahour[3:0]==9) begin ahour[3:0]=0。 ahour[7:4]=ahour[7:4]+1。 end else ahour[3:0]=ahour[3:0]+1。 end 報時電路模塊設(shè)計 報時電路是通過對比定時電路中的數(shù)據(jù)與計數(shù)器中的數(shù)據(jù)來達到準確報時的目的。代碼實現(xiàn)如下:always if((hour1[7:0]==ahour[7:0])amp。amp。(min1[7:0]==amin[7:0]amp。amp。min1!=0)amp。amp。stop!=1amp。amp。sec1[7:0]==1)