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

计数器电路

文献发布时间: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管的栅极。

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

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

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

附图说明

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

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

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

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

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

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

图6至图12为本申请的实施例提供的计数模块的结构示例图;

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

图14为一实施例提供的计数模块的结构示例图;

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

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

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

具体实施方式

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

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

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

图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)的数量。

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

实施例一

图3为一实施例提供的计数器电路的结构示例图,如图3所示,该计数器电路包括:对应二进制位的多级计数模块10;

每级计数模块10,用于根据加数信号和本级当前输出的本位值,获得进位信号和本次本位值;向下一级计数模块10输出所述进位信号,以及响应于第一时钟CK_PRE锁存所述本次本位值,响应于第二时钟CK_POST向所述计数模块10的输出端输出所述本次本位值;每级计数模块10输出的本位值组成计数器电路的输出,该输出为计数结果的二进制表示;

其中,首级计数模块10的加数信号为高电平信号,非首级计数模块10的加数信号为上一级计数模块10输出的进位信号;第一时钟CK_PRE和第二时钟CK_POST基于系统时钟划分得到。

实际应用中,本实施例提供的计数器电路可应用在各种存储器,作为示例,可以应用在包括但不限双倍速率同步动态随机存储器(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为第二时钟的时序波形示例,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。

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

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

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

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

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

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

在一些实施例中,如图8所示,图8为一实施例提供的计数模块的结构示例图,在前述的基础上,第一锁存模块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,并在第一时钟结束时,锁存本次本位值。结合图8和图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再次导通传输,方更新锁存的本位值,从而实现准确计数。实际应用中,第一传输单元和第一锁存单元的实现方式可以有多种。

在一个示例中,如图9所示,图9为一实施例提供的计数模块的结构示例图,如图所示,第一传输单元包括:第一晶体管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基于该锁存结构,锁存本次本位值。

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

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

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

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

第二锁存单元25与第二传输单元24和计算模块11连接,第二锁存单元25的控制端连接第二时钟CK_POST的反相信号CKB_POST,用于响应第二时钟CK_POST的到来,向计数模块的输出端CNTOUT输出本次本位值;以及,响应第二时钟CK_POST的结束,锁存本次本位值。

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

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

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

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

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

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

第三三态非门252的控制端,作为第二锁存单元25的控制端,连接第二时钟CK_POST的反相信号CKB_POST。

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

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

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

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

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

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

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

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

作为示例,图14为一实施例提供的计数模块的结构示例图,在前述的基础上,复位模块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,实现清零。

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

此外,为了提供第一时种和第二时钟,作为示例,如图15所示,图15为一实施例提供的计数器电路的结构示例图,在前述任一示例的基础上,所述电路还包括:时钟生成模块15;

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

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

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

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

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

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

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

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

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

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

技术分类

06120114727168