CN110311659B - 一种触发器及集成电路 - Google Patents

一种触发器及集成电路 Download PDF

Info

Publication number
CN110311659B
CN110311659B CN201810260366.0A CN201810260366A CN110311659B CN 110311659 B CN110311659 B CN 110311659B CN 201810260366 A CN201810260366 A CN 201810260366A CN 110311659 B CN110311659 B CN 110311659B
Authority
CN
China
Prior art keywords
latch
inverter
output
signal
detection
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
Application number
CN201810260366.0A
Other languages
English (en)
Other versions
CN110311659A (zh
Inventor
季秉武
赵坦夫
周云明
樊敏
李志彦
王云鹏
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201810260366.0A priority Critical patent/CN110311659B/zh
Priority to PCT/CN2018/116241 priority patent/WO2019184395A1/zh
Publication of CN110311659A publication Critical patent/CN110311659A/zh
Application granted granted Critical
Publication of CN110311659B publication Critical patent/CN110311659B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/027Generators 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/037Bistable circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K3/00Circuits for generating electric pulses; Monostable, bistable or multistable circuits
    • H03K3/02Generators characterised by the type of circuit or by the means used for producing pulses
    • H03K3/353Generators characterised by the type of circuit or by the means used for producing pulses by the use, as active elements, of field-effect transistors with internal or external positive feedback
    • H03K3/356Bistable circuits

Landscapes

  • Logic Circuits (AREA)

Abstract

一种触发器及集成电路,用以减小触发器出现亚稳态现象的概率。触发器包括:第一锁存器、第二锁存器、延迟单元、检测单元、切换单元和第三锁存器;延迟单元用于将第一时钟信号延迟后输出第二时钟信号;第一锁存器用于根据第二时钟信号对数据信号进行锁存或输出;第二锁存器用于根据第一时钟信号对数据信号进行锁存或输出;检测单用于检测第一锁存器或第二锁存器是否处于亚稳态,并基于检测结果向切换单元输出控制信号;切换单元用于根据控制信号,选择输出第一锁存器的输出信号或第二锁存器的输出信号;第三锁存器用于对切换单元的输出信号进行锁存或输出。

Description

一种触发器及集成电路
技术领域
本申请涉及电子技术领域,尤其涉及一种触发器及集成电路。
背景技术
触发器是一种具有记忆功能的信息存储器件,是构成多种时序电路的基本逻辑单元。
图1示出了一种D触发器(D type flip-flop,DFF)。其中,din表示输入的数据信号,clk表示输入的时钟信号,dout表示输出信号,rst表示复位信号。图1所示的D触发器为一种上升沿触发的D触发器,时钟信号的上升沿会触发该D触发器锁存输入信号的电平状态,然后通过Q管脚输出锁存的电平。
现有技术中,针对图1所示的D触发器,在时钟信号的上升沿附近定义了一个时间窗口,原则上规定,在该时间窗口内输入的数据信号din不应发生电平翻转。若在该时间窗口上din发生了电平翻转,可能会导致D触发器内的某些节点无法稳定在逻辑0或逻辑1的电平状态,从而导致输出信号dout在该时钟信号的上升沿之后的一段时间内处于不确定的状态,即亚稳态。其中,输出信号dout处于不确定状态的这段时间称为决断时间(resolutiontime)。经过决断时间之后,输出信号dout会随机地稳定在0或1上。
示例性地,如图2所示,为一种D触发器的输入输出信号的时序图。其中,输入的数据信号din在定义的时间窗口内发生电平翻转,输出信号dout在一段时间(Tmet)内徘徊在逻辑0和逻辑1之间的中间电平状态,最终稳定在逻辑1上。
当D触发器出现亚稳态现象后,由于输出信号最终随机地稳定在逻辑0或逻辑1上,因而会造成输出信号的逻辑误判。此外,输出信号在决断时间内的不确定状态还会导致下一级电路产生亚稳态,影响整个系统的正常工作。
因此,现有技术提供的触发器会出现亚稳态现象,从而导致逻辑误判、系统无法正常工作的问题。
发明内容
本申请实施例提供一种触发器及集成电路,用以减小触发器出现亚稳态现象的概率,避免触发器的输出信号出现逻辑误判、影响系统正常工作。
第一方面,本申请实施例提供一种触发器,用于在第一时钟信号的控制下对输入的数据信号进行锁存和输出,该触发器包括包括:第一锁存器、第二锁存器、延迟单元、检测单元、切换单元以及第三锁存器。其中,
延迟单元,用于将第一时钟信号延迟预设时间后得到并输出第二时钟信号。
第一锁存器的时钟信号输入端与延迟单元连接,以接收第二时钟信号;第一锁存器用于根据第二时钟信号,对数据信号进行锁存或输出。
第二锁存器用于根据第一时钟信号,对数据信号进行锁存或输出。
检测单元用于检测第一锁存器或第二锁存器是否处于亚稳态,并基于检测结果向切换单元发送控制信号。
切换单元用于根据控制信号,选择输出第一锁存器的输出信号或第二锁存器的输出信号。
第三锁存器的数据输入端与切换单元的输出端连接,用于根据第一时钟信号,对切换单元的输出信号进行锁存或输出。
其中,切换单元可通过具有两路输入信号的数据选择器实现。
采用上述方案,由于第一锁存器所采用的第二时钟信号和第二锁存器所采用的第一时钟信号存在相位差,那么,在触发器中输入的数据信号发生电平翻转的时刻,若正处于第一时钟信号的时间窗口内(即第二锁存器处于亚稳态),则通常不会处于第二时钟信号的时间窗口内(即第一锁存器不处于亚稳态)。同样地,触发器中输入的数据信号发生电平翻转的时刻,若正处于第二时钟信号的时间窗口内(即第一锁存器处于亚稳态),则通常不会处于第一时钟信号的时间窗口内(即第二锁存器不处于亚稳态)。因此,第一锁存器和第二锁存器不会同时处于亚稳态。
在第一方面提供的触发器中,在检测单元检测到第一锁存器处于亚稳态时,则切换单元可根据控制信号选择输出第二锁存器的输出信号;在检测单元检测到第二锁存器处于亚稳态时,则切换单元可根据控制信号选择输出第一锁存器的输出信号。因此,采用第一方面提供的触发器,可以使得输出至第三锁存器的输入端的信号处于稳定状态,从而使得触发器的输出信号处于稳定状态,减小触发器出现亚稳态现象的概率,从而避免触发器的输出信号出现逻辑误判、影响系统正常工作。
其中,预设时间可以设置如下:预设时间大于第一锁存器的建立时间和保持时间之和,且小于第一时钟信号的信号周期。
在预设时间采用如上设置的情况下,由于第一时钟信号和第二时钟信号的相位差大于第一时钟信号的时间窗口(即建立时间和保持时间之和)、且小于第一时钟信号的信号周期的一半,因而触发器输入的数据信号发生电平翻转的时刻不可能同时处于第一时钟信号的时间窗口和第二时钟信号的时间窗口内。也就是说,第一锁存器和第二锁存器不可能同时处于亚稳态,那么切换单元在选择输出第一锁存器的输出信号和第二锁存器的输出信号时,一定可以选择到一个稳定信号并输出。因此,在预设时间采用如上设置的情况下,可以进一步减小触发器出现亚稳态现象的概率。
此外,预设时间小于第一时钟信号的信号周期,可以使得第二时钟信号相较于第一时钟信号的延迟较小(小于第一时钟信号的信号周期)。也就是说,在第二锁存器发生亚稳态、切换单元选择第一锁存器的输出信号时,第一锁存器的输出信号相较于第二锁存器的输出信号的延迟时间较小,从而使得整个触发器的输出信号延迟时间较小,该延迟时间小于第一时钟信号的信号周期。
在一种可能的设计中,切换单元在根据控制信号,选择输出第一锁存器的输出信号或第二锁存器的输出信号时,可通过如下方式实现:切换单元在检测单元确定第一锁存器处于亚稳态时,选择输出第二锁存器的输出信号;或者,切换单元在检测单元确定第二锁存器处于亚稳态时,选择输出第一锁存器的输出信号。
采用上述方案,可以使得切换单元输出至第三锁存器的输入端的信号处于稳定状态,从而使得触发器的输出信号处于稳定状态,减小触发器出现亚稳态现象的概率。
如前所述,检测单元用于检测第一锁存器或第二锁存器是否处于亚稳态。具体地,检测单元在检测第一锁存器或第二锁存器是否处于亚稳态时,可以有两种具体实现方式。下面分别对这两种实现方式进行介绍。
第一种实现方式
在一种可能的设计中,检测单元在检测第一锁存器或第二锁存器是否处于亚稳态时,具体用于:检测单元检测第一锁存器或第二锁存器中的检测节点是否处于亚稳态。
采用第一种实现方式,检测单元检测第一锁存器和第二锁存器中的某一个锁存器是否处于亚稳态即可。控制信号也仅指示某一个锁存器是否处于亚稳态的情况。
切换单元在选择输出第一锁存器的输出信号或第二锁存器的输出信号时,可以这样选择:在当前检测的锁存器处于亚稳态时选择输出另一个锁存器的输出信号;在当前检测的锁存器不处于亚稳态时选择输出当前检测的锁存器的输出信号。
在一种可能的设计中,检测单元可以包括第一反相器、第二反相器和第一异或门电路。其中,
第一反相器,与检测节点连接,用于在检测节点的电压大于或等于第一阈值时输出低电平,以及在检测节点的电压低于第一阈值时输出高电平。
第二反相器,与检测节点连接,用于在检测节点的电压大于或等于第二阈值时输出低电平,以及在检测节点的电压低于第二阈值时输出高电平,第二阈值小于第一阈值。
第一异或门电路,与第一反相器和第二反相器连接,用于对第一反相器的输出信号和第二反相器的输出信号进行异或操作,并将异或操作的结果作为控制信号输出至切换单元。
采用上述方案,当检测节点所在的锁存器处于亚稳态时,第一异或门电路输出高电平;当检测节点所在的锁存器不处于亚稳态时,第一异或门电路输出低电平。因此,检测单元输出的控制信号的电平状态即可表征检测节点所在的锁存器是否处于亚稳态,从而使得切换单元可以根据控制信号,选择性地输出第一锁存器的输出信号或第二锁存器的输出信号。
在第一方面提供的触发器中,第一锁存器的结构可以有如下两种形式:
第一种
第一锁存器包括第一钟控反相器、第二钟控反相器和第三反相器;第一钟控反相器的输入端输入数据信号,第一钟控反相器的输出端作为检测节点与检测单元连接,且与第三反相器的输入端连接;第三反相器的输出端输出的信号作为第一锁存器的输出信号;第二钟控反相器的输入端与第三反相器的输出端连接,第二钟控反相器的输出端与第一钟控反相器的输出端连接;其中,第一钟控反相器和第二钟控反相器在第二时钟信号下交替导通。
当第一锁存器采用如上结构时,若第一锁存器处于亚稳态,则切换单元选择输出第二锁存器的输出信号。当第一锁存器的决断时间结束,第一锁存器最终会随机地稳定在逻辑0或逻辑1,此时,检测单元检测到第一锁存器不处于亚稳态,则切换单元会根据检测单元输出的控制信号,选择输出第一锁存器的输出信号。也就是说,第二锁存器在第一锁存器处于亚稳态时代替第一锁存器向第三锁存器输出信号,在第一锁存器恢复稳态时则第二锁存器不起作用。
第二种
第一锁存器包括第一钟控反相器、第二钟控反相器和第三反相器;第一钟控反相器的输入端输入数据信号,第一钟控反相器的输出端作为检测节点与检测单元连接,且与第三反相器的输入端连接;第三反相器的输出端输出的信号作为第一锁存器的输出信号;第二钟控反相器的输入端作为第一锁存器的反馈端与切换单元的输出端连接,第二钟控反相器的输出端与第一钟控反相器的输出端连接;其中,第一钟控反相器和第二钟控反相器在第二时钟信号下交替导通。
采用上述方案,由于反馈端可以将稳定电平反馈至检测节点,因而与第一锁存器的第一种结构相比,采用第二种结构,检测节点的亚稳态可以在更短的时间内被消除,切换单元可在亚稳态消除后进行切换,选择输出第一锁存器的输出信号。
在第一方面提供的触发器中,第二锁存器的结构可以有如下两种形式:
第一种
第二锁存器包括第三钟控反相器、第四钟控反相器和第四反相器;第三钟控反相器的输入端输入数据信号,第三钟控反相器的输出端作为检测节点与检测单元连接,且与第四反相器的输入端连接;第四反相器的输出端输出的信号作为第二锁存器的输出信号;第四钟控反相器的输入端与第四反相器的输出端连接,第四钟控反相器的输出端与第三钟控反相器的输出端连接;其中,第三钟控反相器和第四钟控反相器在第一时钟信号下交替导通。
采用上述方案,若第二锁存器处于亚稳态,则切换单元选择输出第一锁存器的输出信号。当第二锁存器的决断时间结束,第二锁存器最终会随机地稳定在逻辑0或逻辑1,此时,检测单元检测到第二锁存器不处于亚稳态,则切换单元会根据检测单元的检测结果,选择输出第二锁存器的输出信号。也就是说,第一锁存器在第二锁存器处于亚稳态时代替第二锁存器向第三锁存器输出信号,在第二锁存器恢复稳态时则第一锁存器不起作用。
第二种
第二锁存器包括第三钟控反相器、第四钟控反相器和第四反相器;第三钟控反相器的输入端输入数据信号,第三钟控反相器的输出端作为检测节点与检测单元连接,且与第四反相器的输入端连接;第四反相器的输出端输出的信号作为第二锁存器的输出信号;第四钟控反相器的输入端作为第二锁存器的反馈端与切换单元的输出端连接,第四钟控反相器的输出端与第三钟控反相器的输出端连接;其中,第三钟控反相器和第四钟控反相器在第一时钟信号下交替导通。
采用上述方案,由于反馈端可以将稳定电平反馈至检测节点,因而与第二锁存器的第一种结构相比,采用第二种结构,检测节点的亚稳态可以在更短的时间内被消除,切换单元可在亚稳态消除后进行切换,选择输出第二锁存器的输出信号。
以上是对检测单元检测第一锁存器或第二锁存器是否处于亚稳态的第一种实现方式进行的介绍,下面介绍第二种实现方式。
第二种实现方式
在一种可能的设计中,检测单元在检测第一锁存器或第二锁存器是否处于亚稳态时,具体用于:检测单元检测第一锁存器中的第一检测节点是否处于亚稳态,以及检测第二锁存器中的第二检测节点是否处于亚稳态。
采用第二种实现方式,检测单元对第一锁存器和第二锁存器是否处于亚稳态的情况均进行检测。控制信号指示第一锁存器是否处于亚稳态的情况以及第二锁存器是否处于亚稳态的情况。
切换单元在选择输出第一锁存器的输出信号或第二锁存器的输出信号时,可以这样选择:在第一锁存器处于亚稳态时选择输出第二锁存器的输出信号,之后一直选择输出第二锁存器的输出信号,直至控制信号指示第二锁存器处于亚稳态时,才选择输出第一锁存器的输出信号;同样地,在第二锁存器处于亚稳态时选择输出第一锁存器的输出信号,之后一直选择输出第一锁存器的输出信号,直至控制信号指示第一锁存器处于亚稳态时,才选择输出第二锁存器的输出信号。
不难看出,第二种实现方式与第一种实现方式相比,检测单元需要检测的节点增多了,但切换单元在选择输出第一锁存器的输出信号或第二锁存器的输出信号时,会减小切换信号的次数。
在一种可能的实现方式中,上述检测单元包括第一检测电路和第二检测电路;第一检测电路用于检测第一检测节点是否处于亚稳态,并基于检测结果向切换单元发送第一控制信号;第二检测电路用于检测第二检测节点是否处于亚稳态,并基于检测结果向切换单元发送第二控制信号;其中,控制信号包含第一控制信号和第二控制信号。
在上述方案中,第一控制信号用于指示第一锁存器是否处于亚稳态的情况,第二控制信号用于指示第二锁存器是否处于亚稳态的情况。
在一种可能的实现方式中,第一检测电路包括:第一反相器,与第一检测节点连接,用于在第一检测节点的电压大于或等于第一阈值时输出低电平,以及在第一检测节点的电压低于第一阈值时输出高电平;第二反相器,与第一检测节点连接,用于在第一检测节点的电压大于或等于第二阈值时输出低电平,以及在第一检测节点的电压低于第二阈值时输出高电平,第二阈值小于第一阈值;第一异或门电路,与第一反相器和第二反相器连接,用于对第一反相器的输出信号和第二反相器的输出信号进行异或操作,并将异或操作的结果作为第一控制信号输出至切换单元;
第二检测电路包括:第三反相器,与第二检测节点连接,用于在第二检测节点的电压大于或等于第三阈值时输出低电平,以及在第二检测节点的电压低于第三阈值时输出高电平;第四反相器,与第二检测节点连接,用于在第二检测节点的电压大于或等于第四阈值时输出低电平,以及在第二检测节点的电压低于第四阈值时输出高电平,第四阈值小于第三阈值;第二异或门电路,与第三反相器和第四反相器连接,用于对第三反相器的输出信号和第四反相器的输出信号进行异或操作,并将异或操作的结果作为第二控制信号输出至切换单元。
采用上述方案,由于第二阈值小于第一阈值,因而当第一锁存器处于亚稳态时,第一异或门电路输出高电平;当第一锁存器不处于亚稳态时,第一异或门电路输出低电平。因此,第一检测电路输出的第一控制信号的电平状态即可表征第一锁存器是否处于亚稳态;同样地,由于第四阈值小于第三阈值,因而当第二锁存器处于亚稳态时,第二异或门电路输出高电平;当第二锁存器不处于亚稳态时,第二异或门电路输出低电平。因此,第二检测电路输出的第二控制信号的电平状态即可表征第二锁存器是否处于亚稳态。切换单元可以根据第一控制信号和第二控制信号,选择性地输出第一锁存器的输出信号或第二锁存器的输出信号。
第二方面,本申请实施例提供一种集成电路,该集成电路包含上述第一方面及其任一种可能的实现方式中提供的触发器。
附图说明
图1为现有技术提供的一种D触发器的示意图;
图2为现有技术提供的一种D触发器的输入输出信号的时序图;
图3为本申请实施例提供的一种D触发器的内部结构示意图;
图4为本申请实施例提供的一种触发器系统的结构示意图;
图5为本申请实施例提供的一种触发器系统的输入输出信号的时序图;
图6为本申请实施例提供的另一种触发器系统的输入输出信号的时序图;
图7为本申请实施例提供的第一种触发器的结构示意图;
图8为本申请实施例提供的第二种触发器的结构示意图;
图9为本申请实施例提供的第三种触发器的结构示意图;
图10为本申请实施例提供的第四种触发器的结构示意图;
图11为本申请实施例提供的第五种触发器的结构示意图;
图12为本申请实施例提供的第六种触发器的结构示意图;
图13为本申请实施例提供的第七种触发器的结构示意图;
图14为本申请实施例提供的第八种触发器的结构示意图。
具体实施方式
通常,D触发器可以由低通锁存器和高通锁存器组成,如图3所示。图3中,低通锁存器中包含两个钟控反相器(即第一钟控反相器I1和第二钟控反相器I2)以及一个反相器(I3),高通锁存器中包含两个钟控反相器(第三钟控反相器I4和第四钟控反相器I5)以及一个反相器(I6)。其中,I3和I6一直处于导通状态,I1和I5在时钟信号为低电平时导通,I2和I4在时钟信号为高电平时导通。
该触发器的工作原理如下:当输入的时钟信号为低电平时,低通锁存器把输入端D的逻辑值传送至节点A,再被传送至节点B。此时I2和I4关断,高通锁存器的节点C上保持着前一个时钟信号上升沿时锁存的数据,该数据被传送至触发器的输出端Q。当输入的时钟信号转为高电平时,I1和I5关断,I2和I4导通,低通锁存器的I2和I3进行锁存,高通锁存器把输入端B逻辑值传送至节点C,节点C数据进行更新,再被传送至节点Q,即完成输入端D的逻辑值传送至触发器的输出端Q的过程。
通过如上原理可以看出,图3所示的D触发器为上升沿触发的D触发器,即时钟信号的上升沿会触发该触发器锁存输入的数据信号的电平状态,然后通过Q管脚输出采集到的电平。
需要说明的是,在图3所示的触发器中,当输入的时钟信号为低电平时,可通过I1、I2和I3的配合将输入端D的逻辑值传送至节点B,因此将I1、I2和I3组成的锁存器称为低通锁存器。当输入的时钟信号转为高电平时,可通过I4、I5和I6的配合把输入端B的逻辑值传送至节点Q,因此,将I4、I5和I6组成的锁存器称为高通锁存器。
低通锁存器在时钟信号为低电平时传送信号,是通过配置I1和I2的导通特性来实现的;同样地,高通锁存器在时钟信号为高电平时传送信号,是通过配置I4和I5的导通特性来实现的。在图3中,将I1和I5配置为高电平导通的钟控反相器,将I2和I4配置为低电平导通的钟控反相器。
那么,不难想象,若对I1和I2的导通特性进行与图3不同的配置(例如将I1配置为低电平导通的钟控反相器,将I2配置为高电平导通的钟控反相器),I1、I2和I3组成的锁存器可以为高通锁存器;若对I4和I5的导通特性进行与图3不同的配置(例如将I4配置为高电平导通的钟控反相器,将I5配置为低电平导通的钟控反相器),I4、I5和I6组成的锁存器可以为低通锁存器。此时,可通过I1、I2、I3、I4、I5和I6实现下降沿触发的D触发器,其工作原理与上升沿触发的D触发器的工作原理相似,此处不再赘述。
如背景技术中所述,针对图3所示的D触发器,在时钟信号的上升沿附近定义了一个时间窗口,若在该时间窗口上输入的数据信号din发生了电平翻转,可能会导致D触发器内的某些节点无法稳定在逻辑0或逻辑1的电平状态,从而导致D触发器出现亚稳态现象。
其中,该时间窗口可以由上升沿之前的建立时间(setup time)(即图2中的Ts)和上升沿之后的保持时间(hold time)(即图2中的Th)组成。也就是说,在时钟信号的上升沿到来之前的Ts时间内、以及上升沿到来之后的Th时间内,原则上输入的数据信号din不允许发生电平翻转。若数据信号din在Ts或Th中的任意时刻发生电平翻转,则会导致触发器出现亚稳态现象。
为了降低触发器出现亚稳态现象的概率,可以将多个D触发器级联。如图4所示,为一种通过三个D触发器级联的方式来避免亚稳态现象的触发器系统。在该系统中,若第一级D触发器出现亚稳态现象,由于第一级D触发器的输出最终会稳定在逻辑0或逻辑1,那么第二级D触发器或者第三级D触发器在接收到稳定的逻辑电平后会消除亚稳态现象。
示例性地,该触发器系统的输入输出时序图可以如图5所示。图5中,由于在第一个时钟信号上升沿的时间窗口内,第一级D触发器的输入的数据信号发生电平翻转,因而第一级D触发器出现亚稳态现象。经过第一级D触发器的决断时间之后,第一级D触发器在第二个时钟信号上升沿到来之前稳定在逻辑1。由于在第二个时钟信号上升沿的时间窗口内,第二级D触发器的输入信号没有发生电平翻转,因而在第二级D触发器即可将亚稳态消除。
示例性地,该触发器系统的输入输出时序图可以如图6所示。图6中,由于在第一个时钟信号上升沿的时间窗口内,第一级D触发器的输入的数据信号发生电平翻转,因而第一级D触发器出现亚稳态现象。第二个时钟信号上升沿到来时第一级D触发器还处于决断时间,因而第一级D触发器在第二个时钟信号上升沿到来时仍处于亚稳态,第二级D触发器仍存在亚稳态现象。经过第二级D触发器的决断时间之后,第二级D触发器的输出在第三个时钟信号上升沿到来之前稳定在逻辑1。由于在第三个时钟信号上升沿的时间窗口内,第三级D触发器的输入信号没有发生电平翻转,因而在第三级D触发器即可将亚稳态消除。
采用上述触发器级联的方式来消除触发器的亚稳态,需要将多个触发器级联,并最终采用最后一级D触发器的输出作为系统输出。由于级联的D触发器的数量越多,该系统发生亚稳态现象的概率越低,因此,为了降低发生亚稳态的概率,需要级联多级(例如三级或五级)D触发器,此时,由于需要经过多级D触发器才可将系统的输入信号锁存并输出,因而系统输出相对于系统输入来说会经过几个时钟信号周期的延迟,影响系统的性能。尤其在多个系统进行交互时,如果每个系统的信号延迟均较大,则会严重影响多系统交互的性能。
因此,本申请实施例提供一种触发器及集成电路,用以减小触发器出现亚稳态现象的概率,避免触发器输出信号出现逻辑误判、影响系统正常工作。
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施例作进一步地详细描述。
需要说明的是,本申请实施例中所涉及的多个,是指两个或两个以上。另外,需要理解的是,在本申请实施例的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
参见图7,为本申请实施例提供的一种触发器的结构示意图,用于在第一时钟信号的控制下对输入的数据信号进行锁存和输出。该触发器700包括第一锁存器701、第二锁存器702、延迟单元703、检测单元704、切换单元705以及第三锁存器706。其中,
延迟单元703,用于将第一时钟信号延迟预设时间后得到并输出第二时钟信号。
第一锁存器701的时钟信号输入端与延迟单元703连接,以接收第二时钟信号;第一锁存器701用于根据第二时钟信号,对触发器700的数据输入端输入的数据信号进行锁存或输出。
第二锁存器702用于根据第一时钟信号,对触发器700的数据输入端输入的数据信号进行锁存或输出。
检测单元704用于检测第一锁存器701或第二锁存器702是否处于亚稳态,并基于检测结果向切换单元705发送控制信号。
切换单元705的两个输入端分别与第一锁存器701的输出端和第二锁存器702的输出端连接,切换单元705用于根据控制信号,选择输出第一锁存器701的输出信号或者第二锁存器702的输出信号。
第三锁存器706的数据输入端与切换单元705的输出端连接,用于根据所述第一时钟信号,对切换单元705的输出信号进行锁存或输出。
需要说明的是,本申请实施例中,检测单元704检测第一锁存器701或第二锁存器702是否处于亚稳态,其具体含义可以有两种:一、检测单元704仅对检测第一锁存器701或第二锁存器702中的一个锁存器是否处于亚稳态的情况进行检测;二、检测单元704同时对第一锁存器701和第二锁存器702这两个锁存器是否处于亚稳态的情况进行检测。在图7所示的触发器700中,示出了检测单元704仅检测第一锁存器701是否处于亚稳态的情况,或者检测单元704仅检测第二锁存器702是否处于亚稳态的情况(虚线表示)。实际实现时,检测单元704还可对第一锁存器701是否处于亚稳态的情形以及第二锁存器702是否处于亚稳态的情况均进行检测。
同样需要说明的是,本申请实施例中,第一锁存器701和第二锁存器702的导通特征相同,第三锁存器706和第一锁存器701的导通特性(即第二锁存器702的导通特性)相反。
示例性地,若第一锁存器701在时钟信号为高电平时传送信号,则第二锁存器702也在时钟信号为高电平时传送信号,第三锁存器706在时钟信号为低电平时传送信号;即,第一锁存器701和第二锁存器702为高通锁存器,第三锁存器706为低通锁存器。
示例性地,若第一锁存器701在时钟信号为低电平时传送信号,则第二锁存器702也在时钟信号为低电平时传送信号,第三锁存器706在时钟信号为高电平时传送信号;即,第一锁存器701和第二锁存器702为低通锁存器,第三锁存器706为高通锁存器。
如前所述,在出现亚稳态现象时,触发器内的某些节点无法稳定在逻辑0或逻辑1的电平状态,而是徘徊在逻辑0和逻辑1之间的中间电平状态。
示例性地,若输入的数据信号发生电平翻转的时刻正好处于第一时钟信号的时间窗口内,则第二锁存器702可能出现亚稳态现象,第二锁存器702内的某些节点无法稳定在逻辑0或逻辑1的电平状态。若输入的数据信号发生电平翻转的时刻正好处于第二时钟信号的时间窗口内,则第一锁存器701可能出现亚稳态现象,第一锁存器701内的某些节点无法稳定在逻辑0或逻辑1的电平状态。
因此,检测单元704在检测到第一锁存器701的某些节点处于逻辑0和逻辑1之间的中间电平状态时,则可以确定第一锁存器701处于亚稳态;检测单元704在检测到第二锁存器702的某些节点处于逻辑0和逻辑1之间的中间电平状态时,则可以确定第二锁存器702处于亚稳态。
在图7所示的触发器700中,第二锁存器702所采用的时钟信号为输入触发器700的第一时钟信号,而第一锁存器701所采用的时钟信号为第一时钟信号经过延迟单元703延迟后得到的第二时钟信号。由于第一时钟信号和第二时钟信号存在相位差,那么不难看出,触发器700中输入的数据信号发生电平翻转的时刻,若正处于第一时钟信号的时间窗口内(即第二锁存器702处于亚稳态),则通常不会处于第二时钟信号的时间窗口内(即第一锁存器701不处于亚稳态)。同样地,触发器700中输入的数据信号发生电平翻转的时刻,若正处于第二时钟信号的时间窗口内(即第一锁存器701处于亚稳态),则通常不会处于第一时钟信号的时间窗口内(即第二锁存器702不处于亚稳态)。
也就是说,第一锁存器701和第二锁存器702通常不会同时处于亚稳态。
那么,本申请实施例中,可通过检测单元704对第一锁存器701或第二锁存器702是否处于亚稳态的情形进行检测,在检测到第一锁存器701处于亚稳态时,则切换单元705选择输出第二锁存器702的输出信号;在检测到第二锁存器702处于亚稳态时,则切换单元705选择输出第一锁存器701的输出信号。
在本申请实施例中,可选地,切换单元705可通过数据选择器实现。
通过如上操作,可以使得输出至第三锁存器706的输入端的信号处于稳定状态,从而使得触发器700的输出信号处于稳定状态,减小触发器700出现亚稳态现象的概率。
特别地,延迟单元703延迟的预设时间可以大于第一锁存器701的建立时间和保持时间之和,且小于第一时钟信号的信号周期。
在预设时间采用如上设置的情况下,由于第一时钟信号和第二时钟信号的相位差大于第一时钟信号的时间窗口(即建立时间和保持时间之和)、且小于第一时钟信号的信号周期的一半,因而触发器700输入的数据信号发生电平翻转的时刻不可能同时处于第一时钟信号的时间窗口和第二时钟信号的时间窗口内。也就是说,第一锁存器701和第二锁存器702不可能同时处于亚稳态,那么切换单元704在选择输出第一锁存器701的输出信号和第二锁存器702的输出信号时,一定可以选择到一个稳定信号并输出。因此,在预设时间采用如上设置的情况下,可以进一步减小触发器700出现亚稳态现象的概率。
此外,预设时间小于第一时钟信号的信号周期,即可以使得第二时钟信号相较于第一时钟信号的延迟较小(小于第一时钟信号的信号周期)。也就是说,在第二锁存器702发生亚稳态、切换单元705选择第一锁存器701的输出信号时,第一锁存器701的输出信号相较于第二锁存器702的输出信号的延迟时间较小,从而使得整个触发器700的输出信号延迟时间较小,该延迟时间小于第一时钟信号的信号周期。因此,采用这种设置,与图4所示的方案相比,可以减小输出信号的延迟时间。
需要说明的是,本申请实施例中,通过设置预设时间大于第一时钟信号的建立时间和保持时间之和、且小于第一时钟信号的信号周期,可以进一步减小触发器700出现亚稳态现象的概率。但是,在实际实现时,预设时间也可以小于第一时钟信号的建立时间和保持时间之和,在这种设置下,也可以减小触发器700出现亚稳态现象的概率。其原因有两点:
一、第一时钟信号的时间窗口(建立时间和保持时间之和)和第二时钟信号的时间窗口(建立时间和保持时间之和)的值通常较小。在预设时间小于第一时钟信号的时间窗口的情况下,若数据信号发生电平翻转的时刻正好处于第一时钟信号的时间窗口,则该时刻有可能不处于第二时钟信号的时间窗口。即,采用第一时钟信号的第二锁存器702发生亚稳态现象时,采用第二时钟信号的第一锁存器701可能未发生亚稳态现象。也就是说,在预设时间小于第一时钟信号的时间窗口的情况下,采用本申请实施例提供的触发器700也会降低触发器出现亚稳态现象的概率。
二、亚稳态现象的发生是一个概率事件,若数据信号发生电平翻转的时刻正好处于第一时钟信号的时间窗口内,则第二锁存器702有可能出现亚稳态现象,但并不是一定会发生亚稳态现象。同样地,若数据信号发生电平翻转的时刻正好处于第二时钟信号的时间窗口内,则第一锁存器701有可能出现亚稳态现象,但并不是一定会发生亚稳态现象。在预设时间小于第一时钟信号的时间窗口的情况下,即使数据信号发生电平翻转的时刻既处于第一时钟信号的时间窗口内又处于第二时钟信号的时间窗口内,第一锁存器701和第二锁存器702同时发生亚稳态现象的概率也要小于触发器中仅设置第一锁存器701或第二锁存器702的情况下发生亚稳态现象的概率。也就是说,由于本申请实施例提供的触发器700中提供了可以切换选择的第一锁存器701和第二锁存器702,因而在预设时间小于第一时钟信号的时间窗口的情况下,也会降低触发器700出现亚稳态的概率。
如前所述,检测单元704用于检测第一锁存器701或第二锁存器702是否处于亚稳态。具体地,检测单元704在检测第一锁存器701或第二锁存器702是否处于亚稳态时,可以有两种具体实现方式。下面分别对这两种实现方式进行介绍。
第一种实现方式
在第一种实现方式中,检测单元704在检测第一锁存器701或第二锁存器702是否处于亚稳态时,可通过如下方式实现:检测单元702检测第一锁存器701或第二锁存器702中的检测节点是否处于亚稳态。
其中,检测节点可以是第一锁存器701中的任一节点,也可以是第二锁存器702中的任一节点。若检测节点是第一锁存器701中的节点,则检测单元704用于检测第一锁存器701是否处于亚稳态;若检测节点是第二锁存器702中的节点,则检测单元704用于检测第二锁存器702是否处于亚稳态.
也就是说,在第一种实现方式中,检测单元704检测第一锁存器701和第二锁存器702中的某一个锁存器是否处于亚稳态即可。控制信号也仅指示某一个锁存器是否处于亚稳态的情况。
在第一种实现方式中,切换单元705在选择输出第一锁存器701的输出信号或第二锁存器702的输出信号时,可以这样选择:在当前检测的锁存器处于亚稳态时选择输出另一个锁存器的输出信号;在当前检测的锁存器不处于亚稳态时选择输出当前检测的锁存器的输出信号。
具体地,切换单元705在根据控制信号,选择输出第一锁存器701的输出信号或第二锁存器702的输出信号时,具体可以通过如下方式实现:
1、若检测单元704用于检测第一锁存器701是否处于亚稳态,切换单元705在检测单元704检测到第一锁存器701处于亚稳态时,选择输出第二锁存器702的输出信号;切换单元705在检测单元704检测到第一锁存器701不处于亚稳态时,则选择输出第一锁存器701的输出信号。
2、若检测单元704用于检测第二锁存器702是否处于亚稳态,切换单元705在检测单元704检测到第二锁存器702处于亚稳态时,选择输出第一锁存器701的输出信号;切换单元705在检测单元704检测到第二锁存器702不处于亚稳态时,则选择输出第二锁存器702的输出信号。
也就是说,可将第一锁存器701和第二锁存器702中的任一锁存器作为主锁存器,将另一锁存器作为副锁存器。在主锁存器处于亚稳态时,切换单元705才暂时选择副锁存器的输出信号;一旦主锁存器恢复稳态,切换单元705即选择主锁存器的输出信号进行输出。
具体地,在第一种实现方式中,检测单元704可以包括第一反相器、第二反相器和第一异或门电路。其中,
第一反相器,与检测节点连接,用于在检测节点的电压大于或等于第一阈值时输出低电平,以及在检测节点的电压低于第一阈值时输出高电平。
第二反相器,与检测节点连接,用于在检测节点的电压大于或等于第二阈值时输出低电平,以及在检测节点的电压低于第二阈值时输出高电平,第二阈值小于第一阈值。
第一异或门电路,与第一反相器和第二反相器连接,用于对第一反相器的输出信号和第二反相器的输出信号进行异或操作,并将异或操作的结果作为控制信号输出至切换单元705。
如前所述,检测节点可以是第一锁存器701中的任一节点,也可以是第二锁存器702中的任一节点。该检测节点处于亚稳态,即代表该检测节点所在的锁存器处于亚稳态。
示例性地,当检测节点为第一锁存器701中的节点时,触发器700的结构可以如图8所示。
在图8所示的触发器700中,该检测单元704的工作原理如下:
当检测节点处于亚稳态时,检测节点会处于逻辑0和逻辑1之间的中间电平状态。由于第一反相器的第一阈值大于第二反相器的第二阈值,当检测节点的电平状态变化到小于第一阈值、且大于第二阈值的数值范围时,第一反相器输出高电平,第二反相器输出低电平,第一异或门电路输出高电平。
当检测节点不处于亚稳态时,检测节点稳定在高电平或低电平。若检测节点稳定在高电平,则第一反相器和第二反相器均输出低电平,第一异或门电路输出低电平;若检测节点稳定在低电平,则第一反相器和第二反相器均输出高电平,第一异或门电路输出低电平。
通过如上工作原理的分析可知:当检测节点处于亚稳态时,第一异或门电路输出高电平;当检测节点不处于亚稳态时,第一异或门电路输出低电平。因此,检测单元704输出的控制信号的电平状态即可表征第一锁存器701是否处于亚稳态,从而使得切换单元705可以在检测单元704输出的控制信号的控制下,选择性地输出第一锁存器701的输出信号或第二锁存器702的输出信号。例如,若检测单元704输出至切换单元705的控制信号为高电平,则切换单元705可确定第一锁存器701处于亚稳态,此时切换单元可选择输出第二锁存器702的输出信号,避免将亚稳态传递至下一级的第三锁存器706;若检测单元704输出至切换单元705的控制信号为低电平,则切换单元705可确定第一锁存器701不处于亚稳态,此时切换单元705可选择输出第一锁存器701的输出信号。
需要说明的是,以上对检测单元704的结构的介绍仅为一种示例,实际实现时,检测单元704不限于上述结构。比如,第一反相器和第二反相器也可以通过两个阈值不同的电压比较器实现。再比如,在检测单元704中,第一异或门电路也可以用同或门电路实现。当采用同或门电路实现时,切换单元705在根据检测单元704输出的控制信号判断输出第一锁存器701的输出信号还是第二锁存器702的输出信号时,与采用异或门电路实现时的判断逻辑相反,具体实现方式此处不再赘述。
在第一种实现方式中,当检测节点为第一锁存器701中的节点时,第一锁存器701的结构组成可以有两种。
第一种
第一锁存器701可以包括第一钟控反相器、第二钟控反相器和第三反相器。其中,第一钟控反相器的输入端输入数据信号,第一钟控反相器的输出端作为检测节点与检测单元704连接,且与第三反相器的输入端连接;第三反相器的输出端输出的信号作为第一锁存器701的输出信号;第二钟控反相器的输入端与第三反相器的输出端连接,第二钟控反相器的输出端与第一钟控反相器的输出端连接。此外,第一钟控反相器和第二钟控反相器在第二时钟信号下交替导通。
第一锁存器701采用第一种结构时,触发器700的结构可以如图9所示。
其中,第一钟控反相器和第二钟控反相器交替导通,可以通过如下方式设置:第一钟控反相器在第二时钟信号的上升沿触发导通,第二钟控反相器在第二时钟信号的下降沿触发导通;或者,第一钟控反相器在第二时钟信号的下降沿触发导通,第二钟控反相器在第二时钟信号的上升沿触发导通。
当第一锁存器701采用如上结构时,若第一锁存器701处于亚稳态,则切换单元705选择输出第二锁存器702的输出信号。当第一锁存器701的决断时间结束,第一锁存器701最终会随机地稳定在逻辑0或逻辑1,此时,检测单元704检测到第一锁存器701不处于亚稳态,则切换单元705会根据检测单元704输出的控制信号,选择输出第一锁存器701的输出信号。
也就是说,第二锁存器702在第一锁存器701处于亚稳态时代替第一锁存器701向第三锁存器706输出信号,在第一锁存器701恢复稳态时则第二锁存器702不起作用。
第二种
第一锁存器701包括第一钟控反相器、第二钟控反相器和第三反相器;其中,第一钟控反相器的输入端输入数据信号,第一钟控反相器的输出端作为检测节点与检测单元704连接,且与第三反相器的输入端连接;第三反相器的输出端输出的信号作为第一锁存器701的输出信号;第二钟控反相器的输入端作为第一锁存器701的反馈端与切换单元705的输出端连接,第二钟控反相器的输出端与第一钟控反相器的输出端连接。此外,第一钟控反相器和第二钟控反相器在第二时钟信号下交替导通。
第一锁存器701采用第二种结构时,触发器700的结构可以如图10所示。
其中,第一钟控反相器和第二钟控反相器交替导通,可以通过如下方式设置:第一钟控反相器在第二时钟信号的上升沿触发导通,第二钟控反相器在第二时钟信号的下降沿触发导通;或者,第一钟控反相器在第二时钟信号的下降沿触发导通,第二钟控反相器在第二时钟信号的上升沿触发导通。
当第一锁存器701采用图10所示的结构时,若第一锁存器701处于亚稳态,则切换单元705选择输出第二锁存器702的输出信号。此时,切换单元705输出的是一个稳定的信号。由于切换单元705的输出端与第一锁存器701的反馈端(即第二钟控反相器的输入端)连接、且第二钟控反相器的输出端与检测节点连接,因而第二钟控反相器可将切换单元705输出的稳定电平反馈至检测节点,从而消除检测节点的亚稳态。此时,检测单元704检测到检测节点不处于亚稳态(即第一锁存器701未处于亚稳态),从而控制切换单元705选择输出第一锁存器701的输出信号。
第一锁存器701采用第二种结构时,由于反馈端可以将稳定电平反馈至检测节点,因而与第一锁存器701采用第一种结构的方案相比,检测节点的亚稳态可以在更短的时间内被消除,切换单元705可在亚稳态消除后选择输出第一锁存器701的输出信号。
以上是在检测单元704检测第一锁存器701是否处于亚稳态的情形下,对第一锁存器701的结构的介绍。此外,在该情形下,第二锁存器702的结构可以参照图9中第一锁存器701的结构,此处不再赘述。
在第一种实现方式中,当检测节点为第二锁存器702中的节点时,第二锁存器702的结构组成可以有两种。
第一种
第二锁存器702包括第三钟控反相器、第四钟控反相器和第四反相器。其中,第三钟控反相器的输入端输入数据信号,第三钟控反相器的输出端作为检测节点与检测单元704连接,且与第四反相器的输入端连接;第四反相器的输出端输出的信号作为第二锁存器702的输出信号;第四钟控反相器的输入端与第四反相器的输出端连接,第四钟控反相器的输出端与第三钟控反相器的输出端连接。此外,第三钟控反相器和第四钟控反相器在第一时钟信号下交替导通。
第二锁存器702采用第一种结构时,触发器700的结构可以如图11所示。
其中,第三钟控反相器和第四钟控反相器交替导通,可以通过如下方式设置:第三钟控反相器在第一时钟信号的上升沿触发导通,第四钟控反相器在第一时钟信号的下降沿触发导通;或者,第三钟控反相器在第一时钟信号的下降沿触发导通,第四钟控反相器在第一时钟信号的上升沿触发导通。
当第二锁存器702采用如上结构时,若第二锁存器702处于亚稳态,则切换单元705选择输出第一锁存器701的输出信号。当第二锁存器702的决断时间结束,第二锁存器702最终会随机地稳定在逻辑0或逻辑1,此时,检测单元704检测到第二锁存器702不处于亚稳态,则切换单元705会根据检测单元704输出的控制信号,选择输出第二锁存器702的输出信号。
也就是说,第一锁存器701在第二锁存器702处于亚稳态时代替第二锁存器702向第三锁存器706输出信号,在第二锁存器702恢复稳态时则第一锁存器701不起作用。
第二种
第二锁存器702包括第三钟控反相器、第四钟控反相器和第四反相器。其中,第三钟控反相器的输入端输入数据信号,第三钟控反相器的输出端作为检测节点与检测单元704连接,且与第四反相器的输入端连接;第四反相器的输出端输出的信号作为第二锁存器702的输出信号;第四钟控反相器的输入端作为第二锁存器702的反馈端与切换单元705的输出端连接,第四钟控反相器的输出端与第三钟控反相器的输出端连接。此外,第三钟控反相器和第四钟控反相器在第一时钟信号下交替导通。
第二锁存器702采用第二种结构时,触发器700的结构可以如图12所示。
其中,第三钟控反相器和第四钟控反相器交替导通,可以通过如下方式设置:第三钟控反相器在第一时钟信号的上升沿触发导通,第四钟控反相器在第一时钟信号的下降沿触发导通;或者,第三钟控反相器在第一时钟信号的下降沿触发导通,第四钟控反相器在第一时钟信号的上升沿触发导通。
当第一锁存器701采用图12所示的结构时,若第二锁存器702处于亚稳态,则切换单元705选择输出第一锁存器701的输出信号。此时,切换单元705输出的是一个稳定的信号。由于切换单元705的输出端与第二锁存器702的反馈端(即第四钟控反相器的输入端)连接、且第四钟控反相器的输出端与检测节点连接,因而第四钟控反相器可将切换单元705输出的稳定电平反馈至检测节点,从而消除检测节点的亚稳态。此时,检测单元704检测到检测节点不处于亚稳态(即第二锁存器702未处于亚稳态),从而控制切换单元705选择输出第二锁存器702的输出信号。
第二锁存器702采用第二种结构时,由于反馈端可以将稳定电平反馈至检测节点,因而与第二锁存器702采用第一种结构的方案相比,检测节点的亚稳态可以在更短的时间内被消除,切换单元705可在亚稳态消除后选择输出第二锁存器702的输出信号。
以上是在检测单元704检测第二锁存器702是否处于亚稳态的情形下,对第二锁存器702的结构的介绍。此外,在该情形下,第一锁存器701的结构可以参照图11中第二锁存其702的结构,此处不再赘述。
以上是对检测单元704检测第一锁存器701或第二锁存器702是否处于亚稳态的第一种实现方式进行的介绍,下面介绍第二种实现方式。
第二种实现方式
在第二种实现方式中,检测单元在检测第一锁存器或第二锁存器是否处于亚稳态时,可通过如下方式实现:检测单元检测第一锁存器中的第一检测节点是否处于亚稳态,以及检测第二锁存器中的第二检测节点是否处于亚稳态。
也就是说,检测单元704对第一锁存器701和第二锁存器702是否处于亚稳态的情况均进行检测。控制信号指示第一锁存器701是否处于亚稳态的情况以及第二锁存器702是否处于亚稳态的情况。
采用第二种实现方式,切换单元705在根据控制信号,选择输出第一锁存器701的输出信号或第二锁存器702的输出信号时,具体可以通过如下方式实现:切换单元705在检测单元704检测到第一锁存器701处于亚稳态时,选择输出第二锁存器702的输出信号。此后,切换单元705一直选择输出第二锁存器702的输出信号,直至检测单元704检测到第二锁存器702处于亚稳态,切换单元705才选择输出第一锁存器701的输出信号。此后,切换单元705一直选择输出第一锁存器701的输出信号,直至检测单元704检测到第一锁存器701处于亚稳态,切换单元705才选择输出第二锁存器702的输出信号。
也就是说,切换单元705在选择输出信号时仅由当前输出信号对应的锁存器的状态确定。即,在当前输出信号对应的锁存器处于稳态时,无论另一锁存器处于何种状态,切换单元705一直选择输出当前的输出信号;仅在当前输出信号对应的锁存器处于亚稳态时,切换单元705才选择输出另一锁存器的输出信号。
不难看出,第二种实现方式与第一种实现方式相比,检测单元704需要检测的节点增多了,但切换单元705在选择输出第一锁存器701的输出信号或第二锁存器702的输出信号时,会减小切换信号的次数。
具体地,在第二种实现方式中,检测单元704可以包括第一检测电路和第二检测电路;第一检测电路用于检测第一检测节点是否处于亚稳态,并基于检测结果向切换单元705发送第一控制信号;第二检测电路用于检测第二检测节点是否处于亚稳态,并基于检测结果向切换单元705发送第二控制信号;其中,控制信号包含第一控制信号和第二控制信号。
其中,第一检测节点可以是第一锁存器701中的任一节点,第二检测节点可以是第二锁存器702中的任一节点。第一控制信号用于指示第一锁存器701是否处于亚稳态的情况,第二控制信号用于指示第二锁存器702是否处于亚稳态的情况。
在检测单元704采用如上结构时,触发器700的结构可以如图13所示。
其中,第一检测电路可以包括:第一反相器,与第一检测节点连接,用于在第一检测节点的电压大于或等于第一阈值时输出低电平,以及在第一检测节点的电压低于第一阈值时输出高电平;第二反相器,与第一检测节点连接,用于在第一检测节点的电压大于或等于第二阈值时输出低电平,以及在第一检测节点的电压低于第二阈值时输出高电平,第二阈值小于第一阈值;第一异或门电路,与第一反相器和第二反相器连接,用于对第一反相器的输出信号和第二反相器的输出信号进行异或操作,并将异或操作的结果作为第一控制信号输出至切换单元。
其中,第二检测电路可以包括:第三反相器,与第二检测节点连接,用于在第二检测节点的电压大于或等于第三阈值时输出低电平,以及在第二检测节点的电压低于第三阈值时输出高电平;第四反相器,与第二检测节点连接,用于在第二检测节点的电压大于或等于第四阈值时输出低电平,以及在第二检测节点的电压低于第四阈值时输出高电平,第四阈值小于第三阈值;第二异或门电路,与第三反相器和第四反相器连接,用于对第三反相器的输出信号和第四反相器的输出信号进行异或操作,并将异或操作的结果作为第二控制信号输出至切换单元。
在第一检测电路和第二检测电路采用如上结构时,该检测单元704的工作原理如下:
若第一检测节点处于亚稳态,当第一检测节点的电平状态变化到小于第一阈值、且大于第二阈值的数值范围时,第一反相器输出高电平,第二反相器输出低电平,第一异或门电路输出高电平。当第一检测节点不处于亚稳态时,第一检测节点稳定在高电平或低电平,第一异或门电路输出低电平。
若第二检测节点处于亚稳态,当第二检测节点的电平状态变化到小于第三阈值、且大于第四阈值的数值范围时,第三反相器输出高电平,第四反相器输出低电平,第二异或门电路输出高电平。当第二检测节点不处于亚稳态时,第二检测节点稳定在高电平或低电平,第二异或门电路输出低电平。
因此,检测单元704输出的第一控制信号即可表征第一锁存器701是否处于亚稳态,检测单元704输出的第二控制信号即可表征第二锁存器702是否处于亚稳态,从而使得切换单元705可以在检测单元704输出的第一控制信号和第二控制信号的控制下,选择性地输出第一锁存器701的输出信号或第二锁存器702的输出信号。
例如,若检测单元704输出至切换单元705的第一控制信号为高电平,则第一锁存器701处于亚稳态,此时切换单元可选择输出第二锁存器702的输出信号,避免将亚稳态传递至下一级的第三锁存器706;之后,切换单元一直选择输出第二锁存器702的输出信号,直至第二控制信号变为高电平,此时,第二锁存器702处于亚稳态,切换单元才选择输出第一锁存器701的输出信号。
需要说明的是,以上对检测单元704的结构的介绍仅为一种示例,实际实现时,检测单元704不限于上述结构。比如,第一反相器和第二反相器也可以通过两个阈值不同的电压比较器实现。再比如,第一异或门电路也可以用同或门电路实现。当采用同或门电路实现时,切换单元705在判断输出第一锁存器701的输出信号还是第二锁存器702的输出信号时,与采用异或门电路实现时的判断逻辑相反,具体实现方式此处不再赘述。
同样需要说明的是,在第二种实现方式中,第一锁存器701的结构和第二锁存器702的结构可以参照第一种实现方式中的相关描述,此处不再赘述。
综上,在本申请实施例提供的触发器700中,由于第一锁存器701所采用的第二时钟信号和第二锁存器702所采用的第一时钟信号存在相位差,那么,在触发器700中输入的数据信号发生电平翻转的时刻,若正处于第一时钟信号的时间窗口内(即第二锁存器702处于亚稳态),则通常不会处于第二时钟信号的时间窗口内(即第一锁存器701不处于亚稳态)。同样地,触发器700中输入的数据信号发生电平翻转的时刻,若正处于第二时钟信号的时间窗口内(即第一锁存器701处于亚稳态),则通常不会处于第一时钟信号的时间窗口内(即第二锁存器702不处于亚稳态)。因此,第一锁存器701和第二锁存器702不会同时处于亚稳态。
触发器700中,在检测单元704检测到第一锁存器701处于亚稳态时,则切换单元705可根据控制信号选择输出第二锁存器702的输出信号;在检测单元704检测到第二锁存器702处于亚稳态时,则切换单元705可根据控制信号选择输出第一锁存器701的输出信号。因此,采用本申请实施例提供的触发器700,可以使得输出至第三锁存器706的输入端的信号处于稳定状态,从而使得触发器700的输出信号处于稳定状态,减小触发器700出现亚稳态现象的概率,从而避免触发器的输出信号出现逻辑误判、影响系统正常工作。
此外,本申请实施例中,通过触发器700内部的结构,即可实现该触发器700输出信号稳定,避免了采用触发器级联方式消除亚稳态的方案所带来的系统输出延迟的现象,提升了系统性能。尤其在多系统交互过程中,若在多个系统中均采用本申请实施例提供的触发器700,则可以降低每个系统的输出延迟,进而提高多系统交互的性能。
基于以上实施例,本申请中还提供一种触发器,该触发器可视为触发器700的一个具体示例。参见图14,该触发器包含主锁存器、副锁存器L、延迟单元以及锁存器H。
其中,主锁存器采用的时钟信号为经过延迟单元延迟后得到的时钟信号,副锁存器采用的时钟信号为未经延迟的时钟信号clk。在主锁存器中,除了包含用于实现数据锁存的两个钟控反相器和一个反相器(两个钟控反相器和一个反相器可组成触发器700中的第一锁存器701或第二锁存器702)之外,还包含一个高阈值反相器、一个低阈值反相器、一个异或门电路以及一个数据选择器。该高阈值反相器和低阈值反相器的输入端均与A点连接。
其中,高阈值反相器、低阈值反相器、异或门电路的组合可视为触发器700中的检测单元704的一个具体示例;数据选择器可视为触发器700中的切换单元705的一个具体示例;锁存器H可视为触发器700中的第三锁存器706的一个具体示例。
图14所示的触发器的工作原理如下:
当主锁存器发生亚稳态时,A节点无法稳定在逻辑0或逻辑1的电平状态,而是徘徊在逻辑0和逻辑1之间的中间电平状态。高阈值反相器在采集到A点的中间电平状态时判断A点为低电平,因此高阈值反相器将低电平反相后输出高电平;低阈值反相器在采集到A点的中间电平状态时判断A点为高电平,因此低阈值反相器将高电平反相后输出低电平。异或门电路对高阈值反相器输出的高电平和低阈值反相器输出的低电平进行异或操作后输出高电平。数据选择器接收到异或门电路输出的高电平后,将输出信号切换到副锁存器,即将副锁存器的输出信号输出至锁存器H。由于主锁存器和副锁存器采用不同的时钟信号,因而A点处于亚稳态时,B点不处于亚稳态,因此,数据选择器输出至锁存器H的信号(副锁存器的输出信号)为稳定信号。
主锁存器中,C点的电平状态通过一个钟控反相器反馈至A点。由于C点处于稳态,因此,C点的电平状态反馈至A点后,会使得A点由亚稳态变为稳态。此时,高阈值反相器和低阈值反相器的输出一致(即均为高电平,或者均为低电平),异或门电路输出低电平。数据选择器接收到异或门电路输出的低电平后,将输出信号切换到主锁存器,即将主锁存器的输出信号输出至锁存器H。
也就是说,副锁存器在主锁存器处于亚稳态时暂时代替主锁存器向锁存器H输出信号,在主锁存器的亚稳态消除后,则选择输出主锁存器的输出信号。
需要说明的是,图14所示的触发器可视为图7所示的触发器700的一个具体示例,图14所示的触发器中未详尽描述的实现方式可参见图7所示的触发器700中的相关描述。
综上,本申请实施例提供一种触发器。采用本申请实施例提供的触发器,可以减小触发器出现亚稳态现象的概率,避免触发器的输出信号出现逻辑误判、影响系统正常工作。
需要注意的是,在本申请实施例中,切换单元、检测单元、延迟单元和锁存器是通过模块化的方式进行呈现,这是一种功能上的划分方式,但是在实际产品中,这些模块中的两个或多个可以集成在一个模块中实现,本申请实施例的保护范围不应因为划分方式受到限缩。
本发明实施例提供的触发器可以用于各种设备的集成电路中,尤其是涉及高低频模块间的交互电路,比如CPU内核和外围设备的接口电路中。当然,由于本发明实施例提供的触发器本身能降低亚稳态出现的几率,也可以作为基础器件广泛应用到其他的集成电路方案中。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (13)

1.一种触发器,用于在第一时钟信号的控制下对输入的数据信号进行锁存和输出,其特征在于,包括:第一锁存器、第二锁存器、延迟单元、检测单元、切换单元以及第三锁存器;
所述延迟单元,用于将所述第一时钟信号延迟预设时间后得到并输出第二时钟信号;
所述第一锁存器的时钟信号输入端与所述延迟单元连接,以接收所述第二时钟信号;所述第一锁存器用于根据所述第二时钟信号,对所述数据信号进行锁存或输出;
所述第二锁存器用于根据所述第一时钟信号,对所述数据信号进行锁存或输出;
所述检测单元用于检测所述第一锁存器或所述第二锁存器是否处于亚稳态,并基于检测结果向所述切换单元发送控制信号;
所述切换单元用于根据所述控制信号,选择输出所述第一锁存器的输出信号或所述第二锁存器的输出信号;
所述第三锁存器的数据输入端与所述切换单元的输出端连接,用于根据所述第一时钟信号,对所述切换单元的输出信号进行锁存或输出。
2.如权利要求1所述的触发器,其特征在于,所述切换单元在根据所述控制信号,选择输出所述第一锁存器的输出信号或所述第二锁存器的输出信号时,具体用于:
所述切换单元在所述检测单元确定所述第一锁存器处于亚稳态时,选择输出所述第二锁存器的输出信号;或者
所述切换单元在所述检测单元确定所述第二锁存器处于亚稳态时,选择输出所述第一锁存器的输出信号。
3.如权利要求1或2所述的触发器,其特征在于,所述预设时间大于所述第一锁存器的建立时间和保持时间之和,且小于所述第一时钟信号的信号周期。
4.如权利要求1所述的触发器,其特征在于,所述检测单元在检测所述第一锁存器或所述第二锁存器是否处于亚稳态时,具体用于:
所述检测单元检测所述第一锁存器或所述第二锁存器中的检测节点是否处于亚稳态。
5.如权利要求4所述的触发器,其特征在于,所述检测单元包括:
第一反相器,与所述检测节点连接,用于在所述检测节点的电压大于或等于第一阈值时输出低电平,以及在所述检测节点的电压低于第一阈值时输出高电平;
第二反相器,与所述检测节点连接,用于在所述检测节点的电压大于或等于第二阈值时输出低电平,以及在所述检测节点的电压低于第二阈值时输出高电平,所述第二阈值小于所述第一阈值;
第一异或门电路,与所述第一反相器和所述第二反相器连接,用于对所述第一反相器的输出信号和所述第二反相器的输出信号进行异或操作,并将异或操作的结果作为所述控制信号输出至所述切换单元。
6.如权利要求4或5所述的触发器,其特征在于,所述第一锁存器包括第一钟控反相器、第二钟控反相器和第三反相器;
所述第一钟控反相器的输入端输入所述数据信号,所述第一钟控反相器的输出端作为所述检测节点与所述检测单元连接,且与所述第三反相器的输入端连接;所述第三反相器的输出端输出的信号作为所述第一锁存器的输出信号;所述第二钟控反相器的输入端与所述第三反相器的输出端连接,所述第二钟控反相器的输出端与所述第一钟控反相器的输出端连接;
其中,所述第一钟控反相器和所述第二钟控反相器在所述第二时钟信号下交替导通。
7.如权利要求4或5所述的触发器,其特征在于,所述第一锁存器包括第一钟控反相器、第二钟控反相器和第三反相器;
所述第一钟控反相器的输入端输入所述数据信号,所述第一钟控反相器的输出端作为所述检测节点与所述检测单元连接,且与所述第三反相器的输入端连接;所述第三反相器的输出端输出的信号作为所述第一锁存器的输出信号;所述第二钟控反相器的输入端作为所述第一锁存器的反馈端与所述切换单元的输出端连接,所述第二钟控反相器的输出端与所述第一钟控反相器的输出端连接;
其中,所述第一钟控反相器和所述第二钟控反相器在所述第二时钟信号下交替导通。
8.如权利要求4或5所述的触发器,其特征在于,所述第二锁存器包括第三钟控反相器、第四钟控反相器和第四反相器;
所述第三钟控反相器的输入端输入所述数据信号,所述第三钟控反相器的输出端作为所述检测节点与所述检测单元连接,且与所述第四反相器的输入端连接;所述第四反相器的输出端输出的信号作为所述第二锁存器的输出信号;所述第四钟控反相器的输入端与所述第四反相器的输出端连接,所述第四钟控反相器的输出端与所述第三钟控反相器的输出端连接;
其中,所述第三钟控反相器和所述第四钟控反相器在所述第一时钟信号下交替导通。
9.如权利要求4或5所述的触发器,其特征在于,所述第二锁存器包括第三钟控反相器、第四钟控反相器和第四反相器;
所述第三钟控反相器的输入端输入所述数据信号,所述第三钟控反相器的输出端作为所述检测节点与所述检测单元连接,且与所述第四反相器的输入端连接;所述第四反相器的输出端输出的信号作为所述第二锁存器的输出信号;所述第四钟控反相器的输入端作为所述第二锁存器的反馈端与所述切换单元的输出端连接,所述第四钟控反相器的输出端与所述第三钟控反相器的输出端连接;
其中,所述第三钟控反相器和所述第四钟控反相器在所述第一时钟信号下交替导通。
10.如权利要求1或2所述的触发器,其特征在于,所述检测单元在检测所述第一锁存器或所述第二锁存器是否处于亚稳态时,具体用于:
所述检测单元检测所述第一锁存器中的第一检测节点是否处于亚稳态,以及检测所述第二锁存器中的第二检测节点是否处于亚稳态。
11.如权利要求10所述的触发器,其特征在于,所述检测单元包括第一检测电路和第二检测电路;所述第一检测电路用于检测所述第一检测节点是否处于亚稳态,并基于检测结果向所述切换单元发送第一控制信号;所述第二检测电路用于检测所述第二检测节点是否处于亚稳态,并基于检测结果向所述切换单元发送第二控制信号;
其中,所述控制信号包含所述第一控制信号和所述第二控制信号。
12.如权利要求11所述的触发器,其特征在于,所述第一检测电路包括:
第一反相器,与所述第一检测节点连接,用于在所述第一检测节点的电压大于或等于第一阈值时输出低电平,以及在所述第一检测节点的电压低于第一阈值时输出高电平;
第二反相器,与所述第一检测节点连接,用于在所述第一检测节点的电压大于或等于第二阈值时输出低电平,以及在所述第一检测节点的电压低于第二阈值时输出高电平,所述第二阈值小于所述第一阈值;
第一异或门电路,与所述第一反相器和所述第二反相器连接,用于对所述第一反相器的输出信号和所述第二反相器的输出信号进行异或操作,并将异或操作的结果作为所述第一控制信号输出至所述切换单元;
所述第二检测电路包括:
第三反相器,与所述第二检测节点连接,用于在所述第二检测节点的电压大于或等于第三阈值时输出低电平,以及在所述第二检测节点的电压低于第三阈值时输出高电平;
第四反相器,与所述第二检测节点连接,用于在所述第二检测节点的电压大于或等于第四阈值时输出低电平,以及在所述第二检测节点的电压低于第四阈值时输出高电平,所述第四阈值小于所述第三阈值;
第二异或门电路,与所述第三反相器和所述第四反相器连接,用于对所述第三反相器的输出信号和所述第四反相器的输出信号进行异或操作,并将异或操作的结果作为所述第二控制信号输出至所述切换单元。
13.一种集成电路,其特征在于,包括如权利要求1~12任一项所述的触发器。
CN201810260366.0A 2018-03-27 2018-03-27 一种触发器及集成电路 Active CN110311659B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810260366.0A CN110311659B (zh) 2018-03-27 2018-03-27 一种触发器及集成电路
PCT/CN2018/116241 WO2019184395A1 (zh) 2018-03-27 2018-11-19 一种触发器及集成电路

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810260366.0A CN110311659B (zh) 2018-03-27 2018-03-27 一种触发器及集成电路

Publications (2)

Publication Number Publication Date
CN110311659A CN110311659A (zh) 2019-10-08
CN110311659B true CN110311659B (zh) 2021-02-12

Family

ID=68060830

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810260366.0A Active CN110311659B (zh) 2018-03-27 2018-03-27 一种触发器及集成电路

Country Status (2)

Country Link
CN (1) CN110311659B (zh)
WO (1) WO2019184395A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111262583B (zh) * 2019-12-26 2021-01-29 普源精电科技股份有限公司 亚稳态检测装置和方法、adc电路
CN111262562B (zh) * 2020-03-02 2021-08-27 上海交通大学 亚稳态检测电路
CN111555754B (zh) * 2020-05-26 2023-03-10 成都铭科思微电子技术有限责任公司 一种应用于高速模数转换器同步时钟采样的亚稳态检测电路
CN111785309B (zh) * 2020-07-01 2021-03-19 深圳市芯天下技术有限公司 非型闪存接口电路的实现方法、电路、存储介质和终端
WO2024065509A1 (zh) * 2022-09-29 2024-04-04 华为技术有限公司 控制装置、控制系统及运载工具

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5020038A (en) * 1990-01-03 1991-05-28 Motorola, Inc. Antimetastable state circuit
US5122694A (en) * 1990-12-26 1992-06-16 Tektronix, Inc. Method and electrical circuit for eliminating time jitter caused by metastable conditions in asynchronous logic circuits
US6072346A (en) * 1997-12-29 2000-06-06 Metaflow Technologies, Inc. Metastable protected latch
US6714612B1 (en) * 2000-06-08 2004-03-30 Sun Microsystems, Inc. Method and device for synchronization of phase mismatch in communication systems employing a common clock period
JP2002300009A (ja) * 2001-04-02 2002-10-11 Hitachi Ltd D型フリップフロップ回路装置
US7325021B2 (en) * 2003-03-14 2008-01-29 Nxp B.V. VLSI implementation of metastability-based random number generator using delay ladders
CN2922277Y (zh) * 2005-10-25 2007-07-11 中兴通讯股份有限公司 一种时钟毛刺检测电路
US7288969B1 (en) * 2006-04-05 2007-10-30 Alcatel Lucent Zero clock delay metastability filtering circuit
CN101431320B (zh) * 2007-11-08 2010-12-15 中芯国际集成电路制造(上海)有限公司 一种高稳定性d触发器结构
CN102402242A (zh) * 2010-09-10 2012-04-04 三星半导体(中国)研究开发有限公司 时钟管理单元
CN103633969B (zh) * 2012-08-20 2017-10-31 上海华虹集成电路有限责任公司 异步信号传递电路
CN104767516B (zh) * 2014-01-06 2018-04-27 上海华虹集成电路有限责任公司 异步信号同步电路
CN104796113A (zh) * 2014-01-17 2015-07-22 苏州芯动科技有限公司 降低亚稳态发生式d触发器设备
CN105406839B (zh) * 2014-08-18 2018-04-13 中芯国际集成电路制造(上海)有限公司 一种电路和电子装置
CN104535918B (zh) * 2014-12-22 2017-03-15 中国民航大学 一种跨时钟域同步器内部常数测试电路和方法
US10630271B2 (en) * 2016-08-17 2020-04-21 Advanced Micro Devices, Inc. Self timed data sampler
US9899992B1 (en) * 2016-08-17 2018-02-20 Advanced Micro Devices, Inc. Low power adaptive synchronizer
US9793894B1 (en) * 2016-11-18 2017-10-17 Via Alliance Semiconductor Co., Ltd. Data synchronizer for registering a data signal into a clock domain

Also Published As

Publication number Publication date
WO2019184395A1 (zh) 2019-10-03
CN110311659A (zh) 2019-10-08

Similar Documents

Publication Publication Date Title
CN110311659B (zh) 一种触发器及集成电路
US8558579B2 (en) Digital glitch filter
US9685953B1 (en) Low latency asynchronous interface circuits
US8466727B2 (en) Protection against fault injections of an electronic circuit with flip-flops
US7456657B2 (en) Common input/output terminal control circuit
US9112489B2 (en) Sequential logic circuit and method of providing setup timing violation tolerance therefor
KR101903841B1 (ko) 고 노이즈 면역을 가진 고속 버퍼
US7929655B2 (en) Asynchronous multi-clock system
US6987825B1 (en) Digital synchronous circuit for stably generating output clock synchronized with input data
US6873183B1 (en) Method and circuit for glitchless clock control
US9991876B2 (en) Master-slave flip-flop
US11073862B2 (en) Synchronization circuit and cascaded synchronization circuit for converting asynchronous signal into synchronous signal
US10547311B2 (en) Reducing glitches that occur when multiplexing of asynchronous clocks using flip-flops and logic gates
US20230421144A1 (en) Clock switching device
CN108055022B (zh) 一种带抗振荡结构的rs触发器电路
US20200162064A1 (en) Debounce circuit using d flip-flops
US10014849B2 (en) Clock detectors and methods of detecting clocks
CN109660232B (zh) 脉冲触发器电路
US7400178B2 (en) Data output clock selection circuit for quad-data rate interface
EP3428768B1 (en) Robust boot block design and architecture
CN114679158B (zh) 周期信号发生装置、信号处理系统及其周期信号发生方法
US9602085B2 (en) Data storage element and signal processing method
US10917075B2 (en) Oscillator apparatus capable of protecting circuit element(s) within oscillator of oscillator apparatus from damage of signal glitch
CN110098829B (zh) 锁存器电路及集成电路
EP3812874A1 (en) Glitch-free clock multiplexer

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