0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于Verilog的经典数字电路设计—计数器

冬至子 来源:新芯设计 作者:新芯设计 2023-10-09 17:48 次阅读

在数字系统中,使用得最多的时序电路差不多就是计数器了。计数器不仅能够用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲、产生脉冲序列以及进行数字运算等等。

其实,计数也是一种最简单最基本的运算,就像我们心里默念的计数一样。不过不同的是,计数器是有一定频率的计数,具有一定的时间间隔,而我们心里默念的计数的时间间隔不一样罢了(也就是不够准确的啦),而计数器就是实现这种运算的逻辑电路,主要是通过对时钟(上升)脉冲的个数进行计数的。

计数器在我们身边也很普遍,比如手机中自带的跑步的计时器、电脑定时关机等等;所以,熟悉掌握计数器,不仅对于学习 Verilog 非常有用,而且,还能锻炼我们的逻辑能力和更深刻地理解数字电路的工作原理,从而对科技更加感兴趣!

一、计数器的 Verilog 代码实现和 RTL 电路实现

下面是计数器的 Verilog 代码实现:

module Counters(
    input Clk,
    input Up, // 可增可减(可逆)计数器
    output reg [7:0] Cout = 8'b0000_0000 // 8 位计数器
    );

   always @(posedge Clk)
      if (Up)
         Cout <= Cout + 1'b1;
      else
         Cout <= Cout - 1'b1;

endmodule

下面是计数器的 RTL 电路实现:

图片

计数器的 RTL 电路图

时钟信号:Clk(时钟信号,就是电路的“心脏”,不可或缺);

复位信号:rst_n(复位信号,也是一个合格的电路不应该缺少的一个输入信号,当复位信号为低电平时,输出全部置零,这就是所谓的低电平有效)当复位信号为高电平时,开始计数,每一个时钟信号的上升沿到来就计一次数,每计数满 256 个时钟周期为一个输出循环,输出置零,然后重新计数;当然,这里为了更好地读懂代码,并没有加入复位信号啊哈哈哈嗝。

计数值信号:Cout(显示计数值,根据自己设计的需要,可以对位数进行设置,比如最大计数值为 6,那么位数就可以设置为 3 bits)

其实,这个既是计数器,又能当分频器,而且还能当计时器哟(再者还可以当闹钟功能)这三者其实都是息息相关的,但是博主并没有把分频器和定时器的功能加上去,其实只需要增加一两个信号即可,小伙伴们能否想到怎么添加,从而使得这个程序既有计数器的功能,也有分频器的功能和定时器的功能呢?

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 计数器
    +关注

    关注

    32

    文章

    2121

    浏览量

    92977
  • 时序电路
    +关注

    关注

    1

    文章

    113

    浏览量

    21586
  • RTL
    RTL
    +关注

    关注

    1

    文章

    377

    浏览量

    59064
  • 计时器
    +关注

    关注

    1

    文章

    395

    浏览量

    32156
  • Verilog设计
    +关注

    关注

    0

    文章

    20

    浏览量

    6474
收藏 人收藏

    评论

    相关推荐

    招聘:数字电路设计

    [猎头职位]国家重要芯片研发中心职位:数字电路设计工程师【岗位职责】负责USB、MIPI等高速接口IP或AD/DA的数字电路设计【任职资格】1.电子工程、微电子等相关专业硕士以上学历,两年以上
    发表于 02-27 10:52

    数字电路设计Verilog HDL

    数字电路设计Verilog HDL
    发表于 07-16 16:21

    数字电路--百位计数器电路设计

    数字电路--百位计数器电路设计
    发表于 11-25 15:16

    数字电路-数字时钟电路设计

    数字电路-数字时钟电路设计 希望大家喜欢。
    发表于 12-06 09:46

    数字电路设计的基本方法有哪些

    化简→画逻辑电路图。时序电路设计:列原始状态转移图和表→状态优化→状态分配→触发选型→求解方程式→画逻辑电路图。在实际应用中,数字电路设计
    发表于 02-27 11:55

    数字电路经典

    数字电路经典教学
    发表于 06-15 21:55

    格雷码计数器Verilog描述

    格雷码计数器Verilog描述
    发表于 08-03 09:39 45次下载
    格雷码<b class='flag-5'>计数器</b>的<b class='flag-5'>Verilog</b>描述

    数字电路设计

    数字电路设计 关于高速数字电路的电气特性,设计重点大略可分为三项: 正时(Timing) :由于数字电路
    发表于 08-26 19:08 2675次阅读

    计数器的定义和分类

    计数器的定义和分类 计数器定义在数字电路中,计数器属于时序电路,它主要由具有记忆功能的触发器构成。计数
    发表于 03-08 17:37 1.3w次阅读

    基于计数器数字电子钟的设计

    本设计就是研究用数字电路实现的数字电子钟,整体的电路设计就是由振荡器、分频器、计数器、译码器、LED显示器、校时电路组成。这种用
    发表于 09-14 10:50 9811次阅读
    基于<b class='flag-5'>计数器</b>的<b class='flag-5'>数字</b>电子钟的设计

    数字电路组成的计数器原理电路

    如图所示的 数字电路 组成的计数器是采用红外线作检测信号,对活动目标扫描计数的小装置,很适用于生产线,对传送带上移动的物品进行快速而准确的计数。也可用于其他目的,例
    发表于 09-18 11:41 7759次阅读
    <b class='flag-5'>数字电路</b>组成的<b class='flag-5'>计数器</b>原理<b class='flag-5'>电路</b>

    数字电路中的FPGA和verilog教程

    数字电路中的FPGA和verilog教程,好东西,喜欢的朋友可以下载来学习。
    发表于 01-18 17:44 42次下载

    "stm32f0按键计数器程序_数字系统设计, 8个经典计数器电路方案合辑"

    计数器(Counter)由基本的计数单元和控制门所组成,是在数字系统中对脉冲的个数进行计数,以实现测量、计数和控制功能,且兼有分频功能的仪器
    发表于 11-25 18:06 32次下载
    "stm32f0按键<b class='flag-5'>计数器</b>程序_<b class='flag-5'>数字</b>系统设计, 8个<b class='flag-5'>经典</b><b class='flag-5'>计数器</b><b class='flag-5'>电路</b>方案合辑"

    数字电路设计的基本流程

    数字电路设计数字电路最为关键及重要的一步,今天我们将从各个流程为大家介绍完整的数字电路设计!
    的头像 发表于 07-10 17:14 6390次阅读

    数字电路中的计数器详解

    数字电路中一个非常重要的器件就是计数器,即统计脉冲个数。
    的头像 发表于 10-17 12:46 2393次阅读
    <b class='flag-5'>数字电路</b>中的<b class='flag-5'>计数器</b>详解