CN113835012A - 定时错误检测和校正电路 - Google Patents

定时错误检测和校正电路 Download PDF

Info

Publication number
CN113835012A
CN113835012A CN202110639805.0A CN202110639805A CN113835012A CN 113835012 A CN113835012 A CN 113835012A CN 202110639805 A CN202110639805 A CN 202110639805A CN 113835012 A CN113835012 A CN 113835012A
Authority
CN
China
Prior art keywords
transition
clock
circuit
output
reference clock
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.)
Pending
Application number
CN202110639805.0A
Other languages
English (en)
Inventor
罗埃尔·利福·P·厄伊特胡芬
维姆·德阿纳
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.)
NXP BV
Original Assignee
NXP BV
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 NXP BV filed Critical NXP BV
Publication of CN113835012A publication Critical patent/CN113835012A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/04Generating or distributing clock signals or signals derived directly therefrom
    • G06F1/08Clock generators with changeable or programmable clock frequency
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00323Delay compensation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R31/00Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
    • G01R31/28Testing of electronic circuits, e.g. by signal tracer
    • G01R31/2851Testing of integrated circuits [IC]
    • G01R31/2882Testing timing characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/392Floor-planning or layout, e.g. partitioning or placement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/39Circuit design at the physical level
    • G06F30/394Routing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/003Modifications for increasing the reliability for protection
    • H03K19/00369Modifications for compensating variations of temperature, supply voltage or other physical parameters
    • H03K19/00384Modifications for compensating variations of temperature, supply voltage or other physical parameters in field effect transistor 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/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
    • H03K5/00Manipulating of pulses not covered by one of the other main groups of this subclass
    • H03K5/13Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals
    • H03K5/135Arrangements having a single output and transforming input signals into pulses delivered at desired time intervals by the use of time reference signals, e.g. clock signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2117/00Details relating to the type or aim of the circuit design
    • G06F2117/04Clock gating
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K19/00Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
    • H03K19/20Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits characterised by logic function, e.g. AND, OR, NOR, NOT circuits
    • H03K19/21EXCLUSIVE-OR circuits, i.e. giving output if input signal exists at only one input; COINCIDENCE circuits, i.e. giving output only if all input signals are identical

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Evolutionary Computation (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Architecture (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Nonlinear Science (AREA)
  • Semiconductor Integrated Circuits (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Manipulation Of Pulses (AREA)

Abstract

本发明描述一种集成电路和设计包括错误检测和校正电路的集成电路的方法。所述集成电路包括被布置在由系统时钟计时的第一寄存器的输出与第二寄存器之间的数据路径。所述集成电路包括定时错误检测和校正电路(EDAC),所述EDAC具有被配置成接收参考时钟并提供延迟参考时钟的时钟单元。所述EDAC包括耦合到所述数据路径上的相应节点的多个转换检测器和耦合到每个转换检测器的错误检测电路。在设计期间,根据要监测的所要定时窗口来选择所述节点。如果在对应于所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段的快照期间发生转换,则所述错误检测电路标记错误。耦合到所述错误检测电路的定时校正电路输出从所述延迟参考时钟导出的所述系统时钟。

Description

定时错误检测和校正电路
技术领域
本公开涉及一种用于集成电路的定时错误检测和校正电路以及一种用于设计包括定时错误检测和校正电路的集成电路的方法。
背景技术
实施数字设计的集成电路(IC)被设计成以指定频率在一定范围的功率、电压和处理技术条件中运行。为了改进此类数字设计的稳健性,可使用定时错误校正和检测方案。
此类系统的例子使用所谓的Razor触发器(D.Ernst等人,“Razor:低功率操作的定时错误的电路级校正(Razor:Circuit-Level Correction OfTiming Errors For Low-Power Operation)”,IEEE Micro,第24卷,第6期,2004年12月,10-20页)。Razor触发器使用数字设计中的速度路径故障动态检测和校正。Razor触发器考虑了工艺变化,因此它消除了对未使用的余量的需要。所述触发器扩增有使用延迟时钟的额外影子锁存器(shadowlatch)。如果在主触发器中存在定时违规,则影子触发器将在延迟时钟的时钟沿之后含有可用于标记错误和/或有可能校正错误的不同值。此类概念被称作双重采样。如果存在设置或保持违规,则Razor会有数据路径亚稳态(meta-stability)问题。Razor触发器还具有相对短的延迟路径,并且不区分数据的迟延到达和正确数据的快速到达。因此,Razor触发器需要使用额外缓冲器进行额外保持填充,以确保仅检测到迟延到达。
另一定时错误检测和校正系统描述于“针对动态变化容限的高效节能且不受亚稳态影响的定时错误检测和恢复电路(Energy-Efficient andMetastability-ImmuneTiming-Error Detection and Recovery Circuits forDynamic Variation Tolerance)”中,IEEE集成电路设计与技术国际会议(IEEE Int.Conference on Integrated CircuitDesign and Technology),美国德克萨斯州奥斯汀(Austin,TX,USA),2008年6月,155-158页。所述电路能够以类似于Razor的方式检测定时错误,但所述电路使用脉冲锁存器和转换检测器来降低面积/能量开销。
发明内容
在所附权利要求书中限定本公开的各方面。在第一方面,提供一种用于包括数据路径的集成电路的定时错误检测和校正电路,所述数据路径包括至少一个逻辑门,并且布置在第一触发器的输出与第二触发器的输入之间,所述定时错误检测和校正电路包括:时钟单元,其被配置成接收参考时钟并提供延迟参考时钟;转换检测器,其耦合到所述数据路径上的节点并且被配置成检测所述节点上的数据值转换;错误检测电路,其耦合到所述转换检测器和所述时钟单元,并且被配置成响应于在所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段期间检测到数据值转换而检测到错误;定时校正电路,其耦合到所述错误检测电路,并且被配置成输出从所述延迟参考时钟导出的系统时钟并将所述系统时钟提供到所述第一触发器和所述第二触发器,并且其中所述定时校正电路还被配置成响应于检测到错误而调适所述系统时钟。
在一些实施例中,所述电路还包括另一转换检测器,所述另一转换检测器耦合到所述数据路径上的另一节点并且被配置成检测所述另一节点上的信号转换;其中所述错误检测电路耦合到所述另一转换检测器,并且还被配置成响应于由所述转换检测器和所述另一转换检测器中的至少一个转换检测器在所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段期间检测到信号转换而检测到错误。
在一些实施例中,所述数据路径布置在包括所述第一触发器节点的第一组触发器与包括所述第二触发器的第二组触发器之间,并且其中所述节点和所述另一节点具有到所述第二组触发器中的至少一者的小于参考时钟周期的20%的路径延迟。
在一些实施例中,所述时钟单元包括:延迟单元,其具有耦合到参考时钟输入的输入和耦合到延迟参考时钟输出的输出;以及逻辑电路元件,其具有耦合到所述参考时钟输入的第一输入和耦合到所述延迟参考时钟输出的第二输入,并且被配置成产生信号,以用于在所述参考时钟和所述延迟参考时钟不同时启用所述错误检测电路。
在一些实施例中,所述逻辑电路元件被配置成在所述参考时钟为逻辑高并且所述延迟参考时钟为逻辑低时产生启用信号。
在一些实施例中,所述逻辑电路元件实施所述延迟参考时钟的反相和所述参考时钟的逻辑AND。
在一些实施例中,所述错误检测电路包括动态逻辑电路,所述动态逻辑电路具有耦合到转换检测电路的输出的输入和耦合到所述逻辑电路元件输出的启用输入。
在一些实施例中,所述动态逻辑电路包括耦合到另一转换检测电路的输出的另一输入,并且其中所述动态逻辑电路实施所述转换检测电路输出和所述另一转换检测电路输出的逻辑OR。
在一些实施例中,所述转换检测器包括:耦合到延迟单元的输入和EXOR门的第一输入的转换检测器输入;耦合到所述EXOR门的第二输入的所述延迟单元的输出;以及耦合到转换检测器输出的所述EXOR门的输出。
在一些实施例中,所述定时校正电路还包括时钟门控电路,所述时钟门控电路具有耦合到所述错误检测电路的输出的错误检测输入、耦合到所述时钟单元输出和系统时钟输出的时钟输入,其中所述时钟门控电路被配置成在未检测到错误的情况下将所述系统时钟输出耦合到所述时钟输入以及在检测到错误的情况下将所述系统时钟输出与所述时钟输入断开耦合。
在一些实施例中,所述定时校正电路还包括时钟延展电路,所述时钟延展电路具有耦合到所述错误检测电路的输出的错误检测输入、耦合到所述时钟单元输出和系统时钟输出的时钟输入,其中所述时钟门控电路被配置成在未检测到错误的情况下将所述系统时钟输出耦合到所述时钟输入以及在检测到错误的情况下将所述系统时钟输出耦合到时移时钟输入。
在一些实施例中,所述时钟延展电路包括:时钟相位发生器,其具有耦合到所述时钟输入的输入以及多个输出,并且被配置成产生在所述时钟输入上接收到的时钟的多个相位输出;时钟切换电路,其具有多个输入,每个输入耦合到所述时钟相位发生器的相应输出;以及时钟切换控制器,其具有耦合到错误检测电路输出的输入和耦合到所述时钟切换电路的控制输入的控制器输出;并且其中所述时钟切换控制器被配置成控制所述时钟切换电路以依据在所述错误检测输入上接收到的信号来将所述输出中的一个输出耦合到所述系统时钟输出。
在一些实施例中,所述时钟延展电路包括:多路复用器,其具有耦合到所述时钟输入的第一输入、第二输入、耦合到所述错误检测输入的控制输入,以及耦合到所述系统时钟输出的输出;另一可编程延迟器,其具有耦合到所述时钟输入的输入和耦合到所述多路复用器的第二输入的输出;其中所述多路复用器被配置成响应于检测到错误而将所述第二输入耦合到所述输出以及响应于未检测到错误而将所述第一输入耦合到所述输出。
在一些实施例中,所述定时校正电路包括电源调整电路和体偏置电路调整中的至少一者,其中所述定时校正电路被配置成响应于检测到错误而调整所述电源和所述体偏置中的至少一者。
在一些实施例中,定时错误检测和校正电路可包括在包括数据路径的集成电路中,所述数据路径包括至少一个逻辑门,所述数据路径布置在包括第一触发器的第一组触发器与包括第二触发器的第二组触发器之间。
在第二方面,提供一种设计集成电路的方法,所述集成电路包括:时钟单元,其被配置成接收参考时钟并提供延迟参考时钟;数据路径,其包括至少一个逻辑门,所述数据路径布置在第一触发器的输出与第二触发器的输入之间;多个转换检测器,其耦合到所述数据路径上的相应节点并且被配置成检测所述相应节点上的数据值转换;错误检测电路,其耦合到所述转换检测器和所述时钟单元,并且被配置成响应于在所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段期间检测到数据值转换而检测到错误;定时校正电路,其耦合到所述错误检测电路,并且被配置成输出从所述延迟参考时钟导出的系统时钟并将所述系统时钟提供到所述第一触发器和所述第二触发器,并且其中所述定时校正电路还被配置成响应于检测到错误而调适所述系统时钟,所述方法包括:对设计的逻辑单元进行放置和布线;标识关键定时路径上对应于数据路径节点的单元;放置所述多个转换检测器;标识转换检测器集群;依据所述集群放置所述错误检测器的电路元件;将所述转换检测器连接到所述数据路径节点和所述错误检测器。
在第三方面,提供一种集成电路,所述集成电路包括:数据路径,其布置在第一组触发器的输出与第二组触发器的输入之间;以及定时错误检测和校正电路,所述定时错误检测和校正电路包括:时钟单元,其被配置成接收参考时钟并提供延迟参考时钟;多个转换检测器,每个转换检测器耦合到所述数据路径上的相应节点并且被配置成检测数据值转换;错误检测电路,其耦合到所述转换检测器和所述时钟单元,并且被配置成响应于由所述多个转换检测器中的一个或多个转换检测器在所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段期间检测到数据值转换而检测到错误;定时校正电路,其耦合到所述错误检测电路,并且被配置成输出从所述延迟参考时钟导出的系统时钟并将所述系统时钟提供到所述第一触发器和所述第二触发器,并且其中所述定时校正电路还被配置成响应于检测到错误而调适所述系统时钟。
在一些实施例中,相应数据路径节点具有到所述第二组触发器中的至少一者的小于参考时钟周期的20%的路径延迟。
在一些实施例中,所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段是所述参考时钟的上升沿与所述延迟参考时钟的下一上升沿之间的时间段。
在一些实施例中,所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段是所述参考时钟的下降沿与所述延迟参考时钟的下一下降沿之间的时间段。
附图说明
在附图和描述中,相同的附图标号是指相同的特征。现在仅借助于通过附图所示的例子详细地描述实施例,在附图中:
图1示出根据实施例的包括定时错误检测和校正电路的集成电路。
图2示出根据实施例的包括定时错误检测和校正电路的集成电路。
图3A示出根据实施例的用于集成电路的定时错误检测和校正电路。
图3B示出图3A的定时错误检测和校正电路的示例波形。
图4A示出转换检测电路的示例实施方案。
图4B示出图4A的转换检测电路的示例定时波形。
图5示出示例动态OR门实施方案。
图6示出示例可编程延迟线。
图7示出不同定时校正策略的定时图的例子。
图8A示出展示定时校正行为的示例波形。
图8B示出根据一个或多个实施例的定时波形错误检测和校正电路的示例行为。
图9示出示例时钟门控电路。
图10示出根据实施例的定时错误检测和校正电路。
图11示出根据实施例的包括定时错误检测和校正电路的集成电路。
图12A示出图11的定时错误检测和校正电路的多相时钟单元。
图12B示出图12A的多相时钟单元的示例波形。
图13示出根据实施例的设计包括定时错误检测和校正电路的集成电路的方法。
图14示出50ns周期的时钟和典型(TT)工艺-电压-温度(PVT)角的最关键概率密度函数(PDF)的示例图。
图15示出对于时钟周期的12%处的定时窗口,在时钟和慢PVT角下的端点和单元数与定时的关系。
图16A示出根据实施例的包括定时错误检测和校正电路的集成电路的平面图级定时检测位置的例子。
图16B示出图16A中所示的集成电路的平面图视图,示出动态OR门位置以及定时检测器连接。
具体实施方式
图1示出根据实施例的包括定时错误检测和校正电路(EDaC)的集成电路100。集成电路100包括第一触发器102、第二触发器104和数据路径106,所述数据路径106包括布置在第一触发器102的输出与第二触发器104的输入之间的一个或多个逻辑门108。第一触发器102和第二触发器104由从定时校正器118的系统时钟输出144提供的系统时钟(CLKsys)供应。
集成电路100还包括转换检测器(TD)110,TD 110具有耦合到数据路径106中的数据路径节点112的输入和连接到错误检测器122的输入的转换检测器输出124。如本文所使用,术语数据路径可被视为指代布置在例如触发器或锁存器的顺序逻辑电路之间的组合逻辑电路系统。
在集成电路100中示出一个转换检测器110,但在其它示例中,可使用连接到相应数据路径节点的多个转换检测器。错误检测器122的错误检测器输出126可连接到定时校正器118的控制输入。时钟单元120可包括启用发生器114和延迟模块116。时钟参考输入130可连接到延迟模块116的输入和启用发生器114的输入。延迟模块116的延迟时钟输出146可连接到定时校正器118的输入和启用发生器114的第二输入。启用发生器输出134可连接到错误检测器122的输入。视需要,系统时钟输出144可通过延迟器128连接到时钟参考输入130。
在操作中,参考时钟CLKref可提供到时钟单元120的参考时钟输入130。延迟元件116可延迟参考时钟信号并将参考时钟的延迟版本CLKdel提供给延迟时钟输出146。延迟时钟CLKdel可被定时校正器118接收,所述定时校正器118可提供从延迟时钟CLKdel导出的系统时钟CLKsys。在无需定时校正的情况下,CLKsys可与CLKdel相同。
时钟单元120可在启用信号输出134上产生启用信号以启用错误检测器122。所述启用信号可具有对应于参考CLKref的时钟转换与延迟时钟CLKdel的后续转换之间的延迟的脉冲宽度。因此,启用信号的脉冲宽度对应于延迟元件116的延迟,并且限定接近每个时钟周期的结束、恰在第二触发器104捕捉到数据之前的评估时间段。所述启用脉冲应尽可能短但足以允许转换脉冲传播通过错误检测器。在一些例子中,延迟元件可调谐或可编程以调整延迟量。
在集成电路100的正常操作中,基于系统时钟CLKsys的沿或转换对在第一触发器102的数据输入132上接收到的数据计时,所述系统时钟CLKsys由定时校正器118在时钟周期的开始由虚线140示出的时间T=0处提供。任何所得输出逻辑转换可通过数据路径106传播到第二触发器104。可在系统时钟CLKsys的后续转换时在第二触发器104的数据输入处捕捉对数据的逻辑运算的结果,所述后续转换对应于由虚线138所示的时间Tclk处的时钟周期结束。转换检测器110连接到在第一触发器102与第二触发器104之间在接近时间Tclk处的时钟周期结束的定时窗口Twin内具有某一路径延迟的数据路径节点112。可在集成电路的物理设计阶段期间例如根据数据路径中的路径延迟的静态定时分析来确定节点112的选择。每当数据路径节点112上存在转换时,转换检测器110就可输出脉冲。转换可对应于逻辑0到逻辑1数据转换,或逻辑1到逻辑0数据转换。
如果转换检测器110在对应于评估周期的启用信号活跃周期期间输出转换,则此转换被错误检测器122捕捉且被视为导致定时错误的迟延定时转换。定时错误可引起数据错误,因为第二触发器104可能在系统时钟CLKsys下一转换的T=Tclk处捕捉不到正确数据值。错误检测器122可将错误检测信号输出到定时校正器118。作为响应,定时校正器可例如通过时钟门控或时钟延展调适系统时钟CLKsys以延迟系统时钟转换,并且因此校正定时错误。
本公开的发明人已了解,通过检测接近时钟周期结束的定时窗口(例如在时钟时间周期的最后20%内)中的转换,包括错误检测和校正(EDaC)系统的集成电路100可使所实施的数字设计能够相比于有最坏情况设计余量的设计在优良的功率性能水平下运行。
集成电路100可以恒定速度减小每次操作的能量。与常规有设计余度的设计相比,通过所提出的解决方案,可在不损害操作频率的情况下进一步减小数字电源电压,直到出现首次故障点。对于典型工艺和温度条件下的示例低电压设计,已观测到几乎30%的能量节省。
可替换的是,集成电路100的操作速度可增大到高于常规有设计余量的设计的签核(sign-off)频率。在一些例子中,集成电路100可在针对典型PVT条件下的示例设计已观测到的多达20%的频率增加下操作。在其它例子中,取决于原始设计余量,所述频率可大约为100%到200%。
通常,在许多IC中采用动态功率性能管理。在大多数情况下,例如环形振荡器或延迟线的复制电路用于针对用于错误检测的给定IC样本获得参考硅速度性能,所述给定IC样本相对于实际电路可能具有延迟失配。
相比之下,集成电路100不需要任何复制电路,而是由一个或多个转换检测器来盟测实际的关键路径。因此,不存在复制电路与实际关键电路路径的性能之间的失配。这可产生减小的定时余量,所述减小的定时余量可用于实现较低功率和较高速度。
一些错误检测和校正方法需要双重采样,所述双重采样强加了等于其定时窗口的保持约束。固定此保持约束需要保持填充,从而产生电力开销以及潜在的面积开销。这会使可能实现的最大程度的节电减少。实际上,具有使用双重采样的此类EDaC系统的集成电路的功耗可与没有EDaC的集成电路相当或更高。
相比之下,因为接近定时窗口的结束来监测关键节点,所以集成电路100中的错误检测和校正电路可无需额外缓冲来避免保持时间违规,这可减少功耗。
此外,在无额外保持填充开销的情况下,与基于现有技术双重采样的解决方案相比,定时错误检测窗口可大很多。这是因为检测的范围更广泛,而系统不依赖于关键活动朝向端点的传播,因为所述系统其可使用许多转换检测器监测所有关键活动。这使提出的EDaC调谐较少依赖于活动,从而提高了检测的总体稳健性。集成电路100可监测预定定时错误检测窗口内的所有转换,而不仅仅检测路径端点处的转换。因此,集成电路100还可具有相对大的定时错误检测窗口。
图2示出根据实施例的包括定时错误检测和校正电路(EDaC)的集成电路200。集成电路200包括:第一组触发器202、202′,包括触发器204的第二组触发器,以及包括布置在第一触发器202、202′的输出与第二触发器204的输入之间的一个或多个逻辑门208的数据路径206。第一触发器202、202′和第二触发器204由从定时校正器(未示出)的系统时钟输出244提供的系统时钟(CLKsys)供应。
集成电路200还包括转换检测器210a-c,每个转换检测器具有耦合到数据路径206中的相应数据路径电路节点212a-b的相应输入和连接到错误检测器222的相应输入的转换检测器输出224a-b。错误检测输出226可连接到定时校正器(未示出)的控制输入。错误检测器的启用输入234可连接到评估信号发生器(未示出)。错误检测器可包括一个或多个动态OR门223,其中每个输入连接到相应转换检测器输出224a-b。
在集成电路200的正常操作中,基于系统时钟CLKsys的沿对在第一触发器202、202′的相应数据输入232上接收到的数据计时,所述系统时钟CLKsys在时钟周期的开始由虚线240示出的时间T=0处提供。捕捉的数据通过数据路径206传播,然后可在第二触发器204的数据输入处在对应于由虚线238所示的时间Tclk处的时钟周期结束的系统时钟CLKsys的转换处捕捉由逻辑门208对所述数据进行的逻辑运算结果。每个转换检测器210a-c连接到在第一触发器202、202′与第二触发器204之间在接近时间Tclk处的时钟周期结束的定时窗口Twin内具有某一路径延迟的数据路径节点212a-c。用于对触发器202、202′、204计时的系统时钟是从参考时钟的延迟版本导出。可在集成电路的物理设计阶段期间例如根据数据路径中的路径延迟的静态定时分析来确定节点212a-d的选择。
转换检测器210a-c可监测关键路径的最终门上的节点212a-d。监测的门的总计传播延迟确定错误检测窗口(Twin)。这从有余量的签核时间Tclk开始,并在也包括其中的最不关键门的最坏情况输入定时处结束(Tclk-Twin)。仅当转换检测器210a-c在由提供给错误检测器的启用输入的启用信号确定的评估时间内在接近时钟周期的结束标记活动时,才检测定时错误。此启用信号从参考时钟的转换与参考时钟的延迟版本的对应转换之间的差产生。每当相应数据路径节点212a-c上存在可对应于逻辑0到逻辑1数据转换(或逻辑1到逻辑0数据转换)的转换时,转换检测器210a-c可输出脉冲。
响应于检测到错误,定时校正器(未示出)可例如通过时钟门控或时钟延展调适系统时钟CLKsys以延迟系统时钟转换并且因此校正定时错误。
图3A示出根据实施例的用于集成电路300的定时错误检测和校正系统。定时错误检测和校正系统300包括具有三级动态OR门323a-c的错误检测器322,每个OR门323a-c具有许多输入320a_0到320s_n、320b_0到320b_n、320c_0到320c_n。其它示例错误检测器可具有更少或更多级。定时错误检测和校正系统300包括具有相应输入的许多转换检测器310_0到310_n,所述相应输入耦合到数据路径(未示出)中的相应数据路径节点324_0到324_n。每个转换检测器的输出可连接到第一级动态OR门323a的相应OR门输入320a_0到320a_n。第一级动态OR门323a的输出可连接到第二级动态OR门320b的第一输入320b_0。第二级动态OR门320B的其余输入可连接到另一转换检测器(未示出)或另一第一级动态OR门(未示出)。第二级动态OR门323b的输出可连接到第三级动态OR门323c的第一输入320c_0。第三级动态OR门323c的其余输入可连接到另一转换检测器(未示出)或另一第一级和第二级动态OR门输出。第三级动态OR门323c的输出可连接到错误检测器输出326。动态OR门323a、323b、323c可具有相应启用输入316a、316b、316c。启用输入316a-c可通过相应缓冲器314a、314b和314c连接到时钟单元304的评估信号输出312。
时钟单元304可包括可编程延迟器306和例如具有一个非反相输入和一个反相输入的AND门的逻辑元件308。参考时钟输入302可连接到AND门308的非反相输入。可编程延迟器306的输出可连接到延迟时钟输出330和AND门308的反相输入。
错误检测器322的错误检测器输出326可连接到定时校正器318的控制输入。延迟时钟输出330可连接到定时校正器318的输入。
在操作中,参考时钟CLKref可提供到时钟单元304的参考时钟输入302。可编程延迟元件306可延迟参考时钟信号并将参考时钟的延迟版本CLKdel提供给延迟时钟输出330。延迟时钟CLKdel可被定时校正器318接收,所述定时校正器318可提供从延迟时钟CLKdel导出的系统时钟CLKsys。在无需定时校正的情况下,CLKsys可与CLKdel相同。
时钟单元304可在评估信号输出312上产生启用信号以启用错误检测器322。所述启用信号可具有对应于参考CLKref的时钟转换与延迟时钟CLKdel的后续转换之间的延迟的脉冲宽度。启用信号的脉冲宽度对应于可编程延迟器306的延迟。启用信号脉冲可控制错误检测器322以取得所有转换检测器输出的快照。如果任一转换检测器输出在启用脉冲期间是活跃的,则这被视为定时错误并且错误检测器输出可指示错误条件。
如果检测到定时错误,则错误条件信号可锁存在延迟时钟CLKdel的下一转换上。定时校正器318可对系统时钟输出328进行门控,使得时钟延迟一个周期。这防止定时错误被接收触发器捕捉到,这因此充当单周期校正机制。为了简单化和高效的设计集成,动态OR门可设计成适合数字标准单元模板。
在图3A中示出EDAC系统300的操作的示例定时波形350。CLKIN358是从中导出OR门的评估信号362(Edyn脉冲)和延迟时钟360(CLKDEL)的输入参考时钟。系统时钟372(CLKsYs)与CLKDEL同步。评估信号Edyn脉冲362的宽度等于如由区域354、356所示的CLKDEL和CLKIN的上升沿之间的时间差,并且对应于其中评估可能的定时错误的、恰在CLKDEL的下一转换之前的时间。当转换检测器324_0到324_n在Edyn为高的时刻捕捉到数据切换时,产生由错误检测器322输出的错误信号370。这意味着转换检测器324_0到324_n中的至少一者恰在CLKDEL的时钟沿之前捕捉到活动。由波形368示出示例输出(TDout)。此错误条件在时间区域354中示出,而相比之下,在区域356中,在评估快照期间未检测到转换并且因此未输出错误信号。在定时校正器318进行错误检测之后,对系统时钟372进行门控。转换检测器输出脉冲的脉冲宽度352应恰好足够大以在其在评估脉冲Edyn期间出现的情况下被错误检测器322的OR树捕捉到。然而,这并不意味着所述转换检测器输出脉冲应大于或等于Edyn脉冲本身。具有小于OR树的传播延迟的脉冲宽度的相对短的输出脉冲仍可通过OR树行波,因此这个脉冲的精确最小宽度取决于OR树的实际实施方案。
图4A示出可在本文所描述的任何一个错误检测器中用作转换检测器的转换检测器400的例子。转换检测器400包括输入与异或门406的第一输入之间的缓冲器404的串联布置。异或门406的第二输入直接连接到输入402。EXOR门406的输出连接到转换检测器400的输出。
在操作中,输入402连接到受监测数据路径电路节点(未示出)。输出408响应于在受监测电路节点处的数据切换(即,逻辑0与逻辑1之间的数据转换,或逻辑1与逻辑0之间的数据转换)而提供脉冲。图4B中示出相关信号波形410。波形412示出输入2-3处的数据转换和波形。脉冲414的宽度等于XOR门的输入线中的一个输入线中存在的缓冲器404的传播延迟。
图5示出可包括在本文所描述的一个或多个检测器电路中的典型动态OR门420。动态OR门420包括432的电源节点与电路节点430之间的预充电PMOS晶体管MP1和保持PMOS晶体管MP2的并联布置。预充电PMOS晶体管MP1的输入连接到启用输入424。反相器INV1的输入可连接到电路节点430。反相器INV1的输出可连接到动态OR门输出434。OR输出434还可连接到保持晶体管MP2的输入。动态OR门具有NMOS晶体管MN1、MN2、MN11的并联布置,所述并联布置具有到电路节点430的漏极连接和到电路节点428的源极连接。每个晶体管MN1、MN2和MN11的栅极连接到动态OR门426_0、426_1、426_10的相应输入。放电晶体管MN12具有到接地轨422的源极连接和到电路节点428的漏极连接。放电晶体管MN12的栅极可连接到启用输入424。在操作中,当在错误检测器中使用时,动态OR门可在任一输入是逻辑1的情况下在评估阶段期间输出逻辑1。在其它例子中,动态OR门可具有比动态OR门420中示出的11个输入更少或更多的输入。
图6示出可编程延迟器450的例子。可编程延迟器输入452可连接到AND门AI1、AI1、AI16的串联布置中的第一AND门AI1。第一串联AND门中的每个AND门的输入中的一个输入连接到NAND门ND1、ND2、ND16的相应输入。t个AND门AI1、AI2中的每一个的第二输入连接到表示为
Figure BDA0003106133800000141
的1位的可编程寄存器(未示出)的输出的反相。每个NAND门的第二输入连接到表示为S0、S1、S15的1位的可编程寄存器(未示出)的相应输出。每个NAND门的输出连接到AND门AO16、AO22、AO11的第二串联布置的相应输入。AND门AO16的第二输入连接到逻辑1。AND门AO1的输出连接到可编程延迟器454的输出。在操作中,输入452与输出454之间的延迟可根据可编程寄存器设置S0..S15中的哪个值来确定。
例如,如果将S0设置为逻辑1
Figure BDA0003106133800000142
则从输入452到输出454的延迟是经由ND1和AO1的延迟。如果S0是逻辑0且S1是逻辑1,则从输入452到输出454的延迟是经由AI1、ND2、AO2和AO1的延迟。
图7示出波形500,示出在一个或多个实施例中用于定时错误校正的门控时钟和延展时钟的操作原理。“错误”信号502涉及本文中所描述的实施例的错误检测器的动态OR门树的输出。当“错误”信号502处于逻辑1时,检测到定时错误。在其它例子中,应了解,逻辑‘0’可指示错误条件,而逻辑‘1’可指示无错条件。正如先前所论述,“未校正CLK”信号506与延迟时钟CLKDEL相同。根据断言参考CLK到断言延迟时钟之间的时间,即,可编程延迟线的延迟时间,评估“错误”信号502。“迟延数据”信号504示出受转换检测器监测的门的切换。当切换在动态OR门启用的时刻进行时,通过断言“错误”信号来标记定时错误。波形508示出时钟门控对错误信号的响应,所述错误信号将CLKsys的下一时钟延迟到未校正时钟的下一周期。波形510示出可延展CLKsys的当前时钟周期的延展时钟响应。
图8A示出波形550,并且图8B示出错误检测和校正系统实施例的行为的例子的图570。波形550包括参考时钟552、系统时钟554、错误检测启用信号556、转换检测器的OR运算输出558和检测到的错误信号560。
转到图8B,在时间t=0处,数字核心应用的系统时钟频率等于20MHz的工艺、电压和温度频率的慢角情境(slow corner scenario,SS)。在SS情境中,正如所料,未标记定时错误。接下来,频率随着时间推移增大。在给定点处,标记定时错误,指示数字核心已达到其临界频率,即,首次故障点(PoFF)。EDaC系统通过应用时钟门控对此错误作出相应反应,如图8A的信号波形可见,所述信号波形对应于检测到的错误“Error_in”558和经过处理的错误“Error_out”560。
图9示出在本文所描述的一个或多个实施例中可用于定时校正器中的示例时钟门控电路600。时钟门控电路包括触发器或锁存器606和门610。启用信号由输入602上的输入时钟clk_in(CLKDEL)计时的触发器606捕捉。当启用信号为高时,将clk_out(CLKSYS)612门控为低。当启用为低时,时钟门控不起作用(transparent),即clk_out=clk_in。
图10示出针对定时校正使用时钟延展并且被配置成用作环形振荡器的示例错误检测和校正系统650。错误检测和校正系统650包括多路复用器654、658、660的串联布置,所述多路复用器各自被配置成从相应第一串联的反相器654a、656a、661a和第二串联的反相器654b、656b和661b中的一个选择输出。反相器的每个串联可包括不同数目的反相器。在其它例子中,可使用缓冲器和反相器的组合。多路复用器660的输出可连接到时钟单元664的参考时钟输入662。多路复用器654、658和660可具有相应控制输入652、657和658以独立地选择使用哪个输入,由此允许调整环形振荡器的时钟频率。
时钟单元664可包括可以是可编程延迟器的延迟器668,以及例如具有一个非反相输入和一个反相输入的AND门的逻辑电路元件666。参考时钟输入662可连接到AND门666的非反相输入。延迟器676的输出可连接到延迟时钟输出670和AND门666的反相输入。AND门666的输出连接到评估信号输出672,所述评估信号输出672可连接到错误检测器(未示出)。
延迟时钟输出670可连接到定时校正器674的输入。定时校正器674可包括布置在延迟时钟输出670与定时校正器多路复用器680的第一输入之间的可编程延迟器676。定时校正器多路复用器680的第二输入可直接连接到延迟的时钟输出670。定时校正器多路复用器的输出可连接到系统时钟输出682。系统时钟输出还可连接到第一串联的反相器654a和第二串联的反相器654b的输入。此反馈路径可引起错误检测和校正系统650实施环形振荡器功能。定时校正器多路复用器680的控制输入可连接到错误检测器(未示出)的输出656。
在操作中,错误检测和校正系统650可在启用输出672上产生启用信号,所述启用信号用于恰在延迟时钟CLKdel的时钟转换之前的评估周期内启用错误检测器。检测到的错误信号可控制定时校正器674的系统时钟多路复用器680以通过可编程延迟器676从延迟的路径选择时钟系统CLKsys,由此延展时钟周期。系统时钟输出用于对其间具有如本文针对其它实施例所描述的数据路径的触发器进行计时。
错误检测和校正系统650实施环形振荡器,所述环形振荡器可防止紧接在校正的(延展的)时钟周期后的时钟周期变得过短,因为这可能导致不合需要的定时错误。此外,基于环形振荡器的时钟可校正全局PVT变化,而EDaC系统会校正局部变化。在环形振荡器的情况下,检测窗口应覆盖受监测数据路径与环形振荡器之间的任何失配。
图11示出根据一个或多个实施例的包括错误检测和校正系统的集成电路700。集成电路700中所示的错误检测和校正系统结合多相时钟使用时钟延展。
集成电路700包括可包括一组一个或多个触发器的寄存器702_1、702_2、702_3、702_4,所述触发器由系统时钟计时。逻辑数据路径704_1、704_2和704_3可布置在寄存器702_1、702_2、702_3、702_4之间。转换检测器710可具有连接到相应逻辑数据路径704_1、704_2和704_3内的关键节点708的输入。转换检测器710具有连接到错误检测器714的相应输入的输出712。错误检测器714的输出716可连接到时钟单元控制724的输入。从时钟单元控制724输出的错误信号选择729可连接到多相时钟单元722的输入。产生的多相启用信号可输出系统时钟720,所述系统时钟720连接到寄存器702_1、702_2、702_3和702_4中的每一个寄存器。多相时钟单元722可具有连接到错误检测器714的启用信号输出。
主时钟发生器728可具有连接到多相时钟发生器727的输出。如所示,多相时钟发生器727在连接到相应多相启用信号发生器输入的相应输出726_0(CLK-0%)、726_1(CLK2-25%)、726_2(CLK3-50%相移)和726_3(CLK4-75%相移)上产生四个时钟相位。
图12A示出多相时钟单元722的示例实施方案。来自多相时钟发生器726_0、726_1、726_2和726_3的相应输出连接到单相时钟单元730_0、730_1、730_2和732_3,每个单相时钟单元在相应启用信号输出732_0、732_1、732_2和732_3上针对相应时钟相位输出启用信号,并在输出734_0、734_1、734_2和734_3上输出相应时钟相位的延迟版本。延迟的时钟输出734_0、734_1、734_2和734_3可连接到系统时钟多路复用器738的相应输入。系统时钟多路复用器738的输出可连接到系统时钟输出720。启用信号输出732_0、732_1、732_2和732_3可连接到启用信号多路复用器736的相应输入。启用信号多路复用器的输出可连接到启用信号输出718。启用信号多路复用器736和系统时钟多路复用器738的控制输入可连接到错误信号选择729。
图12B示出集成电路700中的错误检测系统的操作750的例子。最初,基于表示为CLK0的第一时钟相位产生系统时钟。转换检测器710中的一个或多个转换检测器可检测接近系统时钟相位CLK0的周期结束的预定时间窗口内的转换,所述转换被视为定时错误。在检测到定时错误之后,启用信号发生器控制724可选择当前所用时钟相位的下一时钟相位,在此情况下为CLK1,以便校正错误。接着,系统时钟继续使用CLK1作为参考时钟直到后续定时错误被检测到。如果检测到后续定时错误,则使用CLK2。
图13示出根据实施例800的设计用于集成电路的错误检测和校正系统的方法。在步骤802中,对集成电路设计的电路元件进行放置和布线。在步骤804中,选择设计中的关键单元以标识设计的哪部分中要插入转换检测器。
在选择关键单元之后,方法移到步骤806,其中对转换检测器进行放置。在步骤808中,随后对转换检测器进行集群以标识哪些检测器可连接到可例如作为动态OR门的哪个错误检测器。在步骤810中,将动态OR门放置在集成电路布局上。最后,在步骤812中,完成转换检测器和错误检测器的布线以连接到相关数据路径节点。关键逻辑单元选择的方法步骤804和对转换检测器集群的步骤808是数字设计流的扩展。
对于关键单元选择804,优选方法是为此目的使用统计静态定时分析。这种类型的分析提供了局部变化下路径延迟的平均值和西格马(sigma)。这些值用于模拟的全系统蒙特卡罗(MC)模拟,针对以纳秒为单位的x轴822上在不同芯片样本上的关键定时路径,该模拟产生了y轴824上所示的概率密度函数(PDF)。
图14示出针对典型工艺条件下最坏情况50ns时钟操作设计的设计的示例单元选择820。PDF可用于推断适用定时窗口(TwIN)。此定时窗口应在所要成出率处开始,例如图14中的4σ,并在PDF开始完全重叠时结束。PDF之间的重叠越多指示每个分辨的定时错误的恢复余量越少。
在其它例子中,可通过利用常规静态定时分析来执行单元选择步骤804。图15中提供示例单元选择830,其中示出在慢PVT条件下同一设计的端点/单元832的数目的分布。时间窗口TWIN在朝向较低时钟周期的最坏情况时钟周期(如图15中的50ns)处开始。作为此时间窗口内的关键路径的一部分的单元是要用相应转换检测器(TD)监测的候选对象,相关的关键路径和单元由较暗的阴影834指示。
通过TD监测选定单元的输入/输出。然而,可折衷恢复的余量、所需转换检测器的数目和需要由EDaC系统分辨的定时错误的量。为了减少EDaC系统的开销,可另外考虑依据关键路径中信号传播统计数据和/或其它冗余度来监测总选定单元的子集。
所需TD的数目取决于需要被监测的关键单元的量。对于给定数字核心,此量可能很容易涉及数千个单元。监测关键单元的TD提供错误信号,所述错误信号借助于动态OR门压缩为单个错误信号。
提出的分级方法会限制连接到示例错误检测器中的单个动态OR门的TD的量。第一级动态OR门可连接下一层动态OR门。这可减少总体布线开销和功耗,以便将所有TD的错误信号会聚为用于定时错误检测和校正目的的单个错误信号。
在动态OR门的输入量、动态OR门的性能和EDaC系统的总导线长度之间存在折衷。在一些实施例中,错误检测器可使用10输入动态OR门,但在其它例子中,可使用具有少于或多于10个输入的动态OR门。K均值算法可用于确定动态OR门的放置位置,同时优化最小总线长。图16A在展示TD的平面布局图级别示出给定数字设计840的此类例子。图16B在展示TD位置和相应动态OR门放置的平面布局图级别示出给定数字设计850的此类例子。
描述的定时错误校正和检测系统的实施例可被包括在实施于利用运行时动态功率性能管理的集成电路上的低功率数字设计中。具体地说,电池供电的应用可得益于本发明。例如,耳部仪器、低功率连接解决方案(例如无线个人音频、IoT装置)、低功耗(通用)微控制器、低功率安全访问产品,例如汽车钥匙和楼宇访问。
此外,由于EDaC系统的实施例提供运行时性能指示,因此EDAC系统还可在IC高速测试(at-speed testing)和/或可靠性鉴定期间使用。对于高速测试,EDaC系统可用于支持在IC样本水平上验证(关键)路径性能。对于可靠性测试,EDaC系统的实施例可用于在高温工作寿命(HTOL)测试期间监测电路性能退化。此类信息可用于在不影响准确性/ppm水平的情况下降低总IC鉴定时间。
应了解,本文详细的实施例中描述的从0到1的逻辑转换可在具有不同详细实施方案的其它实施例中替换为1到0的转换。
本发明描述一种集成电路和设计包括错误检测和校正电路的集成电路的方法。所述集成电路包括被布置在由系统时钟计时的第一寄存器的输出与第二寄存器输入之间的数据路径。所述集成电路包括定时错误检测和校正电路(EDAC),所述EDAC具有被配置成接收参考时钟并提供延迟参考时钟的时钟单元。所述EDAC包括耦合到所述数据路径上的相应节点的多个转换检测器和耦合到每个转换检测器的错误检测电路。在设计期间,根据要监测的所要定时窗口来选择所述节点。如果在对应于所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段的快照期间发生转换,则所述错误检测电路标记错误。耦合到所述错误检测电路的定时校正电路输出从所述延迟参考时钟导出的系统时钟。所述定时校正电路还被配置成响应于检测到错误而调适所述系统时钟。
在一些示例实施例中,上文描述的指令集/方法步骤实施为体现为可执行指令集的功能和软件指令,所述可执行指令集在计算机或以所述可执行指令编程和控制的机器上实现。此类指令被加载以在处理器(例如,一个或多个CPU)上执行。术语处理器包括微处理器、微控制器、处理器模块或子系统(包括一个或多个微处理器或微控制器),或其它控制或计算装置。处理器可指单个组件或多个组件。
在其它例子中,本文示出的指令集/方法以及与其相关联的数据和指令存储于相应存储装置中,所述存储装置被实施为一个或多个非瞬态机器或计算机可读或计算机可用存储介质。此类一个或多个计算机可读或计算机可用存储介质被视为物品(或制品)的部分。物品或制品可指任何制造的单个组件或多个组件。如本文所定义的非瞬态机器或计算机可用介质不包括信号,但此类介质能够接收并处理来自信号和/或其它瞬态介质的信息。
本说明书中论述的材料的示例实施例可整体或部分地通过网络、计算机或基于数据的装置和/或服务实施。这些可包括云、互联网、内联网、移动装置、台式计算机、处理器、查找表、微控制器、消费者设备、基础设施,或其它启用装置和服务。如本文和权利要求书中可能使用,提供以下非排他性定义。
在一个例子中,使本文所论述的一个或多个指令或步骤自动化。术语自动化或自动地(和其类似变体)意指使用计算机和/或机械/电气装置控制设备、系统和/或工艺的操作,而不需要人为干预、观测、努力和/或决策。
尽管所附权利要求书涉及特征的特定组合,但应理解,本发明的公开内容的范围还包括本文中明确地或隐含地公开的任何新颖特征或任何新颖特征组合或其任何一般化形式,而不管其是否涉及当前在任何权利要求中要求的相同发明或其是否缓解与本发明所缓解的技术问题相同的任一或所有技术问题。
在单独实施例的上下文中描述的特征可组合提供于单个实施例中。相反,为简洁起见,在单个实施例的上下文中描述的各种特征也可单独地或以任何合适的子组合形式提供。
申请人特此提醒,在审查本申请或由此衍生的任何另外的申请期间,可能会根据此类特征和/或此类特征的组合而制订新的权利要求。
为完整性起见,还规定术语“包括”不排除其它元件或步骤,术语“一(a或an)”不排除多个、单个处理器或其它单元可实现在权利要求中所述的若干构件的功能,且权利要求中的附图标记不应被解释为限制权利要求的范围。
附图标记表
Figure BDA0003106133800000221
Figure BDA0003106133800000231
Figure BDA0003106133800000241
Figure BDA0003106133800000251
Figure BDA0003106133800000261
Figure BDA0003106133800000271
Figure BDA0003106133800000281

Claims (10)

1.一种用于包括数据路径的集成电路的定时错误检测和校正电路,其特征在于,所述数据路径包括至少一个逻辑门,并且布置在第一触发器的输出与第二触发器的输入之间,所述定时错误检测和校正电路包括:
时钟单元,其被配置成接收参考时钟并提供延迟参考时钟;
转换检测器,其耦合到所述数据路径上的节点并且被配置成检测所述节点上的数据值转换;
错误检测电路,其耦合到所述转换检测器和所述时钟单元,并且被配置成响应于在所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段期间检测到数据值转换而检测到错误;
定时校正电路,其耦合到所述错误检测电路,并且被配置成输出从所述延迟参考时钟导出的系统时钟并将所述系统时钟提供到所述第一触发器和所述第二触发器,并且其中所述定时校正电路还被配置成响应于检测到错误而调适所述系统时钟。
2.根据权利要求1所述的电路,其特征在于,还包括另一转换检测器,所述另一转换检测器耦合到所述数据路径上的另一节点并且被配置成检测所述另一节点上的信号转换;其中所述错误检测电路耦合到所述另一转换检测器,并且还被配置成响应于由所述转换检测器和所述另一转换检测器中的至少一个转换检测器在所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段期间检测到信号转换而检测到错误。
3.根据权利要求2所述的电路,其特征在于,所述数据路径布置在包括所述第一触发器的第一组触发器与包括所述第二触发器的第二组触发器之间,并且其中所述节点和所述另一节点具有到所述第二组触发器中的至少一者的小于参考时钟周期的20%的路径延迟。
4.根据在前的任一项权利要求所述的电路,其特征在于,所述时钟单元包括:延迟单元,其具有耦合到参考时钟输入的输入和耦合到延迟参考时钟输出的输出;以及逻辑电路元件,其具有耦合到所述参考时钟输入的第一输入和耦合到所述延迟参考时钟输出的第二输入,并且被配置成产生信号,以用于在所述参考时钟和所述延迟参考时钟不同时启用所述错误检测电路。
5.根据权利要求3或4所述的电路,其特征在于,所述逻辑电路元件被配置成在所述参考时钟为逻辑高并且所述延迟参考时钟为逻辑低时产生启用信号。
6.根据在前的任一项权利要求所述的电路,其特征在于,所述错误检测电路包括动态逻辑电路,所述动态逻辑电路具有耦合到转换检测电路的输出的输入和耦合到所述逻辑电路元件输出的启用输入。
7.根据权利要求6所述的电路,当依附于权利要求2时,其特征在于,所述动态逻辑电路包括耦合到另一转换检测电路的输出的另一输入,并且其中所述动态逻辑电路实施所述转换检测电路输出和所述另一转换检测电路输出的逻辑OR。
8.根据在前的任一项权利要求所述的电路,其特征在于,所述转换检测器包括:耦合到延迟单元的输入和EXOR门的第一输入的转换检测器输入;耦合到所述EXOR门的第二输入的所述延迟单元的输出;以及耦合到转换检测器输出的所述EXOR门的输出。
9.一种集成电路,其特征在于,包括在前的任一项权利要求所述的定时错误检测和校正电路以及包括至少一个逻辑门的数据路径,所述数据路径布置在包括所述第一触发器的第一组触发器与包括所述第二触发器的第二组触发器之间。
10.一种设计集成电路的方法,其特征在于,所述集成电路包括:
时钟单元,其被配置成接收参考时钟并提供延迟参考时钟;
数据路径,其包括至少一个逻辑门,所述数据路径布置在第一触发器的输出与第二触发器的输入之间;
多个转换检测器,其耦合到所述数据路径上的相应节点并且被配置成检测所述相应节点上的数据值转换;
错误检测电路,其耦合到所述转换检测器和所述时钟单元,并且被配置成响应于在所述参考时钟的转换与所述延迟参考时钟的对应转换之间的时间段期间检测到数据值转换而检测到错误;
定时校正电路,其耦合到所述错误检测电路,并且被配置成输出从所述延迟参考时钟导出的系统时钟并将所述系统时钟提供到所述第一触发器和所述第二触发器,并且其中所述定时校正电路还被配置成响应于检测到错误而调适所述系统时钟,所述方法包括:
对设计的逻辑单元进行放置和布线;
标识关键定时路径上对应于数据路径节点的单元;
放置所述多个转换检测器;
标识转换检测器集群;
依据所述集群放置所述错误检测电路的电路元件;
将所述转换检测器连接到所述数据路径节点和所述错误检测电路。
CN202110639805.0A 2020-06-08 2021-06-08 定时错误检测和校正电路 Pending CN113835012A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP20178825.4A EP3923472A1 (en) 2020-06-08 2020-06-08 Timing error detection and correction circuit
EP20178825.4 2020-06-08

Publications (1)

Publication Number Publication Date
CN113835012A true CN113835012A (zh) 2021-12-24

Family

ID=71078419

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110639805.0A Pending CN113835012A (zh) 2020-06-08 2021-06-08 定时错误检测和校正电路

Country Status (3)

Country Link
US (1) US11971740B2 (zh)
EP (1) EP3923472A1 (zh)
CN (1) CN113835012A (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11380835B2 (en) * 2019-07-22 2022-07-05 Microsoft Technology Licensing, Llc Determining critical timing paths in a superconducting circuit design
US11947891B2 (en) * 2021-08-20 2024-04-02 International Business Machines Corporation Balancing cycle stealing with early mode violations
US12068745B2 (en) * 2021-08-31 2024-08-20 Arm Limited Multi-bit scan chain with error-bit generator
US11686769B1 (en) * 2022-01-05 2023-06-27 Nxp B.V. Signal toggling detection and correction circuit
WO2023194644A1 (en) * 2022-04-05 2023-10-12 Minima Processor Oy Adjustable timing event monitoring window
US12050485B2 (en) * 2022-04-21 2024-07-30 Globalfoundries U.S. Inc. Post-manufacture latch timing control blocks in pipelined processors

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3487532B2 (ja) * 1996-07-08 2004-01-19 株式会社東芝 データ処理装置、半導体記憶装置、及びデータ処理方法
US6864715B1 (en) * 2003-02-27 2005-03-08 Xilinx, Inc. Windowing circuit for aligning data and clock signals
US7622961B2 (en) 2005-09-23 2009-11-24 Intel Corporation Method and apparatus for late timing transition detection
US7409631B2 (en) 2005-12-30 2008-08-05 Intel Corporation Error-detection flip-flop
US9189014B2 (en) 2008-09-26 2015-11-17 Intel Corporation Sequential circuit with error detection
US8615687B2 (en) * 2010-07-23 2013-12-24 Arm Limited Data processing system and method for regulating a voltage supply to functional circuitry of the data processing system
US8222943B2 (en) 2010-09-22 2012-07-17 Freescale Semiconductor, Inc. Master-slave flip-flop with timing error correction
US8639987B2 (en) * 2011-02-18 2014-01-28 Arm Limited Data processing apparatus and method using monitoring circuitry to control operating parameters
US8471612B1 (en) 2012-07-10 2013-06-25 Arm Limited Signal value storage circuitry with transition error detector
US9146574B2 (en) 2013-03-04 2015-09-29 Stmicroelectronics International N.V. Noise canceling current mirror circuit for improved PSR
EP2796958B1 (en) 2013-04-22 2017-09-20 Nxp B.V. A clock control circuit and method
US9746877B2 (en) * 2013-06-11 2017-08-29 Agency For Science, Technology And Research Detecting and correcting an error in a digital circuit
EP3361637A1 (en) * 2017-02-09 2018-08-15 Nxp B.V. A method, and a synchronous digital circuit, for preventing propagation of set-up timing data errors
US11380835B2 (en) * 2019-07-22 2022-07-05 Microsoft Technology Licensing, Llc Determining critical timing paths in a superconducting circuit design

Also Published As

Publication number Publication date
US11971740B2 (en) 2024-04-30
EP3923472A1 (en) 2021-12-15
US20210382518A1 (en) 2021-12-09

Similar Documents

Publication Publication Date Title
CN113835012A (zh) 定时错误检测和校正电路
US11139805B1 (en) Bi-directional adaptive clocking circuit supporting a wide frequency range
Zhang et al. irazor: Current-based error detection and correction scheme for pvt variation in 40-nm arm cortex-r4 processor
Choudhury et al. TIMBER: Time borrowing and error relaying for online timing error resilience
Bowman et al. A 16 nm all-digital auto-calibrating adaptive clock distribution for supply voltage droop tolerance across a wide operating range
US8555124B2 (en) Apparatus and method for detecting an approaching error condition
US8125246B2 (en) Method and apparatus for late timing transition detection
US20090115468A1 (en) Integrated Circuit and Method for Operating an Integrated Circuit
US8381009B2 (en) Device and method for power management
US20030006806A1 (en) Data-driven clock gating for a sequential data-capture device
US20090315601A1 (en) Device and method for timing error management
KR20090016090A (ko) 파이프라인 시스템의 동적 클럭 제어 장치 및 방법
CN212969591U (zh) 电子装置、电子电路和电子系统
Shan et al. Timing error prediction AVFS with detection window tuning for wide-operating-range ICs
US6624681B1 (en) Circuit and method for stopping a clock tree while maintaining PLL lock
US6915497B2 (en) Automatic design system for wiring on LSI
Das et al. Frequency-independent warning detection sequential for dynamic voltage and frequency scaling in ASICs
Semio et al. Signal integrity enhancement in digital circuits
Cortadella et al. Narrowing the margins with elastic clocks
Oklobdzija Clocking in multi-GHz environment
Balef et al. Timing speculation with optimal in situ monitoring placement and within-cycle error prevention
US11879938B2 (en) Method for detecting perturbations in a logic circuit and logic circuit for implementing this method
Sannena et al. Metastability immune and area efficient error masking flip-flop for timing error resilient designs
CN112104343B (zh) 一种电流型电平跳变监测单元
US20230253779A1 (en) Overvoltage and slow clock glitch detection

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