掌桥专利:专业的专利平台
掌桥专利
首页

计数器电路

文献发布时间:2023-06-19 16:09:34



技术领域

本申请涉及存储器技术,尤其涉及一种计数器电路。

背景技术

伴随存储器技术的发展,存储器被广泛应用在多种领域,比如,动态随机存取存储器(Dynamic Random Access Memory,简称DRAM)的使用非常广泛。

实际应用中,存储器通常需要具备计数功能,以支持存储器的工作。比如,计数功能不仅可以用于对时钟脉冲计数,还可以用于分频、定时、产生节拍脉冲和脉冲序列以及进行数字运算等。因此,需要提供一种计数器电路来实现计数功能。

发明内容

本申请的实施例提供一种计数器电路。

根据一些实施例,本申请第一方面提供计数器电路,包括:加法模块、减法模块和多个控制模块;所述加法模块,包括对应二进制位的多级计数模块;每级计数模块,用于根据加数信号和本级当前输出的本位值,获得进位信号和本次本位值;向下一级计数模块输出所述进位信号,以及响应于第一时钟锁存所述本次本位值,响应于第二时钟向所述计数模块的输出端输出所述本次本位值;其中,首级计数模块的加数信号为高电平信号,非首级计数模块的加数信号为上一级计数模块输出的进位信号;所述减法模块,与所述多级计数模块连接,用于根据当前的加计数结果和减数信号,计算获得当前的减计数结果;以及,响应于第一刷新指令,输出所述减计数结果;其中,所述加计数结果为所述多级计数模块输出的本次本位值组成的多位信号,所述减计数结果包括多位信号;所述多个控制模块与所述多级计数模块一一对应,每个所述控制模块与对应的计数模块和所述减法模块连接,用于响应于第二刷新指令,向对应的计数模块输出所述减计数结果的对应位,作为该计数模块当前输出的本位值;其中,每级计数模块输出的本位值组成所述计数器电路的输出,该输出为计数结果的二进制表示;所述第一时钟和所述第二时钟基于系统时钟划分得到,所述第一刷新指令和所述第二刷新指令基于刷新指令划分得到。

在一些实施例中,所述计数模块包括:计算模块、第一锁存模块和第二锁存模块;其中,所述计算模块,与所述第二锁存模块和下一级计数模块的计算模块连接,用于根据所述加数信号和所述第二锁存模块当前输出的本位值,获得所述进位信号和所述本次本位值,并向所述下一级计数模块的计算模块输出所述进位信号;第一锁存模块,与所述计算模块和所述第二锁存模块连接,用于响应所述第一时钟的到来,将所述本次本位值传至所述第二锁存模块,以及响应所述第一时钟的结束,锁存所述本次本位值;第二锁存模块,用于响应所述第二时钟的到来,向所述计数模块的输出端输出所述本次本位值,以及响应所述第二时钟的结束,锁存所述本次本位值。

在一些实施例中,所述计算模块包括:加法器;所述加法器的第一输入端与所述加数信号连接,所述加法器的第二输入端与所述第二锁存模块的输出端连接;所述加法器的进位端与下一级计数模块连接;所述加法器的和数端,与所述第一锁存模块连接,用于输出所述本次本位值。

在一些实施例中,所述第一锁存模块包括:第一传输单元和第一锁存单元;所述第一传输单元与所述计算模块和所述第一锁存单元连接,所述第一传输单元的控制端连接所述第一时钟,用于响应所述第一时钟的到来导通传输;以及,响应所述第一时钟的结束断开传输;所述第一锁存单元与所述第二锁存模块连接,所述第一锁存单元的控制端连接所述第一时钟的反相信号,用于响应所述第一时钟的到来,输出所述本次本位值至所述第二锁存模块;以及,响应所述第一时钟的结束,锁存所述本次本位值。

在一些实施例中,所述第一传输单元包括:第一晶体管和第二晶体管;所述第一晶体管的第一端和所述第二晶体管的第一端连接,所述第一晶体管的第二端和所述第二晶体管的第二端连接;所述第一晶体管的控制端连接所述第一时钟,所述第二晶体管的控制端连接所述第一时钟的反相信号。

在一些实施例中,所述第一晶体管包括第一PMOS管,所述第二晶体管包括第一NMOS管;其中,所述第一晶体管的第一端为所述第一PMOS管的源极,所述第一晶体管的第二端为所述第一PMOS管的漏极,所述第一晶体管的控制端为所述第一PMOS管的栅极;所述第二晶体管的第一端为所述第一NMOS管的漏极,所述第二晶体管的第二端为所述第一NMOS管的源极,所述第二晶体管的控制端为所述第一NMOS管的栅极。

在一些实施例中,所述第一锁存单元包括:第一反相器、第一三态非门以及第二反相器;所述第一反相器的输入端与所述第一传输单元以及所述第一三态非门的输出端连接,所述第一反相器的输出端和所述第一三态非门的输入端以及所述第二反相器的输入端连接;所述第一三态非门的控制端连接所述第一时钟的反相信号;所述第二反相器的输出端与所述第二锁存模块连接。

在一些实施例中,所述第二锁存模块包括:第二传输单元和第二锁存单元;所述第二传输单元与所述第一锁存模块和所述第二锁存单元连接,所述第二传输单元的控制端连接所述第二时钟,用于响应所述第二时钟的到来导通传输;以及,响应所述第二时钟的结束断开传输;所述第二锁存单元的输入端与所述第二传输单元和所述控制模块连接,所述第二锁存单元的输出端和所述计算模块连接,所述第二锁存单元的控制端连接所述控制模块,用于在所述第二刷新指令未激活时,响应所述第二时钟的到来,向所述计数模块的输出端输出所述第二传输单元传输的本次本位值,及响应所述第二时钟的结束,锁存所述本次本位值;以及,在所述第二刷新指令激活时,向所述计数模块的输出端输出所述控制模块提供的所述减计数结果的对应位,作为计数模块的本次本位值,及响应所述第二刷新指令的结束,锁存所述本次本位值。

在一些实施例中,所述第二传输单元包括:第二三态非门;所述第二三态非门的输入端与所述第一锁存模块连接,所述第二三态非门的输出端与所述第二锁存单元连接;所述第二三态非门的控制端连接所述第二时钟。

在一些实施例中,所述第二锁存单元包括:第三反相器和第三三态非门;所述第三反相器的输入端与所述第二传输单元、所述控制模块和所述第三三态非门的输出端连接,所述第三反相器的输出端与所述第三三态非门的输入端以及所述计数模块的输出端连接;所述第三三态非门的控制端,作为所述第二锁存单元的控制端与所述控制模块连接。

在一些实施例中,所述控制模块包括:与门和第四三态非门;所述与门的第一输入端连接所述第二时钟的反相信号,所述与门的第二输入端连接所述第二刷新指令的反相信号,所述与门的输出端与所述第二锁存单元的控制端连接;所述第四三态非门的输入端连接所述减计数结果的对应位,所述第四三态非门的输出端连接所述第二锁存单元的输入端,所述第四三态非门的控制端连接所述第二刷新指令。

在一些实施例中,所述计数模块还包括:第一复位模块;所述第一复位模块与所述第一锁存模块和所述第二锁存模块连接;所述第一复位模块的控制端连接复位信号;

所述第一复位模块,用于响应于复位信号,对所述第一锁存模块和所述第二锁存模块进行复位。

在一些实施例中,所述第一复位模块包括:所述第一锁存模块对应的第一复位开关,以及所述第二锁存模块对应的第二复位开关;所述第一复位开关的第一端与所述第一锁存模块连接,所述第一复位开关的第二端接地,所述第一复位开关的控制端连接所述复位信号;所述第二复位开关的第一端与所述第二锁存模块连接,所述第二复位开关的第二端接地,所述第二复位开关的控制端连接所述复位信号。

在一些实施例中,所述第一复位开关包括第二NMOS管,所述第二复位开关包括第三NMOS管;所述第一复位开关的第一端为所述第二NMOS管的漏极,所述第一复位开关的第二端为所述第二NMOS管的源极,所述第一复位开关的控制端为所述第二NMOS管的栅极;所述第二复位开关的第一端为所述第三NMOS管的漏极,所述第二复位开关的第二端为所述第三NMOS管的源极,所述第二复位开关的控制端为所述第三NMOS管的栅极。

在一些实施例中,所述电路还包括:第一时钟生成模块;所述第一时钟生成模块,用于划分所述系统时钟,生成所述第一时钟和所述第二时钟;其中,所述第一时钟的上升沿与所述系统时钟的上升沿对齐,所述第一时钟的下降沿和所述第二时钟的上升沿对齐,所述第二时钟的下降沿和所述系统时钟的下降沿对齐。

在一些实施例中,所述第一时钟生成模块包括:第一延时单元、第一与非门、第二与非门、第四反相器和第五反相器;所述第一与非门的第一输入端连接所述系统时钟,所述第一与非门的第二输入端连接所述第二与非门的输出端,所述第一与非门的输出端与所述第四反相器的输入端连接;所述第二与非门的第一输入端连接所述系统时钟,所述第二与非门的第二输入端与所述第一延时单元的输出端连接,所述第二与非门的输出端与所述第五反相器的输入端连接;所述第一延时单元的输入端连接所述系统时钟;所述第四反相器的输出端,用于输出所述第一时钟;所述第五反相器的输出端,用于输出所述第二时钟。

在一些实施例中,所述减法模块包括:减法器和对应二进制位的多个输出单元;其中,所述多个输出单元的个数与所述减计数结果的位数相同;所述减法器的第一输入端与所述多级计数模块连接,所述减法器的第二输入端与所述减数信号连接,用于根据当前的加计数结果和减数信号,计算获得当前的减计数结果;每个输出单元,与所述减法器的输出端对应连接,用于响应所述第一刷新指令的到来,输出所述减计数结果的对应位,以及响应所述第一刷新指令的结束,锁存所述减计数结果的对应位。

在一些实施例中,每个输出单元包括:第三传输单元和第三锁存单元;所述第三传输单元与所述减法器对应的输出端和所述第三锁存单元连接,所述第三传输单元的控制端连接所述第一刷新指令,用于响应所述第一刷新指令的到来导通传输;以及,响应所述第一刷新指令的结束断开传输;所述第三锁存单元的控制端连接所述第一刷新指令的反相信号,用于响应所述第一刷新指令的到来,输出所述减计数结果的对应位;以及,响应所述第一刷新指令的结束,锁存所述减计数结果的对应位。

在一些实施例中,所述第三传输单元包括:第三晶体管和第四晶体管;所述第三晶体管的第一端和所述第四晶体管的第一端连接,所述第三晶体管的第二端和所述第四晶体管的第二端连接;所述第三晶体管的控制端连接所述第一刷新指令,所述第四晶体管的控制端连接所述第一刷新指令的反相信号。

在一些实施例中,所述第三晶体管包括第二PMOS管,所述第四晶体管包括第四NMOS管;其中,所述第三晶体管的第一端为所述第二PMOS管的源极,所述第三晶体管的第二端为所述第二PMOS管的漏极,所述第三晶体管的控制端为所述第二PMOS管的栅极;所述第四晶体管的第一端为所述第四NMOS管的漏极,所述第四晶体管的第二端为所述第四NMOS管的源极,所述第四晶体管的控制端为所述第四NMOS管的栅极。

在一些实施例中,所述第三锁存单元包括:第六反相器、第五三态非门以及第七反相器;所述第六反相器的输入端与所述第三传输单元和所述第五三态非门的输出端连接,所述第六反相器的输出端与所述第五三态非门的输入端和所述第七反相器的输入端连接;所述第五三态非门的控制端连接所述第一刷新指令的反相信号;所述第七反相器的输出端与对应的控制模块连接。

在一些实施例中,所述减法模块还包括:第二复位模块;所述第二复位模块与每个第三锁存单元连接;所述第二复位模块的控制端连接复位信号;所述第二复位模块,用于响应于所述复位信号,对所述第三锁存单元进行复位。

在一些实施例中,所述第二复位模块包括:第三复位开关;所述第三复位开关的第一端与每个第三锁存单元连接,所述第三复位开关的第二端接地,所述第三复位开关的控制端连接所述复位信号。

在一些实施例中,所述第三复位开关包括第五NMOS管;所述第三复位开关的第一端为所述第五NMOS管的漏极,所述第三复位开关的第二端为所述第五NMOS管的源极,所述第三复位开关的控制端为所述第五NMOS管的栅极。

在一些实施例中,所述电路还包括:第二时钟生成模块;所述第二时钟生成模块,用于划分所述刷新指令,生成所述第一刷新指令和所述第二刷新指令;其中,所述第一刷新指令上升沿与所述刷新指令的上升沿对齐,所述第一刷新指令的下降沿和所述第二刷新指令的上升沿对齐,所述第二刷新指令的下降沿和所述刷新指令的下降沿对齐。

在一些实施例中,所述第二时钟生成模块包括:第二延时单元、第三与非门、第四与非门、第八反相器和第九反相器;所述第三与非门的第一输入端连接所述刷新指令,所述第三与非门的第二输入端连接所述第四与非门的输出端,所述第三与非门的输出端与所述第八反相器的输入端连接;所述第四与非门的第一输入端连接所述刷新指令,所述第四与非门的第二输入端与所述第二延时单元的输出端连接,所述第四与非门的输出端与所述第九反相器的输入端连接;所述第二延时单元的输入端连接所述刷新指令;所述第八反相器的输出端,用于输出所述第一刷新指令;所述第九反相器的输出端,用于输出所述第二刷新指令。

本申请实施例提供的计数器电路,包括加法模块、减法模块和控制模块。加法模块包括对应二进制位的多级计数模块;每级计数模块,根据加数信号和本级当前输出的本位值,获得进位信号和本次本位值;向下一级计数模块输出所述进位信号,以及响应于第一时钟锁存所述本次本位值,响应于第二时钟向本级计数模块的输出端输出所述本次本位值;每级计数模块输出的本位值组成所述计数器电路的输出,该输出为计数结果的二进制表示,第一时钟和第二时钟基于系统时钟划分得到;减法模块根据各级计数模块当前输出的本位值进行减法计算,配合控制模块当需要执行减计数处理时,输出减计数结果。上述方案中,加法模块由多级计数模块构成,每级计数模块执行本级的加法处理,并响应于第一时钟锁存上次计数的本位值,多级计数模块输出的结果构成整个计数结果的二进制表示,从而实现加计数功能,同时在减法模块和控制模块的配合下实现减计数功能。上述计数器电路可利用加法器和减法器实现,无需依赖触发器实现计数,并且能够实现更加灵活丰富的计数功能。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请实施例的原理。

图1为本申请一实施例示出的存储器的架构示例图;

图2为本申请一实施例示出的存储单元的结构示例图;

图3为一实施例提供的计数器电路的结构示例图;

图4为示例的信号时序图;

图5为加计数过程中计数器电路的端口状态示例图;

图6为减计数过程中计数器电路的端口状态示例图;

图7-图15为各实施例提供的计数模块的结构示例图;

图16为一实施例提供的计数器电路的结构示例图;

图17为一实施例提供的第一时钟生成模块的结构示例图;

图18-图22为各实施例提供的减法模块的结构示例图;

图23为一实施例提供的第二时钟生成模块的结构示例图。

通过上述附图,已示出本申请明确的实施例,后文中将有更详细的描述。这些附图和文字描述并不是为了通过任何方式限制本申请构思的范围,而是通过参考特定实施例为本领域技术人员说明本申请的概念。

具体实施方式

这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。

本申请中的用语“包括”和“具有”用以表示开放式的包括在内的意思,并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记或区分使用,不是对其对象的先后顺序或数量限制。此外,附图中的不同元件和区域只是示意性示出,因此本申请不限于附图中示出的尺寸或距离。

下面以具体地实施例对本申请的技术方案进行详细说明。下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程可能在某些实施例中不再赘述。下面将结合附图,对本申请的实施例进行描述。

图1为本申请一实施例示出的存储器的架构示例图,如图1所示,以DRAM作为示例,包括数据输入/输出缓冲、行解码器、列解码器、感测放大器以及存储阵列。存储阵列主要由字线、位线和存储单元组成。存储阵列中的字线沿行方向延伸,存储阵列中的位线沿列方向延伸,字线与位线的交叉处为存储阵列的存储单元。

其中,每个存储单元用于存储一个位(bit)的数据。如图2所示,图2为本申请一实施例示出的存储单元的结构示例图,存储单元主要由晶体管M和电容C组成。其中,电容用于存储数据,晶体管用于根据字线状态,关断或导通。

可以通过控制行和列来激活某个存储单元,以实现对该存储单元的访问。结合读取场景作为示例:需要读取存储单元中的数据时,可以通过行解码器选中该存储单元所在行的字线,相应的,图示中的晶体管M导通,通过对位线信号的感测放大就可以感知到此时电容C上的状态。例如,如果存储单元中存储的数据为1,那么晶体管M导通后就会从存储单元的位线上读到1,反之也是同样的道理。另外,结合写入场景作为示例:需要向某存储单元中写入数据时,比如写入1。可以通过行解码器选中该存储单元所在行的字线,相应的图示中的晶体管M导通,通过将位线的逻辑电平设为1,使得电容C充电,即向存储单元写入1。反之,如果要写入0,那么位线的逻辑电平设为0,使得电容C放电,即向存储单元写入0。

实际应用中,为了支持存储器的工作,需要使用计数功能。比如,在DDR5 JEDEC标准中规定,为了提高DDR5 DRAM抵御行锤击(Row Hammer)的能力,设置用于刷新管理(Refresh Management,RFM)的RAA(Rolling Accumulated ACT)计数器,以实时探测统计存储器接收到的激活指令(ACT CMD)的数量。另外,标准规定计数器需响应于刷新管理指令(RFM CMD,后面也称为刷新指令),对计数结果进行更新,具体通过减少RAAIMT(RollingAccumulated ACT Initial Management Threshold,RAAIMT)数值来实现。其中,RAAIMT数值取决于存储器的工作模式,比如,常规模式或者细颗粒度刷新模式(Fine GranularityRefresh,FGR)和模式寄存器(MRS)的配置,比如,模式寄存器参数值(MRS value)。

本申请实施例的一些方面涉及上述考虑。以下结合本申请的一些实施例对方案进行示例介绍。

实施例一

图3为一实施例提供的计数器电路的结构示例图,如图3所示,该计数器电路包括:加法模块1、减法模块2和多个控制模块3;

加法模块1,包括对应二进制位的多级计数模块10;每级计数模块10,用于根据加数信号和本级当前输出的本位值,获得进位信号和本次本位值;向下一级计数模块10输出进位信号,以及响应于第一时钟CK_PRE锁存本次本位值,响应于第二时钟CLK_POST向计数模块10的输出端输出本次本位值;其中,首级计数模块10的加数信号为高电平信号,非首级计数模块10的加数信号为上一级计数模块10输出的进位信号;

减法模块2,与多级计数模块10连接,用于根据当前的加计数结果和减数信号,计算获得当前的减计数结果;以及,响应于第一刷新指令REF_PRE,输出减计数结果;其中,加计数结果为多级计数模块10输出的本次本位值组成的多位信号,减计数结果包括多位信号;

多个控制模块3与多级计数模块10一一对应,每个控制模块3与对应的计数模块10和减法模块2连接,用于响应于第二刷新指令REF_POST,向对应的计数模块10输出减计数结果的对应位,作为该计数模块10当前输出的本位值;其中,每级计数模块10输出的本位值组成计数器电路的输出,该输出为计数结果的二进制表示;第一时钟CK_PRE和第二时钟CLK_POST基于系统时钟CLOCK划分得到,第一刷新指令REF_PRE和第二刷新指令REF_POST基于刷新指令REF划分得到。

实际应用中,本实施例提供的计数器电路可应用在各种存储器,作为示例,可以应用在包括但不限双倍速率同步动态随机存储器(Double Data Rate DRAM,简称DDR)等。

结合图3进行示例:其中,加法模块用以执行加计数处理,减法模块用于执行减计数处理,控制模块用于结合时钟指令和刷新管理指令的状态,输出加计数结果或减计数结果,也就是说,本实施例的计数器电路在实现加计数功能的同时,实现减计数功能。其中,所述系统时钟指用于计数器电路的时钟。

需要说明的是,图中以计数结果为六位的二进制数进行举例,可以理解,实际应用中,可以根据计数结果的位数设置相应模块的数量和参数。例如,加法模块中计数模块的数量或级数可以根据计数场景和需求确定,比如还可以为八位计数结果,相应的,加法模块包括八级计数模块;再例如,减法模块的输出端口数量也可以根据计数场景和需求确定,比如,减法模块的输出端口可以包括八个,相应的,减计数结果的位数同样为八位。图中并未对计数模块的数量或级数进行限制。

结合图示的举例,CNTOUT<5:0>表征计数器电路输出的计数结果的二进制表示,即每个计数模块输出的CNTOUT<…>为计数结果的二进制表示的其中一位。作为示例,首级计数模块10输出的结果CNTOUT<0>为计数结果的二进制表示的最低位,第二级计数模块10输出的结果CNTOUT<1>为计数结果的二进制表示的倒数第二位,以此类推,最后一级计数模块10输出的结果CNTOUT<5>为计数结果的二进制表示的最高位。比如,假设CNTOUT<5:0>的输出结果组合为001010,则计数器电路的计数结果的十进制表示为10。

为了更好地理解本实施例的方案,图4为示例的信号时序图,其中,CLOCK为系统时钟的时序波形示例,CK_PRE为第一时钟的时序波形示例,CK_POST为第二时钟的时序波形示例,REF为刷新指令的时序波形示例,CK_PRE为第一刷新指令的时序波形示例,CK_POST为第二刷新指令的时序波形示例,CNTOUT<5:0>为计数结果的时序示例。结合图示,对计数器电路的工作过程进行示例介绍:

其中,每级计数模块的本位值指计数模块输出结果的低位数据,每级计数模块的进位信号指计数模块输出结果的高位数据,该高位数据被传输至下一级计数模块,以使下一级计数模块根据接收到的所述进位信号和加数信号,计算获得该下一级计数模块的进位信号和进位值。可以理解,由于计数可以实时进行,因此不同时刻下,每级计数模块的输入和输出是动态更新的,故本实施例中,也将当前时刻或本次计数中,计数模块输出的本位值称为本次本位值,其它处的“本次”同样为类似的含义。本实施例中,加数信号视计数模块所在的级别确定,作为示例,对于首级级数模块,其加数信号为高电平信号,其逻辑电平状态为1,从而实现累计加1的计数方式。实际应用中,首级级数模块的加数信号可以由VDD提供,如图中示例,加数信号VDD输入计数器电路,作为示例,图中的加数信号VDD输入至计数器电路的首级计数模块的IN端口。非首级计数模块的加数信号为上一级计数模块输出的进位信号,相应的其余计数模块的IN端口连接至上一级计数模块的进位输出端OUT,进位输出端OUT用于输出本级计数模块的本次进位信号。

结合加计数处理的过程作为示例:图5为加计数过程中计数器电路的端口状态示例图,图中仅示出了加法模块中的各级计数模块,其它模块可参见其它附图所示的结构,结合图4和图5进行示例:假设初始状态下,每级计数模块的当前输出的本位值均为0。当需要计数时,加数信号输入计数器电路的首级计数模块,首级计数模块根据本级当前输出的本位值,即0,以及加数信号1,计算获得本次本位值为1,进位信号为0。该进位信号通过首级计数模块的进位输出端OUT,输入至第二级计数模块的IN端口。此过程中,首级计数模块响应于第一时钟CK_PRE锁存本次本位值1,也就是说,在第一时钟到来时(结合图4示例,即CK_PRE的首个上升沿到来时),首级计数模块锁存本次本位值1但不向第二级计数模块输出该本次本位值,直至第一时钟CK_PRE结束,第二时钟CK_POST到来时向首级计数模块的输出端CNTOUT<0>输出本次本位值1,即本次计数结果的CNTOUT<0>为1。

对于第二级计数模块来说,其当前输出的本位值未经过计数更新,故仍为初始值0,并且从上一级计数模块(即首级计数模块)接收到的进位信号为0;第二级计数模块可计算获得本级的进位信号为0,本次本位值也为0。同样的,第二级计数模块的进位信号通过第二级计数模块的进位输出端OUT,输入至第三级计数模块的IN端口。同样此过程中,第二级计数模块响应于第一时钟CK_PRE锁存本次本位值0,但不向第三级计数模块输出该本次本位值,直至第一时钟CK_PRE结束,第二时钟CK_POST到来时向第二级计数模块的输出端CNTOUT<1>输出本次本位值0,即本次计数结果的CNTOUT<1>为0。

对于第二级计数模块之后的各级计数模块,与第二级计数模块的工作原理类似,得到其余各级计算模块输出的CNTOUT<2:5>均为0。可见,经过一个系统时钟CLOCK后,得到的计数结果的二进制表示CNTOUT<5:0>为000001,即计数结果的十进制表示为1。

此后,计数器电路继续工作,示例如下:经过一次计数后,对于首级计数模块来说,当前锁存的本位值为1,进位信号为0;对于其它计数模块来说,当前锁存的本位值为0,进位信号为0。故而,首级计数模块基于当前锁存的本位值1以及加数信号1,计算得到本次的计算结果为10,即首级计数模块的本次本位值为0,进位信号为1。首级计数模块通过进位输出端OUT,将进位信号1输入至第二级计数模块的IN端口。并响应于第一时钟CK_PRE锁存本次本位值0,直至第一时钟CK_PRE结束,第二时钟CK_POST到来时向首级计数模块的输出端CNTOUT<0>输出本次本位值0。

第二级计数模块基于此时接收到的进位信号1,以及当前锁存的本位值0,得到本次的计算结果为01,即第二级计数模块的本次本位值为1,进位信号为0。第二级计数模块将进位信号0输入至第三级计数模块。并响应于第一时钟CK_PRE锁存本次本位值1,直至第一时钟CK_PRE结束,第二时钟CK_POST到来时向第二级计数模块的输出端CNTOUT<1>输出本次本位值1。对应的,第三级计数模块基于此时接收到的进位信号0,以及当前锁存的本位值0,得到本次的计算结果为00,以此类推,经过第二个系统时钟后,其它计数模块输出的CNTOUT<2:5>均为0,即计数器电路本次的计数结果CNTOUT<5:0>为000010,十进制表示为2。

类似的,计数器电路继续工作:首级计数模块基于当前锁存的本位值0以及加数信号1,计算得到首级计数模块的本次本位值为1,进位信号为0。首级计数模块将进位信号0传输至第二级计数模块。并响应于第一时钟CK_PRE锁存本次本位值1,直至第二时钟CK_POST到来时,CNTOUT<0>输出本次本位值1。第二级计数模块基于此时接收到的进位信号0,以及当前锁存的本位值1,得到第二级计数模块的本次本位值为1,进位信号为0,第二时钟CK_POST到来时第二级计数模块的CNTOUT<1>输出本次本位值1。以此类推,经过第三个系统时钟后,其它计数模块输出的CNTOUT<2:5>均为0,即计数器电路本次的计数结果CNTOUT<5:0>为000011,十进制表示为3。

后续,首级计数模块基于当前锁存的本位值1以及加数信号1,计算得到首级计数模块的本次本位值为0,进位信号为1。首级计数模块将进位信号1传输至第二级计数模块,响应于第一时钟CK_PRE锁存本次本位值0,直至第二时钟CK_POST到来,CNTOUT<0>输出本次本位值0。第二级计数模块基于此时接收到的进位信号1,以及当前锁存的本位值1,得到第二级计数模块的本次本位值为0,进位信号为1,第二时钟CK_POST到来时第二级计数模块的CNTOUT<1>输出本次本位值0。第三级计数模块基于此时接收到的进位信号1,以及当前锁存的本位值0,得到第二级计数模块的本次本位值为1,进位信号为0,第二时钟CK_POST到来时,CNTOUT<2>输出本次本位值1。以此类推,经过第四个系统时钟后,其它计数模块输出的CNTOUT<3:5>均为0,即计数器电路本次的计数结果CNTOUT<5:0>为000100,十进制表示为4。后续,通过执行类似原理,实现计数结果伴随系统时钟的每次到来累计加1。

上述为结合加计数处理的过程进行示例,以下再基于减计数处理的过程进行示例,结合图4和图6进行示例,图6为减计数过程中计数器电路的端口状态示例图:具体的,当前的加计数结果由各级计数模块输出的本位值构成,在REF指令未激活的情况下,计数器电路的计数结果即为各级计数模块输出的本次本位值构成的加计数结果。本示例中,假设图5中以当前的计数结果为000100的状态作为本示例的初始状态,此后如果接收到刷新指令REF,则减法模块根据当前的加计数结果000100和减数信号,假设减数信号为2,二进制表示即000010,计算当前的加计数结果减去该减数信号的减计数结果,即000100减去000010等于000010;减法模块响应于第一刷新指令REF_REF,输出该减计数结果000010;由于刷新指令到来时,用于计数器电路的所述系统时钟通常会暂停,故加法模块中的计数模块尽管仍在计算新的加计数结果,但不会输出该新的加计数结果,而是输出当前锁存的,在刷新指令到来前最近一次获得的加计数结果,在这样的配合工作下,减法模块输出的减计数结果的每一位所对应的控制模块,响应于第二刷新指令REF_POST,将该位输出至对应的计数模块的输出端,作为该计数模块当前输出的本位值。基于此,在第二刷新指令REF_POST后,计数器电路本次的计数结果CNTOUT<5:0>为减法模块输出的减计数结果000010,从而实现计数器电路的减计数功能。需要说明的是,减计数结果输出后相当于更新的当前各级计数模块的输出,故各级计数模块后续重新基于当前新的输出计算本级的加计数结果,并在第一时钟、第二时钟以及第一刷新指令和第二刷新指令的控制下锁存或输出。

通过本实施例的计数器电路,可实现有效可靠的加计数和减计数。相比相关计数中采用触发器实现计数,本实施例提供的计数器电路无需依赖多级触发器结构,简化结构,并且能够实现具有更加丰富功能的计数器电路。

为实现上述的计数模块,在一些实施例中,如图7所示,图7为一实施例提供的计数模块的结构示例图,如图所示,计数模块10包括:计算模块11、第一锁存模块12和第二锁存模块13;其中,

计算模块11,与第二锁存模块13和下一级计数模块的计算模块连接,用于根据加数信号和第二锁存模块13当前输出的本位值,获得进位信号和本次本位值,并向所述下一级计数模块的计算模块输出所述进位信号;

第一锁存模块12,与计算模块11和第二锁存模块13连接,用于响应第一时钟CK_PRE的到来,将所述本次本位值传至第二锁存模块13,以及响应第一时钟CK_PRE的结束,锁存所述本次本位值;

第二锁存模块13,用于响应第二时钟CK_POST的到来,向计数模块11的输出端CNTOUT输出所述本次本位值,以及响应第二时钟CK_POST的结束,锁存所述本次本位值。

需要说明的是,图中仅示出了单个计数模块的结构示例,其余计数模块的结构与该示例的计数模块的结构可以相同或类似。区别在于首级计数模块的IN端连接的加数信号为高电平信号,比如VDD信号;其余计数模块的IN端连接的加数信号为上一级计数模块的进位输出端OUT输出的进位信号。

具体的,对于每级计数模块10来说,其计算模块11基于本级的所述计数模块10的第二锁存模块13当前锁存的本位值和当前IN端接收的信号(比如,VDD信号或上一级计数模块输出的进位信号,视计数模块的级数确定),计算得到本级计数模块10的本次本位值和进位信号。该过程无需等待第一时钟CK_PRE或第二时钟CK_POST,可在上一次累计计数后直接执行。类似的,计算模块11直接将本次计算得到的进位信号直接传输至下一级计数模块的计算模块,本次计算得到的本次本位值传输至第一锁存模块12;第一锁存模块22响应于第一时钟CK_PRE,将所述本次本位值传输至第二锁存模块13;当第一时钟CK_PRE结束第二时钟CK_POST到来时,第一锁存模块12锁存所述本次本位值,第二锁存模块13将本次本位值传输至本级计数模块10的输出端CNTOUT;当第二时钟CK_POST结束时,第二锁存模块13锁存本次本位值,并直接将该本位值作为本级计数模块10当前输出的本位值,传输至计算模块11,以使计算模块11根据本次计数后计数模块10当前输出的本位值和IN端口当前接收的信号,再次计算获得下一次计数的本次本位值和进位信号,简单来说,就是每次计数后准备好下一次计数的状态,以等待下次系统时钟到来时可直接锁存和输出结果,从而提高计数的及时性和效率。

其中,计算模块11用于执行本次本位值和进位信号的加法计算。在一些实施例中,如图8所示,图8为一实施例提供的计数模块的结构示例图,在前述的基础上,计算模块11包括:加法器21;

加法器21的第一输入端A与所述加数信号连接,加法器21的第二输入端B与第二锁存模块13的输出端连接;

加法器21的进位端C与下一级计数模块连接;加法器21的和数端S,与第一锁存模块11连接,用于输出所述本次本位值。

具体的,加法器的进位端即计数模块的进位输出端。实际应用中,可将加法器的进位端连至计数模块的进位输出端OUT,以通过进位输出端OUT输出进位信号。

本实施例中,计算模块包括加法器,从而实现准确有效计数,本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

在一些实施例中,如图9所示,图9为一实施例提供的计数模块的结构示例图,在前述的基础上,第一锁存模块12包括:第一传输单元22和第一锁存单元23;

第一传输单元22与计算模块11和第一锁存单元23连接,第一传输单元22的控制端连接第一时钟CK_PRE,用于响应第一时钟CK_PRE的到来导通传输;以及,响应第一时钟CK_PRE的结束断开传输;

第一锁存单元23与第二锁存模块13连接,第一锁存单元23的控制端连接第一时钟CK_PRE的反相信号CKB_PRE,用于响应第一时钟CK_PRE的到来,输出所述本次本位值至第二锁存模块13;以及,响应第一时钟CK_PRE的结束,锁存所述本次本位值。

具体的,第一锁存模块12响应于第一时钟的到来传输本次本位值至第二锁存模块13,并在第一时钟结束时,锁存本次本位值。结合图9和图4所示,第一时钟CK_PRE到来时,即第一时钟CK_PRE翻转为高电平时,第一传输单元22导通传输,故第一传输单元22将接收到的本次本位值传输至第一锁存单元23,此时第一锁存单元23的控制端接收到第一时钟CK_PRE的反相信号CKB_PRE为低电平,故不切换至锁存功能,而起传输作用,即将从第一传输单元22接收到的本次本位值传输至第二锁存模块13;直到第一时钟CK_PRE结束时,即第一时钟CK_PRE翻转为低电平时,第一传输单元22断开传输,以避免计算模块得到的下一次计数的准备状态影响本次本位值的准确性。同时,第一时钟CK_PRE的反相信号CKB_PRE翻转为高电平,第一锁存单元23由传输模式切换至锁存模式,锁存本次本位值,持续输出给第二锁存模块13,直至第一时钟再次到来,第一传输单元22再次导通传输,方更新锁存的本位值,从而实现准确计数。实际应用中,第一传输单元和第一锁存单元的实现方式可以有多种。

在一个示例中,如图10所示,图10为一实施例提供的计数模块的结构示例图,如图所示,第一传输单元包括:第一晶体管221和第二晶体管222;

第一晶体管221的第一端和第二晶体管222的第一端连接,第一晶体管221的第二端和第二晶体管222的第二端连接;

第一晶体管221的控制端连接第一时钟CK_PRE,第二晶体管222的控制端连接第一时钟CK_PRE的反相信号CKB_PRE。

其中,第一晶体管和第二晶体管的类型不限。作为示例,第一晶体管221包括第一PMOS管,第二晶体管222包括第一NMOS管;其中,第一晶体管221的第一端为第一PMOS管的源极,第一晶体管221的第二端为第一PMOS管的漏极,第一晶体管221的控制端为第一PMOS管的栅极;第二晶体管222的第一端为第一NMOS管的漏极,第二晶体管222的第二端为第一NMOS管的源极,第二晶体管222的控制端为第一NMOS管的栅极。

本示例中,第一传输单元由第一晶体管和第二晶体管构成,从而实现准确有效计数,并且本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

在一个示例中,第一锁存单元包括:第一反相器231、第一三态非门232以及第二反相器233;

第一反相器231的输入端与第一传输单元22以及第一三态非门232的输出端连接,第一反相器231的输出端和第一三态非门232的输入端以及第二反相器233的输入端连接;第一三态非门232的控制端连接第一时钟CK_PRE的反相信号CKB_PRE;

第二反相器233的输出端与第二锁存模块13连接。

其中,第一反相器、第一三态非门和第二反相器的类型与具体结构不限。具体的,第一时钟CK_PRE到来时,即第一时钟CK_PRE翻转为高电平时,第一传输单元22将接收到的本次本位值传输至第一锁存单元23,此时第一锁存单元23中,第一三态非门232的控制端接收到第一时钟CK_PRE的反相信号CKB_PRE为低电平,故第一三态非门232不工作。此时第一锁存单元23等效为由第一反相器231和第二反相器233构成的串联结构,经过该串联结构,本次本位值被传输至第二锁存模块13。

第一时钟CK_PRE结束时,CK_PRE翻转为低电平时,第一传输单元22断开传输。同时,第一时钟CK_PRE的反相信号CKB_PRE翻转为高电平,第一三态非门232的控制端接收到的CKB_PRE时钟为高电平,第一三态非门232开始工作。此时,第一反相器231和第一三态非门232构成锁存结构,故第一锁存单元23基于该锁存结构,锁存本次本位值。

本示例中,第一锁存单元由第一反相器、第一三态非门和第二反相器构成,从而实现准确有效计数,并且本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

本实施例中,第一锁存模块包括第一传输单元和第一锁存单元,以响应于第一时钟的到来传输本次本位值至第二锁存模块,并在第一时钟结束时,锁存本次本位值,从而实现准确有效计数。

在一些实施例中,如图11所示,图11为一实施例提供的计数模块的结构示例图,在前述的基础上,第二锁存模块13包括:第二传输单元24和第二锁存单元25;

第二传输单元24与第一锁存模块和第二锁存单元25连接,第二传输单元24的控制端连接第二时钟CK_POST,用于响应第二时钟CK_POST的到来导通传输;以及,响应第二时钟CK_POST的结束断开传输;

第二锁存单元25的输入端与第二传输单元24和控制模块3连接,第二锁存单元25的输出端和计算模块11连接,第二锁存单元25的控制端连接控制模块3,用于在第二刷新指令REF_POST未激活时,响应第二时钟CLK_POST的到来,向计数模块10的输出端输出第二传输单元24传输的本次本位值,及响应第二时钟CLK_POST的结束,锁存所述本次本位值;以及,在第二刷新指令REF_POST激活时,向计数模块10的输出端输出控制模块3提供的减计数结果的对应位,作为计数模块10的本次本位值,及响应第二刷新指令REF_POST的结束,锁存所述本次本位值。

具体的,在第二刷新指令未激活时,第二锁存模块响应第二时钟的到来,向计数模块的输出端输出所述本次本位值,以及响应第二时钟的结束,锁存所述本次本位值。结合图11和图4所示,第二刷新指令REF_POST未激活时,第二时钟CK_POST到来时,即第二时钟CK_POST翻转为高电平时,第二传输单元24导通传输,故第二传输单元24将接收到的本次本位值传输至第二锁存单元25,此时第二时钟CK_POST的反相信号CKB_POST为低电平,控制模块3基于低电平的CKB_POST和未激活的第二刷新指令REF_POST,控制第二锁存单元25不切换至锁存功能,而起传输作用,即将从第二传输单元24接收到的本次本位值传输至计数模块的输出端CNTOUT输出;直到第二时钟CK_POST结束时,即第二时钟CK_POST翻转为低电平时,第二传输单元24断开传输。同时,第二时钟CK_POST的反相信号CKB_POST翻转为高电平,控制模块3基于高电平的CKB_POST和未激活的第二刷新指令REF_POST,控制第二锁存单元25由传输模式切换至锁存模式,锁存本次本位值,持续输出给输出端CNTOUT,直至第一时钟再次到来,各模块执行类似前述的工作实现计数累加更新,从而实现准确计数。

第二刷新指令REF_POST激活时,第二时钟CK_POST处于低电平,第二传输单元24断开传输。同时,第二时钟CK_POST的反相信号CKB_POST翻转为高电平,控制模块3基于高电平的CKB_POST和激活的第二刷新指令REF_POST,控制第二锁存单元25处于传输模式,区别在于,此时向计数模块的输出端传输的为控制模块3从减法模块2获得的减计数结果的对应位。之后第二刷新指令REF_POST结束时,第二时钟CK_POST仍处于低电平,第二传输单元24断开传输,CKB_POST仍为高电平,控制模块3基于高电平的CKB_POST和未激活的第二刷新指令REF_POST,控制第二锁存单元25切换至锁存模式,以锁存输出当前的减计数结果。实际应用中,第二传输单元和第二锁存单元的实现方式可以有多种。

在一个示例中,如图12所示,图12为一实施例提供的计数模块的结构示例图,如图所示,第二传输单元24包括:第二三态非门241;

第二三态非门241的输入端与第一锁存模块连接,第二三态非门241的输出端与第二锁存单元25连接;第二三态非门241的控制端连接第二时钟CK_POST。

其中,第二三态非门的类型和具体结构不限。本示例中,第二传输单元由第二三态非门构成,从而实现准确有效计数,并且本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

在一个示例中,第二锁存单元25包括:第三反相器251和第三三态非门252;

第三反相器251的输入端与第二传输单元24、控制模块3和第三三态非门252的输出端连接,第三反相器251的输出端与第三三态非门252的输入端以及计数模块的输出端CNTOUT连接;

第三三态非门252的控制端,作为第二锁存单元25的控制端与控制模块3连接。

其中,第三反相器和第三三态非门的类型与具体结构不限。具体的,第二刷新指令REF_POST未激活,第二时钟CK_POST到来时,即第二时钟CK_POST翻转为高电平时,第二传输单元24将接收到的本次本位值传输至第二锁存单元25,此时第二锁存单元25中,第三三态非门252在控制模块3的控制下不工作。此时第二锁存单元25等效为由第三反相器251和第二反相器233构成的串联结构,经过该串联结构,本次加计数结果的本次本位值被传输至计数模块的输出端。

第二时钟CK_POST结束时,CK_POST翻转为低电平时,第二传输单元24断开传输。同时,第二时钟CK_POST的反相信号CKB_POST翻转为高电平,第三三态非门252在控制模块的控制下开始工作。此时,第三反相器251和第三三态非门252构成锁存结构,故第二锁存单元25基于该锁存结构,锁存加计数结果的本次本位值。

第二刷新指令REF_POST激活时,第二时钟CK_POST为低电平时,CKB_POST为高电平,第二传输单元24断开,本次加计数结果的本次本位值未传输至第二锁存单元25,此时第二锁存单元25中,第三三态非门252在控制模块3的控制下不工作。此时第二锁存单元25等效为由第三反相器251和第二反相器233构成的串联结构,经过该串联结构,第二锁存单元25将控制模块3提供的减计数结果的对应位传输至计数模块的输出端。

第二刷新指令REF_POST结束时,CK_POST仍处于低电平,第二传输单元24仍断开传输,CKB_POST仍为高电平,第三三态非门252在控制模块的控制下开始工作。此时,第三反相器251和第三三态非门252构成锁存结构,故第二锁存单元25基于该锁存结构,锁存当前输出的减计数结果的对应位。

本示例中,第二锁存单元由第三反相器和第三三态非门构成,从而实现准确有效计数,并且本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

基于上述,可以通过可能的实现方式实现上述控制模块。作为示例,通过电路结构实现控制模块,在一个示例中,如图12所示,控制模块3包括:与门31和第四三态非门32;

与门31的第一输入端连接第二时钟CLK_POST的反相信号,与门31的第二输入端连接第二刷新指令REF_POST的反相信号,与门31的输出端与第二锁存单元25的控制端连接;

第四三态非门32的输入端连接减计数结果的对应位,第四三态非门32的输出端连接第二锁存单元25的输入端,第四三态非门32的控制端连接所述第二刷新指令REF_POST。

其中,与门和第四三态非门的类型与具体结构不限。具体的,第二刷新指令REF_POST未激活时,第四三态非门32的控制端为低电平,故第四三态非门32断开,控制模块3此时不输出减计数结果,以避免影响加计数结果向计数模块输出端的正常传输。当第二时钟CK_POST到来时,第二时钟CK_POST翻转为高电平,CKB_POST翻转为低电平,与门的第一输入端接收到低电平的CKB_POST,第二输入端接收到第二刷新指令REF_POST的反相信号REFB_POST,REFB_POST此时为高电平,进行与逻辑处理后输出低电平,相应的,第二锁存单元25处于传输模式。结合图11的示例举例来说,与门31输出低电平,第二锁存单元25中的第三三态非门252断开,故第二锁存单元25等效为由第三反相器251和第二反相器233构成的串联结构,执行传输功能。第二时钟CK_POST结束时,CKB_POST翻转为高电平,与门的两个输入端均接收高电平,故输出高电平,相应的,第三三态非门252开始工作。此时,第三反相器251和第三三态非门252构成锁存结构,第二锁存单元25执行锁存处理。

第二刷新指令REF_POST激活时,REF_POST为高电平,REFB_POST为高电平,第二时钟CK_POST为低电平时,CKB_POST为高电平,加计数结果的本次本位值未传输至第二锁存单元25。由于REF_POST为高电平,故第四三态非门32导通,将减法模块输出的减计数结果的对应位传输至第二锁存单元25;此时,与门的第一输入端为高电平,第二输入端为低电平,故输出低电平,则类似的,第二锁存单元25中第三三态非门252不工作,第二锁存单元25将减计数结果的对应位传输至计数模块的输出端。第二刷新指令REF_POST结束时,CKB_POST仍处于高电平,REFB_POST翻转为高电平,故与门输出高电平,第三三态非门252开始工作,和第三三态非门252构成锁存结构,故第二锁存单元25锁存当前输出的减计数结果的对应位,作为计数模块当前输出的本位值,用于下一次计数计算。

本示例中,控制模块包括与门和第四三态非门,从而实现对第二锁存模块的有效控制,配合加法模块和减法模块实现准确有效计数,并且本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

本实施例中,第二锁存模块包括第二传输单元和第二锁存单元,以基于第二刷新指令和第二时钟的状态,切换传输模式或锁存模式,从而实现准确有效计数。

考虑到计数清零的情形,可以为计数器电路设置复位功能。在一些实施例中,图13为一实施例提供的计数模块的结构示例图,如图13所示,计数模块还包括:第一复位模块14;

第一复位模块14与第一锁存模块12和第二锁存模块13连接;第一复位模块14的控制端连接复位信号RESET;

第一复位模块14,用于响应于复位信号RESET,对第一锁存模块12和第二锁存模块13进行复位。

实际应用中,支持复位功能的计数器电路的整体架构如图14所示,图14为一实施例提供的计数器电路的结构示例图,即每个计数模块具有复位端口RESET,这些复位端口RESET连接至复位信号RESET。在一个示例中,第一复位模块14响应于复位信号将第一锁存模块12和第二锁存模块13中的本位值清零。另外,作为示例,计数模块还具有时钟信号的反相信号的输入端口,比如,CKB_PRE和CKB_POST端口。实际应用中,也可将控制模块集成在计数模块内,则整体架构中,每个技术模块还可以具有刷新指令以及刷新指令的反相信号的输入端口,比如,REFB_PRE和REFB_POST端口(图中未示出)。需要说明的是,前述的各示例或实施例可以单独或结合实施,附图中示出的为一些示例或实施例结合实施的情形,并未对其它可能的实施方式进行限制。

作为示例,图15为一实施例提供的计数模块的结构示例图,在前述的基础上,第一复位模块14包括:第一锁存模块对应的第一复位开关141,以及第二锁存模块对应的第二复位开关142;

第一复位开关141的第一端与第一锁存模块连接,第一复位开关141的第二端接地,第一复位开关141的控制端连接复位信号RESET;

第二复位开关142的第一端与第二锁存模块连接,第二复位开关142的第二端接地,第二复位开关142的控制端连接复位信号RESET。

其中,第一复位开关和第二复位开关的类型可以不限。举例来说,第一复位开关141包括第二NMOS管,第二复位开关142包括第三NMOS管;

第一复位开关141的第一端为第二NMOS管的漏极,第一复位开关141的第二端为第二NMOS管的源极,第一复位开关141的控制端为第二NMOS管的栅极;

第二复位开关142的第一端为第三NMOS管的漏极,第二复位开关142的第二端为第三NMOS管的源极,第二复位开关142的控制端为第三NMOS管的栅极。

具体的,当计数器电路正常计数时,复位信号RESET处于未激活状态,例如,假设复位信号为高电平有效,则复位信号RESET此时为低电平,第二NMOS管和第三NMOS管均断开,第一锁存模块12和第二锁存模块13正常工作。当需要复位时,复位信号RESET翻转为高电平,相应的,第二NMOS管和第三NMOS管导通,将第一锁存模块12和第二锁存模块13中对应连接处的节点拉低至地,即下拉至0;进而每级计数模块的输出均为0,实现将计数器电路输出的计数结果CNTOUT<5:0>复位为000000,实现清零。

本实施例通过设置第一复位模块,能够实现对计数器单元的复位,从而丰富计数器电路的功能,进一步满足不同情形下的计数需求。

此外,为了提供第一时种和第二时钟,作为示例,如图16所示,图16为一实施例提供的计数器电路的结构示例图(图中未示出控制模块和减法模块,可参见前述实施例以及示例图),在前述任一示例的基础上,所述电路还包括:第一时钟生成模块15;

第一时钟生成模块15,用于划分系统时钟CLOCK,生成第一时钟CK_PRE和第二时钟CK_POST;其中,第一时钟CK_PRE的上升沿与系统时钟CLOCK的上升沿对齐,第一时钟CK_PRE的下降沿和第二时钟CK_POST的上升沿对齐,第二时钟CK_POST的下降沿和系统时钟CLOCK的下降沿对齐。

具体的,第一时钟生成模块将系统时钟的有效电平部分进行划分,划分得到两个时钟,即第一时钟和第二时钟。作为示例,可以参见图4所示的系统时钟、第一时钟和第二时钟的时序图。需要说明的是,实际应用中考虑到信号在路径中的传输延迟等因素,这里的“对齐”考虑时钟误差,因此即便存在偏差,但仍在允许的误差范围内,则同样视为对齐。

其中,时钟生成模块的具体结构不限。在一个示例中,如图17所示,图17为一实施例提供的第一时钟生成模块的结构示例图,如图所示,第一时钟生成模块15包括:第一延时单元151、第一与非门152、第二与非门153、第四反相器154和第五反相器155;

第一与非门152的第一输入端连接系统时钟CLOCK,第一与非门152的第二输入端连接第二与非门153的输出端,第一与非门152的输出端与第四反相器154的输入端连接;

第二与非门153的第一输入端连接系统时钟CLOCK,第二与非门153的第二输入端与第一延时单元151的输出端连接,第二与非门153的输出端与第五反相器155的输入端连接;

第一延时单元151的输入端连接系统时钟CLOCK;第四反相器154的输出端,用于输出第一时钟CK_PRE;第五反相器155的输出端,用于输出第二时钟CK_POST。

本示例中,第一时钟生成模块由延时单元、第一与非门、第二与非门、第四反相器和第五反相器构成,从而实现对系统时钟的划分,提供第一时钟和第二时钟,以支持准确有效计数,并且本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

此外,为了实现减计数功能,本实施例中还配置有减法模块,其实现方式同样不限。作为示例,图18为一实施例提供的减法模块的结构示例图,如图18所示,减法模块包括:减法器41和对应二进制位的多个输出单元42;其中,多个输出单元42的个数与减计数结果的位数相同;

减法器41的第一输入端与多级计数模块连接,减法器41的第二输入端与减数信号连接,用于根据当前的加计数结果和减数信号,计算获得当前的减计数结果;

每个输出单元42,与减法器41的输出端对应连接,用于响应第一刷新指令REF_PRE的到来,输出减计数结果的对应位,以及响应第一刷新指令REF_PRE的结束,锁存减计数结果的对应位。

具体的,减法器根据各个计数模块当前输出的本位值所构成的当前计数结果,减去减数信号,获得当前的减计数结果,输出给输出单元。由于减法器可以执行多位计算,故实际应用中,减法模块的数量可以为一个。输出单元为多个,与减计数结果的各个位一一对应,比如,结合前述举例,计数结果为六位的情况下,可以配置六个输出单元。结合图中示例,减计数结果<0>与计数结果的CNTOUT<0>对应,即与首级计数模块对应,以此类推,减计数结果<5>与计数结果的CNTOUT<5>对应,即与前述附图中的最后一级计数模块对应,第一刷新指令REF_PRE到来时,输出单元将减法器输出的减计数结果传输至控制模块3,第一刷新指令REF_PRE结束时,输出单元锁存当前的减计数结果。

其中,输出单元的实现方式有多种,作为示例,图19为一实施例提供的减法模块的结构示例图,如图19所示,每个输出单元42包括:第三传输单元421和第三锁存单元422;

第三传输单元421与减法器41对应的输出端和第三锁存单元422连接,第三传输单元421的控制端连接第一刷新指令REF_PRE,用于响应第一刷新指令REF_PRE的到来导通传输;以及,响应第一刷新指令REF_PRE的结束断开传输;

第三锁存单元422的控制端连接第一刷新指令REF_PRE的反相信号REFB_PRE,用于响应第一刷新指令REF_PRE的到来,输出减计数结果的对应位;以及,响应第一刷新指令REF_PRE的结束,锁存减计数结果的对应位。

图中以其中一个输出单元进行结构示例,其余输出单元的结构与示例的结构类似。具体的,输出单元响应于第一刷新指令的到来传输减计数结果至控制模块,并在第一刷新指令结束时,锁存减计数结果。结合图19和图4所示,第一刷新指令REF_PRE到来时,即第一刷新指令REF_PRE翻转为高电平时,第三传输单元421导通传输,故第一传输单元421将接收到的减计数结果传输至第三锁存单元422,此时第三锁存单元422的控制端接收到第一刷新指令REF_PRE的反相信号REFB_PRE为低电平,故不切换至锁存功能,起传输作用,输出减计数结果;直到第一刷新指令REF_PRE结束时,即第一刷新指令REF_PRE翻转为低电平时,第三传输单元421断开传输,以避免减法器得到的下一次减计数的准备状态影响本次计数的准确性。同时,REFB_PRE翻转为高电平,第三锁存单元422由传输模式切换至锁存模式,锁存本次减计数结果,持续输出给控制模块,直至第一刷新指令再次到来,从而实现准确输出减计数结果。实际应用中,第三传输单元和第三锁存单元的实现方式可以有多种。

在一个示例中,如图20所示,图20为一实施例提供的减法模块的结构示例图,如图所示,第三传输单元421包括:第三晶体管51和第四晶体管52;

第三晶体管51的第一端和第四晶体管52的第一端连接,第三晶体管51的第二端和第四晶体管52的第二端连接;

第三晶体管51的控制端连接第一刷新指令REF_PRE,第四晶体管52的控制端连接第一刷新指令REF_PRE的反相信号REFB_PRE。

其中,第三晶体管和第四晶体管的类型不限。作为示例,第三晶体管51包括第二PMOS管,第四晶体管52包括第四NMOS管;其中,第三晶体管51的第一端为第二PMOS管的源极,第三晶体管51的第二端为第二PMOS管的漏极,第三晶体管51的控制端为第二PMOS管的栅极;第四晶体管52的第一端为第四NMOS管的漏极,第四晶体管52的第二端为第四NMOS管的源极,第四晶体管52的控制端为第四NMOS管的栅极。

本示例中,第三传输单元由第三晶体管和第四晶体管构成,从而实现准确有效计数,并且本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

在一个示例中,第三锁存单元422包括:第六反相器53、第五三态非门54以及第七反相器55;

第六反相器53的输入端与第三传输单元421和第五三态非门54的输出端连接,第六反相器53的输出端与第五三态非门54的输入端和第七反相器55的输入端连接;第五三态非门54的控制端连接第一刷新指令REF_PRE的反相信号REFB_PRE;

第七反相器55的输出端与对应的控制模块连接。

其中,第六反相器、第五三态非门以及第七反相器的类型与具体结构不限。具体的,第一刷新指令REF_PRE到来时,即第一刷新指令REF_PRE翻转为高电平时,第三传输单元421将接收到的本次本位值传输至第三锁存单元422,此时第三锁存单元422中,第五三态非门54的控制端接收到第一刷新指令REF_PRE的反相信号REFB_PRE为低电平,故第五三态非门54不工作。此时第三锁存单元422等效为由第六反相器53和第七反相器55构成的串联结构,经过该串联结构,减计数结果的对应位被输出至控制模块。

第一刷新指令REF_PRE结束时,REF_PRE翻转为低电平时,第三传输单元421断开传输。同时,第一刷新指令REF_PRE的反相信号REFB_PRE翻转为高电平,第五三态非门54的控制端接收到的REFB_PRE时钟为高电平,第五三态非门54开始工作。此时,第六反相器53和第五三态非门54构成锁存结构,故第三锁存单元422基于该锁存结构,锁存本次减计数结果的对应位。

本示例中,第三锁存单元由第六反相器、第五三态非门和第七反相器构成,从而实现准确有效计数,并且本示例通过采用常规元器件实现电路结构,能够节约成本,简化电路结构。

同样考虑到减法模块的复位功能,在一些实施例中,图21为一实施例提供的减法模块的结构示例图,如图21所示,减法模块还包括:第二复位模块43;

第二复位模块43与每个第三锁存单元422连接;第二复位模块43的控制端连接复位信号RESET;

第二复位模块43,用于响应于复位信号RESET,对所述第三锁存单元422进行复位。

本示例中,减法模块同样具有复位端口RESET,该复位端口RESET连接至复位信号RESET。在一个示例中,第二复位模块14响应于复位信号将第三锁存单元422中的本位值清零。作为示例,图22为一实施例提供的减法模块的结构示例图,在前述的基础上,第二复位模块43包括:第三复位开关56;

第三复位开关56的第一端与每个第三锁存单元422连接,第三复位开关56的第二端接地,第三复位开关56的控制端连接复位信号RESET。

其中,第三复位开关的类型可以不限。举例来说,第三复位开关56包括第五NMOS管;第三复位开关56的第一端为第五NMOS管的漏极,第三复位开关56的第二端为第五NMOS管的源极,第三复位开关56的控制端为第五NMOS管的栅极。

具体的,当减法模块正常工作时,复位信号RESET处于未激活状态,例如,假设复位信号为高电平有效,则复位信号RESET此时为低电平,第五NMOS管断开,第三锁存单元正常工作。当需要复位时,复位信号RESET翻转为高电平,相应的,第五NMOS管导通,将第三锁存单元处的节点拉低至地,即下拉至0;进而每个输出单元的输出均为0,实现将减法模块输出的减计数结果复位为000000,实现清零。

本实施例通过设置第而复位模块,能够实现对减法模块的复位,从而丰富计数器电路的功能,进一步满足不同情形下的计数需求。

此外,为了提供第一刷新指令和第二刷新指令,作为示例,在前述任一示例的基础上,所述电路还包括:第二时钟生成模块;

第二时钟生成模块,用于划分刷新指令REF,生成第一刷新指令REF_PRE和第二刷新指令REF_POST;其中,第一刷新指令REF_PRE上升沿与刷新指令REF的上升沿对齐,第一刷新指令REF_PRE的下降沿和第二刷新指令REF_POST的上升沿对齐,第二刷新指令REF_POST的下降沿和刷新指令REF的下降沿对齐。

具体的,第二时钟生成模块将刷新指令的有效电平部分进行划分,划分得到两个时钟,即第一刷新指令和第二刷新指令。作为示例,可以参见图4所示的刷新指令、第一刷新指令和第二刷新指令的时序图。需要说明的是,实际应用中考虑到信号在路径中的传输延迟等因素,这里的“对齐”同样考虑时钟误差,因此即便存在偏差,但仍在允许的误差范围内,则同样视为对齐。

其中,第二时钟生成模块的具体结构不限。在一个示例中,如图23所示,图23为一实施例提供的第二时钟生成模块的结构示例图,如图所示,第二时钟生成模块包括:第二延时单元441、第三与非门442、第四与非门443、第八反相器444和第九反相器445;

第三与非门442的第一输入端连接刷新指令REF,第三与非门442的第二输入端连接第四与非门443的输出端,第三与非门442的输出端与第八反相器444的输入端连接;

第四与非门443的第一输入端连接刷新指令REF,第四与非门443的第二输入端与第二延时单元441的输出端连接,第四与非门443的输出端与第九反相器445的输入端连接;

第二延时单元441的输入端连接刷新指令REF;第八反相器444的输出端,用于输出第一刷新指令REF_PRE;第九反相器的输出端,用于输出第二刷新指令REF_POST。

本实施例提供的计数器电路,包括加法模块、减法模块和控制模块。加法模块包括对应二进制位的多级计数模块;每级计数模块,根据加数信号和本级当前输出的本位值,获得进位信号和本次本位值;向下一级计数模块输出所述进位信号,以及响应于第一时钟锁存所述本次本位值,响应于第二时钟向本级计数模块的输出端输出所述本次本位值;每级计数模块输出的本位值组成所述计数器电路的输出,该输出为计数结果的二进制表示,第一时钟和第二时钟基于系统时钟划分得到;减法模块根据各级计数模块当前输出的本位值进行减法计算,配合控制模块当需要执行减计数处理时,输出减计数结果。上述方案中,加法模块由多级计数模块构成,每级计数模块执行本级的加法处理,并响应于第一时钟锁存上次计数的本位值,多级计数模块输出的结果构成整个计数结果的二进制表示,从而实现加计数功能,同时在减法模块和控制模块的配合下实现减计数功能。上述计数器电路可利用加法器和减法器实现,无需依赖触发器实现计数,并且能够实现更加灵活丰富的计数功能。

本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由下面的权利要求书指出。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求书来限制。

技术分类

06120114726686