Floorplan:

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

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

如何衡量floorplan的QA?

Floorplan是后端实现的起始步骤,是P&R的先决条件,通常Trial Run的目的也是为了把FP固定。因此,在做FP的时需要从以下几个方面准备,第一方面收集Physical“规则”,这其中包括Design Rule,Package Rule,IP Guide,IO Guides等等,只有优先知道了限制条件,在限制条件内做FP才是有意义的。第二个方面是关于Design的需求,Data Flow决定module的位置,低功耗设计要求决定FP时要考虑的Power Domain以及相应的低功耗设计的诉求。

如何衡量FP的QA,通常我们会把P&R的结果作为相应的标准,其中Feasibility是很重要的一项,另外就是PPA的体现。另外,FP是后端流程中,特别体现个人风格的点,因此需要具有“美感”,具有让人一眼下去所能看到的“用心”程度,这个可能也是FP QA的一方面。

FP的Debug方向,倒是通常由于后续问题来修改FP。

Placement:

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

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

如何衡量placement的QA?

在数字后端实现中,有个原则,问题越早解决越好。FP是起点,Placement是接下来的重要一步。知识跟技能,所有的Tool的user guide上面都有大致介绍,概括来讲,需要综合考虑timing和physical两个方面。因此,Placement Guide,Placement的策略选择(Two pass flow,In-design OPT,甚至和前端综合工具的Physical Aware的配合等),是否需要带入CTS之后的一些问题的解决方案(比如clock gating timing部分,比如考虑CTS的routing资源的预估)等等决定Placement的结果。

通常做完Placement,单纯从这一步需要关注的是congestion map,timing QoR等。再详细的便是Module的位置,是否有被拉开的模块,为什么被拉开。是否有Tool无法修复的Timing, DRC,是否和FP相关,等等。现在深微纳米的工艺,单纯的从一步的结果已经很难综合评定此步的QoR,所以还是建议整个flow run完后再作相应的调整。当然如果CongestionMap或者timing QoR 在PL Stage已经暴差了,需要停下来分析。

Place的问题分为几类:

  • Congestion问题,这个问题要分析是否是FP造成的,还是因为Placement的Guide, Region之类的问题造成的。一些Channel的位置可能会有congestion的问题,需要Check是否正确使用了相应的Blockage。

  • Timing问题。主要看看Block的分布位置是否合理。Timing Path的走向是否合理等。

  • Check Area Increasement,看看新增的面积是否合理。是否由于过约等引入不必要的问题。

  • Check关键Module的位置和分布比如Clock Gen的cell等。

  • 另外Placement阶段要为CTS做一定的准备,需要提前考虑Clock Gating不够balance可能引入的timing问题

CTS:

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

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

如何衡量CTS的QA?

CTS是PR flow中涉及design知识最多的步骤。做好的CTS是为了更好地收敛Timing,减低功耗等等,其前期准备,需要了解clock structure,需要了解DFT的 clock structure,需要知道Design CTS的Spec需求(比如使用什么CTS cell,CTS的timing DRC constraints如何设置,NDR如何设定,是否需要Shielding,Block/IP内部的tree的处理方式,等等)。当然,也需要对工具feature有相应的理解,才能在知道你要长成什么样的tree的前提下,去用Tool完成相应的工作。

CTS的QA,涉及两个方面,一是单纯的Tree,一个是基于这个Tree 的timing和Physical。单纯从Tree的角度,需要考虑Clock的latency,skew,甚至power等等。从统筹的后端实现来看时,需要考量Tree对Design的影响,是否有比较大的hold,是否有useful skew可以借来解决Setup,是否因为CTS的问题引入Physical的risk,比如为了balance tree而引入的局部集中的delay cell所带来的congestion问题。再比如跨corner间的balance情况。

Route:

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

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

如何衡量Route的QA?

Routing的Flow相对比较独立固定,基本原则是先绕什么,后绕什么,如何设置CrossTalk option等,另外还有些DFM的VIA处理,Cross Talk Reduction等。

通常的Routing问题,第一可能是大量的DRC出现,这个或许和FP,以及Placement, CTS相关,分析原因之后,可能要回溯到前面的步骤来完成。

另外可能的是SI的问题,引入SI可能有很多种情况,局部的SI以及通篇的SI,data path的SI或者clockPath的SI,这些都要分开来看。同样可能需要回到FP和PL及CTS来解这些问题。

Route的QA,就看Timing和Physical的结果吧。

DRC:

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

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

至于知识技能,我能说会看lef doc就可以了么,不要懒有啥问题就问。另外,在route时候工具的每一步行为都要清楚。

Debug drc就一点,分得清是谁的问题,是工具问题还是DB或者flow的问题,还是signoff工具的问题; 工具问题的话是place的问题,还是route的问题,然后看有没有work around;如果是其它问题需要找designer或者foundry确认。

P&R 3的更多相关文章

  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. 在 window 上卸载 mysql

    1.停止 mysql 服务 开始——>控制面板——>管理工具——>服务,停掉 MySQL 的服务 2.卸载安装包 控制面板-添加删除程序,找到MySQL,卸载(可能会有多个安装包,需 ...

  2. python3练习100题——037

    原题链接:http://www.runoob.com/python/python-exercise-example37.html 题目:对10个数进行排序. 程序分析:可以利用选择法,即从后9个比较过 ...

  3. xmlns:android="http://schemas.android.com/apk/res/android 这句话的作用

    xmlns:android="http://schemas.android.com/apk/res/android 有了这句话,你就可以alt+/作为提示,提示你输入什么,不该输入什么,什么 ...

  4. nginx启动时指定配置文件

    下载源文件方式安装nginx 会在/usr/local目录下安装nginx 此时虚拟机系统中会有两个nginx 如果启动的时候没有指定配置文件的位置,默认读取的配置文件就是/usr/local/ngi ...

  5. 《深入理解Java虚拟机》读书笔记六

    第七章 虚拟机类加载机制 1.类加载的时机 虚拟机的类加载机制: 虚拟机把描述类的数据从class文件中加载到内存,并对数据进行校验.转换解析和初始化,最终形成了可以被虚拟机直接使用的Java类型,这 ...

  6. TODO:如何模拟cpu打满,磁盘打满,网卡打满

    背景: 测试活动中,需要构造cpu打满.磁盘打满.网卡打满的场景 场景1:cpu打满 环境信息: 虚拟机,物理核数16个,每个物理核的虚拟核数1个,虚拟核数16个: [root@vm10-0-0-8 ...

  7. RESTful 【个人理解总结】

    RESTful 个人理解总结 一.什么是  RESTful 面向资源 简单的说:RESTful是一种架构的规范与约束.原则,符合这种规范的架构就是RESTful架构. 先看REST是什么意思,英文Re ...

  8. MTV与MVC模式

    MTV模型(django) M:模型层(models.py) 负责业务对象与数据库的对象(orm) T:templates 负责如何把页面展示给用户 V:views 负责业务逻辑,并在适当的时候调用m ...

  9. AcWing 793. 高精度乘法

    https://www.acwing.com/problem/content/795/ #include<bits/stdc++.h> using namespace std; //A*b ...

  10. 如何在Go中获得 "A1","B2" 类似字符+数字的字符串

    package main import ( "fmt" ) func main() { // 字符串 str := "ABCDEFGHIJKLMNOPQRSTUVWXYZ ...