CN114417759B - 触发单元的设计方法 - Google Patents
触发单元的设计方法 Download PDFInfo
- Publication number
- CN114417759B CN114417759B CN202210107336.2A CN202210107336A CN114417759B CN 114417759 B CN114417759 B CN 114417759B CN 202210107336 A CN202210107336 A CN 202210107336A CN 114417759 B CN114417759 B CN 114417759B
- Authority
- CN
- China
- Prior art keywords
- clock
- signal
- edge
- gating circuit
- control signal
- 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
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
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)
- Logic Circuits (AREA)
Abstract
本申请公开了触发单元的设计方法。该设计方法包括:在数字电路中分析时钟控制信号的信号延迟;根据时钟控制信号的信号延迟,在多个不同类型的时钟门控电路中选择时钟门控电路;以及将至少一个边沿触发器和选择的时钟门控电路组合成触发单元,其中,多个不同类型的时钟门控电路根据时钟控制信号启用或屏蔽第一时钟信号以产生第二时钟信号,边沿触发器在第二时钟信号的边沿传输数据。该触发单元的设计方法根据时钟控制信号的延迟条件,从多个不同类型的时钟门控电路选择时钟门控电路,不仅可以消除时钟门控电路产生的时钟信号的毛刺,而且可以减少时钟门控电路的逻辑元件数量和降低时钟门控电路的功耗,适用于任意数量边沿触发器的触发器组。
Description
技术领域
本发明涉及集成电路技术,更具体地,涉及触发单元的设计方法。
背景技术
电子设计自动化软件(EDA)是集成电路的功能设计、综合、验证、物理设计等流程的重要工具。在数字电路设计EDA中,标准单元库是集成电路芯片后端设计过程中的基础部分。采用预先设计好的优化的库单元进行自动逻辑综合和版图布局布线,可以提高设计效率。经过优化的库单元可以提高电路性能和降低功耗。
在集成电路的数字部分中,采用门电路将多个信号经过组合逻辑产生逻辑运算结果,采用边沿触发器存储逻辑运算结果。按照逻辑运算的不同,门电路可以分为与门、或门、非门、与非门、或门、与或门、异或门等。门电路的逻辑运算结果例如是脉冲信号,基于脉冲信号产生与逻辑状态相对应的稳态电平信号。
边沿触发器是具有记忆功能的信息存储器件,用于存储记忆逻辑运算结果。例如,边沿触发器是构成多种时序数字电路模块中的最基本逻辑单元,在数字电路模块中是一种重要的单元电路。参见图1和图2,根据边沿触发器的类型,边沿触发器110在时钟信号的上升沿或下降沿触发,允许输入数据从输入端传输到输出端以获得输出数据。边沿触发器110例如是D型触发器。例如,D型触发器在时钟信号的触发边沿传输数据,在下一次触发边沿前维持数据不变。
边沿触发器的功耗包括静态功耗和动态功耗,其中,静态功耗主要由泄漏电流引起,动态功耗主要由信号翻转功耗引起。边沿触发器的数据信号翻转导致后级组合逻辑产生附加的数据功耗,时钟信号的翻转也会产生边沿触发器自身的时钟功耗。
因此,期望对数字电路EDA标准单元库中的边沿触发器进行优化设计,进一步降低边沿触发器的动态功耗。
发明内容
鉴于上述问题,本发明的目的在于提供触发单元的设计方法,根据时钟控制信号的延迟条件,从多个不同类型的时钟门控电路选择时钟门控电路,以减少时钟门控电路的逻辑元件数量和降低时钟门控电路的功耗。
根据本发明,提供一种触发单元的设计方法,包括:在数字电路中分析时钟控制信号的信号延迟;根据时钟控制信号的信号延迟,在多个不同类型的时钟门控电路中选择时钟门控电路;以及将至少一个边沿触发器和所述选择的时钟门控电路组合成触发单元,其中,所述多个不同类型的时钟门控电路根据所述时钟控制信号启用或屏蔽第一时钟信号以产生第二时钟信号,所述边沿触发器在所述第二时钟信号的边沿传输数据。
优选地,所述多个不同类型的时钟门控电路包括第一时钟门控电路和第二时钟门控电路中的至少一种,所述第一时钟门控电路和所述第二时钟门控电路至少在所述时钟控制信号从有效状态翻转至无效状态的时钟周期中,将所述第二时钟信号维持为预定电平。
优选地,在所述时钟控制信号维持无效状态的时钟周期中,所述第一时钟门控电路和所述第二时钟门控电路将所述第二时钟信号维持为所述预定电平。
优选地,在所述时钟控制信号从无效状态翻转为有效状态的时钟周期中,所述第一时钟门控电路和所述第二时钟门控电路复制所述第一时钟信号作为所述第二时钟信号。
优选地,在所述时钟控制信号维持有效状态的时钟周期中,所述第一时钟门控电路和所述第二时钟门控电路复制所述第一时钟信号作为所述第二时钟信号。
优选地,所述第一时钟门控电路对所述时钟控制信号的反相信号和所述第一时钟信号进行逻辑或运算以产生所述第二时钟信号。
优选地,所述第二时钟门控电路对所述时钟控制信号和所述第一时钟信号进行逻辑与运算以产生所述第二时钟信号。
优选地,所述多个不同类型的时钟门控电路还包括第三时钟门控电路,所述第三时钟门控电路至少在所述时钟控制信号从有效状态翻转至无效状态的下一个时钟周期中,将所述第二时钟信号维持为预定电平。
优选地,所述第三时钟门控电路对所述时钟控制信号的锁存信号和所述第一时钟信号进行逻辑与运算以产生所述第二时钟信号。
优选地,所述时钟控制信号的信号延迟在最小延迟和最大延迟之间的范围内变化。
优选地,在所述最小延迟和所述最大延迟均位于所述第一时钟信号信号的第一电平阶段的情形下,根据所述第一电平阶段的开始边沿选择所述第一时钟门控电路和所述第二时钟门控电路之一。
优选地,在所述第一电平阶段的开始边沿为上升沿的情形下,所述选择的时钟门控电路为所述第一时钟门控电路。
优选地,在所述第一电平阶段的开始边沿为下降沿的情形下,所述选择的时钟门控电路为所述第二时钟门控电路。
优选地,所述预定电平为所述第一电平阶段的电平。
优选地,在所述最小延迟和所述最大延迟分别位于所述第一时钟信号的第一电平阶段和第二电平阶段的情形下,所述选择的时钟门控电路为第三时钟门控电路。
优选地,所述预定电平为所述第二电平阶段的电平。
优选地,组合成触发单元的步骤包括:根据选择的时钟门控电路的类型和所述边沿触发器的类型,选择所述边沿触发器传输数据的时钟周期。
优选地,在所述第一电平阶段的开始边沿与所述边沿触发器的触发边沿相同的情形下,在所述时钟控制信号翻转的时钟周期,所述第二时钟信号提供所述边沿触发器的触发边沿。
优选地,在所述第一电平阶段的开始边沿与所述边沿触发器的触发边沿相反的情形下,在所述时钟控制信号翻转的时钟周期的前一时钟周期,所述第二时钟信号提供所述边沿触发器的触发边沿。
优选地,组合成触发单元的步骤包括:对所述第二时钟信号进行反相以产生第三时钟信号。
优选地,在所述第一电平阶段的开始边沿与所述边沿触发器的触发边沿相同的情形下,在所述时钟控制信号翻转的时钟周期,所述第二时钟信号提供所述边沿触发器的触发边沿。
优选地,在所述第一电平阶段的开始边沿与所述边沿触发器的触发边沿相反的情形下,在所述时钟控制信号翻转的时钟周期,所述第三时钟信号提供所述边沿触发器的触发边沿。
优选地,所述时钟控制信号高电平表示有效状态,低电平表示无效状态。
根据本发明的实施例,在触发单元的设计方法中,根据时钟控制信号的延迟条件,从多个不同类型的时钟门控电路选择时钟门控电路。利用不同类型的时钟门控电路在时钟控制信号的不同延迟条件下的电路特性,可以消除时钟门控电路产生的时钟信号的毛刺。在时钟控制信号维持无效状态的时钟周期中,时钟门控电路产生的第二时钟信号禁用边沿触发器的时钟翻转和数据传输,因而可以降低边沿触发器的动态功耗。
在优选的实施例中,在时钟控制信号的最小延迟和最大延迟的范围均位于单个电平阶段且该电平阶段的开始边沿为上升沿的情形下,选择第一时钟门控电路,所述第一时钟门控电路对所述时钟控制信号的反相信号和所述第一时钟信号进行逻辑或运算以产生所述第二时钟信号。可以消除时钟门控电路产生的时钟信号的毛刺。在时钟控制信号从有效状态翻转为无效状态的时钟周期中,时钟门控电路产生的第二时钟信号禁用边沿触发器的时钟翻转,因而可以降低边沿触发器的动态功耗。
在优选的实施例中,在时钟控制信号的最小延迟和最大延迟的范围均位于单个电平阶段且该电平阶段的开始边沿为下降沿的情形下,选择第二时钟门控电路,所述第二时钟门控电路对所述时钟控制信号和所述第一时钟信号进行逻辑与运算以产生所述第二时钟信号。可以消除时钟门控电路产生的时钟信号的毛刺。在时钟控制信号从有效状态翻转为无效状态的时钟周期中,时钟门控电路产生的第二时钟信号禁用边沿触发器的时钟翻转,因而可以降低边沿触发器的动态功耗。
在优选的实施例中,在选择第一时钟门控电路和第二时钟门控电路的情形下,即使省去锁存器,也可以消除时钟门控电路产生的时钟信号的毛刺。因而,时钟门控电路中使用的硬件逻辑较少,时钟门控电路自身的工作功耗较低。触发单元中的任意数量的边沿触发器可以组成共用时钟门控电路的触发器组。对于触发器组包含任意数量的边沿触发器的情形,例如,一个,两个,或多个,因时钟门控电路本身的功耗而增加的功耗远小于边沿触发器因时钟门控而减少的功耗,因此,触发单元始终可以实现功耗降低。
进一步地,该触发单元的电路设计方法优化时钟门控电路和边沿触发器的组合,因而可以简化且版图布局面积减小,将时钟门控电路和边沿触发器的组合电路作为标准单元库的库单元,在不同的条件下应用以提高数字电路的性能和设计效率。
附图说明
通过以下参照附图对本发明实施例的描述,本发明的上述以及其他目的、特征和优点将更为清楚。
图1和图2分别示出集成电路中的边沿触发器的示意性电路图和波形图。
图3示出触发单元的示意性电路图。
图4和图5分别示出根据现有技术的时钟门控电路的示意性电路图和波形图。
图6和图7a、图7b分别示出根据本发明第一实施例的时钟门控电路的示意性电路图和波形图。
图8和9a、图9b分别示出根据本发明第二实施例的时钟门控电路的示意性电路图和波形图。
图10示出根据本发明第三实施例的触发单元设计方法的流程图。
图11示出在图10所示的触发单元设计方法中时钟门控电路和边沿触发器的一种组合方法。
图12示出在图10所示的触发单元设计方法中时钟门控电路和边沿触发器的另一种组合方法。
具体实施方式
以下将参照附图更详细地描述本发明。在各个附图中,相同的元件采用类似的附图标记来表示。为了清楚起见,附图中的各个部分没有按比例绘制。此外,可能未示出某些公知的部分。
在下文中描述了本发明的许多特定的细节,例如器件的结构、材料、尺寸、处理工艺和技术,以便更清楚地理解本发明。但正如本领域的技术人员能够理解的那样,可以不按照这些特定的细节来实现本发明。
本发明可以各种形式呈现,以下将描述其中一些示例。
图3示出触发单元的示意性电路图。触发单元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对时钟控制信号EN和时钟信号CLK进行逻辑运算以产生边沿触发器110的时钟信号CK。
在上述的触发单元中,时钟门控电路130根据时钟控制信号EN的状态控制时钟信号的传输。
在时钟控制信号EN维持有效的时钟周期中,时钟门控电路130将时钟信号CLK复制为时钟信号CK,时钟信号CK提供至边沿触发器110的时钟输入端,在时钟控制信号EN维持无效的时钟周期中,时钟门控电路130屏蔽时钟信号CLK,以及将时钟信号CK维持为预定电平。
在时钟信号CK维持为预定电平的情形下,时钟信号CK不能提供边沿触发器110的触发边沿,因此可以禁用边沿触发器110的时钟翻转和数据传输。进一步地,边沿触发器110阻止数据进入后级数字电路中,因而可以避免后级组合逻辑的数据信号翻转产生附加的数据功耗。
图4示出根据现有技术的时钟门控电路的示意性电路图。参见图3,时钟门控电路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在触发边沿将输入数据从输入端传送至输出端。
参见图5,输入数据Di和时钟控制信号EN各自存在着相对于时钟信号边沿的信号延迟Td。信号延迟Td的最小延迟Tdmin和最大延迟Tdmax之间的区域分别采用阴影部分表示。时钟控制信号EN的信号延迟Td在最小延迟Tdmin和最大延迟Tdmax之间变化。
如图5所示,最小延迟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的信号电平一致,例如图5所示的低电平。
在时刻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的信号电平与上一时钟周期的信号电平一致,例如图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而减少的功耗。
进一步地,本发明人注意到,现有的EDA工具大都可以获得时钟控制信号EN的信号延迟Td,采用优化的电路设计和电路仿真,可以计算并设置时钟控制信号EN的信号延迟Td,使得信号延迟Td的最小延迟Tdmin和最大延迟Tdmax的范围内位于时钟信号CLK的选定的电平阶段中。
本发明人设计了下文详细描述的时钟门控电路230和时钟门控电路330,根据时钟控制信号EN的延迟条件选择不同的时钟门控电路,在未使用锁存器的情形下也可以获得与时钟门控电路130相同的功能。在数字电路EDA的标准单元库中,可以将时钟门控电路230和时钟门控电路330用于重新设计的触发单元。因此,可以进一步降低集成电路功耗,降低触发单元的成本且减小时钟门控电路自身的功耗,从而突破上述电路设计上的限制。
图6示出根据本发明第一实施例的时钟门控电路的示意性电路图。参见图3,时钟门控电路230和边沿触发器110共同组成触发单元,时钟门控电路230向边沿触发器110提供时钟信号CK。
时钟门控电路230包括非门231及或门232。在时钟门控电路230中,时钟信号CK是时钟信号CLK和时钟控制信号EN的反相信号EN_a的逻辑或运算结果。
或门232包括第一输入端、第二输入端和输出端。非门231包括输入端和输出端。或门232的第一输入端接收时钟信号CLK。或门232的第二输入端连接至非门231的输出端,经由非门231接收时钟控制信号EN的反相信号EN_a。或门232的输出端提供时钟信号CK。
在本实施例中,以上升沿触发的边沿触发器为例,时钟控制信号EN以高电平表示有效状态、低电平表示无效状态为例进行说明。时钟信号CLK的每个时钟周期包括相邻上升沿之间的连续的第一电平阶段T1和第二电平阶段T2,第一电平阶段T1和第二电平阶段T2分别具有高电平和低电平。时钟信号CK提供边沿触发器110的触发边沿,边沿触发器110在触发边沿将输入数据从输入端传送至输出端。
在本实施例中,输入数据Di和时钟控制信号EN各自存在着相对于时钟信号边沿的信号延迟Td。信号延迟Td的最小延迟Tdmin和最大延迟Tdmax之间的区域分别采用阴影部分表示。时钟控制信号EN的信号延迟Td在最小延迟Tdmin和最大延迟Tdmax之间变化。
参见图7a,时钟控制信号EN的最小延迟Tdmin和最大延迟Tdmax均位于第一电平阶段T1中,时钟控制信号EN的翻转动作仅可能发生在时钟信号CLK的第一电平阶段T1中。第一电平阶段T1的开始边沿为上升沿。
在时刻t0,时钟信号CLK到达第一个上升沿,时钟控制信号EN有效。在时刻t0开始的一个时钟周期中,时钟控制信号EN从有效状态翻转为无效状态。时钟信号CK是时钟信号CLK和反相信号EN_a的逻辑或运算结果。在时钟信号CLK的第一电平阶段T1,时钟信号CK始终为高电平。在时钟信号CLK的第二电平阶段T2,时钟信号CK始终为高电平。因此,如果时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1,则在时钟控制信号从有效状态翻转为无效状态的时钟周期中,时钟信号CK维持为高电平。
因此,在时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1的情形下,在时刻t0开始的一个时钟周期中,时钟门控电路230屏蔽时钟信号CLK但提供时钟信号CK的上升沿,在上升沿之后经过建立时间,边沿触发器110提供的输出数据Do的信号电平与时刻t0的输入数据Di在t0时刻的信号电平一致,例如图7a所示的低电平。
在时刻t1,时钟信号CLK到达第二个上升沿,时钟控制信号EN无效。在时刻t1开始的一个时钟周期中,时钟控制信号EN保持无效状态,如图7a所示的低电平。时钟信号CK是时钟信号CLK和反相信号EN_a的逻辑或运算结果。在这个时钟周期内,由于时钟控制信号EN一直为低,则反相信号EN_a一直为高,或运算的结果即时钟信号CK也一直为高。时钟信号CK未提供上升沿,边沿触发器110的输出数据Do的信号电平与前一时钟周期的信号电平一致,例如图7a所示的低电平。
在时刻t2,时钟信号CLK到达第三个上升沿,时钟控制信号EN无效。在时刻t2开始的一个时钟周期中,时钟控制信号EN从无效状态翻转为有效状态。时钟信号CK是时钟信号CLK和反相信号EN_a的逻辑或运算结果。在时钟信号CLK的第一电平阶段T1,时钟信号CK始终为高电平。在时钟信号CLK的第二电平阶段T2,时钟信号CK始终为低电平。因此,如果时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1,则在时钟控制信号翻转的从无效状态翻转为有效状态的时钟周期中,时钟信号CK是时钟信号CLK的复制版本。
因此,在时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1的情形下,在时刻t2开始的一个时钟周期中,时钟门控电路230将时钟信号CLK复制为时钟信号CK但未提供时钟信号的上升沿,边沿触发器110的输出数据Do的信号电平与前一时钟周期的信号电平一致,例如图7a所示的低电平。
进一步地,在时刻t3,时钟信号CLK到达第四个上升沿。时钟控制信号EN在时刻t3开始的整个时钟周期中有效,时钟信号CK是时钟信号CLK的复制版本。时钟门控电路230将时钟信号CLK复制为时钟信号CK且提供时钟信号CK的上升沿,因而可以启用边沿触发器的时钟信号和数据传输。在上升沿之后经过建立时间,边沿触发器110提供的输出数据Do的信号电平与时刻t3的输入数据Di的信号电平一致,即,高电平。在时刻t3之后,时钟控制信号EN可以持续有效,时钟信号CK是时钟信号CLK的复制版本,时钟信号CLK跳变时,边沿触发器110在所述第二时钟信号的触发边沿,接收所述数据输入端的输入数据并传送至所述数据输出端。
参见图7b,时钟控制信号EN的最小延迟Tdmin和最大延迟Tdmax均位于第二电平阶段T2中,时钟控制信号EN的翻转动作仅可能发生在时钟信号CLK的第二电平阶段T2中。第二电平阶段T2的开始边沿为下降沿。
在时刻t0,时钟信号CLK到达第一个上升沿,时钟控制信号EN有效。在时刻t0开始的一个时钟周期中,时钟控制信号EN从有效状态翻转为无效状态。时钟信号CK是时钟信号CLK和反相信号EN_a的逻辑或运算结果。在时钟信号CLK的第一电平阶段T1,时钟信号CK始终为高电平。在时钟信号CLK的第二电平阶段T2,时钟信号CK的信号电平与时钟控制信号EN的信号延迟相关。如果时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1,则在时钟信号CLK的第二电平阶段T2,时钟信号CK在第二电平阶段T2的开始时刻从高电平翻转为低电平,在第二电平阶段T2中的时刻ta之后的某个时刻从低电平翻转为高电平且还可能存在反复跳变,因而产生毛刺。
因此,在时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1的情形下,在时刻t0开始的一个时钟周期中,时钟门控电路230产生的时钟信号CK出现毛刺。毛刺提供了随时钟控制信号EN变化的附加上升沿,边沿触发器110在附加上升沿之后经过建立时间提供的输出数据Do的信号电平与输入数据Di在附加上升沿的信号电平一致。一方面,边沿触发器110的输入数据Di由于自身的信号延迟存在着不确定状态,另一方面,时钟信号CK的毛刺提供的附加上升沿与输入数据Di的不确定状态重叠。因此,在附加上升沿之后经过建立时间,边沿触发器110的提供的输出数据Do与附加上升沿的信号电平一致,例如图7b的不确定状态。
在时刻t1,时钟信号CLK到达第二个上升沿,时钟控制信号EN无效。与图7a相同,在时刻t1开始的一个时钟周期中,时钟信号CK维持为高电平,既未提供上升沿也未提供下降沿。边沿触发器110的输出数据Do的信号电平与前一时钟周期的信号电平一致,例如图7b所示的不确定状态。
在时刻t2,时钟信号CLK到达第三个上升沿,时钟控制信号EN无效。在时刻t2开始的一个时钟周期中,时钟控制信号EN从无效状态翻转为有效状态。时钟信号CK是时钟信号CLK和反相信号EN_a的逻辑或运算结果。在时钟信号CLK的第一电平阶段T1,时钟信号CK始终为高电平。在时钟信号CLK的第二电平阶段T2,时钟信号CK的信号电平与时钟控制信号EN的信号延迟相关。如果时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1,则在时钟信号CLK的第二电平阶段T2,与时钟控制信号EN的翻转时刻相同,时钟信号CK从高电平状态翻转为低电平状态,因而产生毛刺。
因此,在时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1的情形下,在时刻t2开始的一个时钟周期中,时钟门控电路230产生的时钟信号CK出现毛刺。然而,毛刺仅能提供随时钟控制信号EN变化的附加下降沿,且可能由于跳变而提供边沿触发器110的触发边沿。因此,边沿触发器110的输出数据Do的信号电平与前一时钟周期的信号电平一致,例如图7b所示的不确定状态。
进一步地,在时刻t3,时钟信号CLK到达第四个上升沿。时钟控制信号EN在时刻t3开始的整个时钟周期中有效,时钟信号CK是时钟信号CLK的复制版本。时钟门控电路230将时钟信号CLK复制为时钟信号CK且提供时钟信号CK的上升沿,因而可以启用边沿触发器的时钟信号和数据传输。在上升沿之后经过建立时间,边沿触发器110提供的输出数据Do的信号电平与时刻t3的输入数据Di的信号电平一致,即,高电平。在时刻t3之后,时钟控制信号EN可以持续有效,时钟信号CK是时钟信号CLK的复制版本,时钟信号CLK跳变时,边沿触发器110在所述第二时钟信号的触发边沿,接收所述数据输入端的输入数据并传送至所述数据输出端。
上述的时钟门控电路230在时钟控制信号EN的不同延迟条件下具有不同的电路特性。在时钟控制信号EN的最小延迟Tdmin和最大延迟Tdmax均位于第一电平阶段T1中、且第一电平阶段T1的开始边沿为上升沿的条件下,选择图6所示的时钟门控电路230,以替代图4所示的时钟门控电路130。
在时钟控制信号EN维持有效的时钟周期中,时钟门控电路230将时钟信号CLK复制为时钟信号CK,时钟信号CK提供至边沿触发器110的时钟输入端,在时钟控制信号EN维持无效的时钟周期中,时钟门控电路230屏蔽时钟信号CLK。因此,采用时钟门控电路230可以禁用边沿触发器110的时钟翻转和数据传输。
在时钟控制信号EN从有效状态翻转至无效状态的时钟周期中,时钟门控电路230屏蔽时钟信号CLK,以及将时钟信号CK维持为预定电平。此时,时钟信号CK仍然提供边沿触发器110的触发边沿,时钟门控电路230允许边沿触发器110的数据传输,边沿触发器110提供的输出数据Do为当前触发边沿的输入数据Di。时钟门控电路230禁用边沿触发器110的时钟翻转,因而可以降低边沿触发器110因时钟信号CK翻转产生的动态功耗。
在时钟控制信号EN从无效状态翻转至有效状态的时钟周期中,时钟门控电路230将时钟信号CLK复制为时钟信号CK,因而允许边沿触发器110的时钟翻转。此时,时钟信号CK未能提供边沿触发器110的触发边沿,时钟门控电路230禁用边沿触发器110的数据传输,边沿触发器110维持前一触发边沿的输入数据Di,因而可以降低边沿触发器110因数据传输产生的动态功耗。
时钟门控电路230对时钟控制信号EN的时序要求是时钟控制信号EN的翻转发生在时钟信号CLK的一个时钟周期的触发边沿之后的电平阶段,本例中为第一电平阶段T1。如果希望在预定时刻禁用数据传输,则在预定时刻之前的最后一个整时钟周期的第一电平阶段T1内完成时钟控制信号EN从有效状态至无效状态的翻转动作,在预定时刻开始的最后一个时钟周期的时钟信号CLK的第一电平阶段T1内完成时钟控制信号EN从无效状态至有效状态的翻转动作。
与图4所示的时钟门控电路130相比,根据本实施例的时钟门控电路230省去了锁存器,时钟门控电路230使用的硬件逻辑较少,并且自身的工作功耗较低。在触发单元中,任意数量的边沿触发器110可以共用时钟门控电路230从而组成触发器组。对于触发器组包含任意数量的边沿触发器110的情形,因时钟门控电路230本身的功耗而增加的功耗远小于边沿触发器110因时钟门控而减少的功耗,因此,触发单元始终可以实现功耗降低。
图8示出根据本发明第二实施例的时钟门控电路的示意性电路图。参见图3,时钟门控电路330和边沿触发器110共同组成触发单元,时钟门控电路330向边沿触发器110提供时钟信号CK。
时钟门控电路330包括与门331。在时钟门控电路330中,时钟信号CK是时钟信号CLK和时钟控制信号EN的逻辑与运算结果。
与门331包括第一输入端、第二输入端和输出端。与门331的第一输入端接收时钟信号CLK,第二输入端接时钟控制信号EN,输出端提供时钟信号CK。
在本实施例中,以下降沿触发的边沿触发器为例,时钟控制信号EN以高电平表示有效状态、低电平表示无效状态为例进行说明。时钟信号CLK的每个时钟周期包括相邻下降沿之间的连续的第一电平阶段T1和第二电平阶段T2,第一电平阶段T1和第二电平阶段T2分别具有低电平和高电平。时钟信号CK提供边沿触发器110的触发边沿,边沿触发器110在触发边沿将输入数据从输入端传送至输出端。
在本实施例中,输入数据Di和时钟控制信号EN各自存在着相对于时钟信号边沿的信号延迟Td。信号延迟Td的最小延迟Tdmin和最大延迟Tdmax之间的区域分别采用阴影部分表示。时钟控制信号EN的信号延迟Td在最小延迟Tdmin和最大延迟Tdmax之间变化。
参见图9a,时钟控制信号EN的最小延迟Tdmin和最大延迟Tdmax均位于第一电平阶段T1中,时钟控制信号EN的翻转动作仅可能发生在时钟信号CLK的第一电平阶段T1中。第一电平阶段T1的开始边沿为下降沿。
在时刻t0,时钟信号CLK到达第一个下降沿,时钟控制信号EN有效。在时刻t0开始的一个时钟周期中,时钟控制信号EN从有效状态翻转为无效状态。时钟信号CK是时钟信号CLK和时钟控制信号EN的逻辑与运算结果。在时钟信号CLK的第一电平阶段T1,时钟信号CK始终为低电平。在时钟信号CLK的第二电平阶段T2,时钟信号CK始终为低电平。因此,如果时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1,则在时钟控制信号从有效状态翻转为无效状态的时钟周期中,时钟信号CK维持为低电平。
因此,在时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1的情形下,在时刻t0开始的一个时钟周期中,时钟门控电路330屏蔽时钟信号CLK但提供时钟信号CK的下降沿,在下降沿之后经过建立时间,边沿触发器110提供的输出数据Do的信号电平与时刻t0的输入数据Di在t0时刻的信号电平一致,例如图9a所示的低电平。
在时刻t1,时钟信号CLK到达第二个下降沿,时钟控制信号EN无效。在时刻t1开始的一个时钟周期中,时钟控制信号EN保持无效状态,如图9a所示的低电平。时钟信号CK是时钟信号CLK和时钟控制信号EN的逻辑与运算结果。在这个时钟周期内,由于时钟控制信号EN一直为低,与运算的结果即时钟信号CK也一直为低。时钟信号CK未提供下降沿,边沿触发器110的输出数据Do的信号电平与前一时钟周期的信号电平一致,例如图9a所示的低电平。
在时刻t2,时钟信号CLK到达第三个下降沿,时钟控制信号EN无效。在时刻t2开始的一个时钟周期中,时钟控制信号EN从无效状态翻转为有效状态。时钟信号CK是时钟信号CLK和时钟控制信号EN的逻辑与运算结果。在时钟信号CLK的第一电平阶段T1,时钟信号CK始终为低电平。在时钟信号CLK的第二电平阶段T2,时钟信号CK始终为高电平。因此,如果时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1,则在时钟控制信号从无效状态翻转为有效状态的时钟周期中,时钟信号CK是时钟信号CLK的复制版本。
因此,在时钟控制信号EN的信号延迟Td小于等于时钟信号CLK的第一电平阶段T1的情形下,在时刻t2开始的一个时钟周期中,时钟门控电路330将时钟信号CLK复制为时钟信号CK但未提供时钟信号的下降沿,边沿触发器110的输出数据Do的信号电平与前一时钟周期的信号电平一致,例如图9a所示的低电平。
进一步地,在时刻t3,时钟信号CLK到达第四个下降沿。时钟控制信号EN在时刻t3开始的整个时钟周期中有效,时钟信号CK是时钟信号CLK的复制版本。时钟门控电路330将时钟信号CLK复制为时钟信号CK且提供时钟信号CK的下降沿,因而可以启用边沿触发器的时钟信号和数据传输。在下降沿之后经过建立时间,边沿触发器110提供的输出数据Do的信号电平与时刻t3的输入数据Di的信号电平一致,即,高电平。在时刻t3之后,时钟控制信号EN可以持续有效,时钟信号CK是时钟信号CLK的复制版本,时钟信号CLK跳变时,边沿触发器110在所述第二时钟信号的触发边沿,接收所述数据输入端的输入数据并传送至所述数据输出端。
参见图9b,时钟控制信号EN的最小延迟Tdmin和最大延迟Tdmax均位于第二电平阶段T2中,时钟控制信号EN的翻转动作仅可能发生在时钟信号CLK的第二电平阶段T2中。第二电平阶段T2的开始边沿为上升沿。
在时刻t0,时钟信号CLK到达第一个下降沿,时钟控制信号EN有效。在时刻t0开始的一个时钟周期中,时钟控制信号EN从有效状态翻转为无效状态。时钟信号CK是时钟信号CLK和时钟控制信号EN的逻辑与运算结果。在时钟信号CLK的第一电平阶段T1,时钟信号CK始终为低电平。在时钟信号CLK的第二电平阶段T2,时钟信号CK的信号电平与时钟控制信号EN的信号延迟相关。如果时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1,则在时钟信号CLK的第二电平阶段T2,时钟信号CK在第二电平阶段T2的开始时刻从低电平翻转为高电平,在第二电平阶段T2中的时刻ta之后的某个时刻从高电平翻转为低电平且可能存在跳变,因而产生毛刺。
因此,在时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1的情形下,在时刻t0开始的一个时钟周期中,时钟门控电路330产生的时钟信号CK出现毛刺。毛刺提供了随时钟控制信号EN变化的附加下降沿,边沿触发器110在附加下降沿之后经过建立时间提供的输出数据Do的信号电平与输入数据Di在附加下降沿的信号电平一致。一方面,边沿触发器110的输入数据Di由于自身的信号延迟存在着不确定状态,另一方面,时钟信号CK的毛刺提供的附加下降沿与输入数据Di的不确定状态重叠。因此,在附加下降沿之后经过建立时间,边沿触发器110的提供的输出数据Do与附加下降沿的信号电平一致,例如图9b的不确定状态。
在时刻t1,时钟信号CLK到达第二个下降沿,时钟控制信号EN无效。与图9a相同,在时刻t1开始的一个时钟周期中,时钟信号CK维持为低电平,既未提供上升沿也未提供下降沿。边沿触发器110的输出数据Do的信号电平与前一时钟周期的信号电平一致,例如图9b所示的不确定状态。
在时刻t2,时钟信号CLK到达第三个下降沿,时钟控制信号EN无效。在时刻t2开始的一个时钟周期中,时钟控制信号EN从无效状态翻转为有效状态。时钟信号CK是时钟信号CLK和时钟控制信号EN的逻辑与运算结果。在时钟信号CLK的第一电平阶段T1,时钟信号CK始终为低电平。在时钟信号CLK的第二电平阶段T2,时钟信号CK的信号电平与时钟控制信号EN的信号延迟相关。如果时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1,则在时钟信号CLK的第二电平阶段T2,与时钟控制信号EN的翻转时刻相同,时钟信号CK从低电平状态翻转为高电平状态,因而产生毛刺。
因此,在时钟控制信号EN的信号延迟Td大于时钟信号CLK的第一电平阶段T1的情形下,在时刻t2开始的一个时钟周期中,时钟门控电路330产生的时钟信号CK出现毛刺。然而,毛刺仅能提供随时钟控制信号EN变化的附加上升沿,且可能由于跳变而提供边沿触发器110的触发边沿。因此,边沿触发器110的输出数据Do的信号电平与前一时钟周期的信号电平一致,例如图9b所示的不确定状态。
进一步地,在时刻t3,时钟信号CLK到达第四个下降沿。时钟控制信号EN在时刻t3开始的整个时钟周期中有效,时钟信号CK是时钟信号CLK的复制版本。时钟门控电路330将时钟信号CLK复制为时钟信号CK且提供时钟信号CK的下降沿,因而可以启用边沿触发器的时钟信号和数据传输。在下降沿之后经过建立时间,边沿触发器110提供的输出数据Do的信号电平与时刻t3的输入数据Di的信号电平一致,即,高电平。在时刻t3之后,时钟控制信号EN可以持续有效,时钟信号CK是时钟信号CLK的复制版本,时钟信号CLK跳变时,边沿触发器110在所述第二时钟信号的触发边沿,接收所述数据输入端的输入数据并传送至所述数据输出端。
上述的时钟门控电路330在时钟控制信号EN的不同延迟条件下具有不同的电路特性。在时钟控制信号EN的最小延迟Tdmin和最大延迟Tdmax均位于第一电平阶段T1中、且第一电平阶段T1的开始边沿为下降沿的条件下,选择图8所示的时钟门控电路330,以替代图4所示的时钟门控电路130。
在时钟控制信号EN维持有效的时钟周期中,时钟门控电路330将时钟信号CLK复制为时钟信号CK,时钟信号CK提供至边沿触发器110的时钟输入端,在时钟控制信号EN维持无效的时钟周期中,时钟门控电路330屏蔽时钟信号CLK。因此,采用时钟门控电路330可以禁用边沿触发器110的时钟翻转和数据传输。
在时钟控制信号EN从有效状态翻转至无效状态的时钟周期中,时钟门控电路330屏蔽时钟信号CLK,以及将时钟信号CK维持为预定电平。此时,时钟信号CK仍然提供边沿触发器110的触发边沿,时钟门控电路330允许边沿触发器110的数据传输,边沿触发器110提供的输出数据Do为当前触发边沿的输入数据Di。时钟门控电路330禁用边沿触发器110的时钟翻转,因而可以降低边沿触发器110因时钟信号CK翻转产生的动态功耗。。
在时钟控制信号EN从无效状态翻转至有效状态的时钟周期中,时钟门控电路330将时钟信号CLK复制为时钟信号CK,因而允许边沿触发器110的时钟翻转。此时,时钟信号CK未能提供边沿触发器110的触发边沿,时钟门控电路330禁用边沿触发器110的数据传输,边沿触发器110维持前一触发边沿的输入数据Di,因而可以降低边沿触发器110因数据传输产生的动态功耗。
时钟门控电路330对时钟控制信号EN的时序要求是时钟控制信号EN的翻转发生在时钟信号CLK的一个时钟周期的触发边沿之后的电平阶段,本例中为第一电平阶段T1。如果希望在预定时刻禁用数据传输,则在预定时刻之前的最后一个整时钟周期的第一电平阶段T1内完成时钟控制信号EN从有效状态至无效状态的翻转动作,在预定时刻开始的最后一个时钟周期的时钟信号CLK的第一电平阶段T1内完成时钟控制信号EN从无效状态至有效状态的翻转动作。
与图4所示的时钟门控电路130相比,根据本实施例的时钟门控电路330省去了锁存器,时钟门控电路330使用的硬件逻辑较少,并且自身的工作功耗较低。在触发单元中,任意数量的边沿触发器110可以共用时钟门控电路330从而组成触发器组。对于触发器组包含任意数量的边沿触发器110的情形,因时钟门控电路330本身的功耗而增加的功耗远小于边沿触发器110因时钟门控而减少的功耗,因此,触发单元始终可以实现功耗降低。
图10示出根据本发明第三实施例的触发单元设计方法的流程图。
该触发单元设计方法包括步骤S01至S07。
在步骤S01中,在数字电路中分析时钟控制信号EN的信号延迟Td。
时钟控制信号EN的信号延迟为数字电路产生时钟控制信号时从时钟边沿开始运算至时钟控制信号的翻转稳定所需的运算耗时。现有的EDA工具大都可以获得时钟控制信号EN的信号延迟Td。该信号延迟Td例如在最小延迟Tdmin和最大延迟Tdmax的范围内变化。
然后,根据时钟控制信号EN的信号延迟Td,从多个不同类型的时钟门控电路中选择边沿触发器的时钟门控电路。
根据时钟控制信号EN的信号延迟Td,在若干不同类型的时钟门控电路中进行选择,多个不同类型的时钟门控电路组合应用,实现更优的低功耗方案。时钟门控电路对时钟控制信号EN和时钟信号CLK进行逻辑运算以产生时钟信号CK。
时钟信号CLK的每个时钟周期包括连续的第一电平阶段T1和第二电平阶段T2,第一电平阶段T1和第二电平阶段T2分别具有彼此反相的第一电平和第二电平。在第一电平为高电平的情形下,第一电平阶段T1的开始边沿为上升沿,在第一电平为低电平的情形下,第一电平阶段T1的开始边沿为下降沿。
在步骤S02中,判断时钟控制信号的延迟范围是否位于第一电平阶段。
在该步骤中,根据时钟控制信号EN的延迟范围类型选择所述第一时钟门控电路和所述第二时钟门控电路之一。
时钟控制信号EN的信号延迟Td在最小延迟Tdmin和最大延迟Tdmax之间变化。将时钟控制信号EN的最小延迟Tdmin和最大延迟Tdmax与时钟信号CLK的第一电平阶段T1进行比较,以判断时钟信号EN的延迟范围是否位于第一电平阶段。
如果时钟控制信号EN的信号延迟Td符合以下条件:Tdmin<T1,Tdmax<T1,则时钟控制信号EN的延迟范围位于第一电平阶段中。此时,时钟控制信号EN的翻转动作只可能发生在时钟信号CLK的单个电平阶段。进一步地,执行步骤S03,选择如图6所示的第一时钟门控电路和如图8所示的第二时钟门控电路之一。
如果时钟控制信号EN的信号延迟Td符合以下条件:Tdmin<T1,Tdmax>T1,则,时钟控制信号EN的延迟范围包括第一电平阶段和第二电平阶段彼此相邻的时间段。此时,时钟控制信号EN的翻转动作可能发生在时钟信号CLK的任意电平阶段。进一步地,执行步骤S06,选择如图4所示的第三时钟门控电路。
在步骤S03中,进一步地,判断第一电平阶段的开始边沿类型。
在该步骤中,根据第一电平阶段T1的开始边沿类型选择所述第一时钟门控电路和所述第二时钟门控电路之一。
如果第一电平阶段T1的开始边沿为上升沿,则执行步骤S04,选择如图6所示的第一时钟门控电路。
如上所述,在图6所示的时钟门控电路中,在时钟控制信号EN从有效状态翻转至无效状态的时钟周期,时钟门控电路的时钟信号CK屏蔽时钟信号CLK但提供时钟信号CK的上升沿。在时钟控制信号EN从无效状态翻转至有效状态的时钟周期,时钟门控电路将时钟信号CLK复制为时钟信号CK但未提供时钟时钟信号的上升沿。因此,只要时钟控制信号EN在时钟信号CLK的第一电平阶段T1翻转且第一电平阶段T1的开始边沿为上升沿,就可以消除边沿触发器的时钟信号的毛刺,使得边沿触发器可以正常工作。
如果第一电平阶段T1的开始边沿为下降沿,则执行步骤S05,选择如图8所示的第二时钟门控电路。
如上所述,在图8所示的时钟门控电路中,在时钟控制信号EN从有效状态翻转至无效状态的时钟周期,时钟门控电路的时钟信号CK屏蔽时钟信号CLK但提供时钟信号CK的下降沿。在时钟控制信号EN从无效状态翻转至有效状态的时钟周期,时钟门控电路将时钟信号CLK复制为时钟信号CK但未提供时钟时钟信号的下降沿。因此,只要时钟控制信号EN在时钟信号CLK的第一电平阶段T1翻转且第一电平阶段T1的开始边沿为下降沿,就可以消除边沿触发器的时钟信号的毛刺,使得边沿触发器可以正常工作。
在步骤S06中,选择如图4所示的第三时钟门控电路。
如上所述,图4所示的时钟门控电路包含锁存器,无论时钟控制信号EN在时钟信号CLK的第一电平阶段T1翻转还是在第二电平阶段T2翻转,均可以消除边沿触发器的时钟信号的毛刺,使得边沿触发器可以正常工作。
在步骤S07中,将至少一个边沿触发器和选择的时钟门控电路组合成触发单元。
例如,将所述选择的时钟门控电路的输出端连接至至少一个边沿触发器的时钟输入端以组合成触发单元。
图11示出在图10所示的触发单元设计方法中时钟门控电路和边沿触发器的一种组合方法。
以如图6所示的第一时钟门控电路为例进行说明。第一时钟门控电路在时钟控制信号EN从有效状态翻转至无效状态的时钟周期,时钟门控电路的时钟信号CK屏蔽时钟信号CLK但提供时钟信号CK的上升沿。
根据边沿触发器110的触发边沿,边沿触发器110的类型可以分为上升沿触发器和下降沿触发器。在选择时钟门控电路的类型之后,将边沿触发器和时钟门控电路组合成触发单元。第一时钟门控电路和第二时钟门控电路,可以直接产生第二时钟信号,向任意类型的边沿触发器提供触发边沿。
在选择的时钟门控电路和边沿触发器组合成触发单元时,可以采用与边沿触发器的类型相对应的触发方式提供触发边沿。
参见图11,一种触发单元的组合方法包括步骤S11至S14。在步骤S11中选择第一时钟门控电路。在步骤S12中进一步判断选择的边沿触发器的类型是上升沿还是下降沿。
如果边沿触发器为上升沿触发器,则执行步骤S13。在步骤S13中,第一时钟门控电路在时钟控制信号EN从有效状态翻转至无效状态的时钟周期产生的第二时钟信号CK提供的上升沿作为边沿触发器的触发边沿,即,在时钟控制信号CK翻转的当前时钟周期的触发边沿,边沿触发器可以传输数据。
如果边沿触发器为下降沿触发器,则执行步骤S14。在步骤S14中,第一时钟门控电路在时钟控制信号EN从有效状态翻转至无效状态的时钟周期的前一时钟周期产生的第二时钟信号CK提供的下降沿作为边沿触发器的触发边沿,即,在时钟控制信号CK翻转的时钟周期的前一时钟周期的触发边沿,边沿触发器可以传输数据。
图12示出在图10所示的触发单元设计方法中时钟门控电路和边沿触发器的一种组合方法。
以如图6所示的第一时钟门控电路为例进行说明。第一时钟门控电路在时钟控制信号EN从有效状态翻转至无效状态的时钟周期,时钟门控电路的时钟信号CK屏蔽时钟信号CLK但提供时钟信号CK的上升沿。
根据边沿触发器120的触发边沿,边沿触发器120的类型可以分为上升沿触发器和下降沿触发器。在选择时钟门控电路的类型之后,将边沿触发器和时钟门控电路组合成触发单元。第一时钟门控电路和第二时钟门控电路,可以直接产生第二时钟信号,对第二时钟信号进行反相以产生第三时钟信号,向任意类型的边沿触发器提供触发边沿。
在选择的时钟门控电路和边沿触发器组合成触发单元时,可以采用与边沿触发器的类型相对应的触发方式提供触发边沿。
参见图12,另一种触发单元的组合方法包括步骤S21至S24。在步骤S21中选择第一时钟门控电路。在步骤S22中进一步判断选择的边沿触发器的类型是上升沿还是下降沿。
如果边沿触发器为上升沿触发器,则执行步骤S23。在步骤S23中,第一时钟门控电路在时钟控制信号EN从有效状态翻转至无效状态的时钟周期产生的第二时钟信号CK提供的上升沿作为边沿触发器的触发边沿,即,在时钟控制信号CK翻转的当前时钟周期的触发边沿,边沿触发器可以传输数据。
如果边沿触发器为下降沿触发器,则执行步骤S24。在步骤S24中,对第二时钟信号进行反相以产生第三时钟信号,第一时钟门控电路在时钟控制信号EN从有效状态翻转至无效状态的时钟周期产生第二时钟信号CK,将第二时钟信号CK的反相信号提供的下降沿作为边沿触发器的触发边沿,即,在时钟控制信号CK翻转的当前时钟周期的触发边沿,边沿触发器可以传输数据。
在上述的触发单元的设计方法中描述了根据时钟控制信号的信号延迟选择边沿触发器的三种时钟门控电路之一。可以理解,在数字电路的设计中,可以将时钟控制信号控制为仅在时钟信号CLK的第一电平阶段翻转,因此,可以根据边沿触发器的类型从两种时钟门控电路中选择边沿触发器的时钟门控电路。
在上述的触发单元中,以在时钟信号的上升沿触发和下降沿触发的触发器为例进行说明,触发单元内的边沿触发器仅示例了一种结构。然而,本发明不限于此。可以理解,其他的边沿触发器,例如带复位功能的边沿触发器,也可应用本发明进行技术改善。
应当说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
依照本发明的实施例如上文所述,这些实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施例。显然,根据以上描述,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地利用本发明以及在本发明基础上的修改使用。本发明仅受权利要求书及其全部范围和等效物的限制。
Claims (16)
1.一种触发单元的设计方法,包括:
在数字电路中分析时钟控制信号相对于第一时钟信号的信号延迟;
在所述时钟控制信号的延迟范围位于所述第一时钟信号的第一电平阶段的情形下,根据所述第一电平阶段的开始边沿的类型,选择第一时钟门控电路和第二时钟门控电路之一以产生第二时钟信号;以及
将至少一个边沿触发器和所述选择的时钟门控电路组合成触发单元,所述边沿触发器在所述第二时钟信号的边沿传输数据,
其中,所述第一时钟门控电路和所述第二时钟门控电路至少在所述时钟控制信号从有效状态翻转至无效状态的时钟周期中,将所述第二时钟信号维持为预定电平,
在所述第一电平阶段的开始边沿为上升沿的情形下,选择所述第一时钟门控电路,所述第一时钟门控对所述时钟控制信号和所述第一时钟信号执行至少包括逻辑或运算的组合逻辑运算,
在所述第一电平阶段的开始边沿为下降沿的情形下,选择所述第二时钟门控电路,所述第二时钟门控对所述时钟控制信号和所述第一时钟信号执行至少包括逻辑与运算的组合逻辑运算。
2.根据权利要求1所述的设计方法,其中,在所述时钟控制信号维持无效状态的时钟周期中,所述第一时钟门控电路和所述第二时钟门控电路将所述第二时钟信号维持为所述预定电平。
3.根据权利要求1所述的设计方法,其中,在所述时钟控制信号从无效状态翻转为有效状态的时钟周期中,所述第一时钟门控电路和所述第二时钟门控电路复制所述第一时钟信号作为所述第二时钟信号。
4.根据权利要求1所述的设计方法,其中,在所述时钟控制信号维持有效状态的时钟周期中,所述第一时钟门控电路和所述第二时钟门控电路复制所述第一时钟信号作为所述第二时钟信号。
5.根据权利要求1所述的设计方法,其中,所述第一时钟门控电路对所述时钟控制信号的反相信号和所述第一时钟信号进行逻辑或运算以产生所述第二时钟信号。
6.根据权利要求1所述的设计方法,其中,所述第二时钟门控电路对所述时钟控制信号和所述第一时钟信号进行逻辑与运算以产生所述第二时钟信号。
7.根据权利要求1所述的设计方法,其中,在选择所述第一时钟门控电路和所述第二时钟门控电路之一的情形下,所述预定电平为所述第一电平阶段的电平。
8.根据权利要求1所述的设计方法,其中,在所述时钟控制信号的延迟范围包括所述第一时钟信号的第一电平阶段和第二电平阶段彼此相邻的时间段的情形下,选择第三时钟门控电路以产生第二时钟信号,
其中,所述第三时钟门控电路至少在所述时钟控制信号从有效状态翻转至无效状态的下一个时钟周期中,将所述第二时钟信号维持为预定电平,
所述第三时钟门控电路对所述时钟控制信号的锁存信号和所述第一时钟信号进行逻辑与运算以产生所述第二时钟信号。
9.根据权利要求8所述的设计方法,其中,在选择所述第三时钟门控电路之一的情形下,所述预定电平为所述第二电平阶段的电平。
10.根据权利要求1所述的设计方法,其中,组合成触发单元的步骤包括:根据选择的时钟门控电路的类型和所述边沿触发器的类型,选择所述边沿触发器传输数据的时钟周期。
11.根据权利要求10所述的设计方法,其中,在所述第一电平阶段的开始边沿与所述边沿触发器的触发边沿相同的情形下,在所述时钟控制信号翻转的时钟周期,所述第二时钟信号提供所述边沿触发器的触发边沿。
12.根据权利要求10所述的设计方法,其中,在所述第一电平阶段的开始边沿与所述边沿触发器的触发边沿相反的情形下,在所述时钟控制信号翻转的时钟周期的前一时钟周期,所述第二时钟信号提供所述边沿触发器的触发边沿。
13.根据权利要求1所述的设计方法,其中,组合成触发单元的步骤包括:对所述第二时钟信号进行反相以产生第三时钟信号。
14.根据权利要求13所述的设计方法,其中,在所述第一电平阶段的开始边沿与所述边沿触发器的触发边沿相同的情形下,在所述时钟控制信号翻转的时钟周期,所述第二时钟信号提供所述边沿触发器的触发边沿。
15.根据权利要求13所述的设计方法,其中,在所述第一电平阶段的开始边沿与所述边沿触发器的触发边沿相反的情形下,在所述时钟控制信号翻转的时钟周期,所述第三时钟信号提供所述边沿触发器的触发边沿。
16.根据权利要求1所述的设计方法,其中,所述时钟控制信号高电平表示有效状态,低电平表示无效状态。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210107336.2A CN114417759B (zh) | 2022-01-28 | 2022-01-28 | 触发单元的设计方法 |
PCT/CN2023/080582 WO2023143631A1 (zh) | 2022-01-28 | 2023-03-09 | 触发单元的设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210107336.2A CN114417759B (zh) | 2022-01-28 | 2022-01-28 | 触发单元的设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114417759A CN114417759A (zh) | 2022-04-29 |
CN114417759B true CN114417759B (zh) | 2022-12-20 |
Family
ID=81279048
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210107336.2A Active CN114417759B (zh) | 2022-01-28 | 2022-01-28 | 触发单元的设计方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN114417759B (zh) |
WO (1) | WO2023143631A1 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114417759B (zh) * | 2022-01-28 | 2022-12-20 | 杭州士兰微电子股份有限公司 | 触发单元的设计方法 |
Family Cites Families (8)
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 |
CN101078944B (zh) * | 2007-05-11 | 2010-05-26 | 东南大学 | 时钟切换电路 |
GB2466300B (en) * | 2008-12-19 | 2013-05-15 | Advanced Risc Mach Ltd | Control of clock gating |
CN102857198B (zh) * | 2012-08-30 | 2015-09-30 | 锐迪科科技有限公司 | 用于双边沿触发器的时钟门控电路 |
US9053257B2 (en) * | 2012-11-05 | 2015-06-09 | Advanced Micro Devices, Inc. | Voltage-aware signal path synchronization |
CN104852712A (zh) * | 2015-05-19 | 2015-08-19 | 中国电子科技集团公司第四十七研究所 | 一种基于数据变化的低功耗门控时钟电路结构 |
KR102688567B1 (ko) * | 2019-10-30 | 2024-07-25 | 삼성전자주식회사 | 저전력을 갖는 클락 게이팅 셀 및 이를 포함하는 집적 회로 |
CN114417759B (zh) * | 2022-01-28 | 2022-12-20 | 杭州士兰微电子股份有限公司 | 触发单元的设计方法 |
-
2022
- 2022-01-28 CN CN202210107336.2A patent/CN114417759B/zh active Active
-
2023
- 2023-03-09 WO PCT/CN2023/080582 patent/WO2023143631A1/zh unknown
Non-Patent Citations (3)
Title |
---|
一种新型低功耗触发器的设计;刘欢 等;《沈阳化工学院学报》;20070915;全文 * |
基于门控时钟技术的低功耗三值 D 型触发器设计;叶锡恩 等;《电路与系统学报》;20060630;全文 * |
基于门控时钟的低功耗时序电路设计新方法;徐扬 等;《浙江大学学报(工学版)》;20100915;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114417759A (zh) | 2022-04-29 |
WO2023143631A1 (zh) | 2023-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114417758B (zh) | 基于数据比较进行时钟门控的触发单元 | |
US7768294B2 (en) | Pulse latch circuit and semiconductor integrated circuit | |
CN109314506B (zh) | 低时钟功率数据门控触发器 | |
US8786344B2 (en) | Low-power dual-edge-triggered storage cell with scan test support and clock gating circuit therefor | |
US7629828B1 (en) | Glitch-free clock multiplexer that provides an output clock signal based on edge detection | |
CN114417760B (zh) | 包含时钟门控电路的触发单元 | |
KR100432923B1 (ko) | 넓은 주파수 대역에 대응할 수 있는 레지스터 및 이를이용한 신호 발생 방법 | |
US8086989B2 (en) | Structure for glitchless clock multiplexer optimized for synchronous and asynchronous clocks | |
KR100612417B1 (ko) | 펄스-기반 고속 저전력 게이티드 플롭플롭 회로 | |
US7679408B2 (en) | Glitchless clock multiplexer optimized for synchronous and asynchronous clocks | |
EP1434122A2 (en) | Apparatus and method for regenerating reset and clock signals and high-speed digital system incorporating the same | |
CN114417759B (zh) | 触发单元的设计方法 | |
US9317639B1 (en) | System for reducing power consumption of integrated circuit | |
US7003683B2 (en) | Glitchless clock selection circuit | |
US6442579B1 (en) | Low power linear feedback shift registers | |
US6900665B2 (en) | Transfer of digital data across asynchronous clock domains | |
CN118113351A (zh) | 用于缩减面积的控制寄存器电路的方法与装置 | |
KR100224277B1 (ko) | 동기형 반도체 장치의 내부클럭 발생회로 | |
US10866612B1 (en) | Glitch free clock switching circuit | |
JP4691791B2 (ja) | データ処理システム | |
US20050146385A1 (en) | Power-on reset circuit | |
CN116524981A (zh) | 测试系统以及测试方法 | |
KR20190128518A (ko) | 복수의 클락 도메인들을 포함하는 집적 회로 | |
JP2000216668A (ja) | 波形整形回路 | |
US20060023552A1 (en) | Read/write methods for limited memory access applications |
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 |