fault simulation是指对fault circuit的simulation,来locate manufacturing defects并且进行fault diagnosis。

logic simulation针对logic circuit model的simulation,主要有compiled-code和event-driven两种techniques。

Logic simulation针对design verification的:

一般design verificaiton起始于behavioral level或者elcetronic system(ESL),一般的描述语言有C/C++。

一旦behavior model被验证为acceptable,开始进行register-transfer level(RTL)的验证,描述语言有verilog/SV。

ESL和RTL级别的verification被称为functional verification。

经过logic/scan synthesis之后,进行gate-level的verification,检查timing-critical的部分。

之后可以进行更精确的transistor-level的仿真,得到更精确的power,timing等信息。

ESL code---------------------------behavioral design;

HDL code------------------------------RTL design;

netlist----------------------------------gate-level design;

SPICE model---------------------------transistor-level design;

Logic simulation通过对比给出的spec和作为ref的good design来identifying design error。

fault simualtion主要针对fabricated circuit。fault simulation注重fault coverage,保证chip的quality。

logic simulation的model:

组合电路:

时序电路:

logic symbol有:1,0,x,z,还有strength level。

当一个circuit上电时,storage element的初始值为X,在simulator中的x是悲观的,实际上,只会是1或0的有限值。

tristate gate拥有high-impedance state,Tristate gates允许一个time-share的wire(BUS).

实际中,在bus上要添加pull-up/pull-down逻辑,因为tristate不允许有多个gate同时打开,而且打开的gate关掉之后,

bus会维持之前的state,而pull-up/down可以打破这种关系。

intermediate logic states,不仅会建模signal的value还包括strength,包括strong,weak,floating 1/0。

strong 1和0,就像我们使用的1和0,weak 1和0,会被strong的信号所覆盖。

floating signal作为最weak的signal。

Logic element evaluation:

1)truth table,最straightforward的方式。

2)input scanning,根据门电路的control bit进行控制,AND由"0"控制,OR由"1"控制。

3)Parallel gate evaluation,通过计算机32Bit或64bit的多位计算,来进行bitwise parallel simulation。

Timing model:

1)transport delay,指gate input输出到gate output上的延时,norminal delay表示这个延时对于rise和fall相同。

对于rising time和falling timing不同的情况,需要rise/fall delay model。

如果transport delay不能被唯一的决定,需要使用min-max delay model。

2)inertial delay,指通过门电路的最小pulse duration。

3)wire delay,由于wire内在的resistive和capacitive,以及neighboring conductors mutual capacitance。

也被称作propagation delay,在PR之前只能通过WLM进行评估。

4)Functional Element Delay Model,像FF,有更负责的时序模型,D-Q的delay以及setup/fold等。

Compiled-Code simulation

将logic network转换为一系列的machine instruction,来对gate和他们之间的interconnect进行建模。

在这个过程中,会进行logic optimization,主要是进行逻辑简化的一些操作。

logic levelization,logic gate只有在它的所有driving gate都evaluated之后,才会进行evaluated。

经过simulator之后,可以产生的三种code:

1)high-level的code,像C语言。

2)Native-machine code,不需要经过compilation的代码。

3)Interpreted code,在进行simulation的过程中,指令便被interpreted和executed。

Compiled-Code的主要问题:不能加入timing model和很低的simulation efficiency。

Event-Driven simulation

event-driven simulation拥有很高的efficiency,因为只在必要的时候,才进行gate evaluation。

并且可以加入delay model。

compiled-code更适用于cycle-based simualtion,并且DUT用model来代替的时候。

输入变化引起的不必要的pulse和glitch,称为hazards。

其中包括static hazard(static 1-hazard, static 0-hazard),和dynamic hazards。

Logic and Fault simulation的更多相关文章

  1. fault coverage enhancement

    在pseudo-random test中,由于random pattern resistant的特性,fault coverage不是sufficient的, 所以会有一些办法来进行coverage的 ...

  2. EDA简介

    Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD),[1] ...

  3. scan & ATPG

    Testability用来表征一个manufactured design的quality. 将testability放在ASIC前端来做,成为DFT(Design For Test),用可控(cont ...

  4. [置顶] Oracle 11g Data Guard Role Transitions: Failover

    Role TransitionsInvolving Physical Standby Databases A database operates in one of the following mut ...

  5. 对仿真glbl.v文件的理解

    Simulation, UniSim, SimPrim - How do I use the "glbl.v" module in a Verilog simulation? De ...

  6. Gate level Simulation(门级仿真)

    1 什么是后仿真? 后仿真也成为时序仿真,门级仿真,在芯片布局布线后将时序文件SDF反标到网标文件上,针对带有时序信息的网标仿真称为后仿真. 2 后仿真是用来干嘛的? 检查电路中的timing vio ...

  7. Logic BIST

    Logic BIST is crucial for many applications, in particular for life-critical and mission-critical ap ...

  8. what is delta simulation time

    In digital logic simulation, a delta cycles are evaluation of expressions, followed by value updates ...

  9. delta simulation time[(delta cycle), (delta delay)]

    "Delta cycles are an HDL concept used to order events that occur in zero physical time."si ...

随机推荐

  1. 在Windows上一键编译各种版本的Protobuf

    所需工具 : cmake  for  windows 和  git for windows 原理:protobuf 是google的一个开源项目,其源代码在github上可以下载到,并且源码都采用cm ...

  2. PHP---关联模型

    MANY_TO_MANY

  3. 1057 N的阶乘

    1057 N的阶乘 基准时间限制:1 秒 空间限制:131072 KB 输入N求N的阶乘的准确值. Input 输入N(1 <= N <= 10000) Output 输出N的阶乘 Inp ...

  4. 集合类(Objective-C & Swift)

    内容提要: 本文前两部分讲了Cocoa的集合类和Swift的集合类,其中Cocoa提供的集合类包括NSArray.NSMutableArray.NSDictionary.NSMutableDictio ...

  5. SSH原理与运用(二):远程操作与端口转发

    SSH原理与运用(二):远程操作与端口转发 作者:阮一峰 (Image credit: Tony Narlock) 七.远程操作 SSH不仅可以用于远程主机登录,还可以直接在远程主机上执行操作. 上一 ...

  6. JS-010-覆盖率测试工具 JSCoverage 初识

    在日常的 js 脚本语言开发过程中,在开发攻城狮进行日常的单元测试和测试攻城狮日常的测试过程中,js 代码的覆盖率是白盒测试的一个重要的考量标准.前些天,在无意中看到了一个 js 覆盖率测试统计工具 ...

  7. jQuery动态对表格Table进行添加或删除行以及修改列值操作

    jQuery,不仅可以以少量的代码做很多操作,而且兼容性好(各种浏览器,各种版本). 下面用jQuery动态对表格Table进行添加或删除行以及修改列值操作 1.jQuery代码 <script ...

  8. CAS实现无锁模式

    用多线程实现一个数字的自增长到1000000,分别用无锁模式和锁模式来实现代码. 1.使用ReentrantLock. package test; import java.util.concurren ...

  9. HTML5所有标签汇总按功能

    基础 格式 表单 框架 图像 音频/视频 链接 列表 表格 样式/节 元信息 编程1. 基础(9个)<!DOCTYPE><html><title><body& ...

  10. JavaScript:复选框事件的处理

    复选框事件的处理 复选框本身也是多个组件的名字相同.所以在定义复选框的同事依然要使用document.all()取得全部的内容. 范例:操作复选框,要求是可以一个个去选择选项,也可以直接全选,全选按钮 ...