FPGA BCD计数器(一位)

来源:互联网 发布:淘宝卖手机壳怎么买 编辑:程序博客网 时间:2024/06/05 01:53

模块代码:

module BCD_Count(Clk,Rst_n,Cin,Cout,q);input Clk;input Rst_n;input Cin;output reg Cout;output [3:0] q;reg [3:0] cnt;always@( posedge Clk or negedge Rst_n )beginif( Rst_n==0 )cnt<=0;else if( Cin==1 )beginif( cnt==9 )begincnt<=0;Cout<=1;endelsecnt<=cnt+1;endelse if( Cin==0 )Cout<=0;endassign q=cnt;endmodule 


testbench代码:

`timescale 1ns/1ns`define Time_Periord 20module BCD_Count_tb;reg clk;reg rst;reg cin;wire cout;wire [3:0] q;BCD_Count BCD_Count0(.Clk(clk),.Rst_n(rst),.Cin(cin),.Cout(cout),.q(q));initial clk=1;always#(`Time_Periord/2)clk=~clk;initialbeginrst=0;#100;rst=1;repeat( 30 )begincin=0;#(`Time_Periord*10); cin=1;#(`Time_Periord*1); end$stop;endendmodule 

RTL仿真结果:



0 0
原创粉丝点击