zoukankan      html  css  js  c++  java
  • 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。

  • 相关阅读:
    从JAVA看C#中volatile和synchronized关键字的作用
    SSAS动态添加分区 (转载)
    IIS7的集成模式下如何让自定义的HttpModule不处理静态文件(.html .css .js .jpeg等)请求
    SqlServer Analysis Service的事实维度关系
    SqlServer分区表概述(转载)
    SQL2005中的事务与锁定(九)-(1)- 转载
    SQL2005中的事务与锁定(八)- 转载
    SQL2005中的事务与锁定(七)
    LINUX下编译ffmpeg-x264出现的错误及解决转
    从ffmpeg源代码分析如何解决ffmpeg编码的延迟问题 (转)
  • 原文地址:https://www.cnblogs.com/-9-8/p/5716148.html
Copyright © 2011-2022 走看看