CN114417758B - 基于数据比较进行时钟门控的触发单元 - Google Patents
基于数据比较进行时钟门控的触发单元 Download PDFInfo
- Publication number
- CN114417758B CN114417758B CN202210107334.3A CN202210107334A CN114417758B CN 114417758 B CN114417758 B CN 114417758B CN 202210107334 A CN202210107334 A CN 202210107334A CN 114417758 B CN114417758 B CN 114417758B
- Authority
- CN
- China
- Prior art keywords
- clock
- data
- edge
- signal
- input
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K3/00—Circuits for generating electric pulses; Monostable, bistable or multistable circuits
- H03K3/02—Generators characterised by the type of circuit or by the means used for producing pulses
- H03K3/027—Generators characterised by the type of circuit or by the means used for producing pulses by the use of logic circuits, with internal or external positive feedback
- H03K3/037—Bistable circuits
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Manipulation Of Pulses (AREA)
Abstract
本申请公开了基于数据比较进行时钟门控的触发单元。该触发单元包括:边沿触发器和时钟门控电路,时钟门控电路根据输入数据和输出数据的数据比较结果启用或屏蔽第一时钟信号以产生第二时钟信号,第二时钟信号提供边沿触发器的触发边沿,时钟门控电路在输入数据翻转的时钟周期中,将第一时钟信号复制为第二时钟信号,在输入数据维持不变的时钟周期中,将第二时钟信号维持为预定电平。该触发单元仅在输入数据翻转的时钟周期中启用边沿触发器的时钟翻转,因而可以提高电路性能和降低功耗。
Description
技术领域
本发明涉及集成电路技术,更具体地,涉及基于数据比较进行时钟门控的触发单元。
背景技术
电子设计自动化软件(EDA)是集成电路的功能设计、综合、验证、物理设计等流程的重要工具。在数字电路设计EDA中,标准单元库是集成电路芯片后端设计过程中的基础部分。采用预先设计好的优化的库单元进行自动逻辑综合和版图布局布线,可以提高设计效率。经过优化的库单元可以提高电路性能和降低功耗。
在集成电路的数字部分中,采用门电路将多个信号经过组合逻辑产生逻辑运算结果,采用边沿触发器存储逻辑运算结果。按照逻辑运算的不同,门电路可以分为与门、或门、非门、与非门、或门、与或门、异或门等。门电路的逻辑运算结果例如是脉冲信号,基于脉冲信号产生与逻辑状态相对应的稳态电平信号。
边沿触发器是具有记忆功能的信息存储器件,用于存储记忆逻辑运算结果。例如,边沿触发器是构成多种时序数字电路模块中的最基本逻辑单元,在数字电路模块中是一种重要的单元电路。参见图1和图2,根据边沿触发器的类型,边沿触发器110在时钟信号的上升沿或下降沿触发,允许输入数据从输入端传输到输出端以获得输出数据。边沿触发器110例如是D型触发器。例如,D型触发器在时钟信号的触发边沿传输数据,在下一次触发边沿前维持数据不变。
边沿触发器的功耗包括静态功耗和动态功耗,其中,静态功耗主要由泄漏电流引起,动态功耗主要由信号翻转功耗引起。边沿触发器的数据信号翻转导致后级组合逻辑产生附加的数据功耗,时钟信号的翻转也会产生边沿触发器自身的时钟功耗。
因此,期望对数字电路EDA标准单元库中的边沿触发器进行优化设计,进一步降低边沿触发器的动态功耗。
发明内容
鉴于上述问题,本发明的目的在于提供基于数据比较进行时钟门控的触发单元,仅在输入数据翻转的时钟周期中启用边沿触发器的时钟翻转,以提高电路性能和降低功耗。
根据本发明,提供一种触发单元,包括:边沿触发器,包括数据输入端、时钟输入端和第一数据输出端;以及时钟门控电路,包括第一输入端、第二输入端、时钟输入端和输出端,其中,所述时钟门控电路的第一输入端接收所述边沿触发器的输入数据,第二输入端接收所述边沿触发器的输出数据,时钟输入端接收第一时钟信号,输出端与所述边沿触发器的时钟输入端耦接以提供第二时钟信号,所述时钟门控电路根据所述输入数据和所述输出数据的数据比较结果启用或屏蔽所述第一时钟信号以产生所述第二时钟信号,所述第二时钟信号提供所述边沿触发器的触发边沿,所述时钟门控电路在所述输入数据翻转的时钟周期中,将所述第一时钟信号复制为所述第二时钟信号,在所述输入数据维持不变的时钟周期中,将所述第二时钟信号维持为预定电平。
优选地,所述第一时钟信号的时钟周期包括连续的第一电平阶段和第二电平阶段,所述输入数据在所述第一时钟信号的第一电平阶段翻转。
优选地,所述预定电平为所述第一电平阶段的电平,所述第二时钟信号在输入数据翻转的时钟周期的下一个时钟周期提供触发边沿。
优选地,所述第一电平阶段的开始边沿为上升沿。
优选地,所述时钟门控电路包括:异或门,包括第一输入端、第二输入端和输出端,所述第一输入端和所述第二输入端分别接收所述边沿触发器的输入数据和输出数据,所述输出端提供第一时钟控制信号;或门,包括第一输入端、第二输入端和输出端,所述第一输入端接收所述第一时钟信号;以及非门,包括输入端和输出端,所述非门连接在所述异或门的输出端和所述或门的第二输入端之间,其中,所述非门将所述第一时钟控制信号反相后提供至所述或门的第二输入端,所述或门的输出端提供所述第二时钟信号。
优选地,所述或门还包括第三输入端,所述第三输入端接收第二时钟控制信号的反相信号。
优选地,在所述第二时钟控制信号有效时,所述时钟门控电路启用数据比较功能,在所述第二时钟控制信号无效时,所述时钟门控电路禁用数据比较功能。
优选地,所述第一电平阶段的开始边沿为下降沿。
优选地,所述时钟门控电路包括:异或门,包括第一输入端、第二输入端和输出端,所述第一输入端和所述第二输入端分别接收所述边沿触发器的输入数据和输出数据,所述输出端提供第一时钟控制信号;以及与门,包括第一输入端、第二输入端和输出端,所述第一输入端接收所述第一时钟信号,所述第二输入端接收所述第一时钟控制信号,所述输出端提供所述第二时钟信号。
优选地,所述与门还包括第三输入端,所述第三输入端接收第二时钟控制信号。
优选地,在所述第二时钟控制信号有效时,所述时钟门控电路启用数据比较功能,在所述第二时钟控制信号无效时,所述时钟门控电路禁用数据比较功能。
优选地,所述边沿触发器的数据输入端接收自身的输出数据的反相信号作为输入数据。
优选地,所述边沿触发器还包括第二数据输出端,所述边沿触发器的第一数据输出端和第二数据输出端分别提供所述边沿触发器的输出数据和所述输出数据的反相信号,其中,所述边沿触发器的数据输入端与所述第二数据输出端彼此耦接以接收自身的输出数据的反相信号。
优选地,所述第一时钟控制信号和所述第二时钟控制信号各自的高电平表示有效状态,低电平表示无效状态。
优选地,所述边沿触发器在所述触发边沿接收所述数据输入端的输入数据并传送至所述第一数据输出端。
根据本发明的实施例,在触发单元中,时钟门控电路在输入数据翻转的时钟周期中,将第一时钟信号复制为第二时钟信号,在输入数据维持不变的时钟周期中,将第二时钟信号维持为预定电平。因此,时钟门控电路仅在边沿触发器的输入数据翻转的一个时钟周期中启用时钟信号的传输,因而可以最小化边沿触发器因时钟翻转产生的动态功耗。进一步地,时钟门控电路仅在边沿触发器的输入数据翻转的下一个时钟周期提供一个触发边沿,因而可以最小化边沿触发器因数据传输产生的动态功耗。
进一步地,边沿触发器在输入数据维持不变的大多数时钟周期阻止数据进入后级数字电路中,因而可以避免后级组合逻辑的数据信号翻转产生附加的数据功耗。
在触发单元中,利用时钟门控电路在时钟控制信号翻转周期中的电路特性,即使时钟门控电路省去了附加的锁存器,也可以消除时钟门控电路产生的时钟信号的毛刺,以及减少时钟门控电路的逻辑元件数量和降低时钟门控电路的功耗。由于时钟门控电路自身的工作功耗较低,时钟门控电路本身的功耗而增加的功耗远小于边沿触发器因时钟门控而减少的功耗。
进一步地,触发单元中的任意数量的边沿触发器可以组成共用时钟门控电路的触发器组。对于触发器组包含任意数量的边沿触发器的情形,例如,一个,两个,或多个,触发单元始终可以实现功耗降低。
进一步地,在数字电路设计中将边沿触发器的输入数据的信号延迟的最小延迟和最大延迟设置在时钟信号的第一电平阶段中,可以避免边沿触发器的时钟信号中出现毛刺而导致边沿触发器不能正常工作。即使在触发单元中简化了时钟门控电路的电路设计,也仍然可以可靠地禁用边沿触发器的时钟翻转和数据传输,以降低动态功耗。
进一步地,该触发单元的电路设计简化且版图布局面积减小,可以与现有的边沿触发器设计一起作为标准单元库的库单元,在不同的条件下应用以提高数字电路的性能和设计效率。
在优选的实施例中,边沿触发器的数据输入端接收自身的输出数据的反相信号作为输入数据。边沿触发器包括第一数据输出端和第二数据输出端,分别提供所述边沿触发器的输出数据和所述输出数据的反相信号,边沿触发器的数据输入端与所述第二数据输出端彼此耦接。一方面,前级逻辑电路仅仅需要向触发单元中的时钟门控电路提供输入数据,而无需向触发单元中的边沿触发器提供输入数据,可以减轻前级逻辑电路的负载压力。另一方面,边沿触发器无需从外部接收任何输入数据,因而可以减少外部的输入数据的信号延迟波动对边沿触发器的工作稳定性的不利影响。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚。
图1示出集成电路中的边沿触发器的示意性电路图。
图2示出集成电路中的边沿触发器的波形图。
图3示出根据现有技术的一种触发单元的示意性电路图。
图4示出根据现有技术的另一种触发单元的示意性电路图。
图5示出图4所示触发单元中的时钟门控电路的示意性电路图。
图6示出图4所示触发单元中的时钟门控电路的波形图。
图7示出根据本发明第一实施例的触发单元的示意性电路图。
图8示出图7所示触发单元中的一种时钟门控电路的示意性电路图。
图9示出图7所示触发单元中的另一种时钟门控电路的示意性电路图。
图10示出图8所示时钟门控电路的波形图。
图11示出图9所示时钟门控电路的波形图。
图12示出根据本发明第二实施例的触发单元的示意性电路图。
图13示出图12所示触发单元中的时钟门控电路的示意性电路图。
图14示出根据本发明第三实施例的触发单元的示意性电路图。
图15示出图14所示触发单元中的时钟门控电路的示意性电路图。
具体实施方式
以下将参照附图更详细地描述本发明。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。此外,可能未示出某些公知的部分。
在下文中描述了本发明的许多特定的细节,例如器件的结构、材料、尺寸、处理工艺和技术,以便更清楚地理解本发明。但正如本领域的技术人员能够理解的那样,可以不按照这些特定的细节来实现本发明。
本发明可以各种形式呈现,以下将描述其中一些示例。为表述方便,以下实施例的描述均以上升沿触发的边沿触发器为例进行说明。
图3示出根据现有技术的一种触发单元的示意性电路图。触发单元100包括边沿触发器110和数据选择器120。数据选择器120用于边沿触发器110的输入数据Di的门控。在本实施例中,边沿触发器110例如为D型触发器。
边沿触发器110包括数据输入端、数据输出端和时钟输入端。数据选择器120包括控制端、第一数据输入端、第二数据输入端、输出端。数据选择器120的控制端接收数据控制信号EN,第一数据输入端接收边沿触发器110的输入数据Di,第二数据输入端接收边沿触发器120的输出数据Do,输出端提供选定数据Ds。边沿触发器110的数据输入端接收选定数据Ds,时钟输入端接收时钟信号CLK,数据输出端提供输出数据Do。
在时钟信号CLK的触发边沿,例如上升沿,边沿触发器110将输入数据从数据输入端传送至数据输出端。因而,边沿触发器110的数据输出端的输出数据相对应的信号电平取决于时钟信号CLK的上升沿到来之前数据输入端的输入数据的信号电平,并且在时钟信号CLK的上升沿之后的一个时钟周期中维持不变。边沿触发器110的数据输出端可以包括两个互补输出端。
数据选择器120在数据控制信号EN有效时将输入数据Di提供至边沿触发器110的输入端,在数据控制信号EN无效时,数据选择器120将边沿触发器110的第一输入端与输出端之间彼此连接,从而屏蔽边沿触发器110的输入数据。数据选择器120也将维持边沿触发器110的输出数据不变,因而可以禁用边沿触发器110的数据接收。
在上述的触发单元中,数据选择器120根据数据控制信号EN的状态控制边沿触发器110的数据接收。
在数据选择器120禁用边沿触发器110的数据接收的情形下,边沿触发器110不能接收输入数据,而是维持输出数据不变,因而可以阻止输入数据进入后级数字电路中,可以避免后级组合逻辑的数据信号翻转产生附加的数据功耗。
然而,数据选择器120不能禁用边沿触发器110的时钟翻转。边沿触发器110的时钟输入端始终接收时钟信号CLK。在时钟信号CLK的触发边沿传输数据,因而不能降低边沿触发器110因时钟信号CLK翻转产生的动态功耗。
图4示出根据现有技术的另一种触发单元的示意性电路图。触发单元200包括边沿触发器110和时钟门控电路130。时钟门控电路130用于边沿触发器110时钟信号CK的门控。在本实施例中,边沿触发器110例如为D型触发器。
边沿触发器110包括数据输入端、数据输出端和时钟输入端。时钟门控电路130包括输入端、输出端和控制端。时钟门控电路130的输入端接收时钟信号CLK,输出端提供时钟信号CK,控制端接收时钟控制信号EN。边沿触发器110的数据输入端接收输入数据Di,时钟输入端接收时钟信号CK,数据输出端提供输出数据Do。
在时钟信号CK的触发边沿,例如上升沿,边沿触发器110将输入数据从数据输入端传送至数据输出端。因而,边沿触发器110的数据输出端的输出数据相对应的信号电平取决于时钟信号CK的触发边沿到来之前数据输入端的输入数据的信号电平,并且在时钟信号CK的触发边沿之后的一个时钟周期中维持不变。边沿触发器110的数据输出端可以包括两个互补输出端。
时钟门控电路130对输入数据Di、输出数据Do和时钟信号CLK进行组合逻辑运算以产生边沿触发器110的时钟信号CK。
在上述的触发单元中,时钟门控电路130根据时钟控制信号EN的状态控制时钟信号的传输。
在时钟控制信号EN维持有效的时钟周期中,时钟门控电路130将时钟信号CLK复制为时钟信号CK,时钟信号CK提供至边沿触发器110的时钟输入端,在时钟控制信号EN维持无效的时钟周期中,时钟门控电路130屏蔽时钟信号CLK,以及将时钟信号CK维持为预定电平。
在时钟信号CK维持为预定电平的情形下,时钟信号CK不能提供边沿触发器110的触发边沿,因此可以禁用边沿触发器110的时钟翻转和数据传输,因而可以降低边沿触发器110因时钟信号CK翻转产生的动态功耗以及因数据传输产生的动态功耗。进一步地,边沿触发器110阻止数据进入后级数字电路中,因而可以避免后级组合逻辑的数据信号翻转产生附加的数据功耗。
图5示出图4所示触发单元中的时钟门控电路的示意性电路图。参见图4,时钟门控电路130和边沿触发器110共同组成触发单元,时钟门控电路130向边沿触发器110提供时钟信号CK。
时钟门控电路130包括锁存器131和与门132。锁存器131在时钟信号CLK的第一电平阶段T1对时钟控制信号EN进行锁存,在时钟信号CLK的第二电平阶段T2传输时钟控制信号EN,与门对锁存信号EN_a和时钟信号CLK进行逻辑与运算以产生时钟信号CK。
锁存器131包括第一输入端、第二输入端和输出端。与门132包括第一输入端、第二输入端和输出端。锁存器131的第一输入端接收时钟信号CLK,第二输入端接收时钟控制信号EN。与门132的第一输入端接收时钟信号CLK,第二输入端与锁存器131的输出端相连接,输出端提供时钟信号CK。
以上升沿触发的边沿触发器为例,时钟控制信号EN以高电平表示有效状态、低电平表示无效状态为例进行说明。时钟信号CLK的每个时钟周期包括相邻上升沿之间的连续的第一电平阶段T1和第二电平阶段T2,第一电平阶段T1和第二电平阶段T2分别具有高电平和低电平。时钟信号CK提供边沿触发器110的触发边沿,边沿触发器110在触发边沿将输入数据从输入端传送至输出端。
参见图6,输入数据Di和时钟控制信号EN各自存在着相对于时钟信号边沿的信号延迟Td。信号延迟Td的最小延迟Tdmin和最大延迟Tdmax之间的区域分别采用阴影部分表示。时钟控制信号EN的信号延迟Td在最小延迟Tdmin和最大延迟Tdmax之间变化。
如图6所示,最小延迟Tdmin和最大延迟Tdmax分别位于第一电平阶段T1和第二电平阶段T2中,时钟控制信号EN的翻转动作既可能发生在时钟信号CLK的第一电平阶段T1,也可能发生在时钟信号CLK的第二电平阶段T2。
在时刻t0,时钟信号CLK到达第一个上升沿,时钟控制信号EN有效。在时刻t0开始的一个时钟周期中,时钟控制信号EN从有效状态翻转为无效状态。在时钟信号CLK的第一电平阶段T1,锁存器131的输出端的锁存信号EN_a信号电平保持为前一状态,即,高电平。在时钟信号CLK的第二电平阶段T2,锁存器131将时钟控制信号EN从输入端传送至输出端。
如果时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1,则在时钟控制信号翻转的时钟周期中,锁存信号EN_a是时钟信号CLK的复制版本。如果时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1,则在时钟信号CLK的第二电平阶段T2,锁存信号EN_a中出现毛刺。时钟信号CK是时钟信号CLK和锁存信号EN_a的逻辑与运算结果,该逻辑与运算可以消除锁存信号EN_a在时钟信号CLK第二电平阶段T2的毛刺。
因此,在时刻t0开始的一个时钟周期中,时钟门控电路130将时钟信号CLK复制为时钟信号CK且提供时钟信号CK的上升沿,边沿触发器110的输出数据Do的信号电平与时刻t0的输入数据Di的信号电平一致,例如图6所示的低电平。
在时刻t1,时钟信号CLK到达第二个上升沿,时钟控制信号EN无效。在时刻t1开始的一个时钟周期中,时钟控制信号EN维持无效状态。在时钟信号CLK的第一电平阶段T1,锁存器131的输出端的锁存信号EN_a信号电平保持为前一状态,即,低电平。在时钟信号CLK的第二电平阶段T2,锁存器131将时钟控制信号EN从输入端传送至输出端。在这个时钟周期内,时钟控制信号EN维持低电平状态,因此EN_a也保持低电平,时钟信号CK经时钟信号CLK和锁存信号EN_a的与运算,结果也保持低电平。
在时刻t2,时钟信号CLK到达第三个上升沿,时钟控制信号EN无效。在时刻t2开始的一个时钟周期中,时钟控制信号EN从无效状态翻转为有效状态。在时钟信号CLK的第一电平阶段T1,锁存器131的输出端的锁存信号EN_a信号电平保持为前一状态,即,低电平。在时钟信号CLK的第二电平阶段T2,锁存器131将时钟控制信号EN从输入端传送至输出端。如果时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1,则在时钟控制信号翻转的时钟周期中,锁存信号EN_a是时钟信号CLK的复制版本。如果时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1,则在时钟信号CLK的第二电平阶段T2,锁存信号EN_a中出现毛刺。时钟信号CK是时钟信号CLK和锁存信号EN_a的逻辑与运算结果,该逻辑与运算可以消除锁存信号EN_a在时钟信号CLK第二电平阶段T2的毛刺。
因此,在时刻t1开始的两个时钟周期中,时钟门控电路130屏蔽时钟信号CLK且未提供时钟信号CK的上升沿,边沿触发器110的输出数据Do的信号电平与上一时钟周期的信号电平一致,例如图6所示的低电平。
在时刻t3,时钟信号CLK到达第四个上升沿,时钟控制信号EN有效。在时刻t3开始的一个时钟周期中,时钟控制信号EN维持有效状态。在时钟信号CLK的第一电平阶段T1,锁存器131的输出端的锁存信号EN_a信号电平保持为前一状态,即,高电平。在时钟信号CLK的第二电平阶段T2,锁存器131将时钟控制信号EN从输入端传送至输出端。在这个时钟周期内,时钟控制信号EN维持高电平状态,因此,锁存信号EN_a也维持高电平,时钟信号CK经时钟信号CLK和锁存信号EN_a的与运算,因此,时钟信号CK是时钟信号CLK的复制版本。
因此,在时刻t3开始的一个时钟周期中,时钟门控电路130将时钟信号CLK复制为时钟信号CK且提供时钟信号CK的上升沿,边沿触发器110的输出数据Do的信号电平与时刻t3的输入数据Di的信号电平一致,例如图5所示的高电平。
上述的时钟门控电路130根据时钟控制信号EN的状态控制时钟信号的传输。
在时钟控制信号EN从有效状态翻转至无效状态的时钟周期中,时钟门控电路130将时钟信号CLK复制为时钟信号CK。此时,时钟信号CK提供边沿触发器110的触发边沿,时钟门控电路130允许边沿触发器110的时钟翻转和数据传输,边沿触发器110提供的输出数据Do为当前触发边沿的输入数据Di。
在时钟控制信号EN从无效状态翻转至有效状态的时钟周期中,时钟门控电路130屏蔽时钟信号CLK,以及将时钟信号CK维持为预定电平。此时,时钟信号CK未能提供边沿触发器110的触发边沿,时钟门控电路130禁用边沿触发器110的时钟翻转和数据传输,边沿触发器110维持前一触发边沿的输入数据Di,因而可以降低边沿触发器110的动态功耗。
上述的时钟门控电路130对时钟控制信号EN的时序要求不高。如果希望在预定时刻禁用数据传输,则可以在预定时刻之前的最后一个整时钟周期中完成时钟控制信号EN从有效状态至无效状态的翻转动作,在预定时刻开始的最后一个时钟周期中完成时钟控制信号EN从无效状态至有效状态的翻转动作。
本发明人注意到,在数字电路EDA的标准单元库中提供的触发单元使用上述的时钟门控电路130。时钟门控电路130包括锁存器131,用于消除边沿触发器110的时钟信号CK中可能出现的毛刺。
然而,在锁存器131中使用的硬件逻辑较多,导致时钟门控电路130自身的工作功耗过高。时钟门控电路130自身的工作功耗甚至有可能超过边沿触发器因时钟门控而减少的功耗。在触发单元中,时钟门控电路130可以为触发器组中的多个边沿触发器110提供时钟信号CK。如果使用时钟门控电路130,则在电路设计上的限制是触发器组中的边沿触发器数量不少于3~8个,才能确保触发单元200的时钟门控电路130自身的工作功耗小于若干个边沿触发器110因时钟门控电路130而减少的功耗。
进一步地,本发明人注意到,边沿触发器110的输入数据的信号延迟有可能可以通过设计设置为二者均位于时钟信号CLK的同一电平阶段中,基于边沿触发器110的输入数据和输出数据的比较,可以获得相应延迟的时钟控制信号EN_a。
本发明人设计了下文详细描述的基于数据比较的时钟门控电路330和430,将基于数据比较获得的时钟控制信号EN与重新设计的逻辑电路相结合,在未使用锁存器的情形下也可以获得与时钟门控电路130相同的功能。
在数字电路EDA的标准单元库中,可以将时钟门控电路330和时钟门控电路430用于重新设计的触发单元。因此,可以进一步降低集成电路功耗,降低触发单元的成本且减小时钟门控电路自身的功耗,从而突破上述电路设计上的限制。
图7示出根据本发明第一实施例的触发单元的示意性电路图。触发单元300包括边沿触发器110和时钟门控电路330。时钟门控电路330用于边沿触发器110时钟信号CK的门控。在本实施例中,边沿触发器110例如为D型触发器。
边沿触发器110包括数据输入端、数据输出端和时钟输入端。时钟门控电路330包括第一输入端、第二输入端、时钟输入端、以及时钟输出端。时钟门控电路330的第一输入端接收输入数据Di,第二输入端接收输出数据Do,时钟输入端接收时钟信号CLK,时钟输出端提供时钟信号CK。边沿触发器110的数据输入端接收输入数据Di,时钟输入端接收时钟信号CK,数据输出端提供输出数据Do。
在时钟信号CK的触发边沿,例如上升沿,边沿触发器110将输入数据从数据输入端传送至数据输出端。因而,边沿触发器110的数据输出端的输出数据相对应的信号电平取决于时钟信号CK的触发边沿到来之前数据输入端的输入数据的信号电平,并且在时钟信号CK的触发边沿之后的一个时钟周期中维持不变。边沿触发器110的数据输出端可以包括两个互补输出端。
时钟门控电路330对输入数据Di、输出数据Do和时钟信号CLK进行组合逻辑运算以产生边沿触发器110的时钟信号CK。
上述的时钟门控电路330基于边沿触发器110的输入数据Di和输出数据Do的数据比较产生时钟控制信号EN_a,以及根据时钟控制信号EN_a的状态控制时钟信号的传输。
在输入数据Di维持不变的时钟周期中,时钟门控电路330将时钟信号CK维持为预定电平。在输入数据Di翻转的时钟周期中,时钟门控电路330将时钟信号CLK复制为时钟信号CK。因此,时钟门控电路330仅在边沿触发器110的输入数据Di翻转的一个时钟周期中启用时钟信号CLK的传输,因而可以最小化边沿触发器110因时钟信号CK翻转产生的动态功耗。进一步地,时钟门控电路330仅在边沿触发器110的输入数据Di翻转的下一个时钟周期提供一个触发边沿,因而可以最小化边沿触发器110因数据传输产生的动态功耗。
进一步地,边沿触发器110在输入数据Di维持不变的大多数时钟周期阻止数据进入后级数字电路中,因而可以避免后级组合逻辑的数据信号翻转产生附加的数据功耗。
图8示出图7所示触发单元中的一种时钟门控电路的示意性电路图。参见图7,时钟门控电路330和边沿触发器110共同组成触发单元,时钟门控电路330向边沿触发器110提供时钟信号CK。
时钟门控电路330包括异或门331、非门332及或门333。在时钟门控电路330中,基于边沿触发器110的输入数据Di和输出数据Do的比较产生时钟控制信号EN_a,时钟信号CK是时钟信号CLK和时钟控制信号EN_a的反相信号EN_b的逻辑或运算结果。
异或门331包括第一输入端、第二输入端和输出端。非门332包括输入端和输出端。或门333包括第一输入端、第二输入端和输出端。异或门331的第一数据输入端接收边沿触发器110的输入数据Di,第二数据输入端接收边沿触发器110的输出数据Do,输出端提供时钟控制信号EN_a。非门332连接在异或门331的输出端和或门331的第二输入端之间,用于产生时钟控制信号EN_a的反相信号EN_b。或门333的第一输入端接收时钟信号CLK。或门333的第二输入端经由非门332接收时钟控制信号EN_a的反相信号EN_b。或门333的输出端提供时钟信号CK。
在本实施例中,以上升沿触发的边沿触发器为例,时钟控制信号EN_a以高电平表示有效状态、低电平表示无效状态为例进行说明。时钟信号CLK的每个时钟周期包括相邻上升沿之间的连续的第一电平阶段T1和第二电平阶段T2,第一电平阶段T1和第二电平阶段T2分别具有高电平和低电平。时钟信号CK提供上升沿作为边沿触发器110的触发边沿,边沿触发器110在触发边沿将输入数据从输入端传送至输出端。
参见图10,边沿触发器110的输入数据Di存在着相对于时钟信号边沿的信号延迟Td。信号延迟Td的最小延迟Tdmin和最大延迟Tdmax之间的区域分别采用阴影部分表示。边沿触发器110的输入数据Di的信号延迟Td在最小延迟Tdmin和最大延迟Tdmax之间变化。
在本实施例中,基于边沿触发器110的输入数据Di和输出数据Do的数据比较获得时钟门控电路的时钟控制信号EN_a,时钟控制信号EN_a的信号延迟Td与输入数据Di的信号延迟Td大致相同。
采用优化的电路设计和电路仿真,可以计算并设置边沿触发器110的输入数据Di的信号延迟Td,使得信号延迟Td的最小延迟Tdmin和最大延迟Tdmax的范围内位于时钟信号CLK的选定的第一电平阶段T1中。
相应地,时钟控制信号EN_a的信号延迟Td的最小延迟Tdmin和最大延迟Tdmax的范围内位于时钟信号CLK的第一电平阶段T1中。时钟控制信号EN_a的翻转动作仅可能发生在时钟信号CLK的第一电平阶段T1。第一电平阶段T1的开始边沿为上升沿。
在时刻t0,时钟信号CLK到达第一个上升沿,时钟信号CK维持为前一时钟周期的高电平。
时钟控制信号EN_a是边沿触发器110的输入数据Di和输出数据Do的逻辑异或运算结果。在时刻t0开始的时钟周期中,边沿触发器110的输入数据Di的信号电平经由信号延迟Td后从低电平翻转为高电平,输出数据Do的信号电平在整个时钟周期中始终为低电平。作为逻辑异或运算的结果,时钟控制信号EN_a经由信号延迟Td从低电平翻转为高电平,时钟控制信号EN_a的反相信号EN_b经由信号延迟Td从高电平翻转为低电平。
时钟信号CK是时钟控制信号EN_a的反相信号EN_b和时钟信号CLK的逻辑或运算结果。在时刻t0开始的一个时钟周期中,时钟信号CK是时钟信号CLK的复制版本。尽管时钟控制信号EN_a的反相信号EN_b存在着信号延迟Td,然而,该信号延迟Td位于时钟信号CLK的第一电平阶段T1中,利用组合逻辑运算可以消除时钟信号CK由于信号延迟Td可能产生的毛刺。
因此,在时刻t0开始的一个时钟周期中,时钟门控电路330将时钟信号CLK复制为时钟信号CK。由于时钟信号CK的前一时钟周期的电平状态为高电平,时钟信号CK未能提供边沿触发器110的触发边沿,即,上升沿。边沿触发器110的输出数据Do的信号电平与时钟信号CK的前一个触发边沿的输入数据Di的信号电平一致,例如图10所示的低电平。
在时刻t1,时钟信号CLK到达第二个上升沿,时钟信号CK从前一时钟周期的第二电平阶段的低电平翻转为高电平。
时钟控制信号EN_a是边沿触发器110的输入数据Di和输出数据Do的逻辑异或运算结果。在时刻t1开始的一个时钟周期中,输入数据Di的信号电平维持为高电平,输出数据Do的信号电平则始终为高电平。作为逻辑异或运算的结果,时钟控制信号EN_a在时刻t1从高电平翻转为低电平且在时刻t1开始的时钟周期中始终为低电平,时钟控制信号EN_a的反相信号EN_b在时刻t1开始的时钟周期中始终为高电平。
时钟信号CK是时钟控制信号EN_a的反相信号EN_b和时钟信号CLK的逻辑或运算结果。因此,在时刻t1,时钟信号CK从低电平翻转为高电平且在时刻t1开始的时钟周期中维持为高电平。
因此,在时刻t1开始的一个时钟周期中,时钟门控电路330将时钟信号CK维持为高电平。由于时钟信号CK的前一时钟周期的第二电平阶段的电平状态为低电平,时钟信号CK提供边沿触发器110的触发边沿,即,上升沿。边沿触发器110的输出数据Do的信号电平与时钟信号CK的当前时钟周期的触发边沿的输入数据Di的信号电平一致,例如图10所示的高电平。
在时刻t2,时钟信号CLK到达第三个上升沿,时钟信号CK维持前一时钟周期的高电平。
时钟控制信号EN_a是边沿触发器110的输入数据Di和输出数据Do的逻辑异或运算结果。在时刻t2开始的整个时钟周期中,边沿触发器110的输入数据Di的信号电平经由信号延迟Td后从高电平翻转为低电平,输出数据Do的信号电平在整个时钟周期中始终为高电平。作为逻辑异或运算的结果,时钟控制信号EN_a经由信号延迟Td从低电平翻转为高电平,时钟控制信号EN_a的反相信号EN_b经由信号延迟Td从高电平翻转为低电平。
时钟信号CK是时钟控制信号EN_a的反相信号EN_b和时钟信号CLK的逻辑或运算结果。因此,在时刻t2开始的一个时钟周期中,时钟信号CK是时钟信号CLK的复制版本。尽管时钟控制信号EN_a的反相信号EN_b存在着信号延迟Td,然而,该信号延迟Td位于时钟信号CLK的第一电平阶段T1中,利用组合逻辑运算可以消除时钟信号CK由于信号延迟Td可能产生的毛刺。
因此,在时刻t2开始的一个时钟周期中,时钟门控电路330将时钟信号CLK复制为时钟信号CK。由于时钟信号CK的前一时钟周期的电平状态为高电平,时钟信号CK未能提供边沿触发器110的触发边沿,即,上升沿。边沿触发器110的输出数据Do的信号电平与时钟信号CK的前一个触发边沿的输入数据Di的信号电平一致,例如图10所示的高电平。
在时刻t3,时钟信号CLK到达第四个上升沿,时钟信号CK从前一时钟周期的第二电平阶段的低电平翻转为高电平。
时钟控制信号EN_a是边沿触发器110的输入数据Di和输出数据Do的逻辑异或运算结果。在时刻t3开始的一个时钟周期中,输入数据Di的信号电平维持为低电平,输出数据Do的信号电平则始终为低电平。作为逻辑异或运算的结果,时钟控制信号EN_a在时刻t3从高电平翻转为低电平且在时刻t3开始的时钟周期中始终为低电平,时钟控制信号EN_a的反相信号EN_b在时刻t3开始的时钟周期中始终为高电平。
时钟信号CK是时钟控制信号EN_a的反相信号EN_b和时钟信号CLK的逻辑或运算结果。因此,在时刻t3,时钟信号CK从低电平翻转为高电平且在时刻t3开始的时钟周期中维持为高电平。
因此,在时刻t3开始的一个时钟周期中,时钟门控电路330将时钟信号CK维持为高电平。由于时钟信号CK的前一时钟周期的第二电平阶段的电平状态为低电平,时钟信号CK提供边沿触发器110的触发边沿,即,上升沿。边沿触发器110的输出数据Do的信号电平与时钟信号CK的当前时钟周期的触发边沿的输入数据Di的信号电平一致,例如图10所示的低电平。
上述的时钟门控电路330基于边沿触发器110的输入数据Di和输出数据Do的数据比较产生时钟控制信号EN_a,以及根据时钟控制信号EN_a的状态控制时钟信号的传输。
在连续的时钟周期中,如果边沿触发器110的输入数据Di维持不变,则边沿触发器110的输出数据Do将维持不变。边沿触发器110的输入数据Di和输出数据Do彼此相同。时钟门控电路330屏蔽时钟信号CLK,将时钟信号CK维持为高电平状态。因此,时钟门控电路330可以禁用边沿触发器110的时钟翻转和数据传输,因而可以降低边沿触发器110因时钟翻转和数据传输产生的动态功耗。
在连续的时钟周期中,如果边沿触发器110的输入数据Di翻转,则在输入数据Di翻转的时钟周期中,边沿触发器110的输入数据Di经过信号延迟后翻转,输入数据Di和Do从彼此相同变成彼此不同。时钟门控电路330将时钟信号CLK复制为时钟信号CK,以及在下一时钟周期提供边沿触发器的触发边沿,因此,时钟门控电路330可以在单个时钟周期启用边沿触发器110的时钟翻转,以及在单个时钟周期启用边沿触发器110的数据传输,因而可以降低边沿触发器110因时钟翻转和数据传输产生的动态功耗。
根据本实施例的时钟门控电路330,与图5所示的时钟门控电路130相比省去了锁存器。即使边沿触发器110的输入数据Di存在着信号延迟Td,只要将边沿触发器110的输入数据Di的信号延迟Td的最小延迟Tdmin和最大延迟Tdmax设置在时钟信号CLK的第一电平阶段中,就可以消除边沿触发器110的时钟信号CK的毛刺。
在触发单元的电路设计中,时钟门控电路330仅仅需要设置边沿触发器110的输入数据Di的信号延迟,因而,可以简化触发单元的电路结构和电路设计。时钟门控电路330使用的硬件逻辑较少,并且自身的工作功耗较低。
在触发单元中,任意数量的边沿触发器110可以共用时钟门控电路330从而组成触发器组。对于触发器组包含任意数量的边沿触发器110的情形,因时钟门控电路330本身的功耗而增加的功耗远小于边沿触发器110因时钟门控而减少的功耗,因此,触发单元始终可以实现功耗降低。
图9示出图7所示触发单元中的另一种时钟门控电路的示意性电路图。参见图7,时钟门控电路430和边沿触发器110共同组成触发单元,时钟门控电路430向边沿触发器110提供时钟信号CK。
时钟门控电路430包括异或门431及与门433。在时钟门控电路430中,基于边沿触发器110的输入数据Di和输出数据Do的比较产生时钟控制信号EN_a,时钟信号CK是时钟信号CLK和时钟控制信号EN_a的逻辑与运算结果。
异或门431包括第一输入端、第二输入端和输出端。与门433包括第一输入端、第二输入端和输出端。异或门431的第一数据输入端接收边沿触发器110的输入数据Di,第二数据输入端接收边沿触发器110的输出数据Do,输出端提供时钟控制信号EN_a。与门433的第一输入端接收时钟信号CLK。与门433的第二输入端连接至异或门431的输出端以接收时钟控制信号EN_a。与门433的输出端提供时钟信号CK。
在本实施例中,以下降沿触发的边沿触发器为例,时钟控制信号EN以高电平表示有效状态、低电平表示无效状态为例进行说明。时钟信号CLK的每个时钟周期包括相邻下降沿之间的连续的第一电平阶段T1和第二电平阶段T2,第一电平阶段T1和第二电平阶段T2分别具有低电平和高电平。时钟信号CK提供下降沿作为边沿触发器110的触发边沿,边沿触发器110在触发边沿将输入数据从输入端传送至输出端。
参见图11,边沿触发器110的输入数据Di存在着相对于时钟信号边沿的信号延迟Td。信号延迟Td的最小延迟Tdmin和最大延迟Tdmax之间的区域分别采用阴影部分表示。边沿触发器110的输入数据Di的信号延迟Td在最小延迟Tdmin和最大延迟Tdmax之间变化。
在本实施例中,基于边沿触发器110的输入数据Di和输出数据Do的数据比较获得时钟门控电路的时钟控制信号EN_a,时钟控制信号EN_a的信号延迟Td与输入数据Di的信号延迟Td大致相同。
采用优化的电路设计和电路仿真,可以计算并设置边沿触发器110的输入数据Di的信号延迟Td,使得信号延迟Td的最小延迟Tdmin和最大延迟Tdmax的范围内位于时钟信号CLK的选定的第一电平阶段T1中。
相应地,时钟控制信号EN_a的信号延迟Td的最小延迟Tdmin和最大延迟Tdmax的范围内位于时钟信号CLK的第一电平阶段T1中。时钟控制信号EN_a的翻转动作仅可能发生在时钟信号CLK的第一电平阶段T1。第一电平阶段T1的开始边沿为下降沿。
在时刻t0,时钟信号CLK到达第一个下降沿,时钟信号CK维持为前一时钟周期的低电平。
时钟控制信号EN_a是边沿触发器110的输入数据Di和输出数据Do的逻辑异或运算结果。在时刻t0开始的时钟周期中,边沿触发器110的输入数据Di的信号电平经由信号延迟Td后从低电平翻转为高电平,输出数据Do的信号电平在整个时钟周期中始终为低电平。作为逻辑异或运算的结果,时钟控制信号EN_a经由信号延迟Td从低电平翻转为高电平,时钟控制信号EN_a经由信号延迟Td从低电平翻转为高电平。
时钟信号CK是时钟控制信号EN_a和时钟信号CLK的逻辑与运算结果。在时刻t0开始的一个时钟周期中,时钟信号CK是时钟信号CLK的复制版本。尽管时钟控制信号EN_a存在着信号延迟Td,然而,该信号延迟Td位于时钟信号CLK的第一电平阶段T1中,利用组合逻辑运算可以消除时钟信号CK由于信号延迟Td可能产生的毛刺。
因此,在时刻t0开始的一个时钟周期中,时钟门控电路430将时钟信号CLK复制为时钟信号CK。由于时钟信号CK的前一时钟周期的电平状态为低电平,时钟信号CK未能提供边沿触发器110的触发边沿,即,下降沿。边沿触发器110的输出数据Do的信号电平与时钟信号CK的前一个触发边沿的输入数据Di的信号电平一致,例如图11所示的低电平。
在时刻t1,时钟信号CLK到达第二个下降沿,时钟信号CK从前一时钟周期的第二电平阶段的高电平翻转为低电平。
时钟控制信号EN_a是边沿触发器110的输入数据Di和输出数据Do的逻辑异或运算结果。在时刻t1开始的一个时钟周期中,输入数据Di的信号电平维持为高电平,输出数据Do的信号电平则始终为高电平。作为逻辑异或运算的结果,时钟控制信号EN_a在时刻t1从高电平翻转为低电平且在时刻t1开始的时钟周期中始终为低电平。
时钟信号CK是时钟控制信号EN_a和时钟信号CLK的逻辑与运算结果。因此,在时刻t1,时钟信号CK从高电平翻转为低电平且在时刻t1开始的时钟周期中维持为低电平。
因此,在时刻t1开始的一个时钟周期中,时钟门控电路430将时钟信号CK维持为低电平。由于时钟信号CK的前一时钟周期的第二电平阶段的电平状态为高电平,时钟信号CK提供边沿触发器110的触发边沿,即,下降沿。边沿触发器110的输出数据Do的信号电平与时钟信号CK的当前时钟周期的触发边沿的输入数据Di的信号电平一致,例如图11所示的高电平。
在时刻t2,时钟信号CLK到达第三个下降沿,时钟信号CK维持前一时钟周期的低电平。
时钟控制信号EN_a是边沿触发器110的输入数据Di和输出数据Do的逻辑异或运算结果。在时刻t2开始的整个时钟周期中,边沿触发器110的输入数据Di的信号电平经由信号延迟Td后从高电平翻转为低电平,输出数据Do的信号电平在整个时钟周期中始终为高电平。作为逻辑异或运算的结果,时钟控制信号EN_a经由信号延迟Td从低电平翻转为高电平。
时钟信号CK是时钟控制信号EN_a和时钟信号CLK的逻辑与运算结果。因此,在时刻t2开始的一个时钟周期中,时钟信号CK是时钟信号CLK的复制版本。尽管时钟控制信号EN_a存在着信号延迟Td,然而,该信号延迟Td位于时钟信号CLK的第一电平阶段T1中,利用组合逻辑运算可以消除时钟信号CK由于信号延迟Td可能产生的毛刺。
因此,在时刻t2开始的一个时钟周期中,时钟门控电路430将时钟信号CLK复制为时钟信号CK。由于时钟信号CK的前一时钟周期的电平状态为低电平,时钟信号CK未能提供边沿触发器110的触发边沿,即,下降沿。边沿触发器110的输出数据Do的信号电平与时钟信号CK的前一个触发边沿的输入数据Di的信号电平一致,例如图11所示的高电平。
在时刻t3,时钟信号CLK到达第四个下降沿,时钟信号CK从前一时钟周期的第二电平阶段的高电平翻转为低电平。
时钟控制信号EN_a是边沿触发器110的输入数据Di和输出数据Do的逻辑异或运算结果。在时刻t3开始的一个时钟周期中,输入数据Di的信号电平维持为低电平,输出数据Do的信号电平则始终为低电平。作为逻辑异或运算的结果,时钟控制信号EN_a在时刻t3从高电平翻转为低电平且在时刻t3开始的时钟周期中始终为低电平。
时钟信号CK是时钟控制信号EN_a和时钟信号CLK的逻辑与运算结果。因此,在时刻t3,时钟信号CK从高电平翻转为低电平且在时刻t3开始的时钟周期中维持为低电平。
因此,在时刻t3开始的一个时钟周期中,时钟门控电路430将时钟信号CK维持为低电平。由于时钟信号CK的前一时钟周期的第二电平阶段的电平状态为高电平,时钟信号CK提供边沿触发器110的触发边沿,即,下降沿。边沿触发器110的输出数据Do的信号电平与时钟信号CK的当前时钟周期的触发边沿的输入数据Di的信号电平一致,例如图11所示的低电平。
上述的时钟门控电路430基于边沿触发器110的输入数据Di和输出数据Do的数据比较产生时钟控制信号EN_a,以及根据时钟控制信号EN_a的状态控制时钟信号的传输。
在连续的时钟周期中,如果边沿触发器110的输入数据Di维持不变,则边沿触发器110的输出数据Do将维持不变。边沿触发器110的输入数据Di和输出数据Do彼此相同。时钟门控电路430屏蔽时钟信号CLK,将时钟信号CK维持为低电平状态。因此,时钟门控电路430可以禁用边沿触发器110的时钟翻转和数据传输,因而可以降低边沿触发器110因时钟翻转和数据传输产生的动态功耗。
在连续的时钟周期中,如果边沿触发器110的输入数据Di翻转,则在输入数据Di翻转的时钟周期中,边沿触发器110的输入数据Di经过信号延迟后翻转,输入数据Di和Do从彼此相同变成彼此不同。时钟门控电路430将时钟信号CLK复制为时钟信号CK,以及在下一时钟周期提供边沿触发器的触发边沿,因此,时钟门控电路430可以在单个时钟周期启用边沿触发器110的时钟翻转,以及在单个时钟周期启用边沿触发器110的数据传输,因而可以降低边沿触发器110因时钟翻转和数据传输产生的动态功耗。
根据本实施例的时钟门控电路430,与图5所示的时钟门控电路130相比省去了锁存器。即使边沿触发器110的输入数据Di存在着信号延迟Td,只要将边沿触发器110的输入数据Di的信号延迟Td的最小延迟Tdmin和最大延迟Tdmax设置在时钟信号CLK的第一电平阶段中,就可以消除边沿触发器110的时钟信号CK的毛刺。
在触发单元的电路设计中,时钟门控电路430仅仅需要设置边沿触发器110的输入数据Di的信号延迟,因而,可以简化触发单元的电路结构和电路设计。时钟门控电路430使用的硬件逻辑较少,并且自身的工作功耗较低。
在触发单元中,任意数量的边沿触发器110可以共用时钟门控电路430从而组成触发器组。对于触发器组包含任意数量的边沿触发器110的情形,因时钟门控电路430本身的功耗而增加的功耗远小于边沿触发器110因时钟门控而减少的功耗,因此,触发单元始终可以实现功耗降低。
图12示出根据本发明第二实施例的触发单元的示意性电路图。触发单元500包括边沿触发器110和时钟门控电路530。时钟门控电路530用于边沿触发器110时钟信号CK的门控。在本实施例中,边沿触发器110例如为D型触发器。
边沿触发器110包括数据输入端、数据输出端和时钟输入端。时钟门控电路530包括第一输入端、第二输入端、时钟输入端、时钟输出端、以及控制端。时钟门控电路530的第一输入端接收输入数据Di,第二输入端接收输出数据Do,控制端接收第二时钟控制信号EN,时钟输入端接收时钟信号CLK,时钟输出端提供时钟信号CK。边沿触发器110的数据输入端接收输入数据Di,时钟输入端接收时钟信号CK,数据输出端提供输出数据Do。
在时钟信号CK的触发边沿,例如上升沿,边沿触发器110将输入数据从数据输入端传送至数据输出端。因而,边沿触发器110的数据输出端的输出数据相对应的信号电平取决于时钟信号CK的触发边沿到来之前数据输入端的输入数据的信号电平,并且在时钟信号CK的触发边沿之后的一个时钟周期中维持不变。边沿触发器110的数据输出端可以包括两个互补输出端。
时钟门控电路530对输入数据Di、输出数据Do、第二时钟控制信号EN和时钟信号CLK进行组合逻辑运算以产生边沿触发器110的时钟信号CK。
上述的时钟门控电路530基于边沿触发器110的输入数据Di和输出数据Do的数据比较产生第一时钟控制信号EN_a,以及根据第一时钟控制信号EN_a和接收的第二时钟控制信号EN的状态控制时钟信号的传输。
第二时钟控制信号EN例如包括多个时钟周期的有效阶段和多个时钟周期的无效阶段。在第二时钟控制信号EN有效时,时钟门控电路530禁用数据比较,时钟门控电路530将时钟信号CLK复制为时钟信号CK。在第二时钟控制信号EN无效时,时钟门控电路530启用数据比较,根据比较控制时钟信号的传输。
在时钟门控电路530启用数据比较的情形下,在输入数据Di维持不变的时钟周期中,时钟门控电路530将时钟信号CK维持为预定电平。在输入数据Di翻转的时钟周期中,时钟门控电路530将时钟信号CLK复制为时钟信号CK。因此,时钟门控电路530仅在边沿触发器110的输入数据Di翻转的一个时钟周期中启用时钟信号CLK的传输,因而可以最小化边沿触发器110因时钟信号CK翻转产生的动态功耗。进一步地,时钟门控电路530仅在边沿触发器110的输入数据Di翻转的下一个时钟周期提供一个触发边沿,因而可以最小化边沿触发器110因数据传输产生的动态功耗。
进一步地,边沿触发器110在输入数据Di维持不变的大多数时钟周期阻止数据进入后级数字电路中,因而可以避免后级组合逻辑的数据信号翻转产生附加的数据功耗。
图13示出图12所示触发单元中的时钟门控电路的示意性电路图。参见图12,时钟门控电路530和边沿触发器110共同组成触发单元,时钟门控电路530向边沿触发器110提供时钟信号CK。
时钟门控电路530包括异或门331、非门332、或门533、及非门534。在时钟门控电路530中,基于边沿触发器110的输入数据Di和输出数据Do的比较产生时时钟控制信号EN_a,时钟信号CK是时钟信号CLK、第一时钟控制信号EN_a的反相信号EN_b、以及接收的第二时钟控制信号EN逻辑或运算结果。
异或门331包括第一输入端、第二输入端和输出端。非门332和534分别包括输入端和输出端。与门533包括第一输入端、第二输入端、第三输入端和输出端。异或门331的第一数据输入端接收边沿触发器110的输入数据Di,第二数据输入端接收边沿触发器110的输出数据Do,输出端提供第一时钟控制信号EN_a。非门332连接在异或门331的输出端和或门331的第二输入端之间,用于产生第一时钟控制信号EN_a的反相信号EN_b。或门533的第一输入端接收时钟信号CLK。或门533的第二输入端经由非门332接收第一时钟控制信号EN_a的反相信号EN_b。或门533的第三输入端经由非门534接收第二时钟控制信号EN的反相信号EN_c。或门533的输出端提供时钟信号CK。
根据第二实施例的触发单元中使用的时钟门控电路530的工作原理与根据第一实施例的触发单元中使用的时钟门控电路330的工作原理基本相同,在此不再详述。
根据本实施例的时钟门控电路530,与图5所示的时钟门控电路130相比省去了锁存器。时钟门控电路530根据接收的第二时钟控制信号EN启用或禁用数据比较功能。在第二时钟控制信号EN有效时,时钟门控电路530启用数据比较功能,在第二时钟控制信号EN元效时,时钟门控电路530禁用数据比较功能。在启用数据比较功能的情形下,即使边沿触发器110的输入数据Di存在着信号延迟Td,只要将边沿触发器110的输入数据Di的信号延迟Td的最小延迟Tdmin和最大延迟Tdmax设置在时钟信号CLK的第一电平阶段中,就可以消除边沿触发器110的时钟信号CK的毛刺。
在触发单元的电路设计中,时钟门控电路530仅仅需要设置边沿触发器110的输入数据Di的信号延迟,因而,可以简化触发单元的电路结构和电路设计。时钟门控电路530使用的硬件逻辑较少,并且自身的工作功耗较低。
在触发单元中,任意数量的边沿触发器110可以共用时钟门控电路530从而组成触发器组。对于触发器组包含任意数量的边沿触发器110的情形,因时钟门控电路530本身的功耗而增加的功耗远小于边沿触发器110因时钟门控而减少的功耗,因此,触发单元始终可以实现功耗降低。
图14示出根据本发明第三实施例的触发单元的示意性电路图。触发单元600包括边沿触发器210和时钟门控电路630。时钟门控电路630用于边沿触发器210时钟信号CK的门控。在本实施例中,边沿触发器210例如为D型触发器。
边沿触发器210包括数据输入端、第一数据输出端、第二数据输出端和时钟输入端。时钟门控电路630包括第一输入端、第二输入端、时钟输入端、时钟输出端。时钟门控电路630的第一输入端接收输入数据Di,第二输入端接收输出数据Do,时钟输入端接收时钟信号CLK,时钟输出端提供时钟信号CK。边沿触发器210的数据输入端接收输入数据Di,时钟输入端接收时钟信号CK,第一数据输出端提供输出数据Do、第二数据输出端提供输出数据Do的反相信号Dn。
在本实施例中,边沿触发器210的第一数据输出端和第二数据输出端是两个互补输出端。边沿触发器210的数据输入端与第二数据输出端连接,因此,边沿触发器210始终将自身的输出数据Do的反相信号Dn作为输入数据。
在时钟信号CK的触发边沿,例如上升沿,边沿触发器210将输入数据从数据输入端传送至数据输出端。因而,边沿触发器210的数据输出端的输出数据相对应的信号电平取决于时钟信号CK的触发边沿到来之前数据输入端的输入数据的信号电平,并且在时钟信号CK的触发边沿之后的一个时钟周期中维持不变。
时钟门控电路630对输入数据Di、输出数据Do和时钟信号CLK进行组合逻辑运算以产生边沿触发器210的时钟信号CK。
上述的时钟门控电路630基于边沿触发器210的输入数据Di和输出数据Do的数据比较产生时钟控制信号EN_a,以及根据时钟控制信号EN_a的状态控制时钟信号的传输。
在输入数据Di维持不变的时钟周期中,时钟门控电路630将时钟信号CK维持为预定电平。在输入数据Di翻转的时钟周期中,时钟门控电路630将时钟信号CLK复制为时钟信号CK。因此,时钟门控电路630仅在边沿触发器210的输入数据Di翻转的一个时钟周期中启用时钟信号CLK的传输,因而可以最小化边沿触发器210因时钟信号CK翻转产生的动态功耗。进一步地,时钟门控电路630仅在边沿触发器210的输入数据Di翻转的下一个时钟周期提供一个触发边沿,因而可以最小化边沿触发器210因数据传输产生的动态功耗。在时钟信号CK的触发边沿,边沿触发器210将输出数据Do的反相信号作为输入数据从输入端提供至输出端。进一步地,边沿触发器210在其他时间阻止数据进入后级数字电路中,因而可以避免后级组合逻辑的数据信号翻转产生附加的数据功耗。
图15示出图14所示触发单元中的时钟门控电路的示意性电路图。参见图14,时钟门控电路630和边沿触发器210共同组成触发单元,时钟门控电路630向边沿触发器210提供时钟信号CK。
时钟门控电路630包括异或门331、非门332及或门533。在时钟门控电路630中,基于边沿触发器210的输入数据Di和输出数据Do的比较产生时钟控制信号EN_a,时钟信号CK是时钟信号CLK、以及时钟控制信号EN_a的反相信号EN_b逻辑或运算结果。
根据第三实施例的触发单元中使用的时钟门控电路630的工作原理与根据第一实施例的触发单元中使用的时钟门控电路330的工作原理基本相同,在此不再详述。
进一步地,根据第三实施例的触发单元中的边沿触发器210的工作原理与根据第一实施例的触发器中使用的边沿触发器110的工作原理基本相同,在此仅描述二者的主要区别。
根据第三实施例的触发单元600接收的输入数据Di仅仅用于时钟门控,边沿触发器210基于自身的输出数据Dn产生输入数据,因此边沿触发器210无需从外部接收任何输入数据。例如,所述边沿触发器的数据输入端耦接至第二数据输出端以接收所述输出数据的反相信号Dn作为输入数据。
根据本实施例的时钟门控电路630,与图5所示的时钟门控电路130相比省去了锁存器。即使边沿触发器210的输入数据Di存在着信号延迟Td,只要将边沿触发器210的输入数据Di的信号延迟Td的最小延迟Tdmin和最大延迟Tdmax设置在时钟信号CLK的第一电平阶段中,就可以消除边沿触发器210的时钟信号CK的毛刺。
边沿触发器210基于自身的输出数据Dn产生输入数据,因此边沿触发器210无需从外部接收任何输入数据,因而可以减少外部的输入数据的信号延迟波动对边沿触发器210的工作稳定性的不利影响。
时钟门控电路630仅仅需要设置边沿触发器210的输入数据Di的信号延迟,因而,可以简化触发单元的电路结构和电路设计。时钟门控电路630使用的硬件逻辑较少,并且自身的工作功耗较低。
在触发单元中,任意数量的边沿触发器210可以共用时钟门控电路630从而组成触发器组。对于触发器组包含任意数量的边沿触发器210的情形,因时钟门控电路630本身的功耗而增加的功耗远小于边沿触发器210因时钟门控而减少的功耗,因此,触发单元始终可以实现功耗降低。
在上述的触发单元中,以在时钟信号的上升沿触发和下降沿触发的触发器为例进行说明,触发单元内的边沿触发器仅示例了一种结构。然而,本发明不限于此。可以理解,其他的边沿触发器,例如带复位功能的边沿触发器,也可应用本实用新型进行技术改善。
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (15)
1.一种触发单元,包括:
边沿触发器,包括数据输入端、时钟输入端和第一数据输出端;以及
时钟门控电路,包括第一输入端、第二输入端、时钟输入端和输出端,
其中,所述时钟门控电路的第一输入端接收所述边沿触发器的输入数据,第二输入端接收所述边沿触发器的输出数据,时钟输入端接收第一时钟信号,输出端与所述边沿触发器的时钟输入端耦接以提供第二时钟信号,
所述时钟门控电路根据所述输入数据和所述输出数据的数据比较结果启用或屏蔽所述第一时钟信号以产生所述第二时钟信号,所述第二时钟信号提供所述边沿触发器的触发边沿,
所述第一时钟信号的时钟周期包括连续的第一电平阶段和第二电平阶段,所述输入数据在所述第一时钟信号的第一电平阶段翻转,所述时钟门控电路利用组合逻辑运算产生所述第二时钟信号,在所述输入数据翻转的所述第一时钟信号的时钟周期中,将所述第一时钟信号复制为所述第二时钟信号,在所述输入数据维持不变的时钟周期中,将所述第二时钟信号维持为预定电平。
2.根据权利要求1所述的触发单元,其中,所述预定电平为所述第一电平阶段的电平,所述第二时钟信号在输入数据翻转的时钟周期的下一个时钟周期提供触发边沿。
3.根据权利要求1所述的触发单元,其中,所述第一电平阶段的开始边沿为上升沿。
4.根据权利要求3所述的触发单元,其中,所述时钟门控电路包括:
异或门,包括第一输入端、第二输入端和输出端,所述第一输入端和所述第二输入端分别接收所述边沿触发器的输入数据和输出数据,所述输出端提供第一时钟控制信号;
或门,包括第一输入端、第二输入端和输出端,所述第一输入端接收所述第一时钟信号;以及
非门,包括输入端和输出端,所述非门连接在所述异或门的输出端和所述或门的第二输入端之间,
其中,所述非门将所述第一时钟控制信号反相后提供至所述或门的第二输入端,所述或门的输出端提供所述第二时钟信号。
5.根据权利要求4所述的触发单元,其中,所述或门还包括第三输入端,所述第三输入端接收第二时钟控制信号的反相信号。
6.根据权利要求5所述的触发单元,其中,在所述第二时钟控制信号有效时,所述时钟门控电路启用数据比较功能,在所述第二时钟控制信号无效时,所述时钟门控电路禁用数据比较功能。
7.根据权利要求1所述的触发单元,其中,所述第一电平阶段的开始边沿为下降沿。
8.根据权利要求7所述的触发单元,其中,所述时钟门控电路包括:
异或门,包括第一输入端、第二输入端和输出端,所述第一输入端和所述第二输入端分别接收所述边沿触发器的输入数据和输出数据,所述输出端提供第一时钟控制信号;以及
与门,包括第一输入端、第二输入端和输出端,所述第一输入端接收所述第一时钟信号,所述第二输入端接收所述第一时钟控制信号,所述输出端提供所述第二时钟信号。
9.根据权利要求8所述的触发单元,其中,所述与门还包括第三输入端,所述第三输入端接收第二时钟控制信号。
10.根据权利要求9所述的触发单元,其中,在所述第二时钟控制信号有效时,所述时钟门控电路启用数据比较功能,在所述第二时钟控制信号无效时,所述时钟门控电路禁用数据比较功能。
11.根据权利要求4或8所述的触发单元,其中,所述边沿触发器的数据输入端接收自身的输出数据的反相信号作为输入数据。
12.根据权利要求11所述的触发单元,其中,所述边沿触发器还包括第二数据输出端,所述边沿触发器的第一数据输出端和第二数据输出端分别提供所述边沿触发器的输出数据和所述输出数据的反相信号,
其中,所述边沿触发器的数据输入端与所述第二数据输出端彼此耦接以接收自身的输出数据的反相信号。
13.根据权利要求5或9所述的触发单元,其中,所述第一时钟控制信号和所述第二时钟控制信号各自的高电平表示有效状态,低电平表示无效状态。
14.根据权利要求1所述的触发单元,其中,所述边沿触发器在所述触发边沿接收所述数据输入端的输入数据并传送至所述第一数据输出端。
15.根据权利要求1所述的触发单元,其中,所述触发单元作为数字电路EDA的标准单元库中的库单元。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210107334.3A CN114417758B (zh) | 2022-01-28 | 2022-01-28 | 基于数据比较进行时钟门控的触发单元 |
PCT/CN2023/080589 WO2023143632A1 (zh) | 2022-01-28 | 2023-03-09 | 基于数据比较进行时钟门控的触发单元 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210107334.3A CN114417758B (zh) | 2022-01-28 | 2022-01-28 | 基于数据比较进行时钟门控的触发单元 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114417758A CN114417758A (zh) | 2022-04-29 |
CN114417758B true CN114417758B (zh) | 2023-06-20 |
Family
ID=81279123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210107334.3A Active CN114417758B (zh) | 2022-01-28 | 2022-01-28 | 基于数据比较进行时钟门控的触发单元 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114417758B (zh) |
WO (1) | WO2023143632A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114417758B (zh) * | 2022-01-28 | 2023-06-20 | 杭州士兰微电子股份有限公司 | 基于数据比较进行时钟门控的触发单元 |
CN117254791A (zh) * | 2023-09-12 | 2023-12-19 | 广州市粤港澳大湾区前沿创新技术研究院 | 一种时钟门控实现方法及门控时钟电路 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857198A (zh) * | 2012-08-30 | 2013-01-02 | 锐迪科科技有限公司 | 用于双边沿触发器的时钟门控电路 |
US9317639B1 (en) * | 2014-10-27 | 2016-04-19 | Freescale Semiconductor, Inc. | System for reducing power consumption of integrated circuit |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6718523B2 (en) * | 2001-07-05 | 2004-04-06 | International Business Machines Corporation | Reduced pessimism clock gating tests for a timing analysis tool |
CN104124945B (zh) * | 2014-07-23 | 2017-02-15 | 上海华虹宏力半导体制造有限公司 | 占空比校准电路 |
CN104579251B (zh) * | 2014-12-16 | 2017-04-26 | 宁波大学 | 一种门控时钟触发器 |
CN104852712A (zh) * | 2015-05-19 | 2015-08-19 | 中国电子科技集团公司第四十七研究所 | 一种基于数据变化的低功耗门控时钟电路结构 |
CN114417758B (zh) * | 2022-01-28 | 2023-06-20 | 杭州士兰微电子股份有限公司 | 基于数据比较进行时钟门控的触发单元 |
-
2022
- 2022-01-28 CN CN202210107334.3A patent/CN114417758B/zh active Active
-
2023
- 2023-03-09 WO PCT/CN2023/080589 patent/WO2023143632A1/zh unknown
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102857198A (zh) * | 2012-08-30 | 2013-01-02 | 锐迪科科技有限公司 | 用于双边沿触发器的时钟门控电路 |
US9317639B1 (en) * | 2014-10-27 | 2016-04-19 | Freescale Semiconductor, Inc. | System for reducing power consumption of integrated circuit |
Non-Patent Citations (1)
Title |
---|
H.Mahmoodi-Meimand等.Dual-edge triggered level converting flip-flops.《IEEE Xplore》.2004,全文. * |
Also Published As
Publication number | Publication date |
---|---|
WO2023143632A1 (zh) | 2023-08-03 |
CN114417758A (zh) | 2022-04-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114417758B (zh) | 基于数据比较进行时钟门控的触发单元 | |
US8604831B2 (en) | Integrated circuit, clock gating circuit, and method | |
US20090302892A1 (en) | Method and Apparatus for Selecting an Operating Mode Based on a Determination of the Availability of Internal Clock Signals | |
US8786344B2 (en) | Low-power dual-edge-triggered storage cell with scan test support and clock gating circuit therefor | |
US8086989B2 (en) | Structure for glitchless clock multiplexer optimized for synchronous and asynchronous clocks | |
US9317639B1 (en) | System for reducing power consumption of integrated circuit | |
US7679408B2 (en) | Glitchless clock multiplexer optimized for synchronous and asynchronous clocks | |
WO2023143631A1 (zh) | 触发单元的设计方法 | |
JPWO2004105241A1 (ja) | 多数決論理回路を有するフリップフロップ回路 | |
CN114417760B (zh) | 包含时钟门控电路的触发单元 | |
KR20100095830A (ko) | 글리치 프리 및 파워 세이빙 기능을 갖는 시프트 레지스터 회로 | |
US5848014A (en) | Semiconductor device such as a static random access memory (SRAM) having a low power mode using a clock disable circuit | |
KR20050099714A (ko) | 고집적 저전력 글리치리스 클럭 선택회로 및 이를구비하는 디지털 프로세싱 시스템 | |
US6075398A (en) | Tunable digital oscillator circuit and method for producing clock signals of different frequencies | |
US20200249716A1 (en) | Clock buffering to reduce memory hold time | |
US20050146385A1 (en) | Power-on reset circuit | |
TWI792864B (zh) | 測試系統以及測試方法 | |
CN116013390B (zh) | 一种存储器及其读取方法 | |
US6981166B2 (en) | Method, apparatus, and computer program product for pacing clocked operations | |
WO2002056159A2 (en) | Power management for digital processing apparatus | |
KR20060075611A (ko) | 출력 인에이블 신호 생성회로 | |
JP3236235B2 (ja) | トグルフリップフロップ | |
Kumar et al. | Low power synchronous counter using improvised Conditional Capture Flip-Flop | |
CN116524981A (zh) | 测试系统以及测试方法 | |
JPH04274089A (ja) | 記憶装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |