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. npm 升级到最新版本

    先npm -v查看自己的npm 是否是最新版本,如果不是则进入安装node的文件夹,可通过 where node 查找该文件夹. 进入之后使用: npm i npm -g 之后使用: npm -v 查 ...

  2. Sulley安装手记

    Sulley折腾手记 序言:sulley是有名的模糊测试架构,可是他的安装十分繁琐,容易出错,以致这么好的工具不被太多人关注,本人大一小白一枚,想入坑sulley,可是网上资料太少,且不连贯,费了九牛 ...

  3. jsp中连接数据库及实现增删改查

    导入jdbc工具包 <%@page import="asp.engine.util.PageHelper"%><%@ page import="asp. ...

  4. mybatis-plus - MybatisPlusAutoConfiguration

    mybatis 的通用maper, 其实有很多, mybatis-plus 算是其中做的比较好的一款了. 这里就来看一下 mybatis-plus 是怎么实现这个通用mapper功能的. 一. Bas ...

  5. opencv3.2.0+opencv_contrib-3.2.0+vs2015开发配置

    在sift算法实现中,出现了这个问题 出现问题:\vs2015opencv\vs2015\project\mode\mode\sift算法1.cpp(3): fatal error C1083: 无法 ...

  6. 09 部署nginx web服务器(转发uwsgi请求)

    1 配置nginx转发 $ whereis nginx $ cd /usr/local/nginx/conf $ vi nginx.conf 注释掉原来的html请求,增加uwsgi请求. locat ...

  7. PHP毫秒

    PHP毫秒   php的毫秒是没有默认函数的,但提供了一个microtime()函数,该函数返回包含两个元素,一个是秒数,一个是小数表示的毫秒数,借助此函数,可以很容易定义一个返回毫秒数的函数,例如: ...

  8. dijkstra算法为什么不能处理带有负边权的图

      1 2 3 1 0 8 9 2 10 0 10 3 10 -2 0 先看样例再解释,看邻接矩阵会发现, 如果用dijkstra算1-2的最短路因为贪心思想所以得到的结果是8,但明显可以看到1-3- ...

  9. zabbix4.2配置监控华为路由器:基于ENSP模拟器

    一.基于ENSP模拟器的华为路由器 这里是华为模拟器中的设备,并不是真机,所以要先保证华为模拟器中的网络设备可以和物理主机.虚拟机能通信,这是前提.如何保证通信请看之前的文章:https://www. ...

  10. JVM的前世今生

    前世 jvm的数据区 分别是方法区(Method Area),Java栈(Java stack),本地方法栈(Native Method Stack),堆(Heap),程序计数器(Program Co ...