FPGA Vivado环境下实现计数器

  1. 本文实现的是一个简单的计数器,模块中包含时钟信号和复位信号,计数使用的是一个四位的输出,复位键有效时,计数器置零,当时钟信号上升沿时,计数加一,实现计数。(仅供参考)
  2. 建立工程counter,并新建一个设计文件命名为:counter

 

 

3.打开counter文件,进行计数器的模块编码:

    

 

4.点击 RTL ANALYSIS→Open Elaborated Design→Schematic 项,可以查看 RTL 描述后的结构,如下所示

 

5.新建一个仿真文件命名为counter_simulation

 

6.点开counter_simulation进行模块仿真的编码:

 

7.点击SIMULATION→Run Simulation→Run Behavioral Simulation进行

仿真,如下所示:

 

8.模块设计代码:

module counter(
input clk,
input rst,
output reg[3:0] out // 4位计数器
    );
   always @ (posedge clk or posedge rst) 
   begin
   if(rst) begin
   out<=0;
   end
   else begin
   out<=out+1;
   end
   end
endmodule

仿真设计代码

module counter_simulation(

    );
    reg clk;
    reg rst;
    wire [3:0] out;
    counter c(.clk(clk),.rst(rst),.out(out)); //例化
    initial begin  //初始化
    clk=0;
    rst=1;
    #10;
    rst=0;
    end
    always #5 clk=~clk;
    initial begin 
    # 200    //仿真持续时间
    $finish;
    end
endmodule

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值