0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

数字IC设计流程中为什么要做门级仿真?

芯司机 来源:芯司机 作者:芯司机 2023-06-07 09:55 次阅读

门级仿真(gate levelsimulation)也称之为后仿真,是数字IC设计流程中的一个重要步骤。

在讲解门级仿真作用之前,我们先简单来看一下数字后端的流程:

3f5c7468-046b-11ee-90ce-dac502259ad0.png

在步骤1中,会插入DFT,生成post_DFT的网表netlist;在步骤2中会根据CPF/UPF插入isolation,生成post_ISO的网表;步骤3进行后端PR,会插入clock tree以及power switch等,生成最终的post_PR的网表。

理论上每次生成新的netlist都需要重新跑门级仿真,保证功能级仿真的正确。门级仿真的时间开销很大,尤其对于规模稍大的芯片,跑完一个case经常需要几天的时间。

有人会问,综合之后都会做formal和STA,来保证网表的一致性和timing没有violation。那为什么还要做如此耗时耗力的门级仿真的。下面我们就来罗列一下门级仿真的主要作用和重点。

1 双重保险

不论是在步骤1,2,3中,插入不同的东西之后,都会改变原来的netlist,虽然会做一致性检查,但是还是需要进行功能性的门级仿真,以保证网表的正确性。

2 STA检查不到的timing问题

STA可以检查大多数的timing violation,但是也有力所不及的地方。比如:

(1)异步模块和端口的timingcheck,这一块,有很多公司其实是会做类似CDC的flow来保证异步timing的,但是在门级仿真中能更直观直接的反映出来。

(2)STA中constraint加的不足,这类情况,在analog model的情况中体现的非常明显。

比如下图的这个情况,信号ABC是analogmode的三根输入信号,因为在RTL仿真中,A/B/C三根信号都是同时toggle的,信号进入analog的mode之后,不会出现仿真的问题。但是在后仿中,A/B/C三根信号必然不是同时toggle的,这样的信号,传入ananlogmode中就可能出现仿真的错误。

3f674136-046b-11ee-90ce-dac502259ad0.png

上面这种问题的解决方案是:

详细了解analogmode的需求,然后写出完善的constraints给做综合和STA。但是这些constraint总归不是100%完善的,很多时候就需要后仿来报错发现。

3 X态传播的debug

这个是门级仿真中最重要的工作之一,就是排除芯片中所有X态传播而造成的功能问题。

有人不是很理解X态的传播,我们先简单解释一下:

if(a==1) b=1;

else b=0;

如上面这段简单的代码,如果a=X态,在RTL仿真中,是不会传播出去的,因为会走else这条通路,从而b=0;但是在门级仿真中,当a=X时,b就会=X,从而X态会一级一级传播下去。

X态的传播,有些是无所谓的,有些就会影响到芯片的正常工作,尤其是在controlpath上的X态传播。而这些都只能依靠门级仿真来发现了。

当然,有很多大公司,在RTL仿真的时候,就会加入X态的模拟仿真,能提前尽早的发现这类问题。

4 验证初始化reset流程的正确性

实际芯片在刚上电的时候,理论上大多数信号都是在不确定态X态的,需要经过reset流程来进行初始化。而只有在门级仿真中,才能更加真实充分的反应reset流程的正确性。

5 power评估

门级仿真中还有一个重要作用就是用来进行power估计,因为netlist尤其是post_PR的网表能更加真实的接近实际的芯片,提供的power评估值就越有参考价值。

一般会创建一个toggle rate最高的case来跑门级仿真,从而生成IR-DROP需要的VCD文件。

6 ISO值的验证

低功耗设计在芯片设计中越来越重要,大多数芯片都会采取低功耗设计,在后端的实现中就需要插入isolation来保持一些信号在掉电状态下的值。而ISO值为0还是为1,是直接参考CPF/UPF文件来实现的。而CPF/UPF文件很多时候是直接通过review得到的。

万一在CPF/UPF中写错了,在门级仿真中就可以抓出类似的bug。

7 Power switch的验证

同样在low power设计中,powerswitchchain也是很重要的一环,而这个只有在post_PR的网表中才会真正插入。

以上只是简单罗列了一下门级仿真的作用,具体的门级仿真的操作细节和注意事项会在后续的文章中慢慢道来。这篇文章比较适合有一定工作经验但刚开始做门级仿真的朋友们,有什么问题,欢迎大家留言一起交流~

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • IC设计
    +关注

    关注

    37

    文章

    1264

    浏览量

    102955
  • 芯片设计
    +关注

    关注

    15

    文章

    895

    浏览量

    54411
  • 仿真
    +关注

    关注

    50

    文章

    3872

    浏览量

    132158
  • DFT
    DFT
    +关注

    关注

    2

    文章

    219

    浏览量

    22466
  • 数字IC
    +关注

    关注

    1

    文章

    37

    浏览量

    12265

原文标题:数字IC设计流程中为什么要做门级仿真?

文章出处:【微信号:芯司机,微信公众号:芯司机】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IC设计流程

    GDSⅡ的设计流程: 这个可以理解成半定制的设计流程,一般用来设计数字电路。 整个流程如下(左侧为流程,右侧为用到的相应EDA工具): 一个
    发表于 01-11 13:49

    个人总结的数字电路IC设计流程介绍

    ,不能不说FPGA, 这种是可编程的数字电路, 用法原理也不说了, 数字电路设计的目标,就是把这些功能,做成我们自己专用的ASIC/SOC, 这样无论面积, 成本或者安全性等等都能有保证  从流程上讲
    发表于 01-04 17:07

    我对IC设计流程的一些理解

    ic设计流程与使用工具介绍》我认为IC设计流程按照功能和应用场合不同大致可以划分为三个部分进行介绍,分别是数字
    发表于 01-07 17:10

    RTL仿真与门仿真

    本人最近用verilog代码写了一个DDS正弦波发生器,RTL仿真波形正确,但仿真出现毛刺,不知道该如何去掉这些毛刺?我用的是quartus ii 15.0,一开始没分清各种
    发表于 08-08 22:57

    关于RTL仿真仿真求助~

    。第一次做不太懂,求大家告诉我,可能是哪里出问题了?做完行为仿真以后还需要做什么才能保证仿真
    发表于 08-06 12:12

    一个关于quartus ii 仿真的问题,功能仿真准确,为什么仿真就烂的一塌糊涂

    我是学了fpga没多久,写了一个小程序,在信号DATA_IN高电平时就开始计数,低电平时就归零,50MHz的参考时钟,功能仿真准确,但是仿真就是一开始有一些数值而且不对,后面就全部
    发表于 04-12 13:36

    IC设计流程介绍

    Compiler仿真验证通过,进行逻辑综合。逻辑综合的结果就是把设计实现的HDL代码翻译成网表netlist。综合需要设定约束条件,就是你希望综合出来的电路在面积,时序等目标参数上达到的标准。逻辑综合需要
    发表于 08-13 17:05

    IC设计流程介绍

    进行仿真验证、综合和时序分析,最后转换成基于工艺库的网表。后端的流程图如下,这也就是从netlist到GDSⅡ的设计流程: 后端的主要任
    发表于 08-16 09:14

    FPGA基本开发流程概述

    阶段,则先对前面编写好的代码进行RTL仿真,确认代码实现基本功能后,则进行器件管脚的分配,接着编译并做时序约束,然后进行仿真
    发表于 01-28 02:29

    今天为什么仍必须进行仿真(GLS)精选资料分享

    今天为什么仍必须进行仿真(GLS)使用仿真(GLS),在最终流片前2天,我发现了芯片中的
    发表于 07-26 07:28

    数字IC的设计流程有哪些

    数字IC是什么意思?数字IC前端设计流程有哪些?数字IC
    发表于 10-20 06:24

    数字IC的设计资料分享

    数字IC设计之DC篇:DC流程介绍综合概念综合是使用软件的方法来设计硬件, 然后将门电路实现与优化的工作留给综合工具的 一种设计方法。它是根据一个系统逻辑功能与性能的要求,在一个包含
    发表于 11-17 07:08

    数字IC设计流程

        数字IC设计流程是每个IC从业者的第一课,无论你是做前端,后端,还是验证,都需要对芯片的整个设计流程有个基本的了解。 本文章主要介绍
    的头像 发表于 12-09 10:12 6508次阅读
    <b class='flag-5'>数字</b><b class='flag-5'>IC</b>设计<b class='flag-5'>流程</b>

    数字IC设计之“数字SOC全流程漫谈从0到1”

    数字IC设计之“数字SOC全流程漫谈从0到1”讲师背景:阎如斌老师毕业于慕尼黑工业大学的硕士研究生,具有非常丰富的IC研发经验。在集成电路的
    发表于 11-05 20:51 15次下载
    <b class='flag-5'>数字</b><b class='flag-5'>IC</b>设计之“<b class='flag-5'>数字</b>SOC全<b class='flag-5'>流程</b>漫谈从0到1”

    数字IC前端后端的区别,数字IC设计流程与设计工具

    数字IC就是传递、加工、处理数字信号的IC,是近年来应用最广、发展最快的IC品种,可分为通用数字
    发表于 11-06 16:51 26次下载
    <b class='flag-5'>数字</b><b class='flag-5'>IC</b>前端后端的区别,<b class='flag-5'>数字</b><b class='flag-5'>IC</b>设计<b class='flag-5'>流程</b>与设计工具