题解 | #简易秒表#

简易秒表

http://www.nowcoder.com/practice/6493ca8c7b67499f918e1fa33b4cdeda

module count_module( //秒表计数器 input clk, input rst_n, output reg [5:0]second, output reg [5:0]minute );

reg flag1 = 0;

always@(posedge clk or negedge rst_n)begin
   if(rst_n == 1'b0)begin
       second <= 6'd0;
   end
   else begin
       if(second >= 6'd60)begin
           second <= 6'd1;
           flag1 <= 1'b1;
       end
       else begin
               second <= second + 1'b1;
               flag1 <= 1'b0;
       end
   end
end

always@(posedge flag1 or negedge rst_n)begin
   if(rst_n == 1'b0)
       minute <= 6'd0;
   else begin
       if(minute >= 6'd59)begin
           minute <= 6'd60;
       end
       else begin
           minute <= minute + 1;
       end
   end
   
end

endmodule

全部评论
这位老哥给出的是异步计数器的写法,将低位计数器的输出作为高位计数器的时钟信号。由于采用了级联的方式,所以运行速度比同步计数器慢。在功能性上,其仿真波形则是与同步计数器完全一致的。
3 回复 分享
发布于 2022-04-01 13:00

相关推荐

不愿透露姓名的神秘牛友
11-26 16:06
已编辑
快手电商 后端 23k-35k
点赞 评论 收藏
分享
铁锈不腻玩家:下面那个袁先生删了,问他怎么回事,头像都换不明白
点赞 评论 收藏
分享
评论
4
收藏
分享
牛客网
牛客企业服务