数字IC之Gate-Level Simulation(GLS)概述

这篇具有很好参考价值的文章主要介绍了数字IC之Gate-Level Simulation(GLS)概述。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

门级仿真也称为后仿真,是数字IC设计流程中的一个重要步骤。
RTL生成之后,会插入DFT,生成post_DFT的网表netlist;插入CPF/UPF描述的低功耗信息,生成post_ISO的网表netlist;之后插入时钟树(clock tree)和电源开关,生成最终的post_PR网表。
理论上每次生成新的netlist,都需要重新run门级仿真,保证功能级别仿真的正确性,但是门级仿真的速度较慢,消耗更多的计算资源,覆盖率低,对于 规模较大的芯片,跑完一个门级case可能需要几天时间。

门级仿真与RTL仿真区别:
1.RTL行为级仿真:

也叫功能仿真,在大部分设计中执行的第一个仿真将是RTL行为级仿真。这个阶段的仿真可以用来检查代码中的语法错误以及代码行为的正确性,其中不包括延时信息。如果没有实例化一些与器件相关的特殊底层元件的话,这个阶段的仿真也可以做到与器件无关。因此在设计的初期阶段不使用特殊底层元件即可以提高代码的可读性、可维护性,又可以提高仿真效率,且容易被重用。

2.门级仿真:

也叫综合后仿真, 一般在设计流程中的第二个仿真是综合后门级功能仿真。绝大多数的综合工具除了可以输出一个标准网表文件以外,还可以输出Verilog或者VHDL网表,其中标准网表文件是用来在各个工具之间传递设计数据的,并不能用来做仿真使用,而输出的Verilog或者VHDL网表可以用来仿真,之所以叫门级仿真是因为综合工具给出的仿真网表已经是与生产厂家的器件的底层元件模型对应起来了,所以为了进行综合后仿真必须在仿真过程中加入厂家的器件库,对仿真器进行一些必要的配置,不然仿真器并不认识其中的底层元件,无法进行仿真。Xilinx公司的集成开发环境ISE中并不支持综合后仿真,而是使用映射前门级仿真代替,对于Xilinx开发环境来说,这两个仿真之间差异很小。

3.时序仿真 (后仿真)

在设计流程中的最后一个仿真是时序仿真。在设计布局布线完成以后可以提供一个时序仿真模型,这种模型中也包括了器件的一些信息,同时还会提供一个SDF时序标注文件(Standard Delay format Timing Anotation)。SDF时序标注最初使用在Verilog语言的设计中,现在VHDL语言的设计中也引用了这个概念。对于一般的设计者来说并不需知道SDF。

门级仿真模式:
1. 零延迟(Zero Delay Simulation)

如果仿真不携带任何时序信息(即不带SDF信息反标、标准单元和IP模型文件中Specify块指定的延迟信息为0),可以理解为就是零延迟,这种仿真放在后仿意义不大。

零延迟模拟意味着在不注释任何定时数据的情况下模拟网表。它主要用于在设计转换为门级网表后检查和验证其功能。在零延迟模拟模式中,指定块延迟被忽略。

这些类型的模拟比具有计时的模拟快得多,并且可以在设计周期的早期启动,此时网表尚未冻结,或者您没有可用的计时信息。

可以使用-NOSpecify开关或通过在命令行中添加delay_mode Zero来启用零延迟模式。此选项仅适用于Verilog设计,并禁用指定块中描述的定时信息,如模块路径、延迟和定时检查。

2.单元延迟(Unit Delay Simulation)

单位延迟模拟是在电路中所有元件都具有相同延迟时间的假设下进行的。因此,提供任何随机延迟值类似于添加单位延迟(1个时间单位)。这具有比SDF模拟更容易实现的优点。

然而,零延迟仿真会导致伪竞争条件和零延迟环路。但是,您可以运行单位延迟模拟来检测和解决真正的竞争条件和时间敏感循环。

在单位延迟模式下,模拟器忽略所有模块路径延迟信息和定时检查,并将所有非零结构和连续分配延迟表达式转换为一个模拟时间单位的单位延迟。

3. 完整时序(SDF Simulation)

SDF模拟是实际的延迟模拟,其中SDF文件中指定的延迟被注释到设计中,并执行所有定时检查。这种类型的模拟需要时间,并且比零延迟或单位延迟模拟慢得多。

SDF文件从合成工具(Genus)、位置和路线工具(Innovus)或静态时序分析工具(Tempus)输出。当SDF文件交付给验证团队时,将使用它和门级网表运行仿真。验证工具使用SDF并尝试将SDF中包含的延迟注释到网表中的相应实例/弧。这也称为反向注释。

在使用SDF进行GLS模拟期间,可能会遇到许多注释警告,需要根据警告和错误的类型进行分析、排序或放弃。需要研究的最重要的警告是由于路径不存在(SDF有弧,但网表没有弧)引起的警告。此外,特定IP的仿真模型指定块和库(.lib)之间可能不匹配。

典型的SDF文件包含一个标题部分,后跟一个或多个单元格条目。对于每个单元格条目,可以使用多种关键字指定延迟、计时检查和其他约束。

为什么仍然需要门级仿真?

既然门级仿真的速度较慢,消耗更多的计算资源,覆盖率低,为何如今我们仍然需要使用门级仿真验证设计的正确性和完备性呢?

GLS可以识别静态时序分析(STA)或逻辑等价工具无法报告的问题。以下是GLS在验证流程中重要的一些原因:

1.克服STA的局限性,例如:

a.STA无法识别异步接口。这是检查STA未检查的异步设计的关键时序路径的好方法。

b.静态定时约束要求,如假和多周期路径的要求。

2.验证系统初始化以及重置顺序是否正确。

3.验证所有电源域的加电和复位操作是否符合电源意图,并检查设计是否对初始条件没有任何无意的依赖性。

4.使用最坏情况和最佳情况定时信息揭示由于组合逻辑导致的边缘敏感信号上的毛刺。

5.执行DFT验证,因为在RTL合成之后插入扫描链。

6.验证时钟树合成是否满足要求。

7.捕获用于功率估计的开关因子。

8.在RTL或GLS中分析X状态悲观或乐观观点。

9.检查最终性能,以确保设计在预期频率下工作,实际延迟到位。

这包括STA或正式引擎未检查的结构元素,以及放置和路由期间添加的缓冲区或其他元素。GLS在低功耗验证中也发挥着重要作用文章来源地址https://www.toymoban.com/news/detail-685963.html

到了这里,关于数字IC之Gate-Level Simulation(GLS)概述的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 数字IC后端设计如何从零基础快速入门?(内附数字IC后端学习视频)

    数字IC后端工程师主要职责是把数字IC前端工程师写的逻辑功能RTL转变成物理实际连线GDS版图。这个过程的本质是基于一定的时序约束和物理约束将设计的逻辑功能等价转变成物理连接。因为这个GDS最后是要提交给foundary进行芯片加工制作的,光刻机无法识别逻辑功能,它只认

    2024年01月20日
    浏览(47)
  • 模拟IC与数字IC设计该怎么选?哪个岗位薪资高?

    很多同学想要入行IC,但不知道数字和模拟方向怎么选? 如果没有亲身体会过模拟设计,并有发自内心的自信或者兴趣,一般不看好纯小白去学模拟电路设计。 模拟设计想做好,没有数学功底,没有电路分析的功底,很难会有出彩的机会。就连零极点分析都搞不清、基尔霍夫

    2024年02月03日
    浏览(62)
  • 数字IC学习01

    在正式开始前,我必须要交代一下,我写这些博客的原因:主要是想记录和梳理一下自己如何学习数字IC这个我也许余身都要从事的行业,如果能给读者带来帮助,那便是更好不过的事情了。 作为一个经历过千万人高考,百万人考研的人来说,学习并不是一件轻松的事,更可

    2024年02月03日
    浏览(32)
  • 面经-2023-中兴-数字IC设计

    专栏推荐: 2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录 专栏首页: 2023 数字IC设计秋招复盘——数十家公司笔试题、面试实录 专栏内容: 笔试复盘篇 2023秋招过程中整理的笔试题,来源包括我自己求职笔试以及整理其他同学的笔试。包含华为、中兴、联发科、

    2024年02月12日
    浏览(41)
  • 【数字IC基础】竞争与冒险

    示例一 : 如上图所示的这个电路,使用了两个逻辑门,一个非门和一个与门,本来在理想情况下,gate2的输入端口同时变化, 输出 F 应该是一直稳定为 0 ,但是实际上每个门电路从输入到输出是一定会有时间延迟的,而且信号在互连线的传播也是有延时的,所以就会出现如

    2024年02月15日
    浏览(48)
  • 数字IC设计之——低功耗设计

    目录 概述 背景 为什么需要低功耗设计 CMOS IC功耗分析 基本概念 功耗的分类 功耗相关构成 不同层次低功耗设计方法 芯片中的功耗分布以及对应的低功耗方案 低功耗方案 系统算法级的低功耗技术 编码阶段的低功耗技术 门控时钟 Clock Gating 物理实施的低功耗技术 操作数分离

    2023年04月18日
    浏览(83)
  • 【数字IC基础】时序违例的修复

    基本思路是减少数据线的延时、减少 Launch clock line 的延时、增加capture clock line的delay 加强约束,重新进行综合 ,对违规的路径进行进一步的优化,但是一般效果可能不是很明显降低时钟的频率,但是这个一般是在项目最初的时候决定的,这个时候很难再改变 拆分组合逻辑,

    2024年02月14日
    浏览(45)
  • 数字IC面经汇总(32篇)

            为准备校招(自用),博主整理了往年数字IC前端(设计验证) FPGA的面经,信息来自但不限于数字IC打工人、FPGA探索者、摸鱼范式、CSDN、牛客网、博客园等公众号和网站,以及博主个人的面试经验。          内容来源较多,并未一一申请授权,末尾附面经来源,

    2024年02月16日
    浏览(37)
  • 【数字IC设计】Design Compiler入门

    本博客参考自文章链接 本文以全加器为例,演示DC综合的流程。设计文件如下: 创建library文件夹,将工艺库文件放入此文件夹,如下图所示 启动dc,输入 输入 设置目标库 输入 设置链接库 结果如下图所示 输入命令: 输入后显示如下: 然后输入check_design检查设计,如下图所

    2023年04月13日
    浏览(54)
  • 数字IC前端学习笔记:时钟切换电路

    相关阅读 数字IC前端 https://blog.csdn.net/weixin_45791458/category_12173698.html?spm=1001.2014.3001.5482         有些时候我们需要在系统运行时切换系统时钟,最简单的方法就是使用一个MUX(数据选择器)选择输出的时钟,如下代码片所示。但这样做会导致毛刺的产生,这可能会导致寄存

    2024年02月04日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包