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

包括多位触发器的电路及其操作方法

文献发布时间:2023-06-19 11:52:33


包括多位触发器的电路及其操作方法

技术领域

本发明的实施例涉及包括多位触发器的电路及其操作方法。

背景技术

触发器是具有两个稳定状态并因此能够用作存储器的一个位的电路。触发器通常由一个或两个控制信号和时钟信号控制。输出通常包括补码以及正常输出。触发器可以是简单的(透明的)或定时的(或非透明的)。时钟触发器是专为同步(时间离散)系统设计的并且通常实现为主从器件。触发器可以进一步分为以下类型:RS(“set-reset(置位-复位)”)、D(“data(数据)”或“delay(延迟)”)、T(“toggle(触发)”)和JK类型是常见的类型。D触发器被称为延迟触发器(因为其输出Q看起来像输入D的延迟)或数据锁存器。特定类型触发器的行为可以用所谓的特征方程式来描述,特征方程式根据触发器的输入信号和/或“先前状态”信号得出“当前状态”输出。

发明内容

根据本发明实施例的一个方面,提供了一种包括多位触发器的电路,包括:多位触发器;集成时钟门控电路,连接到多位触发器;以及控制电路,连接到集成时钟门控电路和多位触发器,其中控制电路用于:将对应于输入数据的多位触发器的输出数据与输入数据进行比较;基于将对应于输入数据的多位触发器的输出数据与多位触发器的输入数据进行比较来生成使能信号,以及将使能信号提供给集成时钟门控电路,其中,集成时钟门控电路基于使能信号向多位触发器提供时钟信号,从而使多位触发器触发。

根据本发明实施例的另一个方面,提供了一种包括多位触发器的电路,包括:多个单个位触发器;集成时钟门控电路,其中,集成时钟门控电路的输出端子连接到多个单个位触发器的每个的时钟输入端子;多个消歧逻辑电路,连接到多个单个位触发器,其中,多个消歧逻辑电路中的每个用于确定输入数据和与多个单个位触发器的相应单个位触发器的输入数据相对应的输出数据的逻辑消歧;以及分离电路,连接到多个消歧逻辑电路,其中,分离电路用于:确定多个消歧逻辑电路的多个输出的逻辑分离,和根据逻辑分离提供使能信号。

根据本发明实施例的又一个方面,提供了一种操作多位触发器的方法,包括:将输入数据提供给多位触发器;确定输入数据和与输入数据相对应的来自多位触发器的输出数据的逻辑消歧;确定输入数据和与输入数据相对应的多位触发器的输出数据的逻辑消歧的逻辑分离;基于逻辑分离,将使能信号提供给连接到多位触发器的集成时钟门控电路;以及基于使能信号生成用于多位触发器的时钟信号。

附图说明

当结合附图进行阅读时,从以下详细描述可最佳理解本发明的各个方面。应该强调,根据工业中的标准实践,各个部件未按比例绘制并且仅用于说明的目的。实际上,为了清楚的讨论,各个部件的尺寸可以任意地增大或减小。

图1是示出根据一些实施例的处理系统的示例的框图。

图2描绘了根据一些实施例的具有共享时钟端子和一个输出端的D型触发器的示例。

图3描绘了根据一些实施例的多位触发器电路的示例框图。

图4A描绘了根据一些实施例的多位触发器电路的部分框图和部分电路图。

图4B示出了根据一些实施例的多位触发器电路的异或逻辑电路的真值表。

图4C描绘了根据一些实施例的多位触发器电路的分离电路的真值表。

图5是示出根据一些实施例的,由两个单个位触发器单元构成的多位触发器的示例的框图。

图6是示出根据一些实施例的用于操作多位触发器的示例方法的流程图。

具体实施方式

以下公开内容提供了许多用于实现本发明的不同特征不同的实施例或实例。下面描述了组件和布置的具体实施例或实例以简化本发明。当然,这些仅是实例而不旨在限制。例如,在以下描述中,在第二部件上方或者上形成第一部件可以包括第一部件和第二部件直接接触形成的实施例,并且也可以包括在第一部件和第二部件之间可以形成额外的部件,从而使得第一部件和第二部件可以不直接接触的实施例。此外,本发明可以在各个示例中重复参考数字和/或字母。该重复是为了简单和清楚的目的,并且其本身不指示讨论的各个实施例和/或配置之间的关系。

此外,为了便于描述,本文中可以使用诸如“在…下方”、“在…下面”、“下部”、“在…上面”、“上部”等的间隔关系术语,以描述如图中所示的一个元件或部件与另一元件或部件的关系。除了图中所示的方位外,间隔关系术语旨在包括器件在使用或操作工艺中的不同方位。装置可以以其它方式定位(旋转90度或在其它方位),并且在本文中使用的间隔关系描述符可以同样地作相应地解释。

电子设计自动化(EDA)工具和方法促进了微电子集成电路在半导体衬底上的设计、分割和放置。该过程通常包括将电路的行为描述转换为功能描述,然后将其分解为逻辑功能,并使用标准单元库映射到单元中。映射后,执行合成以将结构设计转换为物理布局,对同步结构元素构建时钟树,并且在布局后优化了设计。

图1是示出根据本文公开的一些实施例的处理系统100的示例的框图。处理系统100可以用于根据本文讨论的各种过程来执行用于操作多位触发器的方法。处理系统100包括处理单元110,诸如台式计算机、工作站、膝上型计算机、针对特定应用而定制的专用单元、智能电话或平板电脑等。处理系统100可以配备有显示器114和一个或多个I/O设备112,诸如鼠标、键盘、触摸屏、打印机等。处理单元110还包括中央处理单元(CPU)120、存储器122、大容量存储器件124、视频适配器126连接到总线130的I/O接口128。

总线130可以是几种总线架构中的任何一种或多种,包括存储器总线或存储器控制器、外围总线或视频总线。CPU 120可以包括任何类型的电子数据处理器,并且存储器122可以包括任何类型的系统存储器,诸如静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)或只读存储器(ROM)。

大容量存储器件124可以包括配置为存储数据、程序和其他信息并且使数据、程序和其他信息可以通过总线130来访问的任何类型的存储器件。大容量存储器件124例如可以包括:硬盘驱动器、磁盘驱动器、光盘驱动器、闪存等中的一个或多个。

本文所使用的术语“计算机可读介质”可以包括计算机存储介质,诸如上述的系统存储器和存储器件。计算机存储介质可以包括以用于存储信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质,诸如计算机可读指令、数据结构或程序模块。存储器122和大容量存储器件124是计算机存储介质示例(例如,存储器存储)。大容量存储器件124可以进一步存储标准单元的库,如将在下文中进一步讨论的。

计算机存储介质可以包括RAM、RO、电可擦除只读存储器(EEPROM)、闪存或其他存储技术、CD-ROM、数字多功能磁盘(DVD)或其他光存储、磁带、磁带、磁盘存储设备或其他磁性存储设备,或可用于存储信息并可由处理设备100访问的任何其他制造产品。任何此类计算机存储介质都可以是处理设备100的部分。计算机存储介质不包括载波或其他传播或调制的数据信号。

通信介质可以由计算机可读指令、数据结构、程序模块或调制数据信号中的其他数据(例如载波或其他传输机制)来体现,并且通信介质包括任何信息传递介质。术语“调制数据信号”可以描述具有以将信息编码在信号中的方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(RF)、红外和其他无线介质的无线介质。

视频适配器126和I/O接口128可以提供将外部输入和输出设备耦合到处理单元110的接口。如图1所示,输入和输出设备的示例包括耦合到视频适配器126和I/O的显示器114。诸如鼠标、键盘、打印机等的I/O设备112耦合至I/O接口128。其他设备可以耦合至处理单元110,并且可以利用更多或更少的接口卡。例如,串行接口卡(未示出)可以用于为打印机提供串行接口。处理单元110还可以包括网络接口140,网络接口140可以是到局域网(LAN)或广域网(WAN)116的有线链路和/或无线链路。

处理系统100的实施例可以包括其他组件。例如,处理系统100可以包括电源、电缆、母板、可移动存储介质、壳体等。这些其他组件虽然未显示,但被认为是处理系统100的部分。

在一些示例中,软件代码由CPU 120执行以操作多位触发器。CPU 120可以经由总线130从存储器122、大容量存储器件124等访问软件代码,或者通过网络接口140远程访问软件代码。此外,在一些示例中,可以基于功能集成电路设计来创建物理集成电路布局,功能集成电路设计可以根据由软件代码实现的各种方法和过程来通过I/O接口128接收和/或存储在存储器122或124中。

标准单元可以包括整个器件,诸如晶体管、二极管、电容器、电阻器或电感器,或者可以包括布置成实现某种特定功能的一组多个器件,诸如逆变器、触发器、存储器单元或放大器等。除了使功能设计更容易概念化之外,使用标准单元还可以减少IC内布局部件的设计规则检查(DRC)的验证时间,因为在DRC中可以一次检查整个布局中重复的标准单元,而不是单独检查每个实例。基于所接收的功能电路描述,系统100被配置为从单元库中选择标准单元。

如上所述,触发器电路可以包括在标准单元库中。触发器是具有两个稳定状态并且因此能够用作存储器的一个位的电路。触发器通常由一个或两个控制信号和时钟信号控制。输出通常包括补码以及正常输出。触发器可以是简单的(透明的)或定时的(或非透明的)。时钟触发器是专门为同步(时间离散)系统设计的,通常实现为主从器件。触发器可以进一步分为以下类型:RS(“set-reset(置位-复位)”),D(“data(数据)”或“delay(延迟)”),T(“toggle(触发)”)和JK类型是常见的类型。D触发器被称为延迟触发器(因为其输出Q看起来像输入D的延迟)或数据锁存器。特定类型触发器的行为可以用所谓的特性方程式描述,方程式根据触发器的输入信号和/或“先前状态”信号得出“当前状态”输出。

D触发器在时钟周期的确定部分(诸如时钟的上升沿)捕获D输入的值。捕获的值成为Q输出。在其他时间,输出Q不变。D触发器可以看作是存储器单元、零阶保持或延迟线。

图2描绘了根据本公开的方面的示例性D型触发器200。如图2所示,触发器200包括数据输入端子202和数据输出端子204。另外,图2的触发器200包括时钟输入端子CK in206。触发器200捕获一个值,即在数据输入端子202上在时钟周期的确定部分(诸如时钟的上升沿)处提供的输入数据D。所捕获的输入数据D在数据输出端子204处变为输出数据Q。有时,输出数据Q不变。在一些示例中,触发器200可以被视为存储器单元、零阶保持或延迟线。

形成图2的示例触发器200的多个单个位特触发器被布置为形成多位触发器。多位触发器具有多个输入端子和输出端子(D和Q引脚)。例如,一些两位多位触发器可能具有两个输入端子和两个输出端子(D0、D1、Q0、Q1引脚)以及公共时钟、扫描输入和扫描使能引脚。在两位触发器中,第二位触发器的扫描输入引脚连接到第一位触发器Q引脚(Q0),因此它们处于扫描顺序。可以以紧凑的方式设计多位触发器的布局,以使多位触发器的有效面积小于单个位触发器的相加面积。

可通过在触发器之间共享本地时钟缓冲器来使用已知的多位触发器以节省功率,并通过减少时钟触发器件来优化功率。公开的实施例通过使用多个低时钟脉冲触发单个位触发器和自定时集成时钟门控(ICG)单元进一步节省了功率。在一些示例中,功率降低了30%以上。

图3示出了根据一些实施例的多位触发器电路300的框图。如图3所示,多位触发器电路300包括多位触发器302、集成时钟门控电路304和控制电路306。多位触发器302连接到集成时钟门控电路304和控制电路306。控制电路306包括消歧电路308和分离电路310。在阅读了本公开之后,对于本领域的普通技术人员显而易见的是,多位触发器电路300的组件比图3中所描绘的更多。

如图3所示,多位触发器302包括数据输入端子312、数据输出端子314和时钟输入端子316。多位触发器302捕获提供在数据输入端子312处的输入数据D,并在输出端子314处提供捕获的输入数据D作为输出数据Q。多位触发器302在时钟输入端子316处接收时钟信号CLK,并且响应于接收到时钟信号CLK而触发。在一些示例中,多位触发器302包括多个单个位触发器,其被布置为形成用于临时存储数据输入的预定位数的多位触发器302。多位触发器302连接到控制电路306。

控制电路306包括第一输入端子318和第二输入端子320。在一些示例中,控制电路306的消歧电路308包括第一输入端子318和第二输入端子320。第一输入端子318连接到多位触发器302的输入端子312。第二输入端子320连接到多位触发器302的输出端子314。在一些示例中,控制电路306将输入数据与对应于输入数据的多位触发器302的输出数据进行比较,并根据比较结果提供使能信号EN。控制电路306在控制电路输出端子326处提供使能信号EN。

例如,控制电路306的消歧电路308确定多位触发器302的输入数据D和对应于输入数据D的输出数据Q的逻辑消歧。消歧电路308提供消歧电路308的消歧电路输出端子322处的逻辑消歧确定的结果。消歧电路输出端子322连接到分离电路310的消歧电路输入端子324。因此,输入数据D的逻辑消歧确定的结果与对应于输入数据D的多位触发器302的输出数据Q作为输入数据提供给分离电路310。

分离电路310确定输入数据D和与输入数据D相对应的多位触发器302的输出数据Q的逻辑消歧结果的逻辑分离。基于对输入数据D和对应于输入数据D的多位触发器302的输出数据Q的逻辑消歧结果的逻辑分离确定,分离电路310生成使能信号EN。分离电路310在分离电路输出端子326(也称为控制电路输出端子326)处提供使能信号EN作为输出。

分离电路输出端子326或控制电路输出端子326连接到集成时钟门控电路304的第二输入端子330。集成时钟门控电路304的第一输入端子328用于接收时钟脉冲CP。集成时钟门控电路304在集成时钟门控电路输出端子332处生成时钟信号CLK。

在一些示例中,集成时钟门控电路304基于使能信号EN从时钟脉冲CP生成时钟信号CLK。例如,当使能信号EN变为逻辑高时,集成时钟门控电路304生成时钟信号CLK。时钟信号CLK被提供给集成时钟门控电路输出端子332,集成时钟门控电路输出端子332连接到多位触发器302的时钟输入端子316。时钟信号CLK被提供给多位触发器302并触发多位触发器302。

图4A描绘了根据一些实施例的多位触发器电路400的部分框图和部分电路图。例如,并且如图4A所示,多位触发器电路400包括多个单个位触发器,例如,第一单个位触发器200(1)、第二单个位触发器200(2)、第三单个位触发器200(3)和第四单个位触发器200(4)。在一些示例中,多个单个位触发器形成多位触发器302。尽管图4A的多位触发器电路400被示出为仅包括四个单个位触发器,但是在阅读了本公开之后对于本领域普通技术人员而言显而易见的是,多位触发器电路400可以包括不同数量的单个位触发器。例如,多位触发器电路400可以包括两个单个位触发器、八个单个位触发器、十六个单个位触发器、等等。

此外,多位触发器电路400包括多个异或(XOR)逻辑电路,例如,第一XOR逻辑电路402(1)、第二XOR逻辑电路402(2)、第三异或逻辑电路402(3)和第四异或逻辑电路402(4)。在一些示例中,第一XOR逻辑电路402(1)、第二XOR逻辑电路402(2)、第三XOR逻辑电路402(3)和第四XOR逻辑电路402(4)形成消歧电路304。多个XOR逻辑电路中的一个与多个单个位触发器中的一个相关联。例如,第一XOR逻辑电路402(1)与第一单个位触发器200(1)相关联,第二XOR逻辑电路402(2)与第二单个位触发器200(2)相关联,第三XOR逻辑电路402(3)与第三单个位触发器200(3)相关联,并且第四XOR逻辑电路402(4)与第四单个位触发器200(4)相关联。因此,并且根据一些实施例,多位触发器电路400包括相同数量或相等数量的多个XOR逻辑电路和多个单个位触发器。

第一单个位触发器200(1)包括数据输入端子202(1)、数据输出端子204(1)和时钟输入端子206(1)。另外,第一单个位触发器200(1)包括扫描输入端子208(1)。第一单个位触发器200(1)的数据输入端子202(1)用于接收第一输入数据D1。第一单个位触发器200(1)的时钟输入端子206(1)连接到时钟门控电路输出端子332,并且用于从集成时钟门控电路304接收时钟信号CLK。第一单个位触发器200(1)的扫描输入端子208(1)用于接收扫描输入信号SI。

第一单个位触发器200(1)用于捕获在数据输入端子202(1)处接收的第一输入数据Dl,并提供捕获的第一输入数据Dl作为在数据输出端子204(1)处的第一输出数据Ql。第一单个位触发器200(1)的数据输出端子204(1)连接到第一XOR逻辑电路402(1)的第二输入端子406(1)。第一XOR逻辑电路402(1)的第一输入端子404(1)连接到第一单个位触发器200(1)的数据输入端子202(1)。因此,第一XOR逻辑电路402(1)的第一输入端子404(1)接收第一单个位触发器200(1)的第一输入数据D1,并且第一XOR逻辑电路402(1)的第二输入端子406(1)接收与第一输入数据D1相对应的第一单个位触发器200(1)的第一输出数据Q1。

第一异或逻辑电路402(1)确定第一单个位触发器200(1)的第一输入数据Dl和对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Ql的逻辑消歧。第一XOR逻辑电路402(1)提供第一输出数据X1,其是第一单个位触发器200(1)的第一输入数据D1和在输出端子408(1)处对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Q1的逻辑消歧。根据一些实施例,图4B示出了第一单个位触发器200(1)的第一输入数据D1和对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Q1的示例逻辑消歧的示例真值表450。

如图4B所示,真值表450包括第一单个位触发器200(1)的第一输入数据D1、对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Q1以及第一XOR逻辑电路402(1)的第一输出数据X1。在一些示例中,第一XOR逻辑电路402(1)的第一输出数据X1取决于第一单个位触发器200(1)的第一输入数据D1和与第一输入数据D1相对应的第一单个位触发器200(1)的第一输出数据Q1。例如,当第一单个位触发器200(1)的第一输入数据D1为逻辑零(0)并且对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Q1为逻辑0时,则第一XOR逻辑电路402(1)的第一输出数据X1为逻辑0。

作为另一示例,当第一单个位触发器200(1)的第一输入数据Dl为逻辑0并且对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Ql为逻辑一(1)时,那么第一输出数据X1为逻辑1。作为又一示例,当第一单个位触发器200(1)的第一输入数据D1为逻辑1并且对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Q1为逻辑0时,则第一XOR逻辑电路402(1)的第一输出数据X1是逻辑1。作为又一示例,当第一单个位触发器200(1)的第一输入数据D1为逻辑1并且对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Q1为逻辑1,则第一XOR逻辑电路402(1)的第一输出数据X1为逻辑0。因此,当对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Q1不同于第一输入数据D1时,第一XOR逻辑电路402(1)提供逻辑1的第一输出数据X1。此外,当对应于第一输入数据D1的第一单个位触发器200(1)的第一输出数据Q1与第一输入数据D1相同时,第一XOR逻辑电路402(1)提供逻辑0的第一输出数据X1。

返回图4A,第二个单个位触发器200(2)包括数据输入端子202(2)、数据输出端子204(2)和时钟输入端子206(2)。另外,第二单个位触发器200(2)包括扫描输入端子208(2)。第二个单个位触发器200(2)的数据输入端子202(2)用于接收第二输入数据D2。第二位触发器200(2)的时钟输入端子206(2)连接到时钟门控电路输出端子332,并且用于从集成时钟门控电路304接收时钟信号CLK。第二单个位触发器200(2)的扫描输入端子208(2)连接到第一位触发器200(1)的输出端子204(1),并且用于接收第一单个位触发器200(1)的第一输出数据Q1。

第二单个位触发器200(2)用于捕获在数据输入端子202(2)处接收的第二输入数据D2,并在数据输出端子204(2)处提供捕获的第二输入数据D2作为第二输出数据Q2。第二个单个位触发器200(2)的数据输出端子204(2)连接到第二XOR逻辑电路402(2)的第二输入端子406(2)。第二XOR逻辑电路402(2)的第一输入端子404(2)连接到第二单个位触发器200(2)的数据输入端子202(2)。因此,第二XOR逻辑电路402(2)的第一输入端子404(2)接收第二单个位触发器200(2)的第二输入数据D2,并且第二XOR逻辑电路402(2)的第二输入端子406(2)接收与第二输入数据D2相对应的第二单个位触发器200(2)的第二输出数据Q2。

第二XOR逻辑电路402(2)确定第二单个位触发器200(2)的第二输入数据D2和对应于第二个输入数据D2的第二单个位触发器200(2)的第二输出数据Q2的逻辑消歧。第二XOR逻辑电路402(2)提供第二输出数据X2,第二输出数据X2是第二单个位触发器200(2)的第二输入数据D2和在输出端子408(2)处对应于第二输入数据D2的第二单个位触发器200(2)的第二输出数据Q2的逻辑消歧。在示例中,当对应于第二输入数据D2的第二单个位触发器200(2)的第二输出数据Q2与第二输入数据D2不同时,第二XOR逻辑电路402(2)提供逻辑1的第二输出数据X2。此外,当对应于第二输入数据D2的第二单个位触发器200(2)的第二输出数据Q2与第二输入数据D2相同时,第二XOR逻辑电路402(2)提供逻辑0的第二输出数据X2。

继续图4A,第三单个位触发器200(3)包括数据输入端子202(3)、数据输出端子204(3)和时钟输入端子206(3)。另外,第三单个位触发器200(3)包括扫描输入端子208(3)。第三单个位触发器200(3)的数据输入端子202(3)用于接收第三输入数据D3。第三单个位触发器200(3)的时钟输入端子206(3)连接到时钟门控电路输出端子332,并且用于从时钟门控电路304接收时钟信号。第三单个位触发器200(3)的扫描输入端子208(3)连接到第二单个位触发器200(2)的输出端子204(2),并且用于接收第二单个位触发器200(2)的第二输出数据Q2。

第三单个位触发器200(3)用于捕获在数据输入端子202(3)处接收的第三输入数据D3,并提供捕获的第三输入数据D3作为在数据输出端子204(3)处的第三输出数据Q3。第三单个位触发器200(3)的数据输出端子204(3)连接到第三XOR逻辑电路402(3)的第二输入端子406(3)。第三XOR逻辑电路402(3)的第一输入端子404(3)连接到第三单个位触发器200(3)的数据输入端子202(3)。因此,第三XOR逻辑电路402(3)的第一输入端子404(3)接收第三单个位触发器200(3)的第三输入数据D3,并且第三XOR逻辑电路402(3)的第二输入端子406(3)接收与第三输入数据D3相对应的第三单个位触发器200(3)的第三输出数据Q3。

第三XOR逻辑电路402(3)确定第三单个位触发器200(3)的第三输入数据D3和对应于第三输入数据D3的第三单个位触发器200(3)的第三输出数据Q3的逻辑消歧。第三XOR逻辑电路402(3)提供第三输出数据X3,其是第三单个位触发器200(3)的第三输入数据D3和在输出端子408(3)处对应于第三输入数据D3的第三单个位触发器200(3)的第三输出数据Q3的逻辑消歧。在示例中,当对应于第三输入数据D3的第三单个位触发器200(3)的第三输出数据Q3与第三输入数据D3不同时,第三XOR逻辑电路402(3)提供逻辑1的第三输出数据X3。此外,当对应于第三输入数据D3的第三单个位触发器200(3)的第三输出数据Q3与第三输入数据D3相同时,第三XOR逻辑电路402(3)提供逻辑0的第三输出数据X3。

仍然继续图4A,第四单个位触发器200(4)包括数据输入端子202(4)、数据输出端子204(4)和时钟输入端子206(4)。另外,第四单个位触发器200(4)包括扫描输入端子208(4)。第四单个位触发器200(4)的数据输入端子202(4)用于接收第四输入数据D4。第四单个位触发器200(4)的时钟输入端子206(4)连接到时钟门控电路输出端子332,并且用于从时钟门控电路304接收时钟信号。第四单个位触发器200(4)的扫描输入端208(4)连接到第三单个位触发器200(3)的输出端204(3),并且用于接收第三单个位触发器200(3)的第三输出数据Q3。

第四位触发器200(4)用于捕获在数据输入端子202(4)处接收的第四输入数据D4,并且提供捕获的第四输入数据D4作为在数据输出端子204(4)处的第四输出数据Q4。第四单个位触发器200(4)的数据输出端子204(4)连接到第四XOR逻辑电路402(4)的第二输入端子406(4)。第四XOR逻辑电路402(4)的第一输入端子404(4)连接到第四单个位触发器200(4)的数据输入端子202(4)。因此,第四XOR逻辑电路402(4)的第一输入端子404(4)接收第四单个位触发器200(4)的第四输入数据D4,并且第四XOR逻辑电路402(4)的第二输入端子406(4)接收与第四输入数据D4相对应的第四单个位触发器200(4)的第四输出数据Q4。

第四XOR逻辑电路402(4)确定第四单个位触发器200(4)的第四输入数据D4和对应于第四输入数据D4和第四单个位触发器200(4)的第四输出数据Q4的逻辑消歧。第四XOR逻辑电路402(4)提供第四输出数据X4,其是第四单个位触发器200(4)的第四输入数据D4和在输出端子408(4)处对应于第四输入数据D4的第四单个位触发器200(4)的第四输出数据Q4的逻辑消歧。在示例中,当对应于第四输入数据D4的第四单个位触发器200(4)的第四输出数据Q4与第四输入数据D4不同时,第四XOR逻辑电路402(4)提供逻辑1的第四输出数据X4。此外,当对应于第四输入数据D4的第四单个位触发器200(4)的第四输出数据Q4与第四输入数据D4相同时,第四XOR逻辑电路402(4)提供逻辑0的第四输出数据X4。

第一XOR逻辑电路402(1)的第一输出数据Xl、第二XOR逻辑电路402(2)的第二输出数据X2、第三XOR逻辑电路402(3)的第三输出数据X3和第四XOR逻辑电路402(4)的第四输出数据X4被提供给多位触发器电路400的分离电路310。例如,第一异或逻辑电路402(1)的输出端子408(1)连接到分离电路310的多个输入端子中的一个。此外,第二XOR逻辑电路402(2)的输出端子408(2)连接到分离电路310的多个输入端子中的另一个。此外,第三XOR逻辑电路402(3)的输出端子408(3)连接到分离电路310的多个输入端子中的再另一个。另外,第四XOR逻辑电路402(4)的输出端子408(4)连接到分离电路310的多个输入端子中的再另一个。

分离电路310确定在分离电路310的多个输入端子处接收的第一XOR逻辑电路402(1)的第一输出数据Xl、第二XOR逻辑电路402(2)的第二输出数据X2、第三XOR逻辑电路402(3)的第三输出数据X3和第四XOR逻辑电路402(4)的第四输出数据X4的逻辑分离,并基于逻辑分离生成使能信号EN。在一些示例中,分离电路310是或逻辑电路。图4C示出了在分离电路310的多个输入端处接收的第一XOR逻辑电路402(1)的第一输出数据X1、第二XOR逻辑电路402(2)的第二输出数据X2、第三XOR逻辑电路402(3)的第三输出数据X3和第四XOR逻辑电路402(4)的第四输出数据X4的逻辑分离的真值表460。

如图4C所示,真值表460包括第一XOR逻辑电路402(1)的第一输出数据Xl、第二XOR逻辑电路402(2)的第二输出数据X2、第三XOR逻辑电路402(3)的第三输出数据X3、第四XOR逻辑电路402(4)的第四输出数据X4以及使能信号EN的列。在一些示例中,使能信号EN的逻辑值取决于第一XOR逻辑电路402(1)的第一输出数据X1、第二XOR逻辑电路402(2)的第二输出数据X2、第三XOR逻辑电路402(3)的第三输出数据X3且第四XOR逻辑电路402(4)的第四输出数据X4。例如,当第一XOR逻辑电路402(1)的第一输出数据X1为逻辑0或1(表示为无关)、第二XOR逻辑电路402(2)的第二输出数据X2是逻辑0或1、第三XOR逻辑电路402(3)的第三输出数据X3是逻辑0或1且第四XOR逻辑电路402(4)的第四输出数据X4是逻辑1时,则使能信号EN的逻辑值为逻辑1。

作为另一示例,当第一XOR逻辑电路402(1)的第一输出数据Xl为逻辑0或1、第二XOR逻辑电路402(2)的第二输出数据X2为逻辑0或1、第三XOR逻辑电路402(3)的第三输出数据X3为逻辑1且第四XOR逻辑电路402(4)的第四输出数据X4为逻辑0或1时,则使能信号EN的逻辑值是逻辑1。作为又一示例,当第一XOR逻辑电路402(1)的第一输出数据X1是逻辑0或1、第二XOR逻辑电路402(2)的第二输出数据X2为逻辑1、第三XOR逻辑电路402(3)的第三输出数据X3为逻辑0或1且第四XOR逻辑电路402(4)的第四输出数据X4逻辑为逻辑0或1时,则使能信号EN的逻辑值为逻辑1。

作为又一个示例,当第一XOR逻辑电路402(1)的第一输出数据Xl是逻辑1、第二XOR逻辑电路402(2)的第二输出数据X2是逻辑0或1、第三XOR逻辑电路402(3)的第三输出数据X3为逻辑0或1且第四XOR逻辑电路402(4)的第四输出数据X4为逻辑0或1时,则使能信号EN的逻辑值是逻辑1。作为又一示例,当第一XOR逻辑电路402(1)的第一输出数据X1是逻辑0、第二XOR逻辑电路402(2)的第二输出数据X2为逻辑0、第三XOR逻辑电路402(3)的第三输出数据X3为逻辑0且第四XOR逻辑电路402(4)的第四输出数据X4为逻辑0时,则使能信号EN的逻辑值为逻辑0。

因此,当第一XOR逻辑电路402(1)的第一输出数据Xl、第二XOR逻辑电路402(2)的第二输出数据X2、第三XOR逻辑电路402(3)的第三输出数据X3或第四XOR逻辑电路402(4)的第四输出数据X4中的任何一个为逻辑1时,使能信号EN的逻辑值为逻辑1。即,当用于第一单个位触发器200(1)、第二单个位触发器200(2)、第三单个位触发器200(3)和第四单个位触发器200(4)中任何一个的输出数据Q1与相应的输入数据D不同时,使能信号EN为逻辑1。

在分离电路输出端子326处提供使能信号EN,分离电路输出端子326连接到集成时钟门控电路304的第二输入端子330。因此,将使能信号EN提供给集成时钟门控电路304。时钟门控电路304在集成时钟门控电路输出端子332处生成时钟信号。例如,当使能信号EN的逻辑值是逻辑1时,集成时钟门控电路304提供时钟信号。如前所述,当多位触发器电路400的多个单个位触发器中的一个的输出数据不同于从中捕获输出数据的多个单个位触发器中的一个的输入数据时,使能信号EN的逻辑值为逻辑1。

图5是示出根据一些实施例的多位触发器400的多个单个位触发器中的一个的信号的图500。例如,曲线图500的第一曲线图502表示多位触发器400的集成时钟门控电路304的时钟脉冲CP。曲线图500的第二曲线图504表示多位触发器400的多个单个位触发器中的一个的输入数据D。曲线图500的第三曲线图506表示多位触发器400的多个单个位触发器中的一个的输出数据Q。第四曲线图408表示使能信号EN。

如第一标记510所示,当输入数据D和输出数据Q都处于相同的逻辑值(即逻辑0)时,则使能信号EN也处于逻辑0。但是,如第二标记512所示,当输入数据D上升到逻辑1并且输出数据Q保持在逻辑0时,则使能信号EN上升到逻辑1。另外,如第三标记514处所示,当输入数据D和输出数据Q都上升到逻辑1时,使能信号EN下降到逻辑零。

因此,并且根据示例实施例,仅当与输入数据相对应的多位触发器302的输出数据不同于输入数据时,集成时钟门控电路才生成时钟信号以触发多位触发器302。这样可以最小化时钟脉冲CP并降低时钟树功率。另外,所公开的过程导致多位触发器302的较少触发,从而节省了功率。例如,所公开的过程导致在10%的数据活动(即,触发)下大约30.4%的功率节省和在0%的数据活动下大约64.3%的功率节省。

图6是根据一些实施例的用于操作多位触发器的方法600的流程图。在一些示例中,方法600由处理系统100执行。在其他实施例中,方法600作为指令存储在非暂时性计算机可读介质上,当非暂时性计算机可读介质由处理单元110被执行时,进行方法600。

在方法600的框610处,将输入数据提供给多位触发器。例如,在多位触发器302的输入端子312处提供输入数据。多位触发器302用于捕获输入数据并在输出端子314处提供输出数据。在一些示例中,数据输入可以包括两位、四位、八位等。在一些示例中,与多位触发器302的输入数据相对应的输入数据和输出数据均被提供给消歧电路308。

在方法600的框620处,确定输入数据和与提供给多位触发器的输入数据相对应的输出数据的逻辑消歧。例如,多位触发器电路300的消歧电路308确定输入数据和与提供给多位触发器302的输入数据相对应的输出数据的逻辑消歧。输入数据和对应于提供给多位触发器302的输入数据的输出数据的逻辑消歧被提供给分离电路310。

在方法600的框630处,确定输入数据和与提供给多位触发器的输入数据相对应的输出数据的逻辑消歧的逻辑分离。例如,多位触发器电路300的分离电路310确定输入数据和与提供给多位触发器302的输入数据相对应的输出数据的逻辑消歧的逻辑分离。

在方法600的框640处,基于逻辑分离,将使能信号提供给连接到多位触发器的集成时钟门控电路。例如,使能信号EN被提供给连接到多位触发器302的集成时钟门控电路304。使能信号EN是基于输入数据和对应于提供给多位触发器302的输入数据的输出数据的逻辑消歧的逻辑分离而生成的。

在方法600的框650处,基于使能信号生成用于多位触发器的时钟信号。例如,集成时钟门控电路304基于来自时钟脉冲CP的使能信号EN来生成时钟信号。在一些示例中,通过集成时钟门控电路304将时钟信号提供给多位触发器302。在方法600的框660处,响应于时钟信号来触发多位触发器。例如,当时钟信号上升到逻辑高(即逻辑1)时,多位触发器302被触发。

根据示例实施例,一种电路包括:多位触发器;集成时钟门控电路,连接到多位触发器;以及控制电路,连接到集成时钟门控电路和多位触发器,其中控制电路用于:将对应于输入数据的多位触发器的输出数据与输入数据进行比较基于将对应于输入数据的多位触发器的输出数据与多位触发器的输入数据进行比较来生成使能信号,以及将使能信号提供给集成时钟门控电路,其中,集成时钟门控电路基于使能信号向多位触发器提供时钟信号,从而使多位触发器触发。

在上述电路中,控制电路包括消歧电路和分离电路。

在上述电路中,多位触发器包括被布置为形成多位触发器的多个单个位触发器,其中,消歧电路包括多个异或逻辑电路,以及其中,多个异或逻辑电路中的每个与多个单个位触发器中的一个相关联。

在上述电路中,多个异或逻辑电路中的每个用于:将多个单个位触发器的相关单个位触发器的输入数据与对应于输入数据的相关单个位触发器的输出数据进行比较;以及提供输出,输出包括相关单个位触发器的输入数据和与输入数据相对应的相关单个位触发器的输出数据的逻辑消歧。

在上述电路中,相关单个位触发器的输入数据和与多个异或逻辑电路中的每个的输入数据相对应的相关单个位触发器的输入数据的逻辑消歧被提供为分离电路的输入。

在上述电路中,分离电路用于:确定相关单个位触发器的输入数据和与多个异或逻辑电路的输入数据相对应的相关单个位触发器的输出数据的逻辑消歧的逻辑分离,以及根据逻辑分离生成使能信号。

在上述电路中,多位触发器包括被布置为形成多位触发器的多个单个位触发器,并且其中,集成时钟门控电路的输出连接到多个单个位触发器中的每个的时钟输入端子。

在上述电路中,多位触发器包括八个单个位触发器。

在示例实施例中,一种电路包括:多个单个位触发器;集成时钟门控电路,其中,集成时钟门控电路的输出端子连接到多个单个位触发器的每个的时钟输入端子;多个消歧逻辑电路,连接到多个单个位触发器,其中,多个消歧逻辑电路中的每个用于确定输入数据和与多个单个位触发器的相应单个位触发器的输入数据相对应的输出数据的逻辑消歧;以及分离电路,连接到多个消歧逻辑电路,其中,分离电路用于:确定多个消歧逻辑电路的多个输出的逻辑分离,和根据逻辑分离提供使能信号。

在上述电路中,多个单个位触发器中的每个包括数据输入端子、数据输出端子和时钟输入端子。

在上述电路中,多个消歧逻辑电路中的每个包括第一输入端子、第二输入端子和输出端子。

在上述电路中,多个消歧逻辑电路中的每个的子第一输入端子连接到相应单个位触发器的数据输入端子,其中,多个消歧逻辑电路中的每个的第二输入端子连接到相应单个位触发器的数据输出端子,并且其中,多个消歧逻辑电路中的每个的输出端子连接到分离电路的输入端子。

在上述电路中,使能信号被提供给集成时钟门控电路。

在上述电路中,集成时钟门控电路用于响应于使能信号而生成时钟信号。

在上述电路中,响应于时钟信号,触发多个单个位触发器。

根据示例实施例,一种方法包括:将输入数据提供给多位触发器;确定输入数据和与输入数据相对应的来自多位触发器的输出数据的逻辑消歧;确定输入数据和与输入数据相对应的多位触发器的输出数据的逻辑消歧的逻辑分离;基于逻辑分离,将使能信号提供给连接到多位触发器的集成时钟门控电路;基于使能信号生成用于多位触发器的时钟信号。

在上述方法中,将输入数据提供给多位触发器包括:将输入数据提供给形成多位触发器的多个单个位触发器中的每个的输入端子。

在上述方法中,确定输入数据和与提供给多位触发器的输入数据相对应的输出数据的逻辑消歧包括:确定输入数据和来自于多个单个位触发器中的每个的输出数据的逻辑歧义,来自于多个单个位触发器中的每个的输出数据对应于提供给多个单个位触发器中的每个的输入数据。

在上述方法中,还包括:响应于时钟信号而触发多位触发器。

在上述方法中,还包括:响应于时钟信号从第一逻辑值变为第二逻辑值而触发多位触发器。

上述概述了几个实施例的特征,以便本领域技术人员可以更好地理解本公开的各个方面。本领域技术人员应当理解,他们可以容易地使用本公开作为设计或修改用于实现本文所介绍的实施例的相同目的和/或实现其相同优点的其它过程和结构的基础。本领域技术人员还应当认识到,此类等效结构不背离本发明的精神和范围,并且它们可以在不背离本发明的精神和范围的情况下在本发明中进行各种改变、替换以及改变。

相关技术
  • 包括多位触发器的电路及其操作方法
  • 主从D触发器和包括主从D触发器的集成电路
技术分类

06120113079598