always @ (posedge sys_clk or negedge rst_n) 
    if(!rst_n)  ge_second<=4'd0; 
    else if(cnt_1s==25'd25000000)                //如果一秒钟到了 
        begin 
            ge_second<=ge_second+1'b1;         //秒针数加1 
            if(ge_second==4'd10)                      //如果秒数为10 
                ge_second<=0;                           //秒数清零     
        end 
系统时钟上25M。我认为秒数应该只出现0、1、2、3、4、5、6、6、7、8、9,这几,但是10秒也持续了1s钟,我很奇怪了。 
但代码这样写就没有问题了 
always @ (posedge sys_clk or negedge rst_n) 
    if(!rst_n)  ge_second<=4'd0; 
    else if(cnt_1s==25'd25000000)                //如果一秒钟到了 
        begin 
            if(ge_second==4'd9)                       //当前已经是第9秒了 
                ge_second<=0;                          //秒数清零 
            else    
                ge_second<=ge_second+1'b1;     //否则秒数加1 
        end |   
     
  
 |