数字后端PR APR 面试终极资料.doc
《数字后端PR APR 面试终极资料.doc》由会员分享,可在线阅读,更多相关《数字后端PR APR 面试终极资料.doc(36页珍藏版)》请在三一办公上搜索。
1、后端试题 1. 老是简单的问题比较无趣,问一个貌似简单,但是不容易回答完整的How to fix x-talk violation?如何解决线间干扰?难度:4 (关于难度的定义,在第一题里面)(应该至少有5大类解决办法,wire spacing, shielding, change layer之类的只算其中1类)答案:1)upsize victim net driver, downsize aggressor net driver2)increase wire space, shielding, change layer,change wire width3)insert butter in
2、victim net能答出以上3条的,在工作中已经基本够用,但是还有两个不常用到的,是AMD的一个大牛告诉我的。4)把与victim net相连的输入端改成Hi-Vth的单元5)改变信号的timing window。这个不易做到,但是也是解决方法2. What are several factors to improve propagation delay of standard cell?哪些因素可以影响标准单元的延迟?难度:3答案:1) PVT2)input transition, output load3)Vth3. What would you do in order to not u
3、se certain cells from the library?如何禁止使用库里面的某些单元?难度:1答案:set_dont_useset_dont_touch4. During the synthesis, what type of wire load model are often used?做RTL综合时,经常使用的wire load model有哪几种?难度:2注意:问题是wire load model,不是wire load mode,也不是delay model答案:1)zero wire load model2)基于fanout的传统 WLM3)基于物理位置(距离)的wire
4、 load model,在Cadence的RC中叫PLE,Synopsys叫DC Ultra Topographical附加问题:What types of delay model are used in digital design? (数字IC设计中有多少种类型的delay model)答案:NLDMCCSECSM还有一个现在基本不用了的LDM5. How delays are characterized using WLM (Wire Load Model)?使用一般的WLM (不是zero WLM,也不是按照物理位置算的DCT),DC是如何计算delay的?难度:2答案:DC在计算延时
5、的时候,net的rc就要根据所选取的wrie load model来计算,计算时和输出的fanout决定以smic13的smic13_wl10为例wire_load(smic13_wl10) resistance : 8.5e-8; capacitance : 1.5e-4; area : 0.7; slope : 66.667; fanout_length (1,66.667);根据fanout值,由fanout(1,66.667)可以得出互连线长度为66.667,然后根据resistance和capacitance计算出互连线电容为1.5e-4*66.667,互连线电阻为8.5e-8*66
6、.667,当然如果扇出值表中没有,就会用到slope,例如扇出为3时,此时估算的互连线长度为1*66.667+(3-1)*slope,再计算出RC值,然后DC由此计算net的延时。6. There are source clock clka (create_clock), and generated clock clkb by clka.In pre-CTS netlist, there is network latency in clka, how this latency propagates to clkb?In post-CTS netlist, What you need to do
7、 for this network latency?假设有两个时钟,原始为clka,生成的时钟为clkb,在没有时钟树的网表中,clka的network latency会自动传递到clkb上吗?clkb的latency如何描述?在生成时钟树的网表中,如何处理network latency? clkb的latency又如何描述?难度:3答案:在pre-CTS时,clka的network latency会自动传到clkb上在post-CTS时,可以把network latency去掉,通过set_propagated_clock命令,让工具根据clock tree去计算实际的clock netwo
8、rk latency7. There are source clock clka (create_clock), and generated clock clkb by clka. how do you specify them in CTS spec file? Assume there is real timing path between clka and clkb.clkb是clka的生成时钟,在CTS的spec文件中如何定义这两个时钟?假设clka和clkb之间的FF有时序收敛的要求。难度:3答案:在CTS的spec文件中定义 clka 是 root,clkb 为 through p
9、in,再加上那些应该有的skew,transition,insertion delay等就好了,其它的事CTS会给你做8. assume in pre-CTS SDC, clock uncertainty for setup contains pll jitter + clock tree skew. How do you set clock uncertainty for hold, and how to modify it to post-CTS sdc?假设在pre-CTS的时序约束中,setup的clock uncertainty是由PLL jitter和clock tree skew
10、两部分组成,那么1)pre-CTS的时序约束中,hold的clock uncertainty是什么?2)post-CTS的时序约束中,setup和hold的clock uncertainty要做什么样的修改?难度:2答案:1) pre-CTS, setup的clock uncertainty = PLL jitter + clock tree skew hold的clock uncertainty = clock tree skew2) post-CTS, setup的clock uncertainty = PLL jitter hold的clock uncertainty = 09. Wha
11、t are various techniques to resolve routing congestion?请详细解释解决走线阻塞的问题难度:4提示:1) routing congestion发生在后端,前端一般不太考虑这个问题,需要后端自己去想办法解决,但是解决的办法不只在后端,也有一些方法需要前端的配合2) 阻塞有多种情形,要分别讨论,没有一个统一的解决办法。能够把大部分的阻塞情况列举出来,就已经够4级的水平啦答案:1)阻塞在RAM(macro)之间:可能RAM之间的距离没有计算正确,可以加大RAM之间的间距;扭转RAM的方向,使得RAM的IO pin朝向更容易走线的那边;如果是多个RA
12、M共用地址或者数据线,尽量把RAM的地址数据pin对齐2)阻塞出现在RAM和帮助单元交界的地方:在RAM周围加一条halo(keepout);把RAM放在四周,尽量把中间留下的空间变成方形;在有阻塞的地方加一些由小的placement blockage组成的矩阵3)阻塞出现在标准单元的某一块:也可以加一些由小的placement blockage组成的矩阵;module/instance padding;利用placement guide减少那块地方的标准单元个数;scan chain reordering也会改善一些阻塞;定义density上限;使用congestion driven的pla
13、cement,并且要求place之后做congestion优化;在综合是禁止使用那些pin太多太密集的标准单元(多半是那些复杂的组合逻辑单元);请前端使用RAM代替触发器矩阵;请前端修改算法4)应该尽量减少power route占有的资源,谨慎选择power mesh使用的金属层,VIA的大小等。在detail route完成之后,你如果已经试了各种解决signal congestion的方法,还有少量DRC无法解决时,可以考虑切掉部分power mesh10. How do you get better skew/insertion delays in CTS (Clock Tree Syn
14、thesis)?如何得到更好的时钟树skew和insertion delay难度:4答案:clock mesh 是一种方法。如果是用普通的CTS的方法,可以从下面几个方面着手。不太可能一次就把CTS做得很好,要反复调试各种参数,达到最佳效果。1)合理的clock root和through pin。这个看似CTS会从SDC自动抓出来,但是并不一定是最好的,特别是多个clock相互有重叠的leaf pin时,要特别注意2)不要用太大或者太小的clock buf/inv3)选用RC最小的金属层。如果上面RC最小的金属层已经被占用,比如RC最小的top,top-1已经不够clock net时,而top
15、-2到layer2都是一样的RC时,可以选用layer3/4。为什么不用更高层哪?因为这样既照顾了layer2/1的pin,有不用太多的via到更高层4)如果用double width clock wire,可以适当增大clock buf/inv的size5)合理的max fanout。有时clock buf/inv的fanout可以超过max_fanout的限制6)不要把skew设得太小7)min_insertion_delay = 0ns8)合理的transition time,不要太小9)使用postCTS的CTS opt10)做clock tree时,就直接把clock net走线完成
16、11. If giving total standard cell gate count, all memory macro list including memory type, bit width and depth, all other macro with real size, and IO type and total number. How do you estimate the die size?如果告诉你标准单元的门数,所有内存的类型和逻辑大小,其他IP的实际大小,以及IO cell的种类和数量,你如何估算整个芯片的面积?难度:3答案:IO neck 和 core neck 一
17、般称作 IO limited 和 core limited,IO limited :这个芯片的面积是因为IO个数限制(太多),而不得不做得那么大。core部分其实用不了那么大。这时面积计算就简化为每边IO个数的计算了。Core limited:芯片面积是有core部分的决定的,IO没有那么多在Core limited情况下,die size的估算如下:芯片面积 = core面积+ power ring面积 +PAD ring面积core面积 = RAM面积 + 其他macro面积 + 标准单元面积RAM面积 = RAM 自身的面积 + RAM power ring面积 + keepout面积
18、+ mbist面积RAM自身的面积可以通过memory compiler或者查datasheet得到,有些RAM 可以不要power ring。如果要的话,按照power mesh的宽度 x RAM的长宽 x 2 = 面积keepout + mbist 的面积一般是RAM自身面积的10%其他macro的面积,比如PLL,ADC,DAC等,直接把面积加起来,再留35%的keepout面积就好了标准单元的面积=(预估的gate count x 每个gate的面积)/ utilizationutilization与使用的金属层数和设计的用途有关,简单地计算方法是5层metal:50%6层metal:
19、60%7层metal:70%8层metal:80%以上不包括power专用的金属层如果设计是多媒体芯片,一般可以增加35% utilizaion,如果是网络芯片,则要减少35%12. what is pros and cons of using buffer and invters in CTS?CTS中使用buffer和inverter的优缺点是什么?难度:3答案:使用BUF:优点:逻辑简单,便于post-CTS对时钟树的修改缺点:面积大,功耗大,insertion delay大使用INV:优点:面积小,功耗小,insertion delay小,对时钟duty cycle有利缺点:不易做时钟
20、树的修改13. If giving two physical dies as below, and ask you select one of them. How do you pick it up? explain the reason please.(1) width = 2 x height(2) height = 2 x width如果从下面的两个芯片中选一个给你做后端设计,你选哪个?请说明选择的理由?(1) 宽 = 2倍的长(2) 长 = 2倍的宽难度:2答案:去除不太好用的layer(比如metal1)和power专用layer(比如RDL)后,比较剩下的layer可以提供的H和V
21、的routing resource,如果H的多,就选宽的,反之,就选高的。14. if the design is IO limited, how to reduce the die size?因为IO太多而导致芯片面积过大,有什么方法减小面积?难度:2答案:1)stagger IO,2重io 可以算一个方法2)IO可以不全放到四边,只要封装没问题就行啦 - flip chip 算第二个方法3)如果有多套IOcell可以选择,尽量选瘦的4)调整芯片的长宽比15. giving the schematic and delay in attached picture, calculate the
22、WC setup slack at D pin of F2, and BC hold slack at D pin of F4如图所示电路,时钟和延迟,计算到F2输入端D的setup slack,到F4输入端D的hold slack难度:3答案:F2输入端D的setup slack是(8+0.5-0.3)-(0.7+7.0)=0.5F4输入端D的hold slack是(0.2+0.2)-(0.2+0.2+0.1)=-0.116. using the same logic as question #17, considering OCV on clock path only, which clo
23、ck buffer will be used for OCV derating calculation and which clock buffer will not (a.k.a. CPPR)?如果考虑clock path的OCV,在第17题的电路里面,哪几个时钟BUF要被用来计算OCV的derating,哪几个不用(又叫CPPR)?暂不考虑X-talk产生的incremental delay难度:2答案:C1 C2不用算入derating(应该是也计算过,但是会通过CRPR弥补),C3,C4,C5 要计算derating附录:以下是几个概念的通俗解释。OCV:因为制造工艺的限制,同一芯片上
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字后端PR APR 面试终极资料 数字 后端 PR 面试 终极 资料

链接地址:https://www.31ppt.com/p-3739433.html