1 什么是后仿真?

后仿真也成为时序仿真,门级仿真,在芯片布局布线后将时序文件SDF反标到网标文件上,针对带有时序信息的网标仿真称为后仿真。

2 后仿真是用来干嘛的?

检查电路中的timing violation和 test fail,一般都是已知的问题。一般后仿真花销2周左右的时间。

网标仿真的目的是检查RTL仿真和综合后的一致性(logic Equivalence check),由于网标仿真非常慢,所以网标仿真不充分,有的公司没有网标仿真,即使有后仿真,后仿真一般是时间非常少,因为后仿真时间非常慢,一个case需要非常长(跟设计和case有关,一般一两天跑一个case).在实际的芯片开发中可以没有网标仿真,因为形式化验证和静态时序分析可以保证设计的正确性。

Gate level Simulation

Include the verilog model of standard cell and gate-level netlist to your testbench

Add the following synopsys directives to the testbench

3 有了LEC(等效性检查)和STA(静态时序分析),为什么还要做门级仿真(Gate-level simulation ,GLS)?

GLS can catch issues that static timing analysis (STA) or logical equivalence tools are not able to report. The areas

where GLS is useful include:

  • Overcoming the limitations of STA, such as:

–The inability of STA to identify asynchronous interfaces

–Static timing constraint requirements, such as those for false and multi-cycle paths

  • Verifying system initialization and that the reset sequence is correct
  • DFT verification, since scan-chains are inserted after RTL synthesis
  • Clock-tree synthesis
  • For switching factor to estimate power
  • Analyzing X state pessimism or an optimistic view, in RTL or GLS

4 零延迟仿真(Zero-Delay Simulation)

zero-delay mode run much faster than simulation using full timing.

在仿真时添加以下仿真参数(VCS)

+nospecify

+notimingcheck

+no_notifier

+delay_mode_zero

零延迟仿真用于调仿真平台,挑testcase, 检验网标有没有问题。 当这些完成之后,就可以将SDF文件反标到网标文件上进行时序仿真,零延迟仿真将极大的提高仿真效率

5 SDF文件,a file which contains all the net delays in design。An sdf has 3 kinds of delay(best,Worst,Typical)。

6 如何挑时序仿真的testcase(时序仿真的策略 )

  • 挑2~3寄存器访问testcase.
  • 初始化的testcase
  • 典型的功能
  • 关键路径,跨时钟域

7 当后仿真出问题,仿真不起来时。

  • 检查clk,rst,PLL, reg
  • timing violation 不定态 x. 见path 
  • test fail

8 用VCS做后仿真

做后仿真时,应该先做zero_delay仿真,确保加载的网标文件是正确的,然后,再将SDF文件反标到网标文件上。

`ifdef SDF

initial

begin

$sdf_annotate("../../rtl/post_sim/U_sramc.sdf",u_top,,"sdf.log",);

end

`endif

编译时添加参数:-negdelay   +neg_tchk  

参考文献:

[1] Gagandeep Singh, Cadence Design Systems, Inc. Gate-Level Simulation Methodology.

Gate level Simulation(门级仿真)的更多相关文章

  1. FPGA功能仿真,门级仿真,后仿真的区别

    前言 分清楚各种仿真间的关系,工具采用quartus prime16.0,仿真工具采用modelsim10 ae版:项目:led_display; 流程 1.RTL行为级仿真:也叫功能仿真,这个阶段的 ...

  2. 关于Quartus+Modelsim 门级仿真 Warning (vopt-2216) Cannot find instance 'NA' specified in sdf.的解决办法

    本文操作环境:Win 7 32位系统, Quartus II 11.1 ,Modelsim SE 10.1a 在Quartus II中调用Modelsim SE做Gate Level Simulait ...

  3. (数字IC)低功耗设计入门(六)——门级电路低功耗设计优化

    三.门级电路低功耗设计优化 (1)门级电路的功耗优化综述 门级电路的功耗优化(Gate Level Power Optimization,简称GLPO)是从已经映射的门级网表开始,对设计进行功耗的优化 ...

  4. (数字IC)低功耗设计入门(七)——门级电路低功耗设计优化(续)

    前面讲解了门级功耗的优化方法,包括静动态和总体的功耗.现在来记录一下门级层次(有点书也说是在系统级)常用的一种低功耗方法--电源门控. ①电源门控概述与原理 电源门控是指芯片中某个区域的供电电源被关掉 ...

  5. 使用Vivado进行行为级仿真

    使用Vivado进行行为级仿真 1.编写设计文件 module test( input in, output out ); assign out = ~in; endmodule 2.编写testbe ...

  6. QuartusII 中采用门级原语

    QuartusII  中采用门级原语 默认的是前面第一个 为output  后面所有信号为输入 图中的工程实现的是 一个二选一多路选择器

  7. Verilog门级建模

    门级建模就是将逻辑电路图用HDL规定的文本语言表示出来,即调用Verilog语言中内置的基本门级元件描述逻辑图中的元件以及元件之间的连接关系. Verilog语言内置了12个基本门级元件模型,如下表所 ...

  8. hadoop开启Service Level Authorization 服务级认证-SIMPLE认证-过程中遇到的坑

    背景描述: 最近在进行安全扫描的时候,说hadoop存在漏洞,Hadoop 未授权访问[原理扫描],然后就参考官方文档及一些资料,在测试环境中进行了开启,中间就遇到了很多的坑,或者说自己没有想明白的问 ...

  9. 对比学习UIKit和AppKit--入门级

    UIKit是用来开发iOS的应用的,AppKit是用来开发Mac应用的,在使用过程中他们很相似,可是又有很多不同之处,通过对比分析它们的几个核心对象,可以避免混淆. UIKit和AppKit都有一个A ...

随机推荐

  1. Install NukeX v7.0v6 in CentOS 7

    - download THE_FOUNDRY_NUKEX_V7.0V6_LNX64-XFORCE - unzip and untar to /home/user0/tools/foundry/nuke ...

  2. Java的动态绑定机制

    Java的动态绑定又称为运行时绑定.意思就是说,程序会在运行的时候自动选择调用哪儿个方法. 一.动态绑定的过程: 例子: public class Son extends Father Son son ...

  3. 树莓派3B 安装微雪LCD5inch显示器(包含软键盘)

    树莓派单独使用时,往往需要触摸屏和软键盘用以方便操作,微雪LCD显示器就能较好的实现这个功能, 正好实验室又买入了一个3B的板子和一个5inch的显示器,便对着官方的安装手册,亲自安装了一次. 一:材 ...

  4. Winform软件,不要在线程里操作UI

    对于Winform软件,不要在线程里操作UI,不要相信:StartForm.CheckForIllegalCrossThreadCalls = false; 于是,把所有的代码都改成主线程委托调用的方 ...

  5. MyEclipse运行前自动保存

    MyEclipse中又一坑人设置.运行编译好的代码,如果不手动保存的话,MyEclipse是不会自动保存的.所以,在运行前如果对代码做了修改,运行的依然是上一次的结果. 修改这个反人类设置步骤如下: ...

  6. 通过创建临时表合并hive小文件

    #!/bin/bash #set -x DB=$1 #获取hive表定义 ret=$(hive -e "use ${DB};show tables;"|grep -v _es|gr ...

  7. 实用的Portraiture滤镜磨皮教程

    滤镜可以快速地进行人物皮肤美化处理,Portraiture滤镜可以将皮肤柔化,消除多余的斑点,在磨皮后复制细节保留较多的通道到图层面板,用高反差保留滤镜提取细节,再更改图层混合模式即可以得到漂亮的肤色 ...

  8. 让VS 2010在调试字符串时,支持Json数据格式友好显示

    阅读本文如果对Microsoft.VisualStudio.DebuggerVisualizers的用法不熟悉的,可以参考这篇文章.http://www.cnblogs.com/devil0153/a ...

  9. vs2010通过添加资源文件,修改win32创建的窗口

    1.右键项目的“资源”,新建资源,生成.rc文件 2.进入资源视图创建icon或menu等资源 3.退出资源视图,编译这个.rc文件 4.项目源代码中添加如下几个头文件 #include " ...

  10. opencv 震撼你的视觉-------基础篇

    opencv 最近在做一个钓鱼网站的项目中用到了一个叫opencv的玩意儿,以前没接触过.感觉挺新鲜的,而且项目中要用,所以就问了一下度娘(是想Google一下的,显得高大上and专业一点,但是英语水 ...