fpga[1]计数器(附源码) 您所在的位置:网站首页 扫码计数器软件 fpga[1]计数器(附源码)

fpga[1]计数器(附源码)

2024-07-15 11:12| 来源: 网络整理| 查看: 265

计数器 介绍1.创建项目文件夹2.绘制波形图3.编写rtl代码4.编写testbench代码5.上板验证6.总结

介绍

计数器电路是在数字电子技术中应用的最多的时序逻辑电路。计数器不仅能用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。 在许多大型电路中必然有计数器电路的身影,可以说了解并掌握计数器的设计方法是学习fpga的第一步。 本文使用的软件是Quartus II 13.1、modelsim和notepad++,开发板是黑金的AX301。

下图是计数器的基本设计流程。 Created with Raphaël 2.3.0 绘制波形图 依照波形图编写rtl代码 仿真验证功能是否正确 上板验证 yes no 1.创建项目文件夹

首先我们先创建一个存放项目的文件夹: 在这里插入图片描述 再分别在counter内创建用来存放工程文件、rtl代码和波形图的文件夹: 在这里插入图片描述 然后,打开Quartus II软件,新建一个工程文件并存放在我们刚刚建立好的prj文件夹中,命名为counter 在这里插入图片描述 我们使用的开发板是黑金AX301搭载的是Cyclone IV E系列的EP4CE6F17C8,选择对应的型号。 在这里插入图片描述 为了方便后续的仿真,我们先将仿真软件设置为Modelsim语言为Verilog HDL 在这里插入图片描述

2.绘制波形图

对于计数器这个时序逻辑电路来说,需要时钟的驱动,复位方式选择异步复位。 同时,需要定义一个变量cnt来对时钟进行计数(后续需要利用LED来验证代码,此处先将cnt的位宽设置为25),计数值满时将flag进行取反。 最后将文件存放在visio文件夹中 在这里插入图片描述

3.编写rtl代码

我们在rtl文件夹下建立名为counter的.v文件 在这里插入图片描述 notepad++ 是一款小巧且好用的代码编辑软件,我们在language选项中勾选Verilog语言。 可以看到,notepad++ 对 Verilog语言有了关键字提示。 在这里插入图片描述 编写代码如下:

module counter ( input sys_clk , input sys_rst_n, //输入端口为时钟和复位信号 output reg flag //输出端口为计数器计满时的标志信号 ); parameter CNT_MAX = 24_999; //定义计数最大值,方便后续修改 reg [24:0] cnt; //声明一个25位宽的变量cnt always@(posedge sys_clk or negedge sys_rst_n) //复位方式设为异步复位 if(sys_rst_n == 1'b0) cnt


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有