当前位置:首页 > 陈涛后端面试总结
功耗,一般还是放在input端比较好。 你的答案也是正确的!
@@32、Continue from #31 question, there is isolation cell on netBA with isolate enable pin. When shutdown the block B, will you enable isolate pin first, or shutdown B first? What order it is during block B power-on?
接着上一题提问,在netBA上有一个isolation cell,isolation cell都会有一个isolate enable端,在模块B关断电源时,是先让isolate enable端on哪,还是先关模块B?反之,在开模块B的电源时,谁先谁后?难度:2
答案:
先isolate on,再power off,反之先power on,再isolate off @@33、There are 1000 clocks in a design. You guess the constraint cross the clocks is incomplete, and want to have a list of clocks which has cross clock domain path. How do you find whether there is path between 2 clocks?
设计中有1000个clock,你怀疑跨时钟的时序约束有问题,想找出哪些clock之间有real path,请问如何找?难度:2
答案:
check_timing
report_timing -clock_from -clock_to 循环
@@34、What are various statistics available in IR-drop analysis reports? IR-drop的分析报告里面都包含哪些内容?难度:2
答案: 至少包括
各种mode下的static和dynamic IR-srop report,其中drop的容许范围可以参考厂家的意见
function mode下的EM report和RJ report
@@35、With respect to clock gate, what are various issues you faced at various stages in the physical design flow?
在后端流程的每步中,如何处理门控时钟?难度:3
答案:
如果是用latch+and/or在组合成的clock gating cell,比较麻烦,以后估计不多见了,暫不讨论。TomPaul提到的问题都很让人头痛,特别是做CTS时,如何处理那些个latch的clk pin。Place时,latch和and/or cell一定要靠得很近。 一般使用ICG cell时,
place:使用clock gating aware placement选项
CTS:主要看工具的本领了,一般是希望在满足setup的前提下,ICG cell要尽量靠近clock root
route:除了clock net优先以外,不记得还有什么可做的了
@@36、What is SSO? How to calculate the SSO in pad ring design? 什么是SSO,设计PAD ring时,如何计算SSO?难度:3
答案:
sso ,即simultaneous switching ouputs,即允许同时切换的信号IO的数量。多个
信号IO同时切换时,因更多电流流过pad ring,在pad电源IO的bonding wire及片外引线上的电感上,产生Ldi/dt的压降。也即ssn,同时切换噪声。主要是会引起地弹,即ground bounce。
避免sso有很多方法。如增加供给pad用的电源IO数量,采用double bonding或triple bonding,采用slew rate control的IO,避免把pad电源IO放在corner上(corner处bonding wire引线最长,L最大),等。
主要还是采用增加pad用电源IO数量的办法,计算方法一般foundry会提供,一般是给每个信号PAD一个DF值(还要根据bonding wire电感值做出选择),把自己用的所有信号IO的DF值加在一起,能得出所需要的POWER PAD的数量。
@@37、In building the timing constraints, do you need to constrain all IO ports? Can a single port have multi-clocked? How do you set delays for such ports? Can a clock port have multi-clock definition? How do you create clock for this port?
写时序约束时,是否需要对所有的IO端口加约束?一个信号端口是否可以被多个时钟约束?应该如何对这种端口设置delay?一个时钟端口是否可以定义多个时钟?应该如何定义这些时钟?难度:2
答案:
CLOCK ports 不需要加,其他都要 可以,set_input_delay -add_delay 可以,create_clock –add
@@38、What is purpose of lockup latch in scan chain? Does lockup latch always fix the problem of first question? Does lockup latch clk pin connect to the clock of predecessor flop or successor?
scan chain中插入lockup latch的目的是什么?是不是lockup latch总能达到那个目的?lockup latch的clk端与前一个flop的clock相连,还是后一个flop的clock相连?
难度:3 答案:
一般scan 用的时钟树大部分是与function的共享,所以scan chain的前一段和后一段的clock insertion delay会不一样,因为scan shift速度很慢,不太用顾及setup,但是要确保hold。
所以在前一个FF的clock insertion delay小,后一个大时,插入一个lockup latch,使信号多保持半个周期,以满足后一个FF的hold要求。 它们的时序关系是
前FF时钟延迟+1/2 scan时钟周期 >= 后FF时钟延迟 + 后FF hold要求 当后FF时钟延迟太大时,lockup latch也解决不了hold违反的问题 按此分析,lockup latch的clk端是和前一个FF的时钟相连的。
@@39、How is scan DEF generated? scan DEF是怎么生成的?难度:2
在第一次做完scan chain stitch后,让DFT tool输出一个scan def
@@40、What are pros/cons of using low Vt, high Vt cells? 使用low Vt 和 high Vt cell的优缺点?
难度:1 答案:
lvt cell速度快,耗电高,静态电流大
hvt cell速度慢,静态电流小 这是timing与power的trade off
@@41、How do you reduce standby (leakage) power? How do you reduce dynamic power? 如何减少静态功耗?如何减少动态功耗?
难度:3 答案:
老陈认为,这是最邪恶的一种提问方法!貌似简单,其实覆盖范围很广。 leakage power + dynamic power 不就是 total power 吗? 那么这个问题可以换一个说法:如何减少功耗?
这样可以从系统结构,算法,前端,一直说到后端,即可以罗列几个大的方向,也可以具体到每个细节,你也搞不清楚他想问的是那个方面。
反过来说,如果他有意刁难你,就可以用这种问法,反正你答不全,到时就说你水平不够!
我们就集中在后端的部分(加一小部分前端),而且是细节讨论 楼上几位说得都对,总结一下 静态功耗:
非关键路径HVT cell 替换
coarse grain, fine grain, power shutdown 减少decap_cell 散热降温 动态功耗: 降压
power island DVSF
非关键路径HVT cell 替换 clock gating memory split signal gating
transition time 约束
减小高速信号的走线长度
@@42、How do you design PAD ring?
如何设计PAD ring?
难度:3
(又是一道比较邪恶的题目)
大的流程是:
1)根据系统(其他芯片的)要求,芯片内部的floorplan,决定信号PAD的位置 2)计算出power PAD的个数,插入到信号PAD里面
3)加其他的PAD,比如IO filler,power cut,power on control,corner PAD,ESD等
细节可以包括:
1)如何计算core power PAD:估算core power,再加50%,算出电流,除以每个core power IO的最大电流,就是大致的PAD个数。插入到信号PAD ring后,还要再计算power EM,防止一根电源线上的电流过大。
2)如何计算IO power PAD:从信号IO的功耗算起,同时计算SSO,取2个结果里面较大的 3)在什么地方插入power cut:不同的电压core电压和不同的IO电压之间,power island之间,数字和模拟电源之间。
4)power on control PAD,一段每个IO ring需要一个 5)ESD一般要加在每个不同的电源之间
@@43、In hierarchical design flow, explain block level pin placement flow? What are parameters to decide?
在hierarchical流程中,如何确定block的pin(位置,金属层)?难度:3 答案:
在top-down流程中
位置 :主要是看与该block相关的其它block(如ANALOG 等)的interface,一般相关的PIN/PORT 要比较近,同时也尽量不要使PIN被block内部的 memory(一般放在block 的boundary处)等挡到金属层 :也要看相关的其它block的PIN/PORT 所出的金属层,尽量用一致的,同时不用M7.M8等一般用来走power 的金属层,当然M1 也不用encounter(ICC也应该是同样的道理)用flatten的trial route来决定block pin的位置和金属层。
当然,你可以事先指定,也可以事后修改在bottom-up流程中,主要是人为的规定了
@@44、What does x-talk reports contain? How do you use those reports to improve the design?
分析X-talk后都输出哪些报告和结果?如何利用这些结果改善设计? 难度:3
答案:
X-talk的分析结果中,至少要包含X-talk glitch 和X-talk delay 的报告和数据, 可以把glitch报告读回到P&R tool里面,让tool自动解决这些问题,也可以手动,详细请参考每日一题(003)
X-talk delay就是incremental delay,反标回网表中以后,再做一次时序优化
@@45、Explain function and difference of Muxed FF (Multiplexed Flip Flop) /scan FF (with scan_in and scan_en input pins). 解释Muxed FF和scan FF的异同
难度:2 答案:
Scan FF 是Mux FF的子集。Scan DFF 从功能上讲,就是Mux+FF 但是一般2者不混用,因为在输入端的时序要求大不一样 想问的是 scan FF的内部结构以及时序特点
@@46、In logic equivalence checking, how do you handle scan_en signal? LEC中如何处理scan_en端? 难度:3
答案:
如果有scan chain reorder,disable scan_en 如果没有,enable scan_en
@@47、why optimize leakage power after timing closure? What's happen if doing it with
setup violation?(在P&R中)为什么优化静态功耗要在时序收敛之后做?在有setup违反
共分享92篇相关文档