zoukankan      html  css  js  c++  java
  • P &R 12

    Floorplan包含:

    • IO floorplan: 涉及板级设计、封装设计的交互,接口协议(timing相关),对一些高速接口需要做特殊考虑(如信号完整性等)。

    • Power plan:芯片的电源和低功耗设计方案、功耗及IR仿真。

    • Block floorplan:涉及设计结构,总线结构,时钟结构,数据流和timing。

    • Pin assignment:涉及data flow,timing,工艺。

    Floorplan的问题主要有:

    • Large displacement相关的模块被摆放过远或逻辑detour,从而引入大量的buffering,进而导致area,routing和timing的问题。需要工程师对设计的数据流有一定的了解,将相关联的模块放在一起。

    • Congestion在局部区域有大量的走线经过,通常由于large displacement、local high density等原因导致。tool通常采用把集中的cell推开和绕线detour等方法解congestion。这样会对timing造成一定的影响。解决办法有:控制local density,给多扇入的cell加额外pading, reorder scan chain等。

    个人认为floorplan的QA不是很好量化,通常通过timing, area, power和routing侧面反应出来。而且也是一个需要反复迭代,不断优化,折中的过程。

    Placement:

    要做好placement需要掌握哪些知识跟技能?

    通常,遇到placement问题,大致的debug步骤跟方法有哪些?

    如何衡量placement的QA?

    Placement和floorplan关系比较紧密,floorplan确定后,placement基本也定型了,后端能做的就是加一些 physical / timing constraint或一些option来指导工具布局。

    在新工艺中,placement需要考虑base layer drc的问题,因此需要对工艺,desig rule有了解。还需要对EDA工具的行为有深入的了解,明白什么样的行为会导致怎样的结果。

    Placement的QA通常通过PPA (Performance,Power和Area)来衡量:

    • 看timing是否满足,是否有综合工具考虑不到的情况出现。

    • 看绕线资源,是否有较大的overflow,评估往下走是否会有布线拥塞的风险并进行调整。

    • 看利用率变化情况,是否有density过高的情况,local density过高会导致后续步骤的设计存在不收敛的风险。

    • 看功耗,各种vt单元之间的比例,评估是否满足设计指标,后续步骤是否还有优化空间。

    CTS:

    要做好CTS需要掌握哪些知识跟技能?

    通常,遇到CTS问题,大致的debug步骤跟方法有哪些?

    如何衡量CTS的QA?

    做CTS需要了解芯片的时钟结构,STA,DFT,功耗分析等方面的知识。通常,时钟功耗在芯片功耗中占比很大,所以要尽量控制时钟树的功耗;clock skew 对 setup / hold 收敛至关重要,所以要利用并控制好clock skew。

    CTS Debug:

    • 检查CTS sdc的正确性,是否存在漏做时钟、过约束设计;

    • 检查每个时钟的latency和级数是否在正常范围内,从物理上最远的时钟路径来看latency和级数是否合理,走线是否有detour,是否有大量的balance delay cell。通常在CTS之前,需要检查时钟单元的布局,及早发现detour的问题。

    • 检查每个corner下的clock skew是否符合预期,是否存在不同corner下,由于RC / std cell variation引起的不符合预期的skew变化。

    • 检查时钟单元是否有扎堆现象,较大的时钟单元容易引起IR问题。

    • 检查时钟绕线是否符合预期,新工艺下通常采用Non defaul routing rule来做时钟绕线。

    通常通过clock latency, clock skew, clock inst count, total clock net cap, clock power和timing(setup是否能满足,hold timing TNS是否合理) 来衡量CTS的QA。

    Route:

    要做好Route需要掌握哪些知识跟技能?

    通常,遇到Route问题,大致的debug步骤跟方法有哪些?

    如何衡量Route的QA?


    要对EDA进行route有基本的了解,熟悉route的一些基本的步骤以及现阶段route的一些主流的算法,最好还要对所用工艺比较熟悉。熟悉DRC的check。

    Route Debug:

    • DRC问题:看是否满足Design Rule Check,是否存在short 和metal layer drc,这方面需要对所用的工艺比较熟悉,要了解每一代工艺会出现哪些新的DRC,router需要对于新的工艺做哪些新的设置。

    • Timing问题:如果timing degrade 很多的话,需要看是否有detour,是否有很大的SI,也要检查trial route engine和real rc engine之间的correlation。

    • 检查DFM相关信息,比如wire spread,NDR route,DFM via 比例等。

    Route QA:

    • DRC数目是否足够小,是否在可控制的范围之内。

    • post route 和 pre route的timing correlation。

    多说一句:Innovus nanoroute对于advanced node的routing有很强的handle能力,nanoroute route出来的design DRC会比较少,而且nanoroute是timing Driven的routing。

    DRC:

    要做好DRC需要掌握哪些知识跟技能?

    通常,遇到DRC问题,大致的debug步骤跟方法有哪些?

    如何衡量DRC的QA?

    DRC与工艺、电器设计规则,版图知识密切相关,要对EDA tool、rule deck有深入了解,要清楚design 中用到的特殊器件,清楚设计中的供电情况。

    DRC问题可以分为前段和后段:

    • 前段主要是base layer的检查,在floorplan和powerplan完成后,尽快做一版粗略的placement,供baselayer DRC检查。

    • 后段主要是metal layer的检查,通常EDA Tool 在routing时,所用的tech file能cover大部分metal layer的drc,存在的问题主要是density,还有和顶层模块拼接时出现的mis-match的问题。

    一般简单的DRC问题可以根据design rule的描述进行修复,在debug复杂问题时:

    • 先从rule deck入手,保证rule 版本和配置的正确性,电源,PAD指定正确。

    • 确认input data是干净的,db在pr database里是clean的,IP中的特殊标识层是完备且正确的。

    • 先清PG short, text问题;再解latch up,esd的问题

    • 结合design rule说明文档,ERC报告等,具体分析。

    衡量DRC QA:

    • LVS clean

    • Antenna clean

    • DRC/ERC不clean的地方经IP vender和foundry确认可以waive

  • 相关阅读:
    bzoj3110
    idea 设置系列 各种乱码
    vim 系列
    idea 神键
    简单工厂,工厂方法,抽象工厂
    log4 按包进行日志输出
    maven依赖本地宝
    kafka 理论学习
    kafka windows环境搭建 测试
    linux 查找文件的命令
  • 原文地址:https://www.cnblogs.com/lelin/p/11407562.html
Copyright © 2011-2022 走看看