clock+gating+placement+阶段就发生违例怎么办?

上海几大外企数字后端PRAPR面试终极资料!!你懂的!! - 道客巴巴:

1、什么是天线效应?怎么修复?

在芯片生产过程中,暴露的金属线或者多晶硅(polysilicon)等导体,就象是一根根天线,会收集电荷(如等离子刻蚀产生的带电粒子)导致电位升高。天线越长,收集的电荷也就越多,电压就越高。若这片导体碰巧只接了MOS 的栅,那么高电压就可能把薄栅氧化层击穿,使电路失效,这种现象我们称之为“天线效应”。
跳线,而且最好是往上跳线
增加对地反向偏置diode,
在信号线上加一组buffer,这个方法既可以规避antena,也可以为信号增加驱动能力

2、 请说一下memory的摆放规则??

调整Macro的位置、摆放方向,注意出Pin的方向,为出pin的区域留出足够的空间,避免产生狭窄的通道。另外当多个Memory共用相同的数据线或者地址线时,可以调整它们的位置,使它们的Pin对齐,这样连线会比较规整,对Congestion有帮助。

4、 后端的时序约束相对于综合版本需要修改吗?

4、 APR之前需要做什么样的检查?

检查所有库是否一致,版本是否一样,使用单位是否一样,是否有重名

5、做floorplan时要考虑哪些因素?

6、APR每一步都干什么?

path的部分(因为icg)的原因造成的,

8、数字树为什么需要balance?

对于快速设计,时钟树的skew和latency影响时序收敛、功耗和面积。balance 可以使得timing收敛简单些
对于慢速设计,时钟树的skew和latency对时序收敛的影响重要性下降。但是对于skew大的时钟树,工具修复时序会增加更多的面积和功耗。创造一个skew小的时钟树,虽然看似在时钟树上多用了buffer,但是会减少在修复时序问题时需要的buffer
所以,一个balance对于时序收敛、面积和功耗都是有好处的。

除了PPA(performance、power、area)之外,时钟树还应该robust。即所谓设计中的时钟树在任意设计需求的corner下都能满足时序。这点对提高良率的意义重大。
考虑OCV等因素后,对称使得时钟树更加强壮。到达每个Reg的时钟路径拓扑结构、级数和Inverter/Buf都一样是最理想的。(不考虑usefull skew的需求)
使用专用的、较少的Inverter/Buf也可以降低OCV对时钟树鲁棒性的影响

9、什么是闩锁效应,如何解决?

闩锁效应是CMOS工艺所特有的寄生效应,严重会导致电路的失效,甚至烧毁芯片。闩锁效应是由NMOS的有源区、P衬底、N阱、PMOS的有源区构成的n-p-n-p结构产生的,当其中一个三极管正偏时,就会构成正反馈形成闩锁。避免闩锁的方法就是要减小衬底和N阱的寄生电阻,使寄生的三极管不会处于正偏状态。

10、写个脚本统计人名

11、PVT全称是什么?如何影响我们的芯片

12、STA和动态仿真的区别?

而时序仿真时严重依赖激励波形的;第二点是完整度,STA能够对数字电路中所有的时序路径进行全面的检查,而时序仿真在覆盖率上有一定限制;第三点是效率,STA的比较简单,速度更快,而生成仿真需要的激励,建立仿真环境可能费时费力;第四点是鲁棒性,STA能够考虑到电路中串扰噪声以及OCV(On Chip Violation, 片上偏差)的影响,提高芯片制成后的良率,而时序仿真做不到这一点。

13、STA在什么阶段做,各个阶段的STA都有什么区别?

能答出以上3条的,在工作中已经基本够用,但是还有两个不常用到的,是AMD的一个大牛告诉我的。

5)改变信号的timing window。这个不易做到,但是也是解决方法

1)如何计算core power PAD:估算corepower,再加50%,算出电流,除以每个core power IO的最大电流,就是大致的PAD个数。插入到信号PAD ring后,还要再计算powerEM,防止一根电源线上的电流过大。
2)如何计算IO powerPAD:从信号IO的功耗算起,同时计算SSO,取2个结果里面较大的
3)在什么地方插入powercut:不同的core电压和不同的IO电压之间,power island之间,数字和模拟电源之间。
5)ESD一般要加在每个不同的电源之间

16、分析X-talk后都输出哪些报告和结果?如何利用这些结果改善设计?

17、设计的哪些地方容易出现IR-drop的问题?

18、什么叫克隆(cloning)和缓冲(buffering),什么情况下用到这2种技术?

cloning:有多个sink的情况下,不改变逻辑功能把当前cell复制一份,分别驱动下一级的cell,这样可以减少当前单元的负载,从而获得更好的时序,缺点是会增加上一级的负载
buffering:不改变信号的情况下对信号再生,提高它的驱动能力,通常是两级反相器构成,可以提高电路的运行速度,有时也用来当延时单元,特点是不会增加上一级的负载

在多个sink的时序都比较紧的情况下适合用cloning,如果sink对timing的要求区别挺大的,一部分时序较紧的由上一级直接驱动,剩下的可以加一级buffer后驱动

20、LEF是什么?与GDS的区别是什么?

LEF是一种简化版的GDS,它只包括size和metal层有关的信息,比如pin,blockage等,其他baselayer的东西只在GDS里面可以看到。
LEF是一个文本文件,可以修改编辑。GDS是二进制文件,比较难修改

21、对标准单元所说的9 track和12track是什么意思?(同一种工艺下)这两种单元有什么区别?

一般来说9 track是 属于标准size,7 track属于小size,也就是低功耗一些,速度慢些,10、12 track 是高速,一般 metal1的rail做的更宽,管子好像没啥区别,rail做的宽自然能走更多的电流,自然速度就快了功耗大了,有的还添加metal2 rail比如65nm以下的库,这样速度更快了,选几个track 是由设计目标决定的,如果简单些

22、 时钟走线一般用那层金属?

最底层M1/2一般很薄,走线宽度最小,RC一般最大,而且会被cell的pin占去很多资源,肯定不适合做clockwire。
最高1/2层M7/8一般很厚,走线宽度大,RC很小,适合大驱动的clockbuffer走线。如果是用铜做金属层的话,最上面还会有一层极厚的铝金属层,一般不用做信号线的走线。

如果考虑到VIA增加的电阻,一味地使用最高层不一定会得到最快的clocktree。
但是一般信号走线大多是先用下层的金属,所以建议根据各层的RC和整个设计的congestion来选择clockwire的层数。
如果最高1/2层M7/8的RC与中间几层M3/4/5/6的RC相差不大,在很拥堵时,还是选最高1/2层;不太拥堵时,选中间几层里面的高层M5/6;根本没有拥堵时,用中间层里面的底层M3/4

23、设置虚拟时钟的作用?

设一个虚拟时钟,与clk同频同相,把所有input,output delay都指定到那个虚拟时钟上,CTS后,只要在虚拟时钟上加上(BC 0.1 WC 0.2)的latency就好了

24、什么是ESD?在什么地方需要插入ESD 电路?

ESD(Electro-Static discharge)指静电释放,一般在IO 的Input 加ESD电路,在IC的测试、封装、运输、使用等过程中可以把静电有效泄放避免对CMOS 栅极的损伤,从而有效地保护IC。

二极管有一个特性:正向导通反向截止(不记得就去翻前面的课程),而且反偏电压继续增加会发生雪崩击穿(Avalanche Breakdown)而导通,我们称之为钳位二极管(Clamp)。这正是我们设计静电保护所需要的理论基础,我们就是利用这个反向截止特性让这个旁路在正常工作时处于断开状态,而外界有静电的时候这个旁路二极管发生雪崩击穿而形成旁路通路保护了内部电路或者栅极(是不是类似家里水槽有个溢水口,防止水龙头忘关了导致整个卫生间水灾)。PN结的击穿分两种,分别是电击穿和热击穿,电击穿指的是雪崩击穿(低浓度)和齐纳击穿(高浓度),而这个电击穿主要是载流子碰撞电离产生新的电子-空穴对(electron-hole),所以它是可恢复的。

25、DFM包含什么?


}

1、项目需求:确定芯片的具体指标(spec)

  • 物理:工艺、面积、封装;
  • 功能:功能表述、接口定义。

2、系统级设计:用系统建模语言对各模块进行描述
3、前端设计:RTL设计、仿真、硬件原型验证、电路综合
4、后端设计:版图设计、物理验证、后仿真



}

我要回帖

更多关于 create_generated_clock 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信