| 
 | 
 
当我下载到板子上仿真的时候出现了没有定义的数码管亮了,定义的数码管亮度很暗,但显示的结果是对的 
module clock1(clr,clk,segdat,sl); 
input clr,clk; 
output [7:0] segdat; 
output [3:0] sl; 
reg[36:0] count; 
reg[7:0]  sec,min; 
reg[7:0]  segdat_reg; 
reg[3:0]  sl_reg; 
reg[3:0]  disp_dat; 
reg second; 
reg cn; 
 
parameter CLK_FREQ = 26'd50_000_000;//系统时钟 
parameter DCLK_FREQ = 26'd2;        //输出频率10Hz 
 
always@(posedge clk) 
   begin 
   if(count<(CLK_FREQ/DCLK_FREQ)) 
    count <= count + 1'b1; 
  else 
   begin 
   count <= 0; 
   second <= ~second; 
end 
end 
always@(count[14:13]) 
   begin 
   case(count[14:13]) 
        2'b00: 
                    begin 
                     disp_dat= sec[3:0];         
                     sl_reg = 4'b1110;         
                    end 
                2'b01: 
                    begin 
                     disp_dat=sec[7:4];         
                     sl_reg=4'b1101;                 
                    end 
                2'b10: 
                    begin 
                     disp_dat=min[3:0];         
                    sl_reg=4'b1011;                 
                    end 
                2'b11: 
                    begin 
                     disp_dat=min[7:4];         
                     sl_reg=4'b0111;                 
                    end 
    endcase 
   end 
 
 
always @(posedge second ) 
   begin 
     if(!clr) 
       begin 
       sec[7:0]=8'h0; 
       cn=0; 
       end 
     else 
       begin 
       cn=0; 
       sec[3:0]=sec[3:0]+1'b1;  
       if(sec[3:0]==4'd10)  
       begin 
          sec[3:0]=4'd0; 
          sec[7:4]=sec[7:4]+1'b1; 
          if(sec[7:4]==4'd6) 
             begin 
               sec[7:4]=4'd0; 
               cn=1; 
             end 
       end 
       end 
    end 
always @(posedge cn) 
    begin 
     if(!clr) 
       begin 
       min[7:0]=8'h0; 
       end 
     else 
       begin 
       min[3:0]=min[3:0]+1'b1;  
       if(min[3:0]==4'd10)  
       begin 
          min[3:0]=4'd0; 
          min[7:4]=min[7:4]+1'b1; 
          if(min[7:4]==4'd6) 
             begin 
               min[7:4]=4'd0; 
             end 
       end 
       end 
    end 
always@(disp_dat or sl) 
   begin 
     case(disp_dat) 
     4'h0:segdat_reg=8'hc0; 
     4'h1:segdat_reg=8'hf9; 
     4'h2:segdat_reg=8'ha4; 
     4'h3:segdat_reg=8'hb0; 
     4'h4:segdat_reg=8'h99; 
     4'h5:segdat_reg=8'h92; 
     4'h6:segdat_reg=8'h82; 
     4'h7:segdat_reg=8'hf8; 
     4'h8:segdat_reg=8'h80; 
     4'h9:segdat_reg=8'h90; 
     default:segdat_reg=8'hc0;  
   endcase 
     
   end 
assign segdat=segdat_reg; 
assign sl=sl_reg; 
endmodule |   
 
 
 
 |