低时钟功率数据门控触发器的制作方法

文档序号:16810376发布日期:2019-02-10 13:33阅读:213来源:国知局
低时钟功率数据门控触发器的制作方法

本申请要求享有2016年6月2日提交的主题为“lowclockpowerdata-gatedflip-flop”的、美国专利申请号为15/171,487的权益,该申请在此通过引用全文并入本文。

本公开总体涉及时钟门控单元,并更具体地涉及可以具有低面积、低功率、低建立时间、或这些项的一些组合的时钟门控单元。



背景技术:

时钟门控单元是门控时钟以便于减小在接收时钟的部件中动态功率耗散的单元。通过门控时钟,可以对于接收时钟的部件导通并关断时钟。对于接收时钟但是在集成电路(ic)中被利用的部件,可以使用一个或多个时钟门控单元以切断时钟以便于避免在ic中接收时钟的不利用部件内切换状态和消耗电能。可以在ic内使用许多时钟门控单元。具有低面积和/或低功率的时钟门控单元可以是有利的,这是因为由时钟门控单元所使用的面积和/或由时钟门控单元所使用的功率可以是有限的资源。对于由时钟门控单元门控的触发器的一些示例低建立(setup)时间可以是有利的,这是因为高建立时间可以在一些情形中负面地影响功能。



技术实现要素:

以下展示一个或多个方面的简化概要以便于提供这些方面的基本理解。该概要并非是所有预想的方面的广泛概述,并且并非意在标识所有方面的关键或决定性要素也并非描绘任意或所有方面的范围。其单纯目的在于以简化形式展示一个或多个方面的一些概念作为对于稍后所展示的更详细说明的前奏。

在本公开的一个方面中,提供了一种方法和设备。该设备可以是数据门控的触发器。数据门控触发器包括异或(exclusiveor)部件。异或部件包括第一异或输入,第二异或输入,和第一异或输出。第一异或输入被配置为接收被输入至数据门控触发器的数据。数据门控触发器包括第一锁存器。第一锁存器包括第一锁存器数据输入和第一锁存器复位输入。第一异或输出耦合至第一锁存器数据输入和第一锁存器复位输入。数据门控触发器包括第二锁存器。第二锁存器具有数据输出。数据输出耦合至第二异或输入。

在本公开的另一方面中,提供了一种方法和设备。设备可以是数据门控触发器。数据门控触发器包括时钟门控电路(cgc)。时钟门控电路产生时钟门控信号(pn1)。时钟门控信号具有等于下式的逻辑值:数据门控触发器包括输出锁存器。由时钟门控信号门控去往输出锁存器的时钟。

为了完成前述和相关目标,一个或多个方面包括下文中详尽描述并在权利要求中特别指出的特征。以下说明书和附图详细阐述了一个或多个方面的某些说明性特征。这些特征指示了其中可以利用各个方面原理的各个方式,然而仅是其中几个方式,并且该说明书意在包括所有这些方面和它们的等价形式。

附图说明

图1是示出了一个示例性触发器的图。

图2是对于图1的示例性触发器的时序图。

图3是示出了一个示例性触发器的图。

图4是示出了根据在此所述系统和方法的一个示例性触发器的图。

图5是对于图4的示例性触发器的时序图。

图6是示出了根据在此所述系统和方法的另一示例性触发器的图。

图7是示出了根据在此所述系统和方法的另一示例性触发器的图。

图8是示出了根据在此所述系统和方法的另一示例性触发器的图。

图9是示出了根据在此所述系统和方法的另一示例性触发器的图。

图10是时钟门控单元的示例性方法的流程图。

具体实施方式

以下结合附图阐述的详细说明书意在作为各种配置的说明并且并非意在仅展现其中可以实践在此所述概念的配置。详细说明书为了提供各个概念的全面理解的目的而包括具体细节。然而,对于本领域技术人员明显的是,可以不采用这些具体细节而实践这些概念。在一些情形中,以方框图形式示出广泛已知的结构和部件以便于避免模糊这些概念。将由各个方框、模块、部件、电路、步骤、进程、算法、元件等在以下详细说明书中描述并可以在附图中示出设备和方法。

图1是示出了示例性触发器102的图100。示例性触发器102包括数据输入(d)104、数据输出(q)106以及时钟输入(clk)108。在一个特别示例中,由触发器所使用的动态功率可以是在d输入104处的0.8飞焦(fj)、在q输出106处的1.1fj、以及在时钟输入108处的1.6fj。如图1中所示,在触发器102的许多实施方式中,时钟输入108可以一般使用比其他输入(例如d输入104和q输出106)更多的功率。额外地,时钟输入108可以使用比其他输入更多的功率,这是因为在时钟输入108处的输入信号,例如时钟信号,可以一般比诸如d输入104和q输出106之类的其他信号更频繁切换。(时钟输入108可以使用更高时间百分比的动态功率)。因此,将时钟输入108上的切换限定至当需要时钟信号时的时刻可以有利的,也即当d输入104上数据不同于q输出106上数据时。当数据相同时,没有新数据时钟输入。

更具体地,在一些示例中,触发器的动态功率可以一般包括三个主要分量,(1)当触发器102时钟clk保持低且输出并未切换时的d输入104功率,(2)当触发器102的q输出106并未切换时时钟输入108的触发功率,以及(3)触发器102的q输出106的切换功率。功率可以耗散在触发器102中,与图1中未示出的其他电路或输入相关,或者其他条件,然而,动态功率的三个主要分量可以在一些示例中一般超过动态功率的其他分量。

图1的触发器102示出了例如高使用率触发器的每个周期所使用的典型切换功率(单位为fj每周期)。在芯片上系统(soc)中确切数目的触发器(例如,或寄存器)可以一般具有低数据活跃率。换言之,soc中的许多触发器可以不经常切换。举两个示例而言,可以一般具有低数据活跃率的触发器的示例包括但不限于在低功率音频处理单元中的流水线寄存器,以及用于程序计数器(pc)寄存器的最高有效位(msb)的触发器。

如在此所述,在soc中,确切数目的寄存器可以具有低数据活跃,例如,流水线寄存器或用于pc寄存器的msb的触发器。一个示例性soc可以具有千万位的触发器。假设触发器的2%(0.2m)具有低数据活跃率,例如0.1,对于0.1的低数据活跃率,仅10%的时钟周期将在去往触发器的输入处具有新数据。进一步假设,在示例中触发器工作在500mhz下具有0.8的时钟门控比(也即80%的时钟周期被门控)。相应地,用于触发器的时钟仅对于20%的时钟周期是有效的(1.0-0.8=0.2=20%)。然而,在一个示例中,进一步假设仅10%的时钟周期在触发器的输入处具有新数据。因此,至少10%的时钟周期不处理任何新数据(20%活跃时钟,10%活跃数据,10%不需要的时钟周期—50%的活跃时钟周期)。假设门控时钟功率是活跃时钟功率的1/3,从对于该组块将这些触发器转换为数据门控触发器所节省的时钟功率可以如下:

功率节省=0.2m*10%*500m*2/3*1.6fj=10.7mw。

图2是示出了对于图1的示例性触发器102的示例性时序的时序图200。时序图200示出了当d输入104可以有效时的时段202。额外地,时序图200示出了当时钟输入108可以有效时的时段204。最后,时序图200也示出了当q输出106可以有效时的时段206。

总体而言,在时刻t0处,在d输入104上没有出现活动。在一些示例中,d输入可以在t1之前处于未知状态。d输入104是静默的,但是可以一般为低或高。在其他示例中,d输入104可以在高或低状态无效,这取决于之前对触发器的输入。在其他示例中,d输入104在t1之前可以处于无效状态、三态、或一些其他未知状态。类似地,q输出可以一般是无效或静默的,并且低或高。在其他示例中,q输出可以在t1之前处于无效状态。时钟输入可以为低。如图2中所示,在时刻t1处,数据输入可以开始改变为稳定值,例如逻辑高或逻辑低的值。

在时刻t2处,d输入104可以是稳定的。例如,d输入104可以是低值,或者d输入104可以是高值。在包括多个触发器(诸如触发器102之类的一系列触发器)的系统中,对一系列触发器的不同输入(诸如触发器102的d输入104)可以具有不同的逻辑状态或逻辑值,例如低或高。因此,当使用时序图上数据输入表示8位数据总线时,例如,数据输入可以具有28或256种不同可能组合。(应该理解,可以使用从1位至n位的任何有效数目位。)使用1位触发器说明在此所述的示例。

然而,一般在t2和t3之间,在d输入104处可以存在一些活动,例如一些伪切换,但是活动一般是无意义的,因为在t3之前没有时钟。因此,触发器102不会在t2和t3之间捕捉在d输入104处的值。一般地,在t3之前,q输出106是静默的,处于低值或高值。q输出106可以一般不是无效/未知的,相反q输出106可以保持之前有效状态,直至时钟再次导通。

在时刻t3处,在某些时段期间可以被门控的时钟输入108可以开始振荡,以开始时钟输入108有效时的时段204。(例如,在时刻t3处可以不再门控时钟输入108。)在示例中,在时刻t3处,控制触发器102的电路装置可以中断门控在触发器102的时钟输入108上的时钟信号。因此,在触发器102的时钟输入108上时钟信号的上升边沿上(或在通过触发器102的一些小延迟之后,图2中未示出),触发器102的q输出106可以开始改变。在时刻t4处,一般在触发器102的时钟输入108上的时钟的下一个上升边沿之前,触发器102的q输出106可以稳定化,如图2中所示。

一般地,如图2中所示,触发器102的时钟输入108可以是正时钟边沿敏感的。例如,时钟输入108上的时钟信号可以在时钟信号的上升边沿上,将数据时钟输入至触发器102。然而,在其他一些示例中,时钟输入108也可以是负时钟边沿敏感的。因此,在一些示例中,可以将d输入104读入至触发器,并且q输出106可以基于触发器102的时钟输入108上的时钟信号的上升边沿或下降边沿而改变。

在时刻t5处,触发器102的d输入104上的数据(以及可能在其他触发器上其他数据输入)可以不再有效(接收新数据),如图2中所示。类似地,当输入上的数据在时刻t6处不再切换时,触发器102的q输出106上的数据可以不再有效(产生新数据)。

在时刻t7处,在触发器102的d输入104上的数据可以无效,并且在q输出106上数据已经无效了一些时段,例如t7-t6之后,时钟输入108上的时钟信号可以中断振荡。当触发器102的d输入104无效或触发器102的q输出106无效了一些时段例如t7-t6时,可以门控时钟输入108上的时钟信号。换言之,在当去往触发器102的d输入104并未改变时的时间期间,可以门控在触发器102的时钟输入108上的时钟信号。门控触发器102的时钟输入108可以保存由触发器102使用的功率。在此所述的一些示例可以减小或消除延迟t7-t6,从而仅当d输入104上的数据不同于q输出106上的数据时,时钟信号有效。

如图2中所示,时钟信号可以仅当d输入104上数据有效时有效(并且对于数据有效之前的短时段、数据有效之后的短时段或者两者均可能)。在此所述的系统和方法的一些示例可以最小化在数据有效之前的短时段、在数据有效之后的短时段、或者两者。

参照图2,在一个示例中,数据需要是有效的,只要时钟输入在翻转,例如大约t3至大约t7。如上所述,数据可以是有效或静默的,与其是否有效无关。一般地,对于触发器102而言,在图2中所示整个时段期间q可以是有效的。(q值一般被保持,直至新的值被时钟输入至触发器102中。)在此所述的一些示例可以减少内部时钟有效,并因此减小内部时钟功耗,当外部时钟(时钟输入)翻转但是没有数据有效时,例如从t6至t7。

额外地,应该理解,可以存在从当确定数据有效或改变时以及当时钟输入108上的时钟信号开始振荡或中断振荡时开始的延迟。可以存在从当数据输入上的信号停止变化时开始的一些延迟,数据输入上的信号是基于之前的值,例如高或低、无效,数据输入上的信号是三态的,或者数据输入上的信号处于并未要求时钟控制触发器102的状态。在此所述的系统和方法的一些示例可以最小化延迟。

在一些示例中,当d输入104上数据不同于q输出106上数据时,触发器102的时钟输入108上时钟信号可以开始振荡。图2示出了从时刻t2的延迟以及时钟输入108上时钟信号何时也即t3开始振荡。在此所述的系统和方法在一些示例中可以最小化延迟t3-t2。

类似地,在一些示例中,当d输入104上的数据与q输出106上的数据相同时,触发器102的时钟输入108上的时钟可以停止振荡。然而,可以有从确定d输入104上的数据与q输出106上的数据相同的时间开始的延迟。例如,图2示出了从时刻t6至时钟输入108上的时钟信号停止振荡时刻t7的延迟,例如t7-t6。在此所述的系统和方法可以减小延迟t7-t6。

可以定义以下术语。数据活跃率α是针对每个时钟周期的数据翻转的概率。时钟活跃率β是针对每个时钟周期的时钟管脚(pin)翻转的概率。时钟门控效率γ是当时钟管脚翻转时d管脚具有新数据的概率。传统的概率可以定义为:γ=p(数据有效|时钟有效)。对于每个时钟周期,输出q切换的概率等于:β·γ。

图3示出了示例性的时钟门控的d触发器300。示例性时钟门控的d触发器300可以包括d锁存器302和内部d触发器304。如图3中所示,时钟门控的d触发器300也可以包括异或门306和与门308。钟控内部d触发器304的内部时钟信号(clk_int)可以由与门308门控。因此,d锁存器302和与门308可以称作时钟门控单元(cgc)310。当时钟门控的d触发器300的d输入等于被门控的d触发器的q输出时,cgc310可以门控时钟。相反,当时钟门控的d触发器300的d输入不等于门控d触发器300的q输出时,cgc310可以允许时钟通过。

例如,时钟门控的d触发器300的q输出(也是内部d触发器304的q输出)可以与去往时钟门控的d触发器300的d输入执行异或,以确定时钟门控的d触发器300的q输出是否与时钟门控的d触发器300的d输入相同或不同。仅在时钟门控的d触发器300的q输出和去往时钟门控的d触发器300的d输入不同时,异或门306的输出为高。当内部d触发器304的q输出(其可以视作时钟门控的d触发器300的输出)和去往时钟门控的d触发器300的d输入不同时,异或门的输出为高。当内部d触发器304的q输出(可以视作时钟门控的d触发器300的输出)和去往时钟门控的d触发器300的d输入相同时,异或门的输出为低。

当去往时钟门控的d触发器300的d输入与时钟门控的d触发器300的输出(例如内部d触发器304)不同时,异或门306的输出312为高。异或门306的输出312是使能信号(en)。一旦时钟信号(clk)为高,使能信号可以被锁存至d锁存器302中。当被输入至d锁存器302的使能信号被锁存至d锁存器302中时,在d锁存器302中存储关于至d锁存器302的输入的值。d锁存器302中的值不受去往锁存器输入的影响,直至锁存器302下一次有效。(d锁存器302可以是电平敏感且低电平有效。)d锁存器302的输出(在314处)可以使用与门308而与时钟信号与门连接在一起。因此,与门308可以门控至时钟门控的d触发器300的内部d触发器304的时钟信号(clk)以产生内部时钟,clk_int信号。因此,clk_int信号可以仅当时钟使能信号(en)也即输出312有效且已经锁存至d锁存器302中时改变。因此,clk_int信号可以仅当与门308输入(在314处)为高时改变。

在芯片层级,平均而言,数据和时钟活跃率可以在15~20%范围内。在触发器处,基于示例性设计的时钟门控算法,时钟门控效率γ可以改变。低γ指示高空转时钟活动而并未处理任何新数据。为了提高γ,可以使用额外逻辑以产生要求额外面积和功率开销的时钟门控信号。对于图3的示例,当d=q时en=0;clk_int被门控为0,且触发器内部时钟未翻转。当d≠q时en=1;当clk上升时clk_int将上升并使得d=>q。图3的示例可以具有来自cgc310和异或门306的相当大的面积和功率开销。初始(原生)γ必须足够低(<0.2)以如果数据门控逻辑由独立标准单元构建而使得该方案有吸引力。

图4是示出了根据在此所公开系统和方法的示例性时钟门控的d触发器400的图。示例性时钟门控的d触发器400包括d锁存器402和d锁存器404(而不是触发器)。类似于图3的讨论,时钟门控的d触发器400包括异或门406和与门408。然而,图4中所示的d锁存器402可以异步地复位。例如,当时钟门控的d触发器400的输出与去往时钟门控的d触发器400的d输入相等时,d锁存器402可以保持复位。当时钟门控的d触发器400的q输出与去往时钟门控的d触发器400的d输入相等时,异或门406的输出412将为低。当时钟门控的d触发器400的q输出与时钟门控的d触发器400的d输入不相等时,异或门406的q输出将为高。当去往时钟门控的d触发器400的输入不同于时钟门控的d触发器400的输出时(在图4的示例中),d锁存器402保持复位,因为复位信号低电平有效。因此,当时钟信号为逻辑低值“0”时,可以将在此为逻辑高值“1”的异或门406的输出写入至d锁存器402。

相反地,当时钟门控的d触发器400的输出与时钟门控的d触发器400的输入相同时,异或门406的输出将为低。当异或门406的输出为低时,d锁存器402可以保持复位。进一步,如上所述,d锁存器402的复位可以是异步复位。

锁存器一般是电平敏感器件。因此,当时钟信号为低时,图4中所示的d锁存器402可以有效。当时钟门控的d触发器400的d输入和q输出不相同时,异或门406输出将为高,并且异或门406的输出将被写入至d锁存器402。当时钟为低且异或门406的输出为高时,d锁存器402的输出可以为高。因此,只要时钟门控的d触发器400的输出与去往时钟门控的d触发器400的输入不同,则d锁存器404的时钟输入可以有效。在当时钟门控的d触发器400的d输入和q输出相同时的一些时段期间,时钟控制时钟门控的d触发器400可以一般不是必须的。因此,当触发器的输出和触发器的输入不同时,可以使用仅时钟控制时钟门控的d触发器400,以减小用在实施了在此所述系统和方法的器件中的电力。可以进一步优化时钟门控的d触发器400,如以下参照图5-图9所述。

图5是示出了图4中所示时钟门控的d触发器400的功能的时序图500。在时刻t0之前的时刻,如时序图500中所示,去往时钟门控的d触发器400的时钟输入clk为低。因为时钟为低,因此内部时钟(clk_int)、与门408的输出也为低,如时序图500中所示。

对于在时序图500中所示的示例而言,假设时钟门控的d触发器400的d输入的初始值为高。额外地,假设时钟门控的d触发器400的输出初始为低。假设时钟门控的d触发器400正确地运行,也可以假设时钟门控的d触发器400的输入在前一个上升时钟边沿处为低(时序图500中未示出),因为时序图上q输出在时刻t0处时钟边沿之前初始为低。

异或门406的输出412初始为高,因为去往时钟门控的d触发器400的d输入不同于时钟门控的d触发器400的q输出。因此,低电平有效复位nrst也为高,也即d锁存器402并未保持复位。因此,d锁存器402的输出414(pn1)可以为高(因为其并未保持复位)且d输入为高。

d锁存器402可以是电平敏感且低电平有效的。因此,d锁存器402的输出414也即pn1在时刻t0处为高,因为d锁存器402的输入d为高且时钟信号为低。进一步,clk_int信号为低。并未使能去往d锁存器404的时钟且d锁存器404保持最后的值,例如低值。在时刻t0处,时钟信号clk开始从逻辑低值上升至逻辑高值。

如由箭头502所示,在时刻t1处,作为内部时钟信号的clk_int开始上升。pn1信号已经为高。当时钟信号clk_int上升时,与门408的输入414(pn1)保持为高。

clk信号在时刻t2处为高。在时刻t3处,d触发器400的q输出(也是d锁存器404的q输出)开始上升,这是因为d锁存器404的d输入为高且clk_int信号在上升。(d锁存器404的d输入为高且当clk_int信号为高时d锁存器404传递数据。)

在时刻t4处,clk_int信号为高。如由箭头504所示,在时刻t5处,基于将数据时钟送至锁存器404中的clk_int信号的上升边沿,时钟门控的d触发器400的q输出为高。

在时刻t6处,用于d锁存器402的有效低复位信号nrst(也是时钟门控的d触发器400的d输入)开始下降,这是因为时钟门控的d触发器400的q输出为高,且d触发器的d输入也为高。随着去往异或门406的输入均为高,异或门406的输出将为逻辑低。因此异或门406的输出开始下降,一般在一些延迟之后,例如在时刻t6处。如由箭头506所示,基于时钟门控的d触发器400的q输出的上升边沿,nrst开始下降(这导致在q输出与d输入之间的匹配)。异或门406的输出在时刻t7处达到低值。因此,去往d锁存器402的输入为低且d锁存器402的复位输入在时刻t7处也为低。

在时刻t8处,d锁存器402的输出414(pn1)开始下降。如由箭头508所示,低电平有效复位信号rst将作为d锁存器402的输出的pn1信号复位。因此,输出414(pn1)可以在时刻t9处为低。

在时刻t10处,基于d锁存器402的q输出414(pn1)的下降,clk_int信号将开始下降,如由箭头510所示。在时刻t11处,clk_int信号已经从高值向低值转变。

图6是示出了可以用于实施图4中所示d锁存器402的pn1逻辑410的数字逻辑电路410’的一个示例的电路图600。(d锁存器402的pn1逻辑410与数字逻辑电路410’稍微不同,如以下所述。)

可以使用如以下表格1中所示的卡诺图而简化实施了图4的异或门406和d锁存器402的逻辑功能。

表格1

根据卡诺图,可以看出可以优化二输入异或门406和具有异步复位的d锁存器402以将器件计数减小为下式:

pn1(next)=(clk*pn1+!clk)*(!d*q+d*!q)=(pn1+!clk)*(!d*q+d*!q)

如图6中所示,等式可以采用二输入与非门602、以及或门-与门-或门-反相器(oaoi)结构,也即或门604、与门606、608以及或非门610(或非门610用于oaoi结构的或-反相器部分)而实施。可以由额外的反相器612提供反馈。

与非门602、或门604、与门606、608、或非门610以及反相器612总体实施了针对pn1的简化等式。然而注意,针对pn1的等式是d输入的反相的函数。对于与d锁存器402的pn1逻辑410等价的数字逻辑电路410’而言,在反相d输入上的与非门602之前需要额外的反相器。然而,在接下来图7-图9中的示例中,由在以下参照图7-图9所述的某一输入电路内的与非门704执行反相。与非门602可以具有d输入的反相作为输入。与非门可以具有q输出作为输入(或pn4,其一般是q输出的版本,如参照图7-图8所述)。

图7是实施了根据在此所述系统和方法的时钟门控的d触发器700的电路。时钟门控的d触发器700包括针对pn1逻辑优化的电路,也即图6中所示的数字逻辑电路410’。如上所述,对于pn1逻辑优化的电路也即数字逻辑电路410’并未包括反相器。反相功能在输入电路装置702中执行。更具体地,反相功能由与非门704执行。

时钟门控的d触发器700为具有50个晶体管数目的触发器提供仅四个时钟翻转器件,当时钟门控的d触发器700的d输入等于触发器的q输出时。尽管具有类似性能,基于d输入建立时间和去往q输出的时钟用于其他触发器设计。可以在非常紧凑布局中实施时钟门控的d触发器700,这是因为在设计中所使用的较少交叉耦合连接。然而,对于时钟门控的d触发器700的数据保持时间可以高于之前的触发器设计。

图7包括输入电路装置702。输入电路装置702包括与门706(具有一个反相输入),或非门708,或门710,以及上述在704处的与非门。(aoi电路装置、与门706以及或非门708可以由二输入与非门替换,如果无需复位功能。)

当移位信号为低且复位信号(rst)为低时,输入电路装置702产生d输入的反相版本。换言之,当移位信号为低且复位信号为低时,输入电路装置702的输出,也即与非门704的输出,是d输入的反相。(d输入是去往或门710的输入之一。)当复位信号为高时,输入电路装置702的输出,也即与非门704的输出,总是为低。当移位信号为高且复位信号为低时,输入电路装置702的输出(与非门704的输出)是移入(sin)信号的反相。

输入电路装置702可以一般执行与也包括反相器和与非门的多路复用器电路类似的功能。因此,在另一示例中,输入电路装置702可以由多路复用器、反相器和二输入与非门(未示出)替代。多路复用器在d输入和sin信号之间选择。(sin信号在去往与门706的输入处反相。)移位信号在多路复用器上执行在d输入和sin信号之间的选择。(假设移位为高电平有效,d输入可以在“0”输入上且sin信号可以在“1”输入上。)多路复用器的输出可以连接至二输入与非门的输入。复位信号可以通过反相器连接至二输入与非门的另一输入。二输入与非门可以替代与非门704而连接至时钟门控的d触发器700的剩余部分。该多路复用器电路装置也可以替代参照时钟门控的d触发器800、900所述的输入电路装置702而使用。对于不具有复位功能的触发器,可以替代于复位反相器和与非门而使用反相多路复用器(或多路复用器与反相器)。

如上所述,图7中所示数字逻辑电路410’一般实施图4的异或门406以及图4的d锁存器402(具有所需的由输入电路例如与非门704执行的反相)。

与非门712提供将时钟门控输入至第二锁存器714的时钟门控功能。第二锁存器714一般类似于图4中所示的d锁存器404。与非门712一般执行与图4的与门408相同的功能,然而,与非门712提供反相版本,以将时钟信号clk_int反相。随后由提供了clk_int信号的反相器将时钟的反相版本反相。

成对的晶体管形成传输门718。当时钟信号clk_int为高时,传输门718传递输入的反相版本(或信号移位的反相版本,或者复位信号)。输入的反相版本d由反相器720反相,以提供时钟门控的d触发器700的q输出。时钟门控的d触发器700的q输出一般类似于图4的d锁存器404的q输出。然而,在图7所示的示例中,时钟门控的d触发器700的q输出(反相器720的输出)并未用于至触发器电路的反馈。相反,或非门722向数字逻辑电路410’的输入提供反馈。或非门722也可以将复位信号馈送返回至pn1电路的输入,也即数字逻辑电路410’。(如果无需复位功能,则可以由反相器替代或非门722。)额外地,或非门722的输出可以控制晶体管电路724,其包括晶体管726、728、730、732。一般跟随时钟门控的d触发器700的q输出的(当复位信号无效时)、或非门722的输出控制晶体管726、732。由!clk_int和clk_int信号分别控制晶体管728、730。当clk_int信号为高且!clk_int信号为低时,传输门718有效且晶体管电路724无效。因此,晶体管728和730关断。当clk_int信号为低且!clk_int信号为高时,晶体管电路724保持在至反相器720的输入处的值。例如,如果或非门722的输出为低,这意味着去往或非门722的pn3输入为高(假设复位为低),或非门722的输出将导通晶体管726。额外地,晶体管728将导通,因为clk_int信号也为低。

类似地,如果或非门722的输出为高,这意味着去往或非门722的pn3输入为低,或非门722的输出将导通晶体管732。晶体管730导通,因为!clk_int信号为高。因此,或非门722的pn3通过晶体管730、732保持为低。晶体管电路724将之前时钟输入的值保持至第二锁存器714。

发送至传输门718的反相数据随后可以由在传输门718之后的晶体管电路724保持。反相器720通过将向数字逻辑电路410’所提供的反相d输入值反相而提供q输出。或非门722提供反馈回路。

图8是根据在此所述系统和方法的时钟门控的d触发器800的电路图。时钟门控的d触发器800一般类似于图7中所示的时钟门控的d触发器700。然而,时钟门控的d触发器800包括时钟使能(clk_en)功能和测试使能(tst_en)功能。与驱动单个位触发器的分立标准单元设计相比,时钟门控的d触发器800可以提供有形面积节省和有效功率节省(例如当clk_en=1时)。

时钟使能信号和测试使能信号可以使用或非门802组合。或非门802的输出(在804处)可以是去往三输入或非门806的输入。三输入或非门一般执行与或非门610相同的功能,然而,第三个输入提供了时钟使能信号功能和测试使能功能。

如所述,可以使用二输入或非门802并将或非门802的输出发送至三输入或非门806的输入而将clk_en信号和tst_en信号添加至电路。当clk_en信号和tst_en信号均为低时,或非门802的输出为高。因此,当时钟使能信号和测试使能信号为低时,三输入或非门806的输出将总是为低,因为输入(在804处)为高。当时钟使能和测试使能为低时三输入或非门806的输出总是低,由此并未使能时钟门控的d触发器800。

当时钟使能或测试使能(或两者)为高时,则或非门802的输出为低。当或非门802的输出为低时(意味着时钟使能和/或测试使能有效),三输入或非门806将一般功能类似于图6中所示或非门610,如上所述。图8中所示的输入电路装置702和第二锁存器714一般功能类似于图7中所示并参照图7如上所述的输入电路装置702和第二锁存器714。

图9是示出了时钟门控的d触发器900的图。时钟门控的d触发器900包括输入电路装置702。图9中所示的输入电路装置702功能一般类似于图7和图8中所示的输入电路装置702。因此,如果无需复位功能,则与门710和或非门708可以替换为二输入与非门。类似的,如果无需复位功能,则或非门901和与门904可以替换为二输入与非门。

时钟门控的d触发器900可以提供低数据保持时间拓扑,例如与图7的时钟门控的d触发器700相比。时钟门控的d触发器900可以采用52个晶体管实施,并且当去往时钟门控的d触发器900的d输入等于时钟门控的d触发器900的q输出时,可以仅具有五个时钟翻转器件。时钟门控的d触发器900可以具有关于建立时间和用以输出时间的时钟的与其他触发器设计类似的性能。

图7-图8的时钟门控的d触发器700、800将或非门722的输出反馈至与非门602以门控在第二锁存器714上的时钟。在一些示例中,将或非门722的输出反馈至与非门602以门控图7-图8的第二锁存器714上时钟可以增加保持时间。时钟门控的d触发器900可以提供低数据保持时间拓扑,当与时钟门控的d触发器700、800相比时,这可以具有较低的保持时间。

图9中所示的输入电路装置702的输出,也即数据分析(datan)信号,可以一般是d输入的反相版本,sin信号的反相版本,或者保持高以用于复位。当d输入为高且移位信号为低、或者sin信号为高且移位信号为高时,则数据分析为低。当数据分析为低时,d_buf信号为高。相反地,当d输入为低且移位信号为低、或者sin信号为低且移位信号为高时,则数据分析为高。

数字逻辑902一般执行类似于第一d锁存器402的功能。电路装置(第二锁存器934)一般执行类似于d锁存器404的功能。当d输入和q输出相等时,数字逻辑902的输出(在三输入或非门906的输出处)为低。当时钟(clk)为低时,网络916、918均分别通过晶体管908和晶体管910而被预充电为高。网络916的高值和网络918上的高值允许由交叉耦合相连的门(与非门928,与门904,以及或非门901)所实施的sr锁存器保持数据。当时钟上升时,如果d=q(因此pn1=0),则晶体管912、914两者均导通。因此,网络916和网络918将保持为高。额外地,因为pn1=0,晶体管922将关断。因此,即使时钟变为高且晶体管924导通,从网络916或网络918至vss的放电路径保持阻断。结果是,只要pn1=0,不论时钟的活跃,网络916和网络918将总是为高。额外地,只要pn1=0,不论时钟活跃,对于sr锁存器或对于q将均没有切换活跃。数字逻辑902的输出(三输入或非门906的输出)为pn1。pn1信号可以由反相器936反相以产生pn2信号,其被反馈至数字逻辑902。

当d输入和q输出不同时,时钟信号的上升边沿关断晶体管908、910。(晶体管912、914关断,并当d输入和q输出不同时保持关断。)当d输入为低且q输出为高时,晶体管922、924、926将当时钟信号转变为高时导通。晶体管922导通,因为当d输入和q输出不同时pn1为高。晶体管924导通,因为时钟信号为高。晶体管926导通,因为数据分析为高。数据分析信号一般是当移位和复位为低时d输入的反相。(d输入为低。)因此,去往与非门928的输入被拉低。随着去往与非门928的输入为低,pn4转变为高。随着pn4为高,q输出转变为低。(q输出是由反相器920所反相的pn4的反相版本。)因此,时钟门控的d触发器700上的低值被时钟输入至q输出(其现在为低)。

类似地,当d输入和q输出不同时,随着d输入为高且q输出为低,当时钟信号转变为高时晶体管922、924、930将导通。晶体管922导通,因为当d输入和q输出不同时pn1为高。晶体管924导通,因为时钟为高。晶体管930导通,因为d_buf为高。当移位和复位为低时d_buf信号一般等价于d输入。(d输入为高。)因此,至与门904的输入被拉低。随着与非门904的输入为低,pn3转变为高。随着pn3为高,pn4转变为低。随着pn4为低,q输出转变为高。因此,时钟门控的d触发器900上的高值被时钟输入至q输出(其现在为高)。

可以通过向构成第一锁存器的电路装置,例如数字逻辑902,提供额外反馈而减小时钟门控的d触发器900的数据保持时间。例如,可以将pn3信号和pn4信号反馈至数字逻辑902的输入。可以比q输出更早产生pn4信号(例如以通过一个逻辑元件反相器920的延迟而更早)。进一步,可以在三输入或非门906的输出的逻辑元件背后将pn3信号和pn4信号两级反馈,而将图7的示例中或非门722的输出以或非门610的输出的逻辑元件的三级反馈。因此,与时钟门控的d触发器700的数据保持时间相比,时钟门控的d触发器700可以具有更好(更低)的数据保持时间。

图10是时钟门控单元的示例性方法的流程图。在一个示例中,方法由触发器(300,400,700,800,900)执行。在方框1002处,电流流过异或部件(306,406),包括第一异或输入、第二异或输入和第一异或输出。第一异或输入被配置为接收输入至数据门控触发器的数据。

在方框1004处,电流流过第一锁存器(302,402),其包括第一锁存器数据输入和第一锁存器复位输入。第一异或输出耦合至第一锁存器数据输入和第一锁存器复位输入。

在方框1006处,电流流过第二锁存器(304,404),其具有数据输出。数据输出耦合至第二异或输入。

在方框1008处,电流可以流过与门(308,408),其包括第一与门输入、第二与门输入和与门输出。第一锁存器输出耦合至第一与门输入。第二与门输入耦合至时钟信号。第二锁存器包括第二锁存器数据输入,第二锁存器输出,以及第二锁存器时钟信号输入。第二锁存器数据输入耦合至数据输入信号。与门输出耦合至第二锁存器时钟信号输入,其门控了第二锁存器时钟信号。第二锁存器输出耦合至第二异或输入。

在一些示例中,使用一系列逻辑门(410,602,604,606,608,610,612)来实施异或部件(306,406)与第一锁存器(302,402)的组合,以基于d触发器输入而产生第一锁存器输出(pn1)。通过使用时钟信号,该系列逻辑门实施逻辑上等于以下的函数:

在方框1010处,当输入至数据门控触发器的数据等于在第二锁存器的数据输出处的输出信号时,可以仅在四个器件例如晶体管(或在另一示例中五个器件)上翻转时钟信号。

一些示例可以进一步包括在一系列逻辑门内在不同逻辑电平下驱动在一系列晶体管上的时钟信号。其他示例可以进一步包括在一系列逻辑门内相同逻辑电平下驱动在一系列晶体管上的时钟信号。在一些示例中,第一锁存器包括d锁存器。在一些示例中,第二锁存器包括d锁存器。

在一个配置中,触发器(300,400,700,800,900)包括用于使得电流流过异或部件(306,406)的装置。异或部件(306,406)包括第一异或输入,第二异或输入,和第一异或输出。第一异或输入被配置为接收输入至数据门控触发器的数据。触发器进一步包括用于使得电流流过第一锁存器(302,402,410,608,612,806,902)的装置。第一锁存器(302,402,410,608,612,806,902)包括第一锁存器数据输入和第一锁存器复位输入。第一异或输出耦合至第一锁存器数据输入和第一锁存器复位输入。触发器(300,400,700,800,900)包括用于使得电流流过具有数据输出的第二锁存器(304,404,714,934)的装置。数据输出耦合至第二异或输入。在一些配置中,触发器(300,400,700,800,900)可以包括实施了逻辑上等于这些装置的功能的逻辑门,例如参照图6-图9所述的简化逻辑。

在一些配置中,触发器(300,400,700,800,900)可以进一步包括用于使得电流流过与门(308,408)的装置。与门(308,408)可以包括第一与门输入、第二与门输入和与门输出。第一锁存器输出可以耦合至第一与门输入。第二与门输入可以耦合至时钟信号。第二锁存器(304,404,714,914)可以包括第二锁存器数据输入、第二锁存器输出、和第二锁存器时钟信号输入。第二锁存器数据输入可以耦合至数据输入信号。与门输出可以耦合至第二锁存器时钟信号输入,其门控了第二锁存时钟信号。第二锁存器输出可以耦合至第二异或输入。在一些配置中,触发器(300,400,700,800,900)可以包括实施了逻辑上等价于这些装置的功能的逻辑门,例如参照图6-图9所述的简化逻辑。

在一些配置中,触发器(700,900)可以进一步包括用于当输入至数据门控触发器的数据等于在第二锁存器(714,914)的数据输出处的输出信号时翻转在仅四个器件(700)或在另一实施例中五个器件(900)上的时钟信号的装置。在一些配置中,触发器(700,900)可以包括实施了逻辑上等价于这些装置的功能的逻辑门,例如参照图7和图9所述的简化逻辑。

应该理解,在所公开进程中步骤的特殊顺序或层级是示例性方案的示意说明。基于设计优选,应该理解,可以重新设置在进程中步骤的特殊顺序或层级。进一步,可以组合或省略一些步骤。所附方法权利要求以样本顺序展示了各个步骤的要素,并且并非意在限定于所展示的特殊顺序或层级。

提供之前的说明以使得本领域任何技术人员能实践在此所述的各个方面。对于这些方面的各种修改对于本领域技术人员将是显而易见的,并且在此所限定的普遍原理可以适用于其他方面。因此,权利要求并未意在限定于在此所示的方面,但是应该符合与所声称权利要求一致的全部范围,其中以单数形式引用元件并非意在意味着“一个且仅一个”,除非明确地如此陈述,而是相反地意味着“一个或多个”。除非另外明确地陈述,术语“一些”涉及一个或多个。组合诸如“a、b或c的至少一个”、“a、b或c的一个或多个”、“a、b和c的至少一个”、“a、b和c的一个或多个”、以及“a、b、c或其任意组合”包括a、b和/或c的任意组合,并且可以包括多个a、多个b或者多个c。具体地,组合诸如“a、b或c的至少一个”、“a、b或c的一个或多个”、“a、b和c的至少一个”、“a、b和c的一个或多个”、以及“a、b、c或其任意组合”可以是单独a、单独b、单独c、a和b、a和c、b和c、或者a和b和c,其中任何这种组合可以包括a、b或c的一个或多个组元。在此通过引用而明确地在此包括遍及本公开所述的、对于本领域技术人员已知或稍后将要已知的各个方面的要素的所有结构和功能等价形式,并且意在由权利要求所包括。此外,在此所公开的并非意在献给公众,不论是否在权利要求中明确地陈述该公开。词语“模块”、“机制”、“元件”、“设备”等等可以不替代词语“装置”。不应依据35u.s.c.§112(f)的条款理解权利要求要素,除非使用短语“用于……的装置”明确地陈述,或者在方法权利要求的情形中,使用短语“用于……的步骤”陈述该要素。

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