我是靠谱客的博主 帅气啤酒,最近开发中收集的这篇文章主要介绍Verilog代码BCD计数器,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

设计代码

`timescale 1ns / 1ps
module Test0953(clk,reset,count);
input clk;
input reset;
output [3:0] count;
reg [3:0] count;
parameter zero=0,one=1,two=2,three=3,four=4,five=5,six=6,seven=7,eight=8,nine=9;
reg [3:0] pr_state,nx_state;
///
always @(posedge clk)
   if(reset)
      pr_state<=zero;
   else
      pr_state<=nx_state;
 //     
always @(pr_state)
   case(pr_state)
   zero:begin
      nx_state=one;
      count=4'b0000;
      end
   one:begin
      nx_state=two;
      count=4'b0001;
      end
   two:begin
      nx_state=three;
      count=4'b0010;
      end
   three:begin
      nx_state=four;
      count=4'b0011;
      end
   four:begin
      nx_state=five;
      count=4'b0100;
      end   
   five:begin
      nx_state=six;
      count=4'b0101;
      end
   six:begin
      nx_state=seven;
      count=4'b0110;
      end
   seven:begin
      nx_state=eight;
      count=4'b0111;
      end
   eight:begin
      nx_state=nine;
      count=4'b1000;
      end
   nine:begin
      nx_state=zero;
      count=4'b1001;
      end
   default:nx_state=0;
   endcase
endmodule

测试代码

`timescale 1ns / 1ps
module Test1006;
reg clk;
reg reset;
wire [3:0] count;

always begin
   #10 clk=1;
   #10 clk=0;
end

initial begin
   clk=0;
   reset=1;
   #20 reset=0;
   #4000;
   end
Test0953 x1(.clk(clk),
            .reset(reset),
            .count(count));   
endmodule

要求和代码逻辑比较简单,就不放置仿真波形了,可以自己去做仿真看。

最后

以上就是帅气啤酒为你收集整理的Verilog代码BCD计数器的全部内容,希望文章能够帮你解决Verilog代码BCD计数器所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部