(完整版)ic后端面试题_第1页
(完整版)ic后端面试题_第2页
(完整版)ic后端面试题_第3页
(完整版)ic后端面试题_第4页
(完整版)ic后端面试题_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、4.Whatareseveralfactorstoimprovepropagationdelayofstandardcell?哪些因素可以影响标准单元的延退?答1)PVTP:ProcessV:VoltageT:Temperature2)inputtransition,outputload3)Vthinputtransition(输入转换时间)outputload(输出负载)delay=f(Ttransition,Cout)所以fanout越大的地方,延时会越大,因为要给更多的电容充电3Howtofixx-talkviolation?如何解决线间干扰?难度:4(关于难度的定义,在第一题里面)(应

2、该至少有5大类解决办法,wirespacing,shielding,changelayer之类的只算其中1类)答暂时把上面几位的答案总结为以下3条1)upsizevictimnetdriver,downsizeaggressornetdriver2)increasewirespace,shielding,changelayer,changewirewidth3)insertbutterinvictimnet能答出以上3条的,在工作中已经基本够用,但是还有两个不常用到的,是AMD的一个大牛告诉我的。4)把与victimnet相连的输入端改成Hi-Vth的单元5)改变信号的timingwindow

3、。这个不易做到,但是也是解决方法1. Whypowerstripesroutedinthetopmetallayers?|为什么电源走线选用最上面的金属层?难度:1答1.高层更适合globalrouting.低层使用率比较高,用来做power的话会占用一些有用的资源,比如stdcell通常是m1Pin。2. EM能力不一样,一般顶层是低层的23倍。更适合电源布线。3. 一般ip占用的层次都靠近下几层,如果上层没有被禁止routing的话,toplayer可以穿越,低层是不可能的,并且高层对下层的noise影响也小很多。6.Duringthesynthesis,whattypeofwireloa

4、dmodelareoftenused?做RTL综合时,经常使用的wireloadmodel有哪几种?答就是你说的“NLDM,CCS,和ECSM,还有一个现在基本不用了的-LDM回来讲wireloadmodel,在综合时,除了用ZWLM,或者不同K值的wireloadmodel以夕卜,还有一个基于物理位置(距离)的wireloadmodel,在Cadence的RC中叫PLE,Synopsys叫DCUltraTopographical7 HowdelaysarecharacterizedusingWLM(WireLoadModel)?使用一般的WLM(不是zeroWLM,也不是按照物理位置算的DC

5、T),DC是如何计算delay的?难度:2答DC在计算延时的时候,主要根据输出的tansition和net的RC值来计算。outputtansition是由驱动cell的inputtansition和load通过查表得到的而net的rc就要根据所选取的wrieloadmodel来计算,计算时和输出的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);根据f

6、anout值,由fanout(1,66.667)可以得出互连线长度为66.667,然后根据resistance和capacitance计算出互连线电容为1.5e-4*66.667,互连线电阻为8.5e-8*66.667,当然如果扇出值表中没有,就会用到slope,例如扇出为3时,此时估算的互连线长度为1*66.667+(3-1)*slope,再计算出RC值,然后DC由此计算net的延时。8 Therearesourceclockclka(create_clock),andgeneratedclockclkbbyclka.Inpre-CTSnetlist,thereisnetworklatenc

7、yinclka,howthislatencypropagatestoclkb?Inpost-CTSnetlist,Whatyouneedtodoforthisnetworklatency?假设有两个时钟,原始为clka,生成的时钟为clkb,在没有时钟树的网表中,clka的networklatency会自动传递到clkb上吗?clkb的latency如何描述?在生成时钟树的网表中,如何处理networklatency?clkb的latency又如何描述?答clkanetworklatency会传递到clkb上,定义clkb的latency,并声明其为clka的子clock1) latency会

8、自动传到clkb上2) 去掉clocknetworklatency,让工具自己算9 Therearesourceclockclka(create_clock),andgeneratedclockclkbbyclka.howdoyouspecifytheminCTSspecfile?Assumethereisrealtimingpathbetweenclkaandclkb.clkb是clka的生成时钟,在CTS的spec文件中如何定义这两个时钟?假设clka和clkb之间的FF有时序收敛的要求。难度:3答在CTS的spec文件中定义clka是root,clkb为throughpin,再加上那些应

9、该有的skew,transition,insertiondelay等就好了,其它的事CTS会给你做5Whatwouldyoudoinordertonotusecertaincellsfromthelibrary?如何禁止使用库里面的某些单元?答禁用就用set_dont_use禁止修改就用set_dont_touchI WhydoyouusealternateroutingapproachHVH/VHV(Horizontal-Vertical-Horizontal/Vertical-Horizontal-Vertical)?为什么要使用横竖交替的走线方式?(感觉这个问题比较弱智,但是号称是int

10、el的面试问题,晕!我憧憬和向往的圣地啊!)难度:1答这样是为了节省布线资源II Whatarevarioustechniquestoresolveroutingcongestion?请详细解释解决走线阻塞的问题难度:4提示:1)routingcongestion发生在后端,前端一般不太考虑这个问题,需要后端自己去想办法解决,但是解决的办法不只在后端,也有一些方法需要前端的配合2)阻塞有多种情形,要分别讨论,没有一个统一的解决办法。能够把大部分的阻塞情况列举出来,就已经够4级的水平啦答1)阻塞在RAM(macro)之间:可能RAM之间的距离没有计算正确,可以加大RAM之间的间距;扭转RAM的方

11、向,使得RAM的IOpin朝向更容易走线的那边;如果是多个RAM共用地址或者数据线,尽量把RAM的地址数据pin对齐2)阻塞出现在RAM和帮助单元交界的地方:在RAM周围加一条halo(keepout);把RAM放在四周,尽量把中间留下的空间变成方形;加一些由小的placementblockage组成的矩阵3)阻塞出现在标准单元的某一块:也可以加一些由小的placementblockage组成的矩阵;module/instancepadding;利用placementguide将减少那块地方的标准单元个数;scanchainreordering也会改善一些阻塞;定义density上限;使用co

12、ngestiondriven的placement,并且要求place之后做congestion优化;在综合是禁止使用那些pin太多太密集的标准单元(多半是那些复杂的组合逻辑单元);请前端使用RAM代替触发器矩阵;请前端修改算法12 Howdoyougetbetterskew/insertiondelaysinCTS(ClockTreeSynthesis)?如何得到更好的时钟树skew和insertiondelay难度:4答clockmesh是一种方法。如果是用普通的CTS的方法,可以从下面几个方面着手。不太可能一次就把CTS做得很好,要反复调试各种参数,达到最佳效果。1)合理的clockroo

13、t和throughpin。这个看似CTS会从SDC自动抓出来,但是并不一定是最好的,特别是多个clock相互有重叠的leafpin时,要特别注意2)不要用太大或者太小的clockbuf/inv3)选用RC最小的金属层。如果上面RC最小的金属层已经被占用,比如RC最小的top,top-1已经不够clocknet时,而top-2到layer2都是一样的RC时,可以选用layer3/4。为什么不用更高层哪?因为这样既照顾了layer2/1的pin,有不用太多的via到更高层4)如果用doublewidthclockwire,可以适当增大clockbuf/inv的size5)合理的maxfanout。

14、有时clockbuf/inv的fanout可以超过max_fanout的限制6)不要把skew设得太小7)min_insertion_delay=0ns8)合理的transitiontime,不要太小9)使用postCTS的CTSopt10)做clocktree时,就直接把clocknet走线完成10 assumeinpre-CTSSDC,clockuncertaintyforsetupcontainsplljitter+clocktreeskew.Howdoyousetclockuncertaintyforhold,andhowtomodifyittopost-CTSsdc?假设在pre-C

15、TS的时序约束中,setup的clockuncertainty是由PLLjitter和clocktreeskew两部分组成,那么1)pre-CTS的时序约束中,hold的clockuncertainty是什么?2)post-CTS的时序约束中,setup和hold的clockuncertainty要做什么样的修改?难度:2答1)holduncertainly=clocktreeskew2)post-CTS后,对于holdtime分析,因为时钟树传播延退确定了,所以lanch和capture的clock之间不存在uncertainly了吧14whatisprosandconsofusingbuf

16、ferandinvtersinCTS?CTS中使用buffer和inverter的优缺点是什么?难度:3答使用BUF:优点:逻辑简单,便于post-CTS对时钟树的修改缺点:面积大,功耗大,insertiondelay大使用INV:优点:面积小,功耗小,insertiondelay小,对时钟dutycycle有利缺点:不易做时钟树的修改13 Ifgivingtotalstandardcellgatecount,allmemorymacrolistincludingmemorytype,bitwidthanddepth,allothermacrowithrealsize,andIOtypeand

17、totalnumber.Howdoyouestimatethediesize?如果告诉你标准单元的门数,所有内存的类型和逻辑大小,其他IP的实际大小,以及IOcell的种类和数量,你如何估算整个芯片的面积?难度:3答那就与我补充的一样了,门数知道,面积可以确定了,考虑到你的stduitl,hardip也只知道大小了,sum一下,加上你认可的(经验参数)p/g/specialroute面积,大体确定了。如果是ioneck的话,iomin-space排起来就是你的最小面积了,但此时无法保证package可以过。15Ifgivingtwophysicaldiesasbelow,andaskyouse

18、lectoneofthem.Howdoyoupickitup?explainthereasonplease.(1)width=2xheight(2)height=2xwidth如果从下面的两个芯片中选一个给你做后端设计,你选哪个?请说明选择的理由?(1)宽=2倍的长(2)长=2倍的宽难度:2答金属层现在大多采用metal1H,metal2V,要么是偶数,要么是奇数。如果为偶数:power一般为两层(最高的两层),再除去metal1,那么剩下肯定是偶数层比奇数层的多一层。如果是奇数:那么剩下的奇数层和偶数层一样多。这样的话怎么选呢?还有我觉得现在的STD都为等高不等宽,所以我觉得选择宽一点的,有

19、利于时序优化时选择驱动强度大的器件(因为一般驱动强度大的器件比驱动小的器件都要宽,避免宽度不够),不知道存不存在这种解释?以前跑过一个小例子,就一个与门和触发器,然后CTS选择clock_buf时,就出了范围,所以加大了宽度。16ifthedesignisIOlimited,howtoreducethediesize?因为IO太多而导致芯片面积过大,有什么方法减小面积?难度:2答1)staggerIO,2重io可以算一个方法2) IO可以不全放到四边,只要封装没问题就行啦-flipchip算第二个方法3) 还有一个最简单,容易被忽略的方法17下载(42.72KB)答F2输入端D的setupsl

20、ack是(8+0.5-0.3)-(0.7+7.0)=0.5F4输入端D的holdslack是(0.2+0.2)-(0.2+0.2+0.1)=-0.118如上图usingthesamelogicasquestion#17,consideringOCVonclockpathonly,whichclockbufferwillbeusedforOCVderatingcalculationandwhichclockbufferwillnot(a.k.a.CPPR)?如果考虑clockpath的OCV,在第17题的电路里面,哪几个时钟BUF要被用来计算OCV的derating,哪几个不用(又叫CPPR)?

21、暂不考虑X-talk产生的incrementaldelay难度2答C1C2不用算入derating(应该是也计算过,但是会通过CRPR弥补),C3,C4,C5要计算derating20 ExplainECO(EngineeringChangeOrder)methodology.说一下ECO的流程难度:2答ECO有两种,pre-maskECO和post-maskECO,它的分界线就是baselayertapeout之前和之后。pre-maskECO的流程是1)后端写出网表,给前端2)前端修改这个网表(一般不再做综合),可以使用任何标准单元(只要不是dont_use),交给后端3)后端读入ECO网

22、表,和ECO之前的place和route4)ECOplace&route,STA,DRC/LVSpost-maskECO流程,假设你不想动baselayer1)后端写出网表,给前端2)前端修改这个网表(一般不再做综合),只能使用sparecell或者象gatearray一样的ECOcell3)后端读入ECO网表,和ECO之前的place和route4)如果使用sparecell,不用ECOplace;如果用ECOcell,要将ECOcell放在以前带gatearray功能的fillcell的位置上,再按照指定的layer做ECOroute21 WhatdoyouwriteinCTSsp

23、ecfile?CTSspec文件中一般包含哪些内容?难度:3答AutoCTSRootPinpadPeriodMaxDelayMinDelayMaxSkewSinkMaxTranBufMaxTranBufferNoGatingNO/YESDetailReportYES/NO#SetDPinAsSyncNO/YESSetIoPinAsSyncYES/NORouteClkNetYES/NOPostOptYES/NOOptAddBufferYES/NO#RouteTypespecialRoute#LeafRouteTyperegularRouteExcludedPin+XXX22 Ifthereare

24、toomanypinsofthelogiccellsinoneplacewithincore,whatkindofissueswouldyoufaceandhowwillyouresolve?如果在core里面某一块有太多的标准单元的pin,有可能出现什么place&route的问题,如何解决?难度:3答issues:routingcongestionissueresolution:1. lowutilization2. setspacebetweencells2.尽量不用pin比较多的cell设maxdensity23 IfthereareDRC(spacing,short),hol

25、dandsetupviolationsinthedesign,youdon'thaveenoughtimetofixallofthembeforetapeout,whichoneyouwillfixfirst,whichoneyoucanleaveitasis?Why?如果设计中有DRC(特指spacing和short),hold和setup违反,tapeout之前,你已经没有时间去修改所有这些违反,那么你首先修改哪个?哪个可以不管?请说明理由。难度:2答这个有点迷糊,我只是听说foundary可以先出一部分层的mask(比如contact之前),也可以先制造一部分层(比如contac

26、t之前),然后hold住等其余的mask出来继续制造。如果是这样的话,我想留给drc(spacsshort)的时间是足够的。如果不能做上面这些,一定要一起tapeout,那为什么不把drc搞定?setup不搞定还有的救;drc不修,芯片就很难工作吧,FIB?会不会成本太高?24 howtosetmulticyclepathconstraint?如何设定multicyclepath?难度:1提示:在一般情况下,multicycle-setup和-hold要成对使用答clockpath:fast-slow:set_multicycle_pathnum-setup-fromclk1-toclk2-s

27、tartset_multicycle_pathnum-1-hold-fromclk1-toclk2-startslow-fast:set_multicycle_pahtnum-setup-fromclk2-toclk1-endset_multicycle_pathnum-1-hole-fromclk2-toclk1-enddatapath:set_multicycle_pathnum-setup-fromdata1-todata2set_multicycle_pathnum-1-hold-fromdata1-todata225 howaretimingconstraintsdeveloped,

28、suchasclock,generatedclock,IOtiming,exception?Whatbackendteamcontributetoit?一个设计的时序约束是怎么写出来的?请大略说明时钟,IOdelay,falsepath,multicyclepath是如何得到的?在完成时序约束的过程中,后端可以给予什么样的帮助?答clock和generatedclock一般由设计spec决定。除非有些个别的localgeneratedclock可以有前端工程师自己添加IOtiming与系统设计有关,应该参考/兼顾其他芯片的IO时序,由前端工程师作出exception(falsepath,mul

29、ticyclepath)一般是由前端工程师在做设计时决定的26 InregularbackendflowwithonlyonefunctionalmodeSDC,pleaseexplaintimingclosuremethodology/issue/fixesinpre-CTS,post-CTSandpost-Routestages.在只有一个functionSDC的普通后端流程中,对于pre-CTS,post-CTS和post-Route这三步,请分另U讲述它们在时序收敛上的方法,一般会遇到的问题和解决方法。难度:3暂时不考虑DFT。后续的每日一题中,会加入DFTmodeSDC。答我觉得首先

30、应该回答,pre-CTS时,使用idealclock,只fixsetuppost-CTS后,使用propagateclock,可以只fixsetup,检查hold,但可以不fixholdpost-Route后,依然使用propagateclock,fixsetup和hold然后,就是楼上2位提到的,具体遇到的问题和解决方法了除去"posCTS后,检查hold,但可以不fixhold"那句话,我说的部分的难度是2,你们说的部分的难度是3。27 Continuefrompreviousquestion,ifaddingonemoreDFTtimingconstraint,howdoyouhandlethemu

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论