Logic and Fault simulation
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的更多相关文章
- fault coverage enhancement
在pseudo-random test中,由于random pattern resistant的特性,fault coverage不是sufficient的, 所以会有一些办法来进行coverage的 ...
- EDA简介
Electronic design automation (EDA), also referred to as electronic computer-aided design (ECAD),[1] ...
- scan & ATPG
Testability用来表征一个manufactured design的quality. 将testability放在ASIC前端来做,成为DFT(Design For Test),用可控(cont ...
- [置顶] Oracle 11g Data Guard Role Transitions: Failover
Role TransitionsInvolving Physical Standby Databases A database operates in one of the following mut ...
- 对仿真glbl.v文件的理解
Simulation, UniSim, SimPrim - How do I use the "glbl.v" module in a Verilog simulation? De ...
- Gate level Simulation(门级仿真)
1 什么是后仿真? 后仿真也成为时序仿真,门级仿真,在芯片布局布线后将时序文件SDF反标到网标文件上,针对带有时序信息的网标仿真称为后仿真. 2 后仿真是用来干嘛的? 检查电路中的timing vio ...
- Logic BIST
Logic BIST is crucial for many applications, in particular for life-critical and mission-critical ap ...
- what is delta simulation time
In digital logic simulation, a delta cycles are evaluation of expressions, followed by value updates ...
- delta simulation time[(delta cycle), (delta delay)]
"Delta cycles are an HDL concept used to order events that occur in zero physical time."si ...
随机推荐
- JavaScript函数小结
JS基础知识 /********************** 1:基础知识 1 创建脚本块 1: <script language=”JavaScript”> 2: JavaScript ...
- [LeetCode]题解(python):038-Count and Say
题目来源 https://leetcode.com/problems/count-and-say/ The count-and-say sequence is the sequence of inte ...
- IE6不支持position:fixed属性
_position:absolute; _bottom:auto; _top:expression(eval(document.documentElement.scrollTop+document.d ...
- HTML知识点总结以及典型例子讲解
一.HTML文本格式化标签(这些标签都不换行) eg: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN&qu ...
- iOS Block传值
上个月,针对block恶补了一下,以为自己全部掌握了,其实不尽然. 昨天项目中在下载的时候用到,自己竟然不知道该从何下手,惭愧~ 情景是这个样子的:我写了个下载类,阴老师在调用时,将参数(sid,UR ...
- strlen
char c1[] = "sdfa";//系统自动添加结束字符 \0 char c2[] = {'1','2','3'};//这样赋值的话,要自己加上结束字符 \0 printf( ...
- centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课
centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobacku ...
- vb和php 基于socket通信
php代码(页面代码非cmd命令脚本) <?php $server = '127.0.0.1'; $port = 8888; $socket = socket_create(AF_INET, S ...
- Highcharts动态赋值学习
最近老大让做项目中的统计图表功能,需要使用highcharts这个插件,弄出来了两种类型的图表动态赋值的实现,首先贴上中文网的官网和api地址,使用这个英语不好的同学肯定会用到的: 中文网官网:htt ...
- [BS-17] iOS开发-Alpha,Hidden和Opaque区别
iOS开发-Alpha,Hidden和Opaque区别 UIView控件都有Alpha,Hidden和Opaque这三个常见属性,UIView控件BackgroundColor是用RGBA表示的, ...