微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 倒计时器写到板子上,一直停在0000 按load也没有反应

倒计时器写到板子上,一直停在0000 按load也没有反应

时间:10-02 整理:3721RD 点击:

module BCD_cnt59(qout,en,clk,load,data); //倒计时模块//

parameter zero=4'b0000;

output reg[11:0] qout;

input en,clk,load;

input [3:0] data;

always@(posedge clk )

   if(load)

   begin qout[11:7]=data;qout[7:4]=0;end

    else if(en)

          if(qout[3:0]==4'b0000)

            if(qout[7:4]==4'b0000)

               if(qout[11:8]==4'b0000) qout[11:0]=0;

                                        else begin qout[7:4]=4'b0101;qout[11:8]=qout[11:8]-1'b1;end

            else

            begin  qout[7:4]=qout[7:4]-1'b1; qout[3:0]=4'b1001;end

          else qout[3:0]=qout[3:0]-1'b1;

endmodule

module shudian(mclk,load,pause,cont,min0,ld,led,AN
    );
parameter zero=4'b0000;
input mclk,load,pause,cont;
input [3:0]min0;
output reg ld;
output [7:0] led;
output [3:0] AN;
reg en;
wire[11:0] qout;
wire tclk,ledclk;
wire [3:0]display;
clk_led t1(.clkin(mclk),.clkout(ledclk));//数码管位选时钟//
sec_clk t0(.clkin(mclk),.clkout(tclk)); //1s时钟信号//
led_select l0(.clk(ledclk),.AN(AN)); //数码管位选信号//
display_select s1(.display(display),.qout(qout),.ledclk(ledclk),.AN(AN));//数码管段选信号//
seg_decoder d1(.display(display),.AN(AN),.led(led)); //译码器//
BCD_cnt59 c1(.qout(qout),.en(en),.clk(tclk),.load(load),.data(data));
always @(negedge tclk)
if(qout==0) ld<=1;else ld<=0;
always @( pause or cont )  
          if(pause) en<=0;else if(cont) en<=1;else en<=en;
endmodule
写到板子上,一直停在0000
按load也没有反应

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top