DFT笔记28

3.4.5 Differential Fault Simulation

Differential fault simulation结合了下面两种方法的优点:

  • concurrent fault simulation
  • single fault propagation techniques

这个方法是逐个仿真所有faulty circuit,只观测本次仿真的faulty circuit和上次仿真的不同。用event-driven simulator可以很方便的实现这个仿真。

differential fault simulation工作的过程如下图所示(需要时参考原文):

differential fault simulation的仿真流程图如下(和前面几个方法类似):

这个仿真方法的问题是每一个fault的顺序都不一定是它们真实发生的顺序,如果把时序也考虑进去的话,那么这个仿真方法也需要不小的存储空间。

3.4.6 Fault Detection

前面讲的故障仿真的方法都是为了让故障检测更加简单,但是实际上,故障的检测是更加困难的。

比如说有以下两类:

  • oscillation faults:指的是输入错误后导致输出处于不确定的状态,意味着故障可能被检测到也可能检测不到,这就增加了故障检测的难度(当然可以多测几组pattern,测到的概率就大了)
  • hyperactive faults过度活跃故障:例如时钟发生故障,fault-free电路和faulty电路不一样的地方很多,导致需要花费的时间和存储空间变得很大(但是这种故障是容易被检测到的,所以通常不仿真,防止仿真器爆炸)

3.4.7 Comparison of Fault Simulation Techniques

故障仿真技术需要考虑以下几个因素:

  1. 速度(major):serial fault simulation<parallel fault simulation< deductive fault simulation<=concurrent fault simulation< Differential fault simulation(快12倍)
  2. 需要的存储空间(major):serial fault simulation<parallel fault simulation=PPSFP< deductive fault simulation<Concurrent fault simulation>Differential fault simulation
  3. 多值逻辑仿真的能力multivalued logic simulation capability:Serial fault simulation、concurrent fault simulation、differential fault simulation可以
  4. delay model仿真的能力delay model simulation capability: serial fault simulation、concurrent fault simulation可以
  5. 功能模型仿真的能力functional model simulation compatibility:serial fault simulation、concurrent fault simulation、differential fault simulation可以
  6. 时序故障仿真的能力sequential fault simulation capability:serial fault simulation、parallel fault simulation、concurrent fault simulation、differential fault simulation可以

选择最合适的仿真技术就需要对应考虑:

  1. 仿真时间限制因素
  2. 系统的存储空间
  3. 未知或者高阻的状态
  4. delay model
  5. 电路的功能描述(the presence of functional level descriptions)
  6. 电路的特性(是时序逻辑还是组合逻辑)

最适合用于组合逻辑电路的仿真方法:

  1. PPSFP
  2. concurrent fault simulation

最适合用于时序逻辑电路的仿真方法:

  1. differential fault simulation
  2. concurrent fault simulation

不同方法应对不同情况,所选用技术算法可以切换。

即便现在的技术都在速度和存储空间上表现很不错,但是仿真还是存在存储空间爆炸和仿真时间长的问题。针对存储空间问题,有multiple-pass fault simulation 方法;针对故障仿真速度问题,有distributed fault simulation方法。

3.4.8 Alternatives to Fault Simulation

fault simulation对于大型电路来说是非常耗时的,所以人们会寻找其他省时的方案代替真正的故障仿真,比如只需要进行一次fault-free的仿真或者进行很少次数的故障仿真。

讨论两种情况:

  1. fault grading:也就是评价pattern质量的时候,可以用alternatives
  2. diagnosis:不可以用alternatives,因为诊断需要详细知道用什么pattern探测出了什么故障

下面几节是几种不同的方法。

3.4.8.1 Toggle Coverage(切换覆盖)

切换覆盖是一种很流行的评估测试pattern的方法,因为它只需要一个fault-free仿真。

定义有两种:

  1. 宽松的定义:net的值被置为0和1
  2. 严格的定义:net中既包含0到1也包含1到0的转换
3.4.8.2 Fault Sampling

故障采样技术是指只仿真一组抽样出来的fault。真实的故障覆盖率和采样后的故障覆盖率很接近(具体的数学论证方法见原文)。

采样的误差取决于两个因素:

  1. 采样的样本量
  2. 采的样是否有偏差
3.4.8.3 Critical Path Tracing(关键路径追踪)

关键路径追踪是,给定一个测试pattern t,net x有一个关键值 v,如果且仅如果x stuck at v'这个故障发生可以被t检测到。

用pattern P1和P3举两个例子。

P1举例,有7个关键net,它们的相关故障是{A/1, H/1, B/0, E/0, F/0, J/1, K/0}

P3举例,有3个关键net,它们的相关故障是{F/1, J/0, K/1}

3.4.8.4 Statistical Fault Analysis(统计故障分析)

statistical fault analysis (STAFAN) :基于概率论

(当拓展阅读吧)

3.5 CONCLUDING REMARKS

商业可用的logic simulators和所属公司如下:

  1. Cadence:Verilog-XL, NC-Verilog
  2. Mentor Graphics:ModelSim
  3. Synopsys:VCS

fault simulators可以是单独的工具也可以是和ATPG中集成的工具:

  • 单独用的工具:
    • Cadence:Verifault-XL
    • SynTest:TurboFault and TurboScan
  • ATPG中集成的工具:
    • Cadence:Encounter Test
    • Mentor Graphics:FastScan
    • Synopsys:TetraMAX
相关推荐
请你喝好果汁6412 小时前
## 学习笔记:R 语言中比例字符串的数值转换,如GeneRatio中5/100的处理
笔记·学习·r语言
hetao17338372 小时前
2026-01-29~02-03 hetao1733837 的刷题记录
c++·笔记·算法
执行部之龙3 小时前
TCP八股完结篇
网络·笔记·网络协议·tcp/ip
日光倾3 小时前
【Vue.js 入门笔记】 状态管理器Vuex
vue.js·笔记·flutter
方安乐3 小时前
react笔记之tanstack
前端·笔记·react.js
童话名剑14 小时前
序列模型与集束搜索(吴恩达深度学习笔记)
人工智能·笔记·深度学习·机器翻译·seq2seq·集束搜索·编码-解码模型
鄭郑15 小时前
STM32学习笔记--I2C封装与OLED(2026.2.1)
笔记·stm32·学习
酒鼎16 小时前
学习笔记(4)HTML5新特性(第3章)- WebSocket
笔记·学习·html5
-Springer-16 小时前
STM32 学习 —— 个人学习笔记2-2(新建工程)
笔记·stm32·学习