CN105067994B - 定位片上系统时序逻辑错误、错误率计算及其应用方法 - Google Patents
定位片上系统时序逻辑错误、错误率计算及其应用方法 Download PDFInfo
- Publication number
- CN105067994B CN105067994B CN201510587267.XA CN201510587267A CN105067994B CN 105067994 B CN105067994 B CN 105067994B CN 201510587267 A CN201510587267 A CN 201510587267A CN 105067994 B CN105067994 B CN 105067994B
- Authority
- CN
- China
- Prior art keywords
- data
- instruction
- test
- error
- scan chain
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本发明提出一种定位片上系统时序逻辑错误、错误率的计算及其应用的方法,在定位片上系统时序错误时,在同一测试条件下,同一测试指令和/或数据通过PAD口输入P级扫描链、N级流水线以及Q级扫描链,通过控制扫描链使能信号实现对测试指令和/或数据的测试;错误率计算时根据所有的处理结果获取在该环境下测试指令和/或数据的错误率;在降低错误率时,当处理器执行应用程序中的第二指令和/或数据时,第一指令和/或数据替代第二指令和/或数据并实现第二指令和/或数据的相同功能。本发明中用户根据自身应用需要,选择用户可接受错误发生率范围内的芯片,既节约了成本,同时也能满足用户的需求。
Description
技术领域
本发明涉及定位片上系统时序逻辑错误技术领域,尤其涉及一种定位片上系统时序逻辑错误、错误率计算及其应用方法。
背景技术
动态电压频率缩放(Dynamic Voltage Frequency Scale,DVFS)技术是一种能够优化处理器能耗的方法,它允许处理器在运行时动态地改变其时钟频率和供电电压。这种技术可以在软件层面上和硬件层面上来实现。在硬件层面上,电压和频率的降低带来的直接后果就是可能会发生时序逻辑错误,会影响处理器的正常工作。一种传统的方法就是利用延时链或者查找表来确定在特定频率下无错误操作的最小电压。另一种方法就是在关键时序路径上添加延时错误检测和纠正电路(该项技术由ARM公司提出,并称之为Razor)以降低错误发生率,如图1所示,从而能够保证在特定电压和特定频率下处理器依然能够正常工作,从而降低功耗。该项技术特征是Razor触发器并不是应用到设计中的每个触发器上,而仅仅应用在关键时序路径上,避免了过度设计和额外的面积开销,又能够在更低的错误发生率下节省更多的功耗。如图2所示的是Razor触发器应用在了处理器的五级流水线路径中,流水线恢复机制能够保证了处理器在指令译码、执行、访问内存和回写过程中不会发生因时序逻辑错误而导致的功能错误,从而使程序能够正常运行。但是,这种技术的缺点也是显而易见的。首先,随着工艺技术不断提高,基于仿真模型很难准确定位真正的关键路径;而且由于工艺波动性和片上差异,很容易遗漏真正的关键路径。其次,Razor技术是针对同一产品中的所有芯片,所有用户拿到的都是同样的芯片,不论该芯片位于哪种工艺角下。假设现在有客户A和客户B,客户A的应用场合是:电压VA,频率FA,功耗预算PBA,芯片工艺条件CCA;客户B的应用场合是:电压VB,频率FB,功耗预算PBB,芯片工艺条件CCB。若VA>VB,FA<FB,PBA>PBB,CCA也要优于CCB,那么Razor技术满足了客户B的应用需求,但对用户A来说,其应用场合条件要宽松的多,换言之,Razor技术浪费了芯片面积,增加了用户A的成本,这是用户A所不愿承担的。
扫描链(Scan chain)技术是一种可测试性设计的实现技术,普遍用于现在的数字逻辑电路设计和测试。它通过插入各种用于提高芯片可测性的逻辑,提高芯片可测性的逻辑,从而使芯片变得容易测试,大大降低了芯片的测试成本。图3A为插入扫描链之前的数字逻辑电路,图3B为插入扫描链之后的数字逻辑电路。如图3B所示,采用扫描链设计技术后,通过扫描输入端SCAN_IN,可以把需要的数据串行地移位到扫描链的相应单元中,以串行地控制各个单元;同时,也可以通过扫描输出端SCAN_OUT串行地观测它们。这样就消除了时序电路的不可控制性和不可观测性,提高了电路的可测性。由上述可以看出,扫描链技术是为了简化芯片测试而采用的技术,对芯片的功能没有影响,但不可避免地会增加逻辑,对芯片产生一些影响。
发明内容
针对上述技术问题,本申请提供了一种复用扫描链技术定位片上系统时序逻辑错误的方法,所述方法包括:
同一测试指令和/或数据通过PAD口输入P级扫描链,扫描链使能信号有效,所述测试指令和/或数据经所述P级扫描链串行移位至N级流水线的起始位置;
在同一测试条件下(需要注意的是,只有在经过N级流水线的时候才需要在指定的工作条件下,而其他阶段则可不需考虑工作条件),当所述测试指令和/或数据进入所述N级流水线,在第一个时钟周期内所述扫描链使能信号有效,此后的n-1个时钟内,所述扫描链使能信号无效;
所述测试指令和/或数据经所述N级流水线处理和执行后使能所述扫描链使能信号,所述测试指令和/或数据经N级流水线的处理结果通过Q级扫描链串行移位至所述PAD口输出;
判断从所述PAD端口输出的所述测试指令和/或数据的处理结果是否与预期结果是否相同,并获取判断结果;
记录所述判断结果;
其中,n为所述测试指令和/或数据在所述N级流水线中共经历的时钟周期数;n、P、N和Q均为正整数。
较佳的,所述测试指令和/或数据进入所述N级流水线经n个时钟周期后和所述测试指令和/或数据的处理结果进入Q级扫描链之前,扫描链使能信号从无效设置为有效。
较佳的,当从所述PAD端口输出的所述测试指令和/或数据经N级流水线的处理结果与所述预期结果相同时,所述判断结果为所述指令和/或数据未出现逻辑或时序错误。
较佳的,当从所述PAD端口输出的所述处理结果与所述预期结果不相同时,所述判断结果为所述指令和/或所述数据出现逻辑或时序错误。
较佳的,所述同一测试条件是指工作电压、工作频率以及环境温度相同。
本申请还提供了一种计算系统时序逻辑错误的方法,所述方法包括在测试条件X下对测试指令和/或数据Y执行z次复用扫描链技术定位片上系统时序逻辑错误的方法,获取z个判断结果;
根据z个所述判断结果计算所述测试指令和/或数据Y在测试条件X下的错误发生率;
其中,所述测试条件X包括测试条件X1、测试条件X2、......、测试条件Xm共m种;所述测试指令和/或数据Y包括测试指令和/或数据Y1、测试指令和/或数据Y2、......、测试指令和/或数据Yn共n种;X1、X2、......、Xm为不同的所述测试条件的标号,Y1、Y2、......、Yn为不同的所述测试指令和/或数据的标号;m、n和z均为大于0的正整数。
本申请还提供了一种复用扫描链技术定位片上系统时序逻辑错误的应用,当处理器执行应用程序中的第二指令和/或数据时,第一指令和/或数据替代第二指令和/或数据并实现所述第二指令和/或数据的相同功能;
其中,当所述处理器执行所述第一指令和/或数据时错误发生率为0,执行所述第二指令和/或数据时错误发生率的范围为
较佳的,当执行所述应用程序中的所述第二指令和/或数据并发生错误时,采用恢复机制恢复所述处理器的正常工作,且所述恢复机制满足用户体验。
较佳的,当所述处理器执行应用程序中的第三指令和/或数据时,所述第一指令和/或数据替代所述第三指令和/或数据。
较佳的,所述处理器执行所述第三指令和/或数据时错误发生率为1。
较佳的,当所述处理器执行应用程序中的所述第三指令和/或数据时,所述第二指令和/或数据替代所述第三指令和/或数据。
较佳的,所述第二指令和/或数据替代所述第三指令和/或数据,采用恢复机制实现所述第三指令和/或数据的相同功能。
较佳的,当所述恢复机制不能够满足用户体验和/或所述错误发生率超出了所述用户可接受的范围时,用错误发生率低于所述第二指令和/或数据的指令和/或数据替代所述第二指令和/或数据。
较佳的,当用错误发生率低于所述第二指令和/或数据的指令和/或数据替代所述第二指令和/或数据的同时,采用所述恢复机制实现所述第二指令和/或数据的相同功能。
综上所述,由于采用了上述技术方案,其有益效果有:本发明采用复用扫描链技术来定位片上系统时序逻辑错误,不会增加芯片面积和成本,也不会有额外的功耗增加;能够确定哪些指令和/或数据能够正常执行,哪些指令和/或数据会发生时序逻辑错误,用户根据自身应用需要,选择用户可接受错误发生率范围内的芯片,既节约了成本,同时也能满足用户的需求;采用分组的概念,满足不同用户的不同需求,使不同的用户均能够在最低的成本预算下实现其应用。
附图说明
图1是Razor技术的实现电路结构示意图;
图2是Razor触发器应用在五级流水线处理结构时的使用状态示意图;
图3A是插入扫描链之前的触发器结构示意图;
图3B是插入扫描链之后的触发器结构示意图;
图4是指令和/或数据的功耗随芯片的工作电压和频率的变化而变化的示意图;
图5为本发明一种定位片上系统时序逻辑错误的电路结构示意图;
图6为本发明一种定位片上系统时序逻辑错误的时序图;
图7为本发明一种定位片上系统时序逻辑错误的具体应用中指令和/或数据的功耗随芯片的工作电压和频率的变化而变化的示意图。
具体实施方式
本发明提出提出了一种定位片上系统时序逻辑错误、错误率计算及其应用方法。
在定位片上系统时序逻辑错误时,在特定的工作电压、工作频率以及环境温度下,将测试指令和/或数据从PAD口输入P级扫描中,此时扫描链使能信号有效;经p个时钟周期后所述测试指令和/或数据进入N级流水线,在N级流水线中,在第一个时钟周期内所述扫描链使能信号有效,此后的n-1个时钟内,所述扫描链使能信号无效;经n个周期后,所述测试指令和/或数据经过处理器的N级流水线处理和执行完毕;将所述测试指令和/或数据的处理结果输入至Q级扫描后串行移位至PAD端口。最后,通过对比处理结果与预期结果,判断所述处理结果与与其结果是否相同,从而判断与所述处理结果相应的该组测试指令和/数据是否出现逻辑或时序错误。多次进行上述测试,通过对所有的判断结果的统计,获取在该特定的工作电压、工作频率以及环境温度下所述测试指令和/或数据的错误率。
除此之外,针对不同的测试条件下不同的测试指令和/或数据都进行多次测量,获取每个测试条件下每种测试指令和/或数据的错误率。
在降低片上系统时序逻辑错误率的方法中,当处理器在某一特定环境(该特定环境是指特定的电压、特定的频率以及特定的温度)下工作时,执行应用程序中的第一指令和/或数据,通过统计执行这些指令和/或数据时的错误发生率对其进行分类。将错误发生率为0的指令和/或数据归类为第一指令和/或数据,将错误发生率大于0小于1的指令和/或数据归类为第二指令和或数据,将错误发生率等于1的指令和/或数据归类为第三指令和/或数据。由于在该特定环境下,处理器执行第一指令和/或数据的错误发生率为0,所以不对第一指令和/或数据进行其它处理。但是在执行第二指令和/或数据以及第三指令和/或数据时,均存在出现错误的情况,所以需要对第二指令和/或数据和/或第三指令和/或数据进行处理后再继续进行程序的运行。下面分两种情况进行说明:
(1)当处理器执行第二指令和/或数据时,用第一指令和/或数据替代所述第二指令和/或数据;或者还可以采用恢复机制进行自动恢复,以实现所述第二指令和/或数据的相同功能;但是当恢复机制不能够满足用户体验或者错误发生率超出了所述用户可接受的范围时,用错误发生率低于所述第二指令和/或数据的指令和/或数据替代所述第二指令和/或数据,同时还可以采用恢复机制进行自动恢复。
(2)当处理器执行第三指令和/或数据时,可以用第一指令和/或数据替代所述第三指令和/或数据;或者还可以用第二指令和/或数据替代所述第三指令和/或数据,并采用恢复机制进行自动恢复,以实现所述第二指令和/或数据的相同功能;但是当恢复机制不能够满足用户体验或者错误发生率超出了所述用户可接受的范围时,用错误发生率低于所述第二指令和/或数据的指令和/或数据替代所述第二指令和/或数据,同时还可以采用恢复机制进行自动恢复。
下面结合附图对本发明定位片上系统时序逻辑错误以及降低错误率的方法的具体实施方式作进一步的说明。
实施例一
DVFS技术是一种优化处理器能耗的方法,但电压和频率的变化不可避免的会造成内部时序逻辑错误。用户可接受错误发生率是指在一种特定条件下(电压V,频率F,温度T等),处理器在运行该特定用户的特定应用程序时能够规避发生错误的指令和/或数据;或者说在一种特定条件下(电压V,频率F,温度T等),一些指令和/或数据在所有测试过程中发生错误的概率并非100%,一旦这些指令和/或数据发生错误,该芯片所在系统能够在特定的恢复机制下恢复正常工作,并且由错误指令和/或数据产生的恢复过程并不影响该用户的使用体验。
例如,一种采用看门狗电路的恢复机制如下:在那些包含容易发生错误的指令和/或数据的程序段的前后使能和关闭开门狗,当系统执行到该程序段时,如果该程序段能够正常执行,那么看门狗电路就会被正常关闭,结束后继续执行其他程序段;如果该程序段执行期间某些指令和/或数据发生了错误,程序跑飞,那么开门狗就不会被正常关闭,等到看门狗计数器溢出就会向系统发送一个复位信号,系统会重新执行整个程序,直到该程序段能够被正常执行。
本发明提出一种复用扫描链技术定位片上系统时序逻辑错误的方法。首先,通过复用扫描链技术来确定用户可接受错误发生率范围内的指令和/或数据。处理器的指令和/或数据的错误发生率及功耗随电压或频率的关系曲线一般如图4所示,可以看出,随着电压或频率的降低,芯片的功耗也随之降低,但指令和/或数据的错误发生率会随之升高。在芯片制造完成后对其进行测试时,我们按照不同的电压、频率以及温度等测试条件,通过复用扫描链技术对其所有的指令和/或数据进行测试验证,并按照不同的测试条件统计没有发生错误的指令和/或数据集和发生错误的指令和/或数据集及错误发生率,最后统计的表格如表1所示。
表1不同测试条件下的测试统计
例如在电压VN、频率FN、温度TN条件下,得到芯片的功耗预算为PBN,在该条件下,通过本发明复用扫描链技术测试和验证,有若干指令和/或数据没有发生时序逻辑错误,集合为PSN。而发生错误的指令和/或数据的集合为FSN,并统计错误发生率为ERN,即指令和/或数据发生错误的次数与总的测试次数之间的比值。通过本发明这种分组之后,不同的客户可以根据他们各自不同的需求,在用户可接受错误发生率范围内,选用适合客户应用环境的工作条件和合适的功耗预算的分组芯片产品。
如图5所示,假设从PAD输入端口到N级流水线开始执行需要经过P级扫描链触发器电路,经过N级流水线执行后再经过Q级扫描链触发器电路到输出PAD端口。那么本发明复用扫描链技术确定片上系统时序逻辑错误的逻辑时序图如图6所示,若芯片的测试条件为工作电压VN、工作组频率FN、环境温度TN,整个过程可分为三个阶段:
第一阶段:P级扫描输入。该阶段扫描链使能信号有效,测试指令和/或数据通过PAD口输入,经p个时钟周期后,串行地移位到扫描链的指定地方,即N级流水线起始位置,即在时钟周期P_p之后,测试指令和/或数据已到达N级流水线的数据输入端。在P级扫描输入过程中,不考虑芯片的测试条件(即VN,FN,TN),扫描链使能信号一直有效。
第二阶段:N级流水线。在第一个时钟周期N_1内,扫描链使能信号有效,测试指令和/或数据经过第一级流水线,此后为了保证测试指令和/或数据通过流水线路径执行,而非扫描链路径,需在时钟周期N_1之后、时钟周期N_2之前,扫描链使能信号由有效变为无效。测试指令和/或数据经过N级流水线执行,在n个时钟周期后,所述测试指令和/或数据经过处理器的N级流水线机制处理和执行完毕,并产生所述测试指令和/或数据经N级流水线机制的处理结果。该阶段为芯片的测试工作阶段,要在指定的工作电压VN、工作组频率FN、环境温度TN下工作。
第三阶段:Q级扫描输出。在上一阶段的时钟周期N_n之后和该阶段的时钟周期Q_1之前,扫描链使能信号从无效重新为有效,在q个时钟周期后,所述测试指令和/或数据经N级流水线机制的处理结果就可以串行地移位到PAD口输出,那么通过在PAD端口接收并检测该处理结果与预期结果是否相同:如果相同,表明该测试指令和/或数据在该测试条件下(工作电压VN、工作频率FN、环境温度TN)能够正常工作,不会出现逻辑或时序错误,记录在集合PSN中;如果不同,表明该测试指令和/或数据在该测试条件下(工作电压VN、工作频率FN、环境温度TN)不能够正常工作,出现了逻辑或者时序错误,记录在集合FSN中。上述预期结果是芯片在额定电压、额定频率和额定温度下正常工作得出的结果,在该条件下,所有指令和/或数据均能够正常工作而不会出现逻辑或时序错误。在Q级扫描输出过程中,也不考虑芯片的测试条件(即VN,FN,TN)。
通过不断重复上述三个阶段的测试过程,从而得出特定测试条件下所有发生错误的指令和/或数据的错误发生情况,计算所有发生错误的指令和/或数据的错误发生率ERN,记录下来以供不同的用户参考和使用。
需要注意的是,本实施例中所记载的技术方案中,只有在经过N级流水线的时候才需要考虑其工作条件下,而其他阶段则可不需考虑工作条件。
本发明这种复用扫描链定位片上系统时序逻辑错误的方法,相比传统的Razor技术,有以下优点:
(1)Razor技术采用的是在关键时序路径上添加延时错误检测和纠正电路,这额外增加了芯片面积和设计成本,而且这部分电路也会造成功耗的浪费。本发明采用复用扫描链技术来定位片上系统时序逻辑错误,不会增加芯片面积和成本,也不会有额外的功耗增加。
(2)Razor技术仅仅在关键时序路径上添加延时错误检测和纠正电路,因而不能完全避免时序逻辑错误的发生。而随着工艺波动性和片上位置差异,关键路径的定位也更加困难。而本发明复用扫描链技术而定位片上系统中的时序逻辑错误,从而能够确定哪些指令和/或数据能够正常执行,哪些指令和/或数据会发生时序逻辑错误,用户根据自身应用需要,选择用户可接受错误发生率范围内的芯片,既节约了成本,同时也能满足用户的需求。
(3)Razor技术提出的是针对特定用户的特定应用,而不考虑不同用户的不同应用需求和功耗预算,因而满足了某些特定用户的需求,却也增加了另外一些用户的成本负担。而本发明采用分组的概念,满足不同用户的不同需求,使不同的用户均能够在最低的成本预算下实现其应用。
实施例二
根据实施例一提出的定位片上系统时序逻辑错误的方法,本发明提出了一种降低片上系统时序逻辑错误率的方法。
发生错误的指令和/或数据可分为两种情况:一种是100%错误发生率,即该指令和/或数据在某个特定的测试条件下的所有测试结果均显示发生了逻辑或时序错误;一种是非100%错误发生率,即该指令和/或数据在某个特定的测试条件下,有些测试结果显示没有发生错误,有些未发生错误。通过上述分组,用户可以选择那些适合客户应用环境的工作条件和合适的功耗预算的分组芯片产品。如果,用户A希望芯片满足功耗预算PBx(1≤x≤N),那么其可工作在Binx(Fx、Vx、Tx)条件下,通过上述分组,用户可以发现其应用程序A所涉及的某些指令和/或数据会落在集合FSx中,即发生了错误。
(1)假设其中一些指令和/或数据I_D1在执行过程中的错误发生率没有达到100%,那么用户可采用集合PSx中没有发生错误的指令和/或数据来替代该指令和/或数据,并完成相同的功能;或者采用一些恢复机制(例如开门狗)使用户的应用程序能够在发生错误的情况下恢复正常工作且也能满足用户可接受错误发生率;如果指令和/或数据I_D1错误发生率太高而导致采用的恢复机制不能够满足用户体验,也即不满足用户可接受错误发生率,那么还可以通过采用那些错误发生率较低的且满足在用户可接受错误发生率范围内的指令和/数据来替代该指令和/或数据I_D1,并通过一定的恢复机制,完成相同的功能。因此,用户A的应用程序A依然能够在Fx、Vx、Tx工作条件下正常工作,并且满足功耗预算PBx。
(2)假如其中一些指令和/或数据I_D2在执行过程中的错误发生率达到了100%,那么用户也可选择采用集合PSx中没有发生错误的指令和/或数据来替代完成该指令和/或数据I_D2,或者采用那些错误发生率未达到100%且满足用户可接受错误发生率的指令和/或数据I_D1来替代该指令和/或数据,并通过一定的恢复机制,完成相同的功能,因此用户A的应用程序也依然能够在上述工作条件正常工作,并且能够满足功耗预算。
本发明在不增加额外成本的前提下,同样的设计芯片能够满足不同客户应用对工作条件和功耗预算的需求,比如20%的客户的应用程序A在分组BinA条件下正常工作,并且满足PBA的功耗预算要求,而另外80%的客户的应用程序B在分组BinB条件下正常工作,并且也能满足PBB的功耗预算要求。而Razor技术采用的是在关键时序路径上添加延时错误检测和纠正电路,额外增加了芯片面积和设计成本,其针对的是特定用户的特定应用,而不考虑不同用户的不同应用需求和功耗预算。相比,本发明通过复用扫描链技术实现这种分组的概念,不仅能解决了库存的问题,而且还能满足不同用户的不同需求,使不同的用户均能够在最低的成本预算下实现其应用。
实施例三
根据上述实施例提出的定位片上系统时序逻辑错误的方法及降低片上系统时序逻辑错误率的方法,本实施例对定位片上系统时序逻辑错误的方法的具体应用进一步进行说明。
假设一片上系统芯片在测试条件V1、T1、F1下,经采用本发明复用扫描链技术的测试方法,所有指令和/或数据全部通过,没有发生错误,如附图7所示,其功耗预算为PB1。那么该芯片可以提供给一些对功耗预算在PB1之上的客户应用。若该片上系统芯片在测试条件V2、T1、F1下(V2<V1)下,功耗降低为PB2(PB2<PB1),但经本发明复用扫描链技术的测试方法验证,仅指令和/或数据I1和I2会发生逻辑错误。那么该芯片也可以提供给功耗预算在PB2之上且能够规避指令和/或数据I1和I2的客户应用。若片上系统芯片在测试条件V3、T1、F1下(V3<V2)下,功耗预算进一步降低到PB3(PB3<PB2),经本发明复用扫描链技术的测试方法验证,指令和/或数据I1、I2、I3、I4、I5及I6会发生逻辑错误,且错误发生率为ER3。那么该芯片也可以提供给那些功耗预算在PB3之上且用户可接受错误发生率高于或等于ER3的客户应用。可见本发明这种通过复用扫描链技术定位片上系统时序逻辑错误的方法,能够在不增加芯片面积和设计成本的前提下,满足不同用户的不同功耗需求,使不同的用户均能够在最低的成本预算下实现其应用。
以上所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所做出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (14)
1.一种复用扫描链技术定位片上系统时序逻辑错误的方法,其特征在于,所述方法包括:
同一测试指令和/或数据通过输入PAD端口输入,扫描链使能信号有效,所述测试指令和/或数据经P级扫描链串行移位至N级流水线的起始位置;
在设定的测试条件下,所述测试指令和/或数据进入所述N级流水线,在第一个时钟周期内所述扫描链使能信号有效,此后的n-1个时钟内,所述扫描链使能信号无效;
所述测试指令和/或数据经所述N级流水线处理和执行后使能所述扫描链使能信号,所述测试指令和/或数据经N级流水线的处理结果通过Q级扫描链串行移位至输出PAD端口输出;
判断从所述输出PAD端口输出的所述测试指令和/或数据的处理结果与预期结果是否相同,并获取判断结果;
记录所述判断结果;
其中,n为所述测试指令和/或数据在所述N级流水线中共经历的时钟周期数;n、P、N和Q均为正整数。
2.根据权利要求1所述的复用扫描链技术定位片上系统时序逻辑错误的方法,其特征在于,所述测试指令和/或数据进入所述N级流水线经n个时钟周期后和所述测试指令和/或数据的处理结果进入Q级扫描链之前,扫描链使能信号从无效设置为有效。
3.根据权利要求2所述的复用扫描链技术定位片上系统时序逻辑错误的方法,其特征在于,当从所述输出PAD端口输出的所述测试指令和/或数据经N级流水线的处理结果与所述预期结果相同时,所述判断结果为所述指令和/或数据未出现逻辑或时序错误。
4.根据权利要求2所述的复用扫描链技术定位片上系统时序逻辑错误的方法,其特征在于,当从所述输出PAD端口输出的所述处理结果与所述预期结果不相同时,所述判断结果为所述测试指令和/或数据出现逻辑或时序错误。
5.根据权利要求1所述的复用扫描链技术定位片上系统时序逻辑错误的方法,其特征在于,在所述测试指令和/或数据经所述N级流水线处理和执行期间保证所述设定的测试条件相同,所述测试条件包括工作电压、工作频率以及环境温度。
6.一种计算系统时序逻辑错误率的方法,其特征在于,所述方法包括在测试条件X下对测试指令和/或数据Y执行z次权利要求1-5之一所述的复用扫描链技术定位片上系统时序逻辑错误的方法,获取z个判断结果;
根据z个所述判断结果计算所述测试指令和/或数据Y在测试条件X下的错误发生率;
其中,所述测试条件X包括测试条件X1、测试条件X2、......、测试条件Xm共m种;所述测试指令和/或数据Y包括测试指令和/或数据Y1、测试指令和/或数据Y2、......、测试指令和/或数据Yn共n种;X1、X2、......、Xm为不同的所述测试条件的标号,Y1、Y2、......、Yn为不同的所述测试指令和/或数据的标号;m、n和z均为大于0的正整数。
7.一种降低片上系统时序逻辑错误率的方法,其特征在于,应用权利要求1-5之一所述的复用扫描链技术定位片上系统时序逻辑错误的方法,当处理器执行应用程序中的第二指令和/或数据时,采用第一指令和/或数据替代第二指令和/或数据并实现所述第二指令和/或数据的相同功能;
其中,当所述处理器执行所述第一指令和/或数据时错误发生率为0,执行所述第二指令和/或数据时错误发生率的范围为(0,1)。
8.根据权利要求7所述的降低片上系统时序逻辑错误率的方法,其特征在于,当执行所述应用程序中的所述第二指令和/或数据并发生错误时,采用恢复机制恢复所述处理器的正常工作,且所述恢复机制满足用户体验。
9.根据权利要求7所述的降低片上系统时序逻辑错误率的方法,其特征在于,当所述处理器执行应用程序中的第三指令和/或数据时,所述第一指令和/或数据替代所述第三指令和/或数据。
10.根据权利要求9所述的降低片上系统时序逻辑错误率的方法,其特征在于,所述处理器执行所述第三指令和/或数据时错误发生率为1。
11.根据权利要求10所述的降低片上系统时序逻辑错误率的方法,其特征在于,当所述处理器执行应用程序中的所述第三指令和/或数据时,所述第二指令和/或数据替代所述第三指令和/或数据。
12.根据权利要求11所述的降低片上系统时序逻辑错误率的方法,其特征在于,所述第二指令和/或数据替代所述第三指令和/或数据,采用恢复机制实现所述第三指令和/或数据的相同功能。
13.根据权利要求8或12所述的降低片上系统时序逻辑错误率的方法,其特征在于,当所述恢复机制不能够满足用户体验和/或所述错误发生率超出了所述用户可接受的范围时,用错误发生率低于所述第二指令和/或数据的指令和/或数据替代所述第二指令和/或数据。
14.根据权利要求13所述的降低片上系统时序逻辑错误率的方法,其特征在于,当用错误发生率低于所述第二指令和/或数据的指令和/或数据替代所述第二指令和/或数据的同时,采用所述恢复机制实现所述第二指令和/或数据的相同功能。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510587267.XA CN105067994B (zh) | 2015-09-15 | 2015-09-15 | 定位片上系统时序逻辑错误、错误率计算及其应用方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510587267.XA CN105067994B (zh) | 2015-09-15 | 2015-09-15 | 定位片上系统时序逻辑错误、错误率计算及其应用方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105067994A CN105067994A (zh) | 2015-11-18 |
CN105067994B true CN105067994B (zh) | 2018-08-28 |
Family
ID=54497410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510587267.XA Active CN105067994B (zh) | 2015-09-15 | 2015-09-15 | 定位片上系统时序逻辑错误、错误率计算及其应用方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105067994B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105911461B (zh) * | 2016-04-26 | 2019-08-06 | 湖北理工学院 | 环形链分时复用测试端口的测试结构 |
CN107492395B (zh) * | 2016-06-12 | 2020-12-01 | 联发科技股份有限公司 | 条件式存取芯片、其内建自我测试电路及测试方法 |
CN112147492B (zh) * | 2020-10-13 | 2022-03-22 | 无锡中微亿芯有限公司 | 一种查找表的新型可测试性结构 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5719878A (en) * | 1995-12-04 | 1998-02-17 | Motorola Inc. | Scannable storage cell and method of operation |
US6836865B2 (en) * | 2001-10-09 | 2004-12-28 | International Business Machines Corporation | Method and apparatus for facilitating random pattern testing of logic structures |
US7568138B2 (en) * | 2006-07-26 | 2009-07-28 | International Business Machines Corporation | Method to prevent firmware defects from disturbing logic clocks to improve system reliability |
CN102221671B (zh) * | 2011-03-30 | 2013-04-03 | 中国科学院计算技术研究所 | 信号稳定性检测器及时延测试装置 |
-
2015
- 2015-09-15 CN CN201510587267.XA patent/CN105067994B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN105067994A (zh) | 2015-11-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Lai et al. | A detailed study of NHPP software reliability models | |
US8949101B2 (en) | Hardware execution driven application level derating calculation for soft error rate analysis | |
Psarakis et al. | Microprocessor software-based self-testing | |
Drechsler et al. | On acceleration of SAT-based ATPG for industrial designs | |
Basu et al. | RATS: Restoration-aware trace signal selection for post-silicon validation | |
Bauer et al. | Test strategies for reliable runtime reconfigurable architectures | |
Fan et al. | Improved volume diagnosis throughput using dynamic design partitioning | |
US8560988B2 (en) | Apparatus and method thereof for hybrid timing exception verification of an integrated circuit design | |
CN105067994B (zh) | 定位片上系统时序逻辑错误、错误率计算及其应用方法 | |
CN105868114A (zh) | Fpga软件系统及其各模块测试系统和方法 | |
WO2020113526A1 (zh) | 一种芯片验证方法和装置 | |
US9411007B2 (en) | System and method for statistical post-silicon validation | |
Zandian et al. | Wearmon: Reliability monitoring using adaptive critical path testing | |
US9404972B2 (en) | Diagnosis and debug with truncated simulation | |
Vali et al. | Bit-flip detection-driven selection of trace signals | |
Plusquellic et al. | Information leakage analysis using a co-design-based fault injection technique on a risc-v microprocessor | |
US20140164859A1 (en) | Dynamic Design Partitioning For Scan Chain Diagnosis | |
Liu et al. | On multiplexed signal tracing for post-silicon validation | |
Han et al. | Dynamic trace signal selection for post-silicon validation | |
Fang et al. | Diagnosis of board-level functional failures under uncertainty using Dempster–Shafer theory | |
Taher et al. | A machine learning based hard fault recuperation model for approximate hardware accelerators | |
US20100269003A1 (en) | Delay fault diagnosis program | |
Gort et al. | Formal-analysis-based trace computation for post-silicon debug | |
Bertacco | Post-silicon debugging for multi-core designs | |
Han et al. | Enhanced algorithm of combining trace and scan signals in post-silicon validation |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |