定位片上系统时序逻辑错误、错误率计算及其应用方法

文档序号:9348940阅读:854来源:国知局
定位片上系统时序逻辑错误、错误率计算及其应用方法
【技术领域】
[0001] 本发明涉及定位片上系统时序逻辑错误技术领域,尤其涉及一种定位片上系统时 序逻辑错误、错误率计算及其应用方法。
【背景技术】
[0002] 动态电压频率缩放(Dynamic Voltage Frequency Scale,DVFS)技术是一种能够 优化处理器能耗的方法,它允许处理器在运行时动态地改变其时钟频率和供电电压。这种 技术可以在软件层面上和硬件层面上来实现。在硬件层面上,电压和频率的降低带来的直 接后果就是可能会发生时序逻辑错误,会影响处理器的正常工作。一种传统的方法就是利 用延时链或者查找表来确定在特定频率下无错误操作的最小电压。另一种方法就是在关键 时序路径上添加延时错误检测和纠正电路(该项技术由ARM公司提出,并称之为Razor)以 降低错误发生率,如图1所示,从而能够保证在特定电压和特定频率下处理器依然能够正 常工作,从而降低功耗。该项技术特征是Razor触发器并不是应用到设计中的每个触发器 上,而仅仅应用在关键时序路径上,避免了过度设计和额外的面积开销,又能够在更低的错 误发生率下节省更多的功耗。如图2所示的是Razor触发器应用在了处理器的五级流水线 路径中,流水线恢复机制能够保证了处理器在指令译码、执行、访问内存和回写过程中不会 发生因时序逻辑错误而导致的功能错误,从而使程序能够正常运行。但是,这种技术的缺点 也是显而易见的。首先,随着工艺技术不断提高,基于仿真模型很难准确定位真正的关键路 径;而且由于工艺波动性和片上差异,很容易遗漏真正的关键路径。其次,Razor技术是针 对同一产品中的所有芯片,所有用户拿到的都是同样的芯片,不论该芯片位于哪种工艺角 下。假设现在有客户A和客户B,客户A的应用场合是:电压Va,频率Fa,功耗预算PBa,芯片 工艺条件CCa;客户B的应用场合是:电压V B,频率Fb,功耗预算PBb,芯片工艺条件CCB。若 V A> VB,FA< FB,PBA>PBb,CCA也要优于CCB,那么Razor技术满足了客户B的应用需求, 但对用户A来说,其应用场合条件要宽松的多,换言之,Razor技术浪费了芯片面积,增加了 用户A的成本,这是用户A所不愿承担的。
[0003] 扫描链(Scan chain)技术是一种可测试性设计的实现技术,普遍用于现在的数字 逻辑电路设计和测试。它通过插入各种用于提高芯片可测性的逻辑,提高芯片可测性的逻 辑,从而使芯片变得容易测试,大大降低了芯片的测试成本。图3A为插入扫描链之前的数 字逻辑电路,图3B为插入扫描链之后的数字逻辑电路。如图3B所示,采用扫描链设计技术 后,通过扫描输入端SCAN_IN,可以把需要的数据串行地移位到扫描链的相应单元中,以串 行地控制各个单元;同时,也可以通过扫描输出端SCAN_0UT串行地观测它们。这样就消除 了时序电路的不可控制性和不可观测性,提高了电路的可测性。由上述可以看出,扫描链技 术是为了简化芯片测试而采用的技术,对芯片的功能没有影响,但不可避免地会增加逻辑, 对芯片产生一些影响。

【发明内容】

[0004] 针对上述技术问题,本申请提供了一种复用扫描链技术定位片上系统时序逻辑错 误的方法,所述方法包括:
[0005] 同一测试指令和/或数据通过PAD口输入P级扫描链,扫描链使能信号有效,所述 测试指令和/或数据经所述P级扫描链串行移位至N级流水线的起始位置;
[0006] 在同一测试条件下(需要注意的是,只有在经过N级流水线的时候才需要在指定 的工作条件下,而其他阶段则可不需考虑工作条件),当所述测试指令和/或数据进入所述 N级流水线,在第一个时钟周期内所述扫描链使能信号有效,此后的n-1个时钟内,所述扫 描链使能信号无效;
[0007] 所述测试指令和/或数据经所述N级流水线处理和执行后使能所述扫描链使能信 号,所述测试指令和/或数据经N级流水线的处理结果通过Q级扫描链串行移位至所述PAD 口输出;
[0008] 判断从所述PAD端口输出的所述测试指令和/或数据的处理结果是否与预期结果 是否相同,并获取判断结果;
[0009] 记录所述判断结果;
[0010] 其中,n为所述测试指令和/或数据在所述N级流水线中共经历的时钟周期数;n、 P、N和Q均为正整数。
[0011] 较佳的,所述测试指令和/或数据进入所述N级流水线经n个时钟周期后和所述 测试指令和/或数据的处理结果进入Q级扫描链之前,扫描链使能信号从无效设置为有效。
[0012] 较佳的,当从所述PAD端口输出的所述测试指令和/或数据经N级流水线的处理 结果与所述预期结果相同时,所述判断结果为所述指令和/或数据未出现逻辑或时序错 误。
[0013] 较佳的,当从所述PAD端口输出的所述处理结果与所述预期结果不相同时,所述 判断结果为所述指令和/或所述数据出现逻辑或时序错误。
[0014] 较佳的,所述同一测试条件是指工作电压、工作频率以及环境温度相同。
[0015] 本申请还提供了一种计算系统时序逻辑错误的方法,所述方法包括在测试条件X 下对测试指令和/或数据Y执行z次复用扫描链技术定位片上系统时序逻辑错误的方法, 获取z个判断结果;
[0016] 根据z个所述判断结果计算所述测试指令和/或数据Y在测试条件X下的错误发 生率;
[0017] 其中,所述测试条件X包括测试条件X1、测试条件X2........测试条件X# m种; 所述测试指令和/或数据Y包括测试指令和/或数据Y1、测试指令和/或数据Y2........ 测试指令和/或数据1共n种;X p X2........Xni为不同的所述测试条件的标号,Y p Y2........Yn为不同的所述测试指令和/或数据的标号;m、n和z均为大于0的正整数。
[0018] 本申请还提供了一种复用扫描链技术定位片上系统时序逻辑错误的应用,当处理 器执行应用程序中的第二指令和/或数据时,第一指令和/或数据替代第二指令和/或数 据并实现所述第二指令和/或数据的相同功能;
[0019] 其中,当所述处理器执行所述第一指令和/或数据时错误发生率为0,执行所述第
[0020] 较佳的,当执行所述应用程序中的所述第二指令和/或数据并发生错误时,采用 恢复机制恢复所述处理器的正常工作,且所述恢复机制满足用户体验。
[0021] 较佳的,当所述处理器执行应用程序中的第三指令和/或数据时,所述第一指令 和/或数据替代所述第三指令和/或数据。
[0022] 较佳的,所述处理器执行所述第三指令和/或数据时错误发生率为1。
[0023] 较佳的,当所述处理器执行应用程序中的所述第三指令和/或数据时,所述第二 指令和/或数据替代所述第三指令和/或数据。
[0024] 较佳的,所述第二指令和/或数据替代所述第三指令和/或数据,采用恢复机制实 现所述第三指令和/或数据的相同功能。
[0025] 较佳的,当所述恢复机制不能够满足用户体验和/或所述错误发生率超出了所述 用户可接受的范围时,用错误发生率低于所述第二指令和/或数据的指令和/或数据替代 所述第二指令和/或数据。
[0026] 较佳的,当用错
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1