一种约翰逊计数器装置的制作方法

文档序号:16896052发布日期:2019-02-15 23:39阅读:466来源:国知局
一种约翰逊计数器装置的制作方法

本发明涉及电子电路领域,尤其涉及一种约翰逊计数器装置。



背景技术:

现有的计数器是基于二进制域的加法器,其中一个加数固定为1,做累加实现,通常使用的实现方法是逐位行波加法器,或者超前进位加法器。这两种加法器在逻辑电路实现上都有一些限制,比如时序性能限制和位宽成正比,或者是硬件资源和位宽成线性关系。增加了硬件资源和系统延时响应,同时,计数器电路加数固定,不具有灵活性。



技术实现要素:

本发明为了克服上述现有技术存在的缺陷,提供一种约翰逊计数器装置,能够减少硬件资源和系统延时响应,同时还具有灵活性。

根据本发明的一个方面,提供一种约翰逊计数器装置,包括:

约翰逊计数器,所述约翰逊计数器工作在第一时钟下,并用于寄存所述约翰逊计数器装置在第一时钟的当前时钟周期的计数值;以及

累加器,连接至所述约翰逊计数器,所述累加器对所述约翰逊计数器在第一时钟的当前时钟周期的计数值进行在约翰逊计数器码域作累加处理后,反馈至所述约翰逊计数器作为第一时钟的下一时钟周期的计数值,,所述约翰逊计数器和所述累加器的位宽由参数定义,且所述约翰逊计数器的位宽大于等于所述累加器的位宽。

可选地,还包括:

第一寄存器,所述第一寄存器工作在第二时钟下,所述第一寄存器连接所述约翰逊计数器,并用于寄存所述约翰逊计数器在第二时钟的当前时钟周期的计数值。

可选地,所述第二时钟的时钟周期小于等于所述第一时钟的时钟周期。

可选地,还包括:

第二寄存器,所述第二寄存器工作在第三时钟,所述第二寄存器连接所述第一寄存器,并用于寄存所述第一寄存器在第三时钟的当前时钟周期的计数值。

可选地,所述第二时钟复用为所述第三时钟。

可选地,所述第三时钟的时钟周期小于等于所述第二时钟的时钟周期。

可选地,所述第二寄存器用于向外部电路提供所述约翰逊计数器装置的计数输出。

可选地,还包括:

n个寄存器,n为大于2的正整数,n个寄存器中:

第一个寄存器连接所述约翰逊计数器;

第i+1个寄存器连接第i个寄存器,i为大于等于1小于等于n-1的整数;

其中,第i+1个寄存器工作的时钟周期小于等于第i个寄存器工作的时钟周期。

可选地,所述约翰逊计数器由寄存器时序电路实现。

可选地,所述累加器由组合逻辑电路实现。

本发明提供的约翰逊计数器装置具有如下优势:

本发明仅使用通用逻辑硬件即可实现约翰逊码域的累加计数,不需要约翰逊码和二进制的相互转换;由于约翰逊编码的特殊性,约翰逊计数器装置的硬件实现的时序限制与位数无关(最复杂的时序只是一个反向器和对应寄存器),增长较慢;而且无须作二进制与约翰逊码的互换,减少了硬件资源和延时响应;同时,约翰逊计数器装置的累加器位宽可参数定义,增加了灵活性。由此,本发明提供的约翰逊计数器装置可输出约翰逊码表示的二进制数,而且是严格按照同步工作时钟输出的,可以满足嵌入式系统复杂应用的需要。

附图说明

通过参照附图详细描述其示例实施方式,本发明的上述和其它特征及优点将变得更加明显。

图1示出了根据本发明第一实施例的约翰逊计数器装置的示意图。

图2示出了根据本发明第二实施例的约翰逊计数器装置的示意图。

图3示出了根据本发明第三实施例的约翰逊计数器装置的示意图。

图4示出了根据本发明第四实施例的约翰逊计数器装置的示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。

此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

约翰逊计数器装置通过循环移位和取反实现约翰逊计数器码域下的二进制的累加,约翰逊计数器码域下的二进制的累加首先将数据循环左/右移,此后对最低/高位取反。例如,一个4比特位约翰逊计数器状态序列为:0000,1000,1100,1110,1111,0111,0011,0001,0000,…。

首先参见图1,图1示出了根据本发明第一实施例的约翰逊计数器装置的示意图。

约翰逊计数器装置包括约翰逊计数器110和累加器120。

所述约翰逊计数器110工作在第一时钟clk1下。所述约翰逊计数器110用于寄存所述约翰逊计数器装置在第一时钟clk1的当前时钟周期的计数值。具体而言,所述约翰逊计数器110由寄存器时序电路实现。

累加器120连接至所述约翰逊计数器110。所述累加器120对所述约翰逊计数器110在第一时钟clk1的当前时钟周期的计数值进行在约翰逊计数器码域作累加处理后,反馈至所述约翰逊计数器110作为第一时钟clk1的下一时钟周期的计数值。在本发明的各个实施例中,所述约翰逊计数器110和所述累加器120的位宽由参数定义,由此使得约翰逊计数器装置更为灵活。例如,对于计数范围为0~127的情况,约翰逊计数器的位宽可以是64位,本发明并非以此为限,约翰逊计数器也可以设置成不同位宽的寄存器的组合。具体而言,所述约翰逊计数器的位宽需大于等于所述累加器的位宽。可选地,所述累加器120可以由组合逻辑电路实现。

在一个具体实施例中,例如约翰逊计数器110在第一时钟clk1的第一时钟周期寄存状态0000,输出至累加器120进行约翰逊计数器码域下的二进制的累加,获得1000,在第一时钟clk1的第二时钟周期,约翰逊计数器110寄存累加器120的输出1000,以此类推。

一方面,约翰逊计数器装置中的约翰逊计数器110可提供了约翰逊计数器(例如可以是移位寄存器)的位数的两倍的计数状态(即n位移位寄存器可以提供2n个状态,n为正整数);另一方面,约翰逊计数器装置能够从全零状态开始自行初始化,而不需要在启动时在外部注入第一计数位。约翰逊计数器装置还可以生成格雷码,其中相邻的两个码组之间只有一位不同。

下面参见图2,图2示出了根据本发明第二实施例的约翰逊计数器装置的示意图。在图2所示的实施例中,约翰逊计数器装置包括约翰逊计数器110、累加器120和第一寄存器130。约翰逊计数器110和累加器120的连接和控制与图1相同。

第一寄存器130工作在第二时钟clk2下,所述第一寄存器130连接所述约翰逊计数器110,并用于寄存所述约翰逊计数器110在第二时钟clk2的当前时钟周期的计数值。在一些实施例中,所述第二时钟clk2的时钟周期等于所述第一时钟clk1的时钟周期,这样第一寄存器130的数值与约翰逊计数器110中的数值在不出错的情况下,基本相同。在一些实施例中,所述第二时钟clk2的时钟周期小于所述第一时钟clk1的时钟周期,以能够获得完整的约翰逊计数器110数据。本发明并非以此为限,在另一些实施例中,所述第二时钟clk2的时钟周期大于所述第一时钟clk1的时钟周期,第一寄存器130仅储存部分时刻的约翰逊计数器110的数值。例如,在一些实施例中,所述第二时钟clk2的时钟周期为所述第一时钟clk1的时钟周期的两倍,约翰逊计数器110在第一时钟clk1的第一时钟周期寄存状态0000;在第一时钟clk1的第二时钟周期寄存状态1000;在第一时钟clk1的第三时钟周期寄存状态1100;在第一时钟clk1的第四时钟周期寄存状态1110,以此类推。相应地,第一寄存器130在第二时钟clk2的第一时钟周期(相当于第一时钟clk1的第二时钟周期)寄存状态1000;在第二时钟clk2的第二时钟周期(相当于第一时钟clk1的第四时钟周期)寄存状态1110,以此类推。本领域技术人员可以根据实际需求调整第一时钟clk1和第二时钟clk2。

下面参见图3,图3示出了根据本发明第三实施例的约翰逊计数器装置的示意图。

在图3所示的实施例中,约翰逊计数器装置包括约翰逊计数器110、累加器120、第一寄存器130和第二寄存器140。约翰逊计数器110、累加器120和第一寄存器130的连接和控制与图2相同。

所述第二寄存器140工作在第三时钟clk3。所述第二寄存器140连接所述第一寄存器130,并用于寄存所述第一寄存器130在第三时钟clk3的当前时钟周期的计数值。所述第二寄存器140可以用于向外部电路提供所述约翰逊计数器装置的计数输出。在一些实施例中,所述第二时钟clk2复用为所述第三时钟clk3。即第一寄存器130和第二寄存器140共用第二时钟clk2。考虑到第一寄存器130和约翰逊计数器110之间数据传输可能出错,出错概率为m%(m为大于零且小于100的常数),考虑到第一寄存器130和第二寄存器140之间数据传输也可能出错,出错概率为s%(s为大于零且小于100的常数),由此,从约翰逊计数器110到第二寄存器140的数据总出错概率为m%*s%,总出错概率小于m%,同时也小于s%,进一步减少了出错的概率,由此,通过两个寄存器可以减少跨时钟域的数据传输出错的概率。在本实施例的另一些实现中,所述第三时钟clk3的时钟周期小于等于所述第二时钟clk2的时钟周期不同。在这样的实施例中,所述第一寄存器130和第二寄存器140可以分别向不同的外部电路提供所述约翰逊计数器装置的计数输出。本领域技术人员可以根据实际需求调整第二时钟clk2和第三时钟clk3。

在本发明的一个具体实施例中,本发明提供约翰逊计数器装置可以不限于两个寄存器。参见图4,图4示出了根据本发明第四实施例的约翰逊计数器装置的示意图。约翰逊计数器装置包括约翰逊计数器110、累加器120和n个寄存器150,n为大于2的正整数,在n个寄存器中的第一个寄存器150连接所述约翰逊计数器110。在n个寄存器中第i+1个寄存器150连接第i个寄存器150,i为大于等于1小于等于n-1的整数。第i+1个寄存器150工的时钟周期小于等于第i个寄存器150工的时钟周期。

例如,约翰逊计数器装置可以包括3个寄存器。3个寄存器中的第一个寄存器连接所述约翰逊计数器。3个寄存器中第二个寄存器连接第一个寄存器,第三个寄存器连接第二个寄存器,且第三个寄存器工作的时钟周期小于等于第二个寄存器工作的时钟周期小于等于第一个寄存器工作的时钟周期。当有三个以上的寄存器时,可按与上述相同的方式连接和工作。

由此,寄存器的数量越多,本发明提供的约翰逊计数器装置的出错概率越小。

本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。

本发明提供的约翰逊计数器装置具有如下优势:

本发明仅使用通用逻辑硬件即可实现约翰逊码域的累加计数,不需要约翰逊码和二进制的相互转换;由于约翰逊编码的特殊性,约翰逊计数器装置的硬件实现的时序限制与位数无关(最复杂的时序只是一个反向器和对应寄存器),增长较慢;而且无须作二进制与约翰逊码的互换,减少了硬件资源和延时响应;同时,约翰逊计数器装置的累加器位宽可参数定义,增加了灵活性。由此,本发明提供的约翰逊计数器装置可输出约翰逊码表示的二进制数,而且是严格按照同步工作时钟输出的,可以满足嵌入式系统复杂应用的需要。

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1