CN108446439A - 用于防止设置时序数据误差的传播的方法和同步数字电路 - Google Patents
用于防止设置时序数据误差的传播的方法和同步数字电路 Download PDFInfo
- Publication number
- CN108446439A CN108446439A CN201810139921.4A CN201810139921A CN108446439A CN 108446439 A CN108446439 A CN 108446439A CN 201810139921 A CN201810139921 A CN 201810139921A CN 108446439 A CN108446439 A CN 108446439A
- Authority
- CN
- China
- Prior art keywords
- clock
- time order
- data
- order error
- synchronous digital
- 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
Links
- 230000001360 synchronised effect Effects 0.000 title claims abstract description 28
- 238000000034 method Methods 0.000 title claims description 21
- 238000012937 correction Methods 0.000 claims abstract description 45
- 238000011144 upstream manufacturing Methods 0.000 claims abstract description 17
- 230000004044 response Effects 0.000 claims abstract description 12
- 230000005540 biological transmission Effects 0.000 claims abstract description 4
- 230000009977 dual effect Effects 0.000 claims description 21
- 238000001514 detection method Methods 0.000 claims description 19
- 230000005611 electricity Effects 0.000 claims description 4
- 239000011469 building brick Substances 0.000 claims description 2
- 230000003111 delayed effect Effects 0.000 description 32
- 230000000630 rising effect Effects 0.000 description 23
- 238000005070 sampling Methods 0.000 description 11
- 239000000872 buffer Substances 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000013501 data transformation Methods 0.000 description 7
- 238000013461 design Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 6
- 238000012544 monitoring process Methods 0.000 description 6
- 230000009466 transformation Effects 0.000 description 5
- 238000010586 diagram Methods 0.000 description 4
- 206010070589 Ischaemic contracture of the left ventricle Diseases 0.000 description 3
- 238000007726 management method Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 230000032683 aging Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000010521 absorption reaction Methods 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 238000007789 sealing Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000006641 stabilisation Effects 0.000 description 1
- 238000011105 stabilization Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/19—Monitoring patterns of pulse trains
-
- 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
- G06F30/3308—Design verification, e.g. functional simulation or model checking using simulation
- G06F30/3312—Timing analysis
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/04—Generating or distributing clock signals or signals derived directly therefrom
- G06F1/12—Synchronisation of different clock signals provided by a plurality of clock generators
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/31725—Timing aspects, e.g. clock distribution, skew, propagation delay
- G01R31/31726—Synchronization, e.g. of test, clock or strobe signals; Signals in different clock domains; Generation of Vernier signals; Comparison and adjustment of the signals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/16—Error detection or correction of the data by redundancy in hardware
- G06F11/1604—Error detection or correction of the data by redundancy in hardware where the fault affects the clock signals of a processing unit and the redundancy is at or within the level of clock signal generation hardware
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/35—Delay-insensitive circuit design, e.g. asynchronous or self-timed
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K19/00—Logic circuits, i.e. having at least two inputs acting on one output; Inverting circuits
- H03K19/003—Modifications for increasing the reliability for protection
- H03K19/00369—Modifications for compensating variations of temperature, supply voltage or other physical parameters
- H03K19/00384—Modifications for compensating variations of temperature, supply voltage or other physical parameters in field effect transistor circuits
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03K—PULSE TECHNIQUE
- H03K5/00—Manipulating of pulses not covered by one of the other main groups of this subclass
- H03K5/22—Circuits having more than one input and one output for comparing pulses or pulse trains with each other according to input signal characteristics, e.g. slope, integral
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0054—Detection of the synchronisation error by features other than the received signal transition
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Physics & Mathematics (AREA)
- Nonlinear Science (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Quality & Reliability (AREA)
- Manipulation Of Pulses (AREA)
- Synchronisation In Digital Transmission Systems (AREA)
- Logic Circuits (AREA)
Abstract
公开一种同步数字电路,包括:数据路径;硬宏,其具有宏输入;逻辑电路,其在所述宏输入上游的所述数据路径中且具有第一部分和第二部分,所述第二部分在所述宏输入的紧靠上游处;设置时序误差检测器,其具有输入,其中所述输入在所述第一部分与所述第二部分之间的所述数据路径上;以及时序校正单元,其中跨所述第二部分的数据传输时间等于或小于时钟周期的一半,且其中所述时序校正单元被配置成响应于所述设置时序误差检测器检测到设置时序误差而在所述数据到达所述宏输入之前校正所述检测到的设置时序误差。
Description
技术领域
本公开涉及同步数字电路,且涉及在此同步数字电路中避免数据中的设置时序数据误差从逻辑传播到硬宏的方法。
背景技术
同步数字电路可能经历设置时序误差。当在时钟信号的后续上升沿之前电路未实现具体的明确限定的数据状态(高或低)时设置时序误差出现。设置时序误差可能归因于例如老化、电压按比例缩放、频率按比例缩放等若干原因而出现。
设置时序误差可使用例如双重采样触发器检测。一旦检测到误差,便可例如通过从后续级,具体地说通常为另一逻辑块的下一下游管线级“借用”时间来大体上掩蔽所述误差。由此掩蔽的误差传播通过逻辑,而不引起故障。然而,在一些架构中,具体地说,在存在硬宏时,这可能是不可能的。如在下文中将更详细地描述,在本公开中,硬宏,也称为硬IP的硬核心,是指电路元件或块,在所述硬宏的输入处,不可容许或不可检测时序误差。
发明内容
根据本公开的一个方面,提供具有系统时钟且用于处理数据信号的同步数字电路,其中数字电路包括:数据路径;硬宏,其具有宏输入;逻辑电路,其在宏输入的上游的数据路径中且具有第一部分和第二部分,第二部分在宏输入的紧靠上游处;设置时序误差检测器,其具有输入,其中输入在第一部分与第二部分之间的数据路径上;以及时序校正单元:其中(在正常操作期间)跨第二部分的数据传输时间等于或小于时钟周期的一半,且其中时序校正单元被配置成响应于设置时序误差检测器检测到设置时序误差而在数据到达宏输入之前校正检测到的设置时序误差。
在一个或多个实施例中,设置时序误差检测器在数据路径中且在逻辑电路的第一部分与逻辑电路的第二部分之间。
在一个或多个其它实施例中,设置时序检测器不在数据路径中,且在数据路径中,逻辑电路的第一部分邻近于数据路径中的逻辑电路的第二部分。在数据路径中包括设置时序误差检测器可能是有益的,这是因为整体流程被简化;相反,对于一个或多个实施例,数据路径中不具有设置时序误差检测器可能节省一些时间:这是因为使数据横移通过检测器还涉及使其传递通过一些小区;这具有减缓数据的影响。当数据不传递通过检测器但代替地检测器仅采样数据且在需要时标记误差时此情况不发生。
在一个或多个实施例中,时序误差检测器包括被配置成将误差标记到时序校正单元的标记。
在一个或多个实施例中,时序误差检测器包括具有时钟输入的双重采样触发器,所述时钟输入是反相系统时钟。在其它实施例中,代替DSFF使用类似电路设计,举例来说,锁存器的逻辑组合可用于实现相同或类似结果:具体来说对于检测和标记比预期晚的数据转变。
在一个或多个实施例中,双重采样触发器另外包括为经延迟反相系统时钟的经延迟时钟输入。
在一个或多个实施例中,时序校正单元包括被配置成响应于检测到设置时序误差而门控时钟的时钟门控单元。
在一个或多个其它实施例中,时序校正单元包括被配置成响应于检测到设置时序误差而展宽时钟的时钟展宽器。在此类实施例或其它实施例中,时序校正单元可形成用于提供系统时钟的时钟产生单元的部分。在又其它实施例中,时序校正单元包括以下各项中的一个:(a)电压调整单元,其被配置成调整同步数字电路的电压,以便加速时钟;和(b)体偏压调整电路,其被配置成响应于检测到设置时序误差而调适同步数字电路的体偏压。
在一个或多个实施例中,硬宏是SRAM。在其它实施例中,硬宏是图形处理单元(GPU)。通常但非限制性地,可预编译硬宏且使得电路设计者不可编辑或合成所述硬宏。一般来说,还可被称作硬核心的硬宏使得:如果误差传播到其中,那么误差是不可检测和不可恢复的。如本文中所使用,“硬”宏可区别于“软宏”:在软宏的情况下,有可能检测和校正已传播到宏中的误差。
根据本公开的另一方面,提供包括如上文所描述的同步数字电路的电子组件。电子组件可以是例如微控制器、数字信号处理器和图形处理单元中的一个。
根据本公开的另一方面,提供防止数据中的设置时序数据误差从逻辑传播到硬宏的方法,逻辑和硬宏都包括在同步数字电路中,方法包括:借助于设置时序误差检测器在数据到达硬宏之前在正常操作时钟周期的一半内检测设置时序误差,以及响应于检测到设置时序误差而在数据到达宏输入之前校正检测到的设置时序误差。
在一个或多个实施例中,检测设置时序误差包括通过双重采样触发器对数据进行双重采样。
在一个或多个实施例中,校正检测到的设置时序误差包括门控系统时钟或展宽系统时钟,且将数据替换为双重采样触发器的第二样本。在一个或多个其它实施例中,校正检测到的设置时序误差包括调整同步数字电路的操作电压,且将数据替换为双重采样触发器的第二样本:由于数据具有较少时间行进通过逻辑的第二部分,因此需要补偿。这可通过增大逻辑电压(Vdd)来完成:也就是说,当检测到误差时,核心逻辑的Vdd应增大,从而允许数据更快地移动通过逻辑。时钟周期自身不受影响。替代地且非限制性地,可将偏压电压施加到逻辑小区中的大部分晶体管,也就是说,使用‘正向体偏压’,这样将增大行进通过逻辑的数据的速度。
这些和其它方面将从下文中所描述的实施例中显而易见且参考下文中所描述的实施例予以阐明。
附图说明
将参考附图仅借助于例子来描述实施例,在附图中
图1示出具有同步设计的典型逻辑路径;
图2示出具有同步设计的典型逻辑路径,在其中常规触发器被替换为双重采样触发器(DSFF);
图3示出DSFF的接脚的概观;
图4是用于检测设置时序误差的DSFF的时序图;
图5示出说明设置时序误差的检测和校正的典型路径的时序图;
图6示出引向硬宏的逻辑路径;
图7示出根据一个或多个实施例的其中路径包括设置误差检测器的引向硬宏的逻辑路径;
图8示出其中设置误差检测器呈DSFF形式的引向硬宏的逻辑路径;
图9是根据本公开的实施例的示出设置时序误差的检测和一半时钟周期内的校正的时序图;
图10示出根据一个或多个实施例的引向硬宏且包括不在逻辑路径中的设置误差检测器的逻辑路径;
图11示出其中检测器呈DSFF形式的引向硬宏的逻辑路径;
图12示出根据一个或多个实施例的方法的流程图;
图13示出根据一个或多个其它实施例的方法的流程图;
图14示出说明电路在无设置时序误差检测和校正的情况下的性能的曲线图;
图15示出说明电路在具有根据实施例的设置时序误差检测和校正的情况下的性能的曲线图;
图16示出检测器的另一实施方案,且
图17示出检测器的又一实施方案。
应注意,图式是出于图解说明且未按比例绘制。为在图中清楚和便利起见,这些图式的各部分的相对尺寸和比例已通过在大小上放大或减小而示出。相同的附图标记一般用于指在修改的和不同的实施例中的对应或相似特征。
具体实施方式
图1示出具有同步数字设计的典型路径100,其具有逻辑块110和120,且包括常规触发器130、140和150。路径包括数据信号160和时钟信号170。时钟信号170是由时钟产生单元(CGU)180产生且作为时钟输入CLK供应到触发器中的每一个的系统时钟。系统时钟可以是本地时钟或可以是通用时钟。来自每个逻辑级,也被称作管线级的数据输出被输入到数据输入D处的后续触发器,且触发器锁存输出Q被作为输入供应到下一逻辑级。
图2示出相同路径100,其中触发器140和150被替换为双重采样触发器(DSFF)240和250。DSFF允许检测设置时序误差,如参看图3和4将描述。
图3示出DSFF的接脚。除数据输入D 310之外,其还具有两个时钟输入:第一个是正常时钟输入CLK 320,且另一个是经延迟时钟CLK_DEL 330。在此例子中,通过将时钟线中的缓冲器355添加到经延迟时钟输入CLK-DEL来引入延迟。应注意,这是产生经延迟时钟的一个解决方案,但其它解决方案是可能的。除锁存输出Q340之外,DSFF还具有第二输出ERR350。代替常规触发器使用DSFF允许检测设置时序误差,且当检测到设置时序误差时在输出ERR上提供标记。
实现此情况的方法由图4中所示出的时序图说明。图4示出410处的数据信号、420处的时钟信号CLK、430处的经延迟时钟CLK_DEL、440处的锁存器Q和450处的误差标记ERR。在此情况下,存在设置时序误差,使得数据D在时钟信号CLK的上升沿之前未稳定。代替地,数据D在CLK与CLK_DEL的上升沿之间的一半处改变。触发器能够记录锁存器输出Q上的新数据且还标记CLK_DEL的上升沿与CLK的下降沿之间的ERR信号。应注意,在此例子中,错误信号是低有效错误信号。
应注意,时钟信号CLK与经延迟时钟CLK_DEL之间的延迟的持续时间限定检查窗口的宽度。在数据改变的延迟超过CLK与CLK_DEL之间的偏移量的极端情况中,将检测不到时序误差。应了解,可调整检查窗口的大小或宽度。调整是通过增加时钟与经延迟时钟之间的延迟完成的。检查窗口的大小或宽度确定系统可处理的数据信号中的可变性的量。
例如Ernst等人在“剃刀:对于低电力操作的时序误差的电路级校正(Razor:Circuit-Level Correction Of Timing Errors For Low-Power Operation)”(IEEEMicro,第24卷,第6期,2004年12月,第10-20页)中和M.Choudhury等人在“木材:用于在线时序误差恢复的时间借用和误差中继(TIMBER:Time borrowing and error relaying foronline timing error resilience)”(Proc.of the Conference on Design,Automationand Test in Europe,德国德累斯顿,2010年3月,第1554-1559页)中已提出了各种类型的双重采样触发器。
已知掩蔽或校正已由双重采样触发器或以其它方式检测到的设置时序误差。掩蔽误差可包括使误差传播到下一级逻辑,所述下一级具有充足的裕量来吸收误差。校正误差可例如通过时钟展宽来完成,如图5中所示出。
图5示出数据信号数据510、时钟信号CLK 520、经延迟时钟CLK-DEL 530和低有效误差标记ERR 540。应注意,在此图中,示出数据信号的高和低两种状态:交叉点标记信号中可能改变的时刻(无论是否实际出现转变);应了解,为了清楚起见,省略“高到高”和“低到低”非转变。在此说明性例子中,经延迟时钟延迟了时钟周期的四分之一。因此,检查窗口550等于时钟周期的四分之一。CLK与CLK_DEL的上升沿之间的检查窗口可通过如图3中所示出的包括CLK与CLK_DEL之间的缓冲器或以其它方式来限定。
如图5中所示出,第一数据转变512不具有任何时序误差,也就是说其在CLK 520的上升沿522之前出现。然而,后续数据转变经历时序误差,使得其在CLK 520的上升沿524之后出现。因此,触发器的第一采样不记录数据转变。然而,数据转变514出现在第二经延迟时钟CLK_DEL之前且在第二经延迟时钟CLK_DEL时是稳定的。因此,由经延迟时钟触发的第二采样的确记录转变,且可锁存“校正”输出(未示出)。同时,来自第一采样与第二采样的输出之间的差触发ERR标记540,以变得有源(即,在此例子中为低)。
在此具体例子中,仅在系统时钟的下降沿以前确证误差标记ERR,在所述下降沿处时间被重置。将认识到在其它例子中,可锁存误差标记,直到完成校正性动作为止。
在识别误差的情况下,可例如如所示出的通过时钟展宽来对其进行校正。时钟展宽的原理涉及通过展宽间隔S(图5中560处所示出)来延迟时钟信号CLK的上升沿。理想地,展宽间隔560与检查窗口的持续时间相同。由于CLK已被展宽了至少与时序误差偏移量一样长的持续时间,因此在此时钟周期期间不存在另一设置时序误差的情况下,在时钟的后续上升沿之前,下一小区中的逻辑应具有稳定时间。
技术人员将知晓校正所检测到的误差的其它方法。举例来说,可使用例如时钟门控的机制,其中时钟停止了一个完整循环,以便给数据更多时间到达下一触发器。在其它例子中,误差可自校正,举例来说,在下一管线级相对较短的情况下,由此逻辑在小于一个完整时钟周期中但在CLK_DEL的上升沿与CLK的后续上升沿之间的经缩短时钟周期内具有稳定时间。
当数据路径包括例如SRAM的硬宏或其它硬核心时,问题产生。图6中示出与图2中所示出的数据路径类似的此示例数据路径,例外为DSFF触发器250替换为硬宏,在此情况下,为SRAM 650。宏,且更具体地说硬宏,可被视为‘黑盒’,其不可存取且因此额外双重采样触发器或其它方法不可集成于其中。硬宏的例子是存储器,例如图6中所示出的SRAM。
目前,在连接到硬宏(例如,存储器)的级中,不存在借用时间的可能性。在数据到达硬宏之前必须检测且解决所有时序误差,也就是说,在存储器的情况下,校正信号必须进入存储器以确保校正操作。
此问题可根据本公开的实施例通过包括在硬宏的上游和附近进行的检测和校正机制来解决。实际上,此布置充当“宏监测”,以监测数据且确保当数据到达宏时数据是无误差的。
图7中示出此布置。布置包括定位于接近宏的数据路径中的设置时序误差检测器790。具体来说,如将在下文更详细地论述,检测器应在宏的一半时钟周期内,从而确保检测器与硬宏之间不产生设置时序误差。应了解,提及此“不超过一半时钟周期”是指数据传输相应逻辑块所耗费的时间。如果在硬宏的紧靠上游处的逻辑块的持续时间超过一半时钟周期,那么逻辑块应如所示出的被分离成两部分122和124,其间具有检测器790。检测器790与硬宏之间的逻辑块第二部分124不超过一半时钟周期。
此外,当通过检测器检测到设置时序误差时,必须在其到达宏之前对其进行校正。误差校正可借助于时钟门控或通过使用提供快速且较少吞吐量约束的误差校正方法的时钟展宽器来完成。另外,布置包括从检测器到时序校正单元780的反馈路径795,其可使用时钟门控、时钟展宽或其它功能性以在误差传播到硬宏之前对其进行校正。因此,根据本公开的同步数字电路可提供一种方式以适应归因于各种来源(例如,老化、电压按比例缩放、频率按比例缩放等)的时序设计改变。通过检测时序误差且在误差到达硬宏之前对其进行校正,且由此确保将正确值输入到硬宏中。
检测器接近宏的距离可超过时钟周期的一半;然而,由于在信号到达宏时还需校正由检测器检测到的任何误差,因此将检测器更接近宏放置对时序校正单元的操作强加了更紧密的约束。此外,由于被锁存的数据D与时钟之间需要匹配,因此如果检测器接近宏放置的距离超过一半时钟周期,那么可能使时钟与时钟处预期的数据值匹配更加复杂,如下文中将另外论述。
如图7中所示出,时序校正单元780可以是时钟产生单元180的部分,以促使时钟获得或时钟展宽。在其它实施例中,时序校正单元利用动态电压按比例缩放(未示出)。在施加动态电压按比例缩放的情况下,错误信号可能馈入到系统的功率管理单元,其中错误信号提供需增大系统或子系统电压以使系统更快的指示。在其它实施例中,电路可用于确定维持相同吞吐量的最低安全操作电压:举例来说,可运行系统且逐步地减小电压,直到检测器开始标记误差为止,由此减小吞吐量,所述误差由时序校正单元校正。接着可增大操作电压,直到没有误差被标记为止,从而吞吐量恢复到原始吞吐量。接着电压为对于标称电压来说在相同吞吐量情况下可运行系统的最低电压。假设此最低安全运行电压低于标称电压,将保存电力。
在一个或多个实施例中,设置时序检测器790采用DSFF的形式。这在图8中示出,其中DSFF 890定位于数据路径中,不超过硬宏的上游处的一半循环。DSFF具有来自上游逻辑块第一部分122的数据输入892,和经锁存输出Q 894,其充当到在硬宏的紧靠上游处的下游逻辑块第二部分124的输入。DSFF具有时钟输入896和经延迟时钟输入898。延迟可通过包括时钟与经延迟时钟之间的缓冲器895来实施。
在DSFF恰好是硬宏上游的时钟周期的一半的情况下,DSFF时钟恰好是干线,即由CGU 180产生的系统时钟之后的一半周期。也就是说,DSFF时钟是系统时钟的反相拷贝。此在图8中由反相器885示出。在DSFF比硬宏上游的一半周期小偏移量delta_t的情况下,DSFF经延迟时钟CLK_DEL从反相系统时钟偏移了等效得偏移量delta_t。这可例如通过增加缓冲器895的缓冲时间,从而有效地增大检查窗口来完成。然而,接着CLK_INV锁存器错误数据的几率更高。替代解决方案(图8中未示出)是在反相器885有效地移位整个检查窗口之前(或之后)添加缓冲器。技术人员将了解其它解决方案可以是可能的,例如经延迟时钟可贯穿整个芯片提供,从而产生一个常规的和一个经延迟的两个时钟树,但这将可能产生大量额外面积要求和布线问题。类似地且同样非限制性地,反相时钟可贯穿整个芯片提供。
如已经提到的,当标记误差时,系统应采取校正性措施。这可呈时钟门控或例如时钟展宽等某些更精细的形式,且还可采用动态电压按比例缩放或自适应体偏压,或其它此类技术,其中系统电压的调整产生时钟周期的改变。应注意,在此情况下,必须在数据到达硬宏之前,激活校正性措施,所述硬宏在检测器的一半时钟周期内。也就是说,必需的是,必须在可能被损坏的数据到达硬宏之前开始校正性动作。当然,在校正性措施涉及通过例如时钟展宽或时钟门控“停止时钟”的实施例中,校正性措施不必在标准时钟一半周期(也就是说,未更改的自由运行时钟的时钟循环的一半)结束之前完成;然而,需要的是,在数据到达硬宏之前,也就是说,考虑到时钟展宽或时钟门控在本地时钟的时钟循环的剩余部分内,完成校正性措施。
图9示出根据根据本公开的方法。
图9描绘数据信号数据910(示出高和低两种状态且示意性示出可能转变的时刻)、时钟信号CLK 920和经延迟时钟CLK_DEL 930,类似于图5的常规电路。经延迟时钟延迟了时钟周期的四分之一。因此,检查窗口970等于时钟周期的四分之一。如上文所提到,CLK与CLK_DEL的上升沿之间的检查窗口可通过如图3中所示出的包括CLK与CLK_DEL之间的缓冲器或以其它方式限定。然而,此图式还并入有呈DSFF形式的设置时序误差检测器,所述DSFF具有反相时钟CLK_INV 950、和经延迟反相时钟CLK_INV_DEL 960,和低有效误差标记ERR940。
如图9中所示出,前两个示出的数据转变912和914不具有任何时序误差,也就是说它们在CLK 920的上升沿922和924之前出现。(应注意,连同在时钟CLK 922的上升沿之前示出的预期的转变时刻一起,在CLK_INV 950的每个上升沿之前存在涉及宏监测的其它时刻)。然而,在由上升沿924指示的时钟周期的开始之后,逻辑中存在时序误差,使得转变916(其应在一半循环时刻之前出现)比预期稍晚出现。也就是说,其在CLK 920的下降沿925之后而非在其之前出现,且因此其在本发明时钟CLK_INV 950的上升沿954之后出现。因此设置时序误差触发器890的第一采样不记录数据转变。然而,数据转变916出现在第二经延迟时钟CLK_INV_DEL的上升沿之前,且在第二经延迟时钟CLK_INV_DEL的上升沿时是稳定的,所述第二经延迟时钟CLK_INV_DEL的上升沿在检查窗口975之后。因此,由经延迟时钟触发的第二采样的确记录转变,且可锁存“校正”输出(未示出)。同时,来自第一采样与第二采样的输出之间的差触发ERR标记940(即,在此例子中其变为低)。
根据实施例的系统通过施加校正性措施而对此进行响应,在此例子中所述校正性措施借助于时钟展宽完成。时钟展宽器将时钟信号延迟了一定量的时间(在此情况下,周期的四分之一),以便使数据准时到达。
根据本公开的另一实施例在图10中示出。此实施例类似于图7中所示出的实施例,例外为,在此情况下,设置时序误差检测器1090不在逻辑路径中。实际上,在逻辑路径中距硬宏等于或小于时钟周期的一半的点处提供到设置时序误差检测器1090的输入。因此逻辑不需要被分成两个单独部分:它们可代替地是连续的或邻近的。设置时序误差检测器1090具有反相时钟输入和提供误差反馈路径1095的误差标记输出ERR。类似于图7中所示出的实施例,反馈路径1095可从检测器到形成时钟产生单元的部分的时序校正单元780;替代地且非限制性地,所述反馈路径可馈入到系统的功率管理单元,其中其可提供需增大系统或子系统电压以使系统更快的指示。
图11示出类似于图10中所示出的实施例的另一实施例,例外为设置时序误差检测器被实施为DSFF 1190。同样,反馈路径1095可从检测器到形成时钟产生单元的部分的时序校正单元780,如所示出;替代地且非限制性地,所述反馈路径可馈入到系统的功率管理单元,在那里其可提供需增大系统或子系统电压以使系统更快的指示。
根据实施例的方法在图12和13中示出。
根据多个实施例中的一个的方法在图12中示出。图12描绘防止数据中的设置时序数据误差从逻辑传播到硬宏的方法的流程图,所述逻辑和硬宏都包括于同步数字电路中。1210示出借助于设置时序误差检测器在数据到达硬宏之前在正常操作时钟周期的一半内检测设置时序误差的步骤。且在步骤1220处示出响应于检测到设置时序误差而在数据到达宏输入之前校正所检测到的设置时序误差。
根据多个其它实施例中的一个的方法在图13中示出。1310示出借助于设置时序误差检测器在数据到达硬宏之前在正常操作时钟周期的一半内检测设置时序误差的步骤。响应于检测到设置时序误差而在数据到达宏输入之前校正所检测到的设置时序误差包括在1320处示出的门控系统时钟或展宽系统时钟,且包括在1330处示出的将数据替换为双重采样触发器的第二样本。在其它实施例中,如上文所论述,对设置时序数据误差的校正是借助于电压按比例缩放或类似技术来实现。
图14和图15示出相对于时钟速度(x轴或横坐标上)标绘的分别在不具有和具有设置时序误差检测和校正的情况下的同步数字电路的性能,示出为术语吞吐量(y轴或纵坐标上)。
如图14中所示出,在硬宏的紧靠上游处无设置时序误差检测和校正(即‘宏监测’)的情况下,频率1410可向上增大,直到可能不再满足时序要求的点为止,且在所述点处,系统将失效。说明性图式示出在频率‘7’处,由于对信号的错误锁存,系统的吞吐量降到零。
相比之下,在其中在硬宏的紧靠上游处实施根据本公开的实施例的设置时序误差检测和校正的系统中,系统将在发生故障之前示出吞吐量降低。此特性在图15中示出。线1410示出在硬宏的紧靠上游处无设置时序误差检测和校正的情况下(按照图14)常规系统的特性。线1510示出根据本公开的实施例的系统的特性。代替在‘7’频率下发生故障,频率可另外增大。这是由于以下事实:当数据到硬宏开始呈现时序问题时‘宏监测’(即在硬宏的紧靠上游处的设置时序误差检测和校正)通过采取校正性措施给予系统更多时间。由于宏监测将标记误差且因此激活校正性措施(例如时钟展宽或其类似措施),因此所述点处的吞吐量下降,从而将降低性能但不引起系统失效。
检测器可被实施为双重采样触发器,如上文所描述。然而,本公开不限于此,且技术人员将容易地了解到其它实施方案是可能的。举例来说,检测器可以是作为其中连接输入的单独触发器的实施方案。到一个触发器的时钟是常规时钟且到第二个触发器的时钟是经延迟时钟。输出转到异或且此可标记误差。
此检测器在图16中示出,图16示出两个触发器1610和1620;相对于到第一触发器1610的时钟输入,通过包括缓冲器1630延迟到第二触发器1620的时钟输入。连接数据输入D。输出由“异或”逻辑1640组合,来自“异或”逻辑1640的输出是误差标记ERR。
此检测器的另一例子在图17中示出。在此例子中,双重采样触发器(DSFF)1710作为小区1720的部分被完全围封,小区1720不仅包括DSFF且还时钟延时缓冲器1730,使得有必要从外侧提供仅一个时钟。应了解,对于此实施例,可能不可能改变延迟和其对应的检查窗口。
通过阅读本公开,技术人员将显而易见其它变化和修改。此类变化和修改可涉及等效和其它特征,所述等效和其它特征在数字电路设计的领域中为已知且可用作本文中已经描述的特征的替代或补充。
尽管所附权利要求书是针对特定特征组合,但应理解,本发明的公开的范围也包括本文中明确地或隐含地公开的任何新颖特征或任何新颖特征组合或它的任何一般化,而不管它是否涉及与当前在任何权利要求中主张的发明相同的发明或它是否缓和与本发明所缓和的技术问题相同的任一或全部技术问题。
在单独实施例的上下文中描述的特征也可以组合地提供于单个实施例中。相反,为了简洁起见,在单个实施例的上下文中所描述的各个特征也可以单独地或以任何合适的子组合形式提供。申请人特此提醒,在审查本申请案或由此衍生的任何另外的申请案期间,可以根据此类特征和/或此类特征的组合而制订新的权利要求。
为了完整起见,还指出,术语“包括”并不排除其它元件或步骤,术语“一”并不排除多个,且权利要求书中的附图标记不应被认作限制权利要求书的范围。
附图标记列表:
110 逻辑块
122 逻辑块第一部分
124 逻辑块第二部分
120 逻辑块
130,140,150 触发器
160 数据信号
170 时钟信号
180 时钟产生单元
240,250 双重采样触发器
310 数据信号D
320 时钟输入CLK
330 经延迟时钟输入CLK_DEL
340 经锁存输出Q
350 误差标记ERR
355 缓冲器
410 数据信号D
420 时钟输入CLK
430 经延迟时钟输入CLK_DEL
440 经锁存输出Q
450 误差标记ERR
510 数据信号D
512,514 数据转变
520 时钟输入CLK
522,524 时钟上升沿
530 经延迟时钟输入CLK_DEL
540 经锁存输出Q
550 检查窗口
560 展宽间隔S
650 SRAM
780 时序校正单元
790 设置时序误差检测器
795 反馈路径
885 反相器
890 双重采样触发器
892 数据输入D
894 经锁存输出Q
896 时钟输入CLK
898 经延迟时钟输入CLK_DEL
910 数据信号D
912,914,916 数据转变
922,924 时钟上升沿
925 时钟下降沿
920 时钟输入CLK
930 经延迟时钟输入CLK_DEL
940 误差标记ERR
950 反相时钟输入CLK_INV,
954 反相时钟上升沿
960 经延迟反相时钟CLK_INV_DEL
970,975 检查窗口
1090 设置时序误差检测器
1095 反馈路径
1210,1220 过程步骤
1310,1320,1330 过程步骤
1410 无设置时序误差检测和校正情况下的吞吐量
1510 具有设置时序误差检测和校正情况下的吞吐量
1610,1620 双重采样触发器
1630 缓冲器
1640 异或逻辑小区
1710 双重采样触发器
1720 经围封双重采样触发器
1730 缓冲器
Claims (10)
1.一种同步数字电路,其具有系统时钟且用于处理数据信号,其特征在于,所述数字电路包括
数据路径;
硬宏,其具有宏输入;
逻辑电路,其在所述宏输入上游的所述数据路径中且具有第一部分和第二部分,所述第二部分在所述宏输入的紧靠上游处;
设置时序误差检测器,其具有输入,其中所述输入在所述第一部分与所述第二部分之间的所述数据路径上,
以及时序校正单元;
其中在正常操作期间,跨所述第二部分的数据传输时间等于或小于时钟周期的一半,且
其中所述时序校正单元被配置成响应于所述设置时序误差检测器检测到设置时序误差而在所述数据到达所述宏输入之前校正所述检测到的设置时序误差。
2.根据权利要求1所述的同步数字电路,其特征在于,所述设置时序误差检测器在所述数据路径中,且在所述逻辑电路的所述第一部分与所述逻辑电路的所述第二部分之间。
3.根据权利要求1所述的同步数字电路,其特征在于,所述设置时序检测器不在所述数据路径中,且在所述数据路径中,所述逻辑电路的所述第一部分邻近于所述数据路径中的所述逻辑电路的所述第二部分。
4.根据权利要求2或3所述的同步数字电路,其特征在于,所述时序误差检测器包括被配置成将误差标记到所述时序校正单元的标记。
5.根据权利要求2到4中任一项权利要求所述的同步数字电路,其特征在于,所述时序误差检测器包括具有时钟输入的双重采样触发器,所述时钟输入是反相系统时钟。
6.根据在前的任一项权利要求所述的同步数字电路,其特征在于,所述时序校正单元包括被配置成响应于检测到设置时序误差而门控所述时钟的时钟门控单元。
7.根据权利要求1到5中的任一项权利要求所述的同步数字电路,其特征在于,所述时序校正单元包括被配置成响应于检测到设置时序误差而展宽所述时钟的时钟展宽器。
8.根据权利要求1到5中的任一项权利要求所述的同步数字电路,其特征在于,所述时序校正单元包括以下各项中的一个:(a)电压调整单元,其被配置成调整所述同步数字电路的电压,以便加速所述时钟,和(b)体偏压调整电路,其被配置成响应于检测到设置时序误差而调适所述同步数字电路的体偏压。
9.一种电子组件,其特征在于,包括根据在前的任一项权利要求所述的同步数字电路。
10.一种防止数据中的设置时序数据误差从逻辑传播到硬宏的方法,所述逻辑和硬宏都包括于同步数字电路中,其特征在于,所述方法包括:
借助于设置时序误差检测器在所述数据到达所述硬宏之前在正常操作时钟周期的一半内检测设置时序误差,
以及响应于检测到设置时序误差而在所述数据到达宏输入之前校正所述检测到的设置时序误差。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP17155429.8A EP3361637A1 (en) | 2017-02-09 | 2017-02-09 | A method, and a synchronous digital circuit, for preventing propagation of set-up timing data errors |
EP17155429.8 | 2017-02-09 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108446439A true CN108446439A (zh) | 2018-08-24 |
Family
ID=58094178
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810139921.4A Pending CN108446439A (zh) | 2017-02-09 | 2018-02-09 | 用于防止设置时序数据误差的传播的方法和同步数字电路 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10534396B2 (zh) |
EP (1) | EP3361637A1 (zh) |
CN (1) | CN108446439A (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10365327B2 (en) | 2017-10-18 | 2019-07-30 | International Business Machines Corporation | Determination and correction of physical circuit event related errors of a hardware design |
EP3923472A1 (en) | 2020-06-08 | 2021-12-15 | Nxp B.V. | Timing error detection and correction circuit |
KR20240121083A (ko) * | 2023-02-01 | 2024-08-08 | 삼성전자주식회사 | 차량 내 데이터의 송수신 방법 및 이를 위한 전자 기기 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101677237A (zh) * | 2008-09-16 | 2010-03-24 | 联发科技股份有限公司 | 时钟时序校准电路、时钟时序校准方法以及模数转换系统 |
CN101714397A (zh) * | 2008-10-07 | 2010-05-26 | Arm有限公司 | 集成电路的顺序存储电路内单次事件颠覆错误的纠正 |
US20120068749A1 (en) * | 2010-09-22 | 2012-03-22 | Freescale Semiconductor, Inc | Master-slave flip-flop with timing error correction |
CN103890732A (zh) * | 2011-08-26 | 2014-06-25 | 牛津布鲁克斯大学 | 数字错误校正 |
CN104052479A (zh) * | 2013-03-15 | 2014-09-17 | 美国亚德诺半导体公司 | 数模转换器中的时钟信号误差校正 |
WO2015077614A1 (en) * | 2013-11-22 | 2015-05-28 | Schwarz Brent S | Lidar scanner calibration |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8650470B2 (en) * | 2003-03-20 | 2014-02-11 | Arm Limited | Error recovery within integrated circuit |
US7385861B1 (en) * | 2006-08-18 | 2008-06-10 | Ambarella, Inc. | Synchronization circuit for DDR IO interface |
EP2487614A1 (en) * | 2011-02-11 | 2012-08-15 | Imec | Adding fine grain tuning circuitry to integrated circuit design |
EP2762990B1 (en) | 2013-02-01 | 2015-12-09 | Nxp B.V. | Clock selection circuit and method |
SG11201510133PA (en) * | 2013-06-11 | 2016-01-28 | Agency Science Tech & Res | Detecting and correcting an error in a digital circuit |
US10338632B2 (en) * | 2014-10-20 | 2019-07-02 | Ambiq Micro, Inc. | Adaptive voltage converter |
US20170184664A1 (en) * | 2015-12-28 | 2017-06-29 | Michel Nicolaidis | Highly efficient double-sampling architectures |
-
2017
- 2017-02-09 EP EP17155429.8A patent/EP3361637A1/en not_active Withdrawn
-
2018
- 2018-02-09 CN CN201810139921.4A patent/CN108446439A/zh active Pending
- 2018-03-05 US US15/911,901 patent/US10534396B2/en not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101677237A (zh) * | 2008-09-16 | 2010-03-24 | 联发科技股份有限公司 | 时钟时序校准电路、时钟时序校准方法以及模数转换系统 |
CN101714397A (zh) * | 2008-10-07 | 2010-05-26 | Arm有限公司 | 集成电路的顺序存储电路内单次事件颠覆错误的纠正 |
US20120068749A1 (en) * | 2010-09-22 | 2012-03-22 | Freescale Semiconductor, Inc | Master-slave flip-flop with timing error correction |
CN103890732A (zh) * | 2011-08-26 | 2014-06-25 | 牛津布鲁克斯大学 | 数字错误校正 |
CN104052479A (zh) * | 2013-03-15 | 2014-09-17 | 美国亚德诺半导体公司 | 数模转换器中的时钟信号误差校正 |
WO2015077614A1 (en) * | 2013-11-22 | 2015-05-28 | Schwarz Brent S | Lidar scanner calibration |
Also Published As
Publication number | Publication date |
---|---|
US20180224886A1 (en) | 2018-08-09 |
EP3361637A1 (en) | 2018-08-15 |
US10534396B2 (en) | 2020-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7653850B2 (en) | Delay fault detection using latch with error sampling | |
US7401273B2 (en) | Recovery from errors in a data processing apparatus | |
US8255748B2 (en) | Soft error and transient error detection device and methods therefor | |
CN108446439A (zh) | 用于防止设置时序数据误差的传播的方法和同步数字电路 | |
US8390312B2 (en) | Device for monitoring the operation of a digital circuit | |
US8963604B2 (en) | Methods, apparatuses, and circuits for bimodal disable circuits | |
US9467144B2 (en) | Radiation hardened digital circuit | |
US7782107B2 (en) | Method and apparatus for an event tolerant storage circuit | |
Valadimas et al. | Cost and power efficient timing error tolerance in flip-flop based microprocessor cores | |
Zhang et al. | Design for resilience to soft errors and variations | |
US20130063206A1 (en) | Integrated circuit | |
Moreira et al. | TDTB error detecting latches: Timing violation sensitivity analysis and optimization | |
Tadros et al. | A low-power low-area error-detecting latch for resilient architectures in 28-nm FDSOI | |
CN106059545B (zh) | 一种用于低功耗流水线的时序控制电路 | |
US20180091128A1 (en) | Zero-offset sampling for clock duty cycle correction | |
Valadimas et al. | Effective timing error tolerance in flip-flop based core designs | |
US20100327913A1 (en) | Detection of bad clock conditions | |
US8994416B2 (en) | Adaptive multi-stage slack borrowing for high performance error resilient computing | |
US7107515B2 (en) | Radiation hard divider via single bit correction | |
US9715437B2 (en) | Pulsed-latch based razor with 1-cycle error recovery scheme | |
KR20010004197A (ko) | 지연고정루프의 초기 록 타임 단축 장치 및 방법 | |
US10784865B1 (en) | Minimum delay error detection and correction for pulsed latches | |
CN103391072A (zh) | 用来检测时脉抖动的检测电路 | |
US10684797B2 (en) | Command-in-pipeline counter for a memory device | |
Wang et al. | An efficient transition detector exploiting charge sharing |
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 | ||
AD01 | Patent right deemed abandoned | ||
AD01 | Patent right deemed abandoned |
Effective date of abandoning: 20240319 |