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
相关推荐
土拨鼠烧电路3 小时前
笔记14:集成与架构:连接孤岛,构建敏捷响应能力
笔记·架构
烟花落o4 小时前
栈和队列的知识点及代码
开发语言·数据结构·笔记·栈和队列·编程学习
winfreedoms4 小时前
ROS2知识大白话
笔记·学习·ros2
方安乐4 小时前
英语月份命名为什么无规律?
笔记
儒雅芝士5 小时前
RethinkFun深度学习笔记
人工智能·笔记·深度学习
土拨鼠烧电路5 小时前
笔记12:AI在快消:超越概念的四大落地场景
人工智能·笔记
齐生16 小时前
网络知识点 - TCP/IP 四层模型知识大扫盲
笔记·ios
weixin_448119946 小时前
Datawhale 大模型算法全栈基础篇 202602第4次笔记
笔记·算法
saoys7 小时前
Opencv 学习笔记:腐蚀操作 + 轮廓标记 + 分水岭分割
笔记·opencv·学习