Floorplan:

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

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

如何衡量floorplan的QA?

T:Block level的floorplan最重要的就是size和timing。首先需要研究macro之间的data flow,可以根据这个信息摆一个大致的floorplan,尽量的减少线长,算好macro之间所需要的间距,调整好pin的朝向。在PG都打好之后,可以简单粗暴一步不漏地从头跑到尾来衡量block size等是否合理。其次需要考虑timing的问题,对于某些高要求的block,需要通过place timing result反过来调整floorplan会有很多fp/place之间的来回,并且还需要通过 bound, group, preplace 等手段去人工干预工具的结果。

top level的floorplan需要对全局有把控,跟 package, IP, PAD, foundary 等有很多互动,需要跟前端和供应商不停的沟通review看spec等,对知识面要求很广。在这些基础上还要控制芯片的面积,feasibility,电源网等,并根据个block之间的 data flow, timing紧密程度和block的可行性来进行partition。

P:FP的形状最好规则,size能满足density的需求,power是ir 和resource的综合考虑。mem和io的摆放是基于对design数据流的理解。Innovus fp的gui界面特别好用应该是公认的。checkFplan应该可以报出所有于row, track相关的问题

A:Floorplan需要会操作gui界面,memory,ip都需要摆。QA需要做try run看看timing, congestion好不好。

Placement:

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

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

如何衡量placement的QA?

T:placement需要考虑的是timing,power,congestion。

基本上就是通过timing result以及各种分步reports和之后步骤的结果来分析QA,从而决定是否需要通过bound, group, preplace等人工手段去干预,或者做logic调整,禁用某些cell,更改工具流程等等。

P:place 主要考虑timing, overflow,好的place应该是critical的path放的尽量集中且没有overflow的问题。Innovus的优势在于skp,同时考虑timing, overflow和wirelength。

A:place需要会在ideal clock情况调整脚本,可能会用到useful skew调整来控制congestion,同时meet timing。

CTS:

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

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

如何衡量CTS的QA?

T:低要求的只要后期timing可以收敛,直接跑脚本就可以。

高要求的在做之前要理顺clocktree结构,仔细看工具log, clock report,查看treelevel, design rule, skew。有选择地使用clockcell, target design rule尽量把tree做短。在对clock tree和工具熟悉的基础上甚至可以单独准备一个cts sdc以及平衡tree在不同corner之间的长度功耗等。

在把握住以上的要求后,进一步使用后续步骤的hold, setup timing去反过来检查tree的质量。

P:cts主要看clk tree的skew, slew和latency。innovus的ccopt有强大的chain based useful skew的能力,在得到最好的timing的同时实现这三个目标。

A:cts要知道如何看clock tree结构,如何利用工具把tree按照sdc的要求实现。

Route:

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

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

如何衡量Route的QA?

T:route这一步随着工艺的进步xtalk效应越来越严重,xtalk在绕线之前基本很难衡量,往往在绕线后会引起时序不收敛和runtime的增长,在极端情况下有可能会引起block的面积增长。

route的问题需要仔细去排查PR工具的drc report,一般需要注意short, total drc, drc type.

P:route首先要保证能route通没有drc,然后就是route前后的timing尽量一致,innovus的global Route和detail Route均是timing driving的,能很好满足以上两点。

A:Route要知道如何调整工具把design route通的前提下提升yield,主要是double via或dfm via的ratio

DRC:

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

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

如何衡量DRC的QA?

T:低要求的基本只要看到某些常见的drc violations知道怎么修就可以了。

高要求的则需要对foundary不同工艺的rule file和工具的tech file有一定的了解以及对layout有一定的概念。通过这些知识在PR初期可以预见和规避掉一些潜在致命的drc错(比如base layer或部分metal Layer的错)。此外还可以人肉过滤PR工具里的drc report, 高效率的找到可能的root cause及相应的workaround.

A:DRC要会把出现的问题分类,是base layer还是Metal layer,同时确定是routing可修还是要动cell位置,甚至需要再调整floorplan。

P & R 8的更多相关文章

  1. [原]CentOS7安装Rancher2.1并部署kubernetes (二)---部署kubernetes

    ##################    Rancher v2.1.7  +    Kubernetes 1.13.4  ################ ##################### ...

  2. 利用python进行数据分析2_数据采集与操作

    txt_filename = './files/python_baidu.txt' # 打开文件 file_obj = open(txt_filename, 'r', encoding='utf-8' ...

  3. Django项目:CRM(客户关系管理系统)--81--71PerfectCRM实现CRM项目首页

    {#portal.html#} {## ————————46PerfectCRM实现登陆后页面才能访问————————#} {#{% extends 'king_admin/table_index.h ...

  4. 【翻译】Awesome R资源大全中文版来了,全球最火的R工具包一网打尽,超过300+工具,还在等什么?

    0.前言 虽然很早就知道R被微软收购,也很早知道R在统计分析处理方面很强大,开始一直没有行动过...直到 直到12月初在微软技术大会,看到我软的工程师演示R的使用,我就震惊了,然后最近在网上到处了解和 ...

  5. 应用r.js来优化你的前端

    r.js是requireJS的优化(Optimizer)工具,可以实现前端文件的压缩与合并,在requireJS异步按需加载的基础上进一步提供前端优化,减小前端文件大小.减少对服务器的文件请求.要使用 ...

  6. 使用R画地图数据

    用R画地图数据 首先,从这里下载中国地图的GIS数据,这是一个压缩包,完全解压后包含三个文件(bou2_4p.dbf.bou2_4p.shp和bou2_4p.shx),将这三个文件解压到同一个目录下. ...

  7. c#使用Split分割换行符 \r\n

    c# 使用Split分割 换行符,方法如下(其余方法有空再添加):   string str = "aa" + "\r\n" + "bb"; ...

  8. JAVA调用R

    JAVA很适合开发应用系统,但是数学建模和计算能力非其所长,如果该系统需要进行大量的统计或者优化的计算,调用R是一种很好的方式.JAVA负责系统的构建,R用来做运算引擎,从而实现应用型和分析性相结合的 ...

  9. Windows Form调用R进行绘图并显示

    R软件功能非常强大,可以很好的进行各类统计,并能输出图形.下面介绍一种R语言和C#进行通信的方法,并将R绘图结果显示到WinForm UI界面上. 1 前提准备 安装R软件,需要安装32位的R软件,6 ...

  10. react-native Simulator com+r不能刷新模拟器

    这个问题是我按了com + shift + K 调出Simulatior 的时候出现的, 然后虚拟机就刷新不了了, 怎么按com+r都不好使. 在Simulatior的菜单栏选择Hardware -- ...

随机推荐

  1. a标签绑定事件

    <a href="javascript:void(0);" onclick="js_method()"></a> 这种方法是很多网站最常 ...

  2. Python环境搭建(win)——Pycharm(破解+汉化)

    Pycharm搭建方法(破解+汉化): 本文以pycharm2019.2为例 写在前面:有能力的朋友,希望大家支持正版. IDE是集成开发环境 “Integrated Development Envi ...

  3. MySQL 分组并多行拼接 group_concat 用法

    数据源 user name     age 小红 18 小明 18 小芳 19 ------------------------------------------------------------ ...

  4. 巨杉Tech|SequoiaDB 巨杉数据库高可用容灾测试

    数据库的高可用是指最大程度地为用户提供服务,避免服务器宕机等故障带来的服务中断.数据库的高可用性不仅仅体现在数据库能否持续提供服务,而且也体现在能否保证数据的一致性. SequoiaDB 巨杉数据库作 ...

  5. 题解【洛谷P1352】没有上司的舞会

    题面 题解 树形\(\text{DP}\)入门题. 我们设\(dp[i][0/1]\)表示第\(i\)个节点选\(/\)不选的最大快乐指数. 状态转移方程: \(dp[i][0]=a[i]+\sum_ ...

  6. C语言-防止输入字母

    今天群里一位小伙伴问了一个关于scanf函数的问题: scanf("%d", &n); 这个代码怎么防止输入字母? 因为他下面是判断n是否为质数,所以这里肯定有个判断,不然 ...

  7. leetcode全部滑动窗口题目总结C++写法(完结)

    3. 无重复字符的最长子串 A: 要找最长的无重复子串,所以用一个map保存出现过的字符,并且维持一个窗口,用le和ri指针标识.ri为当前要遍历的字符,如果ri字符在map中出现过,那么将le字符从 ...

  8. c++面向对象 之 内联函数 this 静态成员

    1,内联函数 如果一个函数是内联的,那么在编译时,编译器会把该函数的代码副本放置在每个调用该函数的地方.用inline指定,内联函数通常短小精悍没有while和for循环,能够帮助提升程序执行的速度 ...

  9. OpenCV之XML和YAML文件读写

    FileStorage类 该类有两个构造函数 FileStorage::FileStorage() FileStorage::FileStorage(const string& source, ...

  10. spring(二):体系结构&核心模块

    Spring框架 帮助管理对象及其依赖关系 提供如通用日志记录.性能统计.安全控制.异常处理等面向切面的能力 帮助管理数据库事务,提供了一套简单的JDBC访问实现,提供与第三方数据访问框架集成(如Hi ...