首页 数字后端面试必备

数字后端面试必备

举报
开通vip

数字后端面试必备以下三个是最经常被问到的,基本上属于介绍性的题目,无所谓正确答案,在我看来,这些不算真正的问题。Discussabouttheprojectsworkedinthepreviouscompany.介绍一下你在公司里做过的项目Whatarephysicaldesignflows,variousactivitiesyouareinvolved?介绍一下你们的后端流程(假设是从gatelevelnetlist开始的),你负责哪一部分?Designcomplexity,capacity,frequency,processt...

数字后端面试必备
以下三个是最经常被问到的,基本上属于介绍性的题目,无所谓正确答案,在我看来,这些不算真正的问题。Discussabouttheprojectsworkedinthepreviouscompany.介绍一下你在公司里做过的项目Whatarephysicaldesignflows,variousactivitiesyouareinvolved?介绍一下你们的后端流程(假设是从gatelevelnetlist开始的),你负责哪一部分?Designcomplexity,capacity,frequency,processtechnologies,blocksizeyouhandled.芯片的工艺,面积,standardcell的gatecount,FF的个数,memorymacro的个数,时钟频率,时钟个数,是hierarchy还是flattenflow,如果是flattenflow,分成几个block下面是第一个真正的问题:1、Whypowerstripesroutedinthetopmetallayers?为什么电源走线选用最上面的金属层?难度:1难度指数:1:常识--无论是否有工作经验,都应该准确回答2:简单--只要做过一点后端的设计,就应该明白3:一般--有实际工作经验一年左右,做过2个以上真正的设计,应该可以答上来4:较难--在这个特定的领域有较多的研究,并积累了一定的经验5:很难--基本上是专家级的牛人了!答案:1)高金属层的IR比较小,EM能力大2)底层被IP,标准单元用的机会更大2、WhydoyouusealternateroutingapproachHVH/VHV(Horizontal-Vertical-Horizontal/Vertical-Horizontal-Vertical)?为什么要使用横竖交替的走线方式?(感觉这个问题比较弱智,但是号称是intel的面试问题,晕!我憧憬和向往的圣地啊!!!)难度:1答案:最有效地利用走线资源3、Howtofixx-talkviolation?如何解决线间干扰?难度:4(关于难度的定义,在第一题里面)(应该至少有5大类解决 办法 鲁班奖评选办法下载鲁班奖评选办法下载鲁班奖评选办法下载企业年金办法下载企业年金办法下载 ,wirespacing,shielding,changelayer之类的只算其中1类)答案:1)upsizevictimnetdriver,downsizeaggressornetdriver2)increasewirespace,shielding,changelayer,changewirewidth3)insertbutterinvictimnet能答出以上3条的,在工作中已经基本够用,但是还有两个不常用到的,是AMD的一个大牛告诉我的。4)把与victimnet相连的输入端改成Hi-Vth的单元5)改变信号的timingwindow。这个不易做到,但是也是解决方法4、Whatareseveralfactorstoimprovepropagationdelayofstandardcell?哪些因素可以影响标准单元的延迟?难度:3答案:1)PVT2)inputtransition,outputload3)Vth5、Whatwouldyoudoinordertonotusecertaincellsfromthelibrary?如何禁止使用库里面的某些单元?难度:1答案:set_dont_useset_dont_touch6、Duringthesynthesis,whattypeofwireloadmodelareoftenused?做RTL综合时,经常使用的wireloadmodel有哪几种?难度:2注意:问题是wireloadmodel,不是wireloadmode,也不是delaymodel答案:1)zerowireloadmodel2)基于fanout的传统WLM3)基于物理位置(距离)的wireloadmodel,在Cadence的RC中叫PLE,Synopsys叫DCUltraTopographical附加问题:Whattypesofdelaymodelareusedindigitaldesign?(数字IC设计中有多少种类型的delaymodel)答案:NLDMCCSECSM还有一个现在基本不用了的—LDM7、HowdelaysarecharacterizedusingWLM(WireLoadModel)?使用一般的WLM(不是zeroWLM,也不是按照物理位置算的DCT),DC是如何计算delay的?难度:2答案:DC在计算延时的时候,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);根据fanout值,由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,thereisnetworklatencyinclka,howthislatencypropagatestoclkb?Inpost-CTSnetlist,Whatyouneedtodoforthisnetworklatency?假设有两个时钟,原始为clka,生成的时钟为clkb,在没有时钟树的网表中,clka的networklatency会自动传递到clkb上吗?clkb的latency如何描述?在生成时钟树的网表中,如何处理networklatency?clkb的latency又如何描述?难度:3答案:在pre-CTS时,clka的networklatency会自动传到clkb上在post-CTS时,可以把networklatency去掉,通过set_propagated_clock命令,让工具根据clocktree去计算实际的clocknetworklatency9、Therearesourceclockclka(create_clock),andgeneratedclockclkbbyclka.howdoyouspecifytheminCTSspecfile?Assumethereisrealtimingpathbetweenclkaandclkb.clkb是clka的生成时钟,在CTS的spec文件中如何定义这两个时钟?假设clka和clkb之间的FF有时序收敛的要求。难度:3答案:在CTS的spec文件中定义clka是root,clkb为throughpin,再加上那些应该有的skew,transition,insertiondelay等就好了,其它的事CTS会给你做10、assumeinpre-CTSSDC,clockuncertaintyforsetupcontainsplljitter+clocktreeskew.Howdoyousetclockuncertaintyforhold,andhowtomodifyittopost-CTSsdc?假设在pre-CTS的时序约束中,setup的clockuncertainty是由PLLjitter和clocktreeskew两部分组成,那么1)pre-CTS的时序约束中,hold的clockuncertainty是什么?2)post-CTS的时序约束中,setup和hold的clockuncertainty要做什么样的修改?难度:2答案:1)pre-CTS,setup的clockuncertainty=PLLjitter+clocktreeskewhold的clockuncertainty=clocktreeskew2)post-CTS,setup的clockuncertainty=PLLjitterhold的clockuncertainty=011、Whatarevarioustechniquestoresolveroutingcongestion?请详细解释解决走线阻塞的问题难度:4提示:1)routingcongestion发生在后端,前端一般不太考虑这个问题,需要后端自己去想办法解决,但是解决的办法不只在后端,也有一些方法需要前端的配合2)阻塞有多种情形,要分别讨论,没有一个统一的解决办法。能够把大部分的阻塞情况列举出来,就已经够4级的水平啦答案:1)阻塞在RAM(macro)之间:可能RAM之间的距离没有计算正确,可以加大RAM之间的间距;扭转RAM的方向,使得RAM的IOpin朝向更容易走线的那边;如果是多个RAM共用地址或者数据线,尽量把RAM的地址数据pin对齐2)阻塞出现在RAM和帮助单元交界的地方:在RAM周围加一条halo(keepout);把RAM放在四周,尽量把中间留下的空间变成方形;在有阻塞的地方加一些由小的placementblockage组成的矩阵3)阻塞出现在标准单元的某一块:也可以加一些由小的placementblockage组成的矩阵;module/instancepadding;利用placementguide减少那块地方的标准单元个数;scanchainreordering也会改善一些阻塞;定义density上限;使用congestiondriven的placement,并且要求place之后做congestion优化;在综合是禁止使用那些pin太多太密集的标准单元(多半是那些复杂的组合逻辑单元);请前端使用RAM代替触发器矩阵;请前端修改算法4)应该尽量减少powerroute占有的资源,谨慎选择powermesh使用的金属层,VIA的大小等。在detailroute完成之后,你如果已经试了各种解决signalcongestion的方法,还有少量DRC无法解决时,可以考虑切掉部分powermesh12、Howdoyougetbetterskew/insertiondelaysinCTS(ClockTreeSynthesis)?如何得到更好的时钟树skew和insertiondelay难度:4答案:clockmesh是一种方法。如果是用普通的CTS的方法,可以从下面几个方面着手。不太可能一次就把CTS做得很好,要反复调试各种参数,达到最佳效果。1)合理的clockroot和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。有时clockbuf/inv的fanout可以超过max_fanout的限制6)不要把skew设得太小7)min_insertion_delay=0ns8)合理的transitiontime,不要太小9)使用postCTS的CTSopt10)做clocktree时,就直接把clocknet走线完成13、Ifgivingtotalstandardcellgatecount,allmemorymacrolistincludingmemorytype,bitwidthanddepth,allothermacrowithrealsize,andIOtypeandtotalnumber.Howdoyouestimatethediesize?如果告诉你标准单元的门数,所有内存的类型和逻辑大小,其他IP的实际大小,以及IOcell的种类和数量,你如何估算整个芯片的面积?难度:3答案:IOneck和coreneck一般称作IOlimited和corelimited,IOlimited:这个芯片的面积是因为IO个数限制(太多),而不得不做得那么大。core部分其实用不了那么大。这时面积计算就简化为每边IO个数的计算了。Corelimited:芯片面积是有core部分的决定的,IO没有那么多在Corelimited情况下,diesize的估算如下:芯片面积=core面积+powerring面积+PADring面积core面积=RAM面积+其他macro面积+标准单元面积RAM面积=RAM自身的面积+RAMpowerring面积+keepout面积+mbist面积RAM自身的面积可以通过memorycompiler或者查datasheet得到,有些RAM可以不要powerring。如果要的话,按照powermesh的宽度xRAM的长宽x2=面积keepout+mbist的面积一般是RAM自身面积的10%其他macro的面积,比如PLL,ADC,DAC等,直接把面积加起来,再留3~5%的keepout面积就好了标准单元的面积=(预估的gatecountx每个gate的面积)/utilizationutilization与使用的金属层数和设计的用途有关,简单地计算方法是5层metal:50%6层metal:60%7层metal:70%8层metal:80%以上不包括power专用的金属层如果设计是多媒体芯片,一般可以增加3~5%utilizaion,如果是网络芯片,则要减少3~5%14、whatisprosandconsofusingbufferandinvtersinCTS?CTS中使用buffer和inverter的优缺点是什么?难度:3答案:使用BUF:优点:逻辑简单,便于post-CTS对时钟树的修改缺点:面积大,功耗大,insertiondelay大使用INV:优点:面积小,功耗小,insertiondelay小,对时钟dutycycle有利缺点:不易做时钟树的修改15、Ifgivingtwophysicaldiesasbelow,andaskyouselectoneofthem.Howdoyoupickitup?explainthereasonplease.(1)width=2xheight(2)height=2xwidth如果从下面的两个芯片中选一个给你做后端设计,你选哪个?请说明选择的理由?(1)宽=2倍的长(2)长=2倍的宽难度:2答案:去除不太好用的layer(比如metal1)和power专用layer(比如RDL)后,比较剩下的layer可以提供的H和V的routingresource,如果H的多,就选宽的,反之,就选高的。16、ifthedesignisIOlimited,howtoreducethediesize?因为IO太多而导致芯片面积过大,有什么方法减小面积?难度:2答案:1)staggerIO,2重io可以算一个方法2)IO可以不全放到四边,只要封装没问题就行啦--flipchip算第二个方法3)如果有多套IOcell可以选择,尽量选瘦的4)调整芯片的长宽比17、givingtheschematicanddelayinattachedpicture,calculatetheWCsetupslackatDpinofF2,andBCholdslackatDpinofF4如图所示电路,时钟和延迟,计算到F2输入端D的setupslack,到F4输入端D的holdslack难度:3答案:F2输入端D的setupslack是(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)?暂不考虑X-talk产生的incrementaldelay难度:2答案:C1C2不用算入derating(应该是也计算过,但是会通过CRPR弥补),C3,C4,C5要计算derating附录:以下是几个概念的通俗解释。OCV:因为制造工艺的限制,同一芯片上不同位置的单元会有一点差异,这就是OCV。现在还有LOCV和AOCV,暂且不提。derating:是计算OCV的一种简单方法,在某个单一条件下,比如WC或者BC,把指定path的延迟放大或者缩小一点,这个比率就是derating。注意,这里要强调的是某个单一条件,要么是WC,要么是BC,不能把WC和BC混在一起,再OCV,因为那样太悲观,实际上是很难发生的。除了derating以外,在使用incrementalSDF的时候,也会对OCV发生作用。这是明天的问题,比较有难度。CPPR:一条path的startflop和endflop的时钟路径,有时会有一部分是重合的,重合的部分不应该算OCV(注意,这里假设没有使用incrementalSDF),这就叫CPPR。19、continuefromquestion#18.BecausethereisCPPR,theOCVderatingonclockpathC1andC2arecanceled.Nowgivingincrementaldelaycausedbyx-talkatnetbetweenC1andC2.PleaseusethederatingtocalculatethedifferenceofclockpathdelayfromC1toC2(includingthenetbetweenthem)forWCsetupandBChold.接上面#18的问题继续讨论,因为有CPPR,在C1到C2那段clockpath上面的OCV被抵消掉了。现在我们增加一个由x-talk引起的incremental延迟在C1到C2的那段net上,具体数字见图。问题:对于C1到C2那段clockpath,在计算WCsetup时,因为OCV引起的路径延迟的差是多少?在计算BChold时,因为OCV引起的路径延迟的差是多少?注意:问题是那段clockpath因为OCV引起的pathdelay的差,不是问pathdelay的绝对值难度:5难度5的问题不是盖的吧,好,改为选择题,C1到C2一段的OCV延迟的差,1)在计算WCsetup时,是a)0b)0.0005c)0.00075d)0.02452)在计算BChold时,是a)0b)0.001c)0.0015d)0.0265答案:现在从incrementalSDF的格式说起,(-0.01::0.015)(-0.015::0.01)左边括弧里的是risingtiming延迟,右边的是fallingtiming括弧里面的一对数字表示在这个条件下(WC或者BC)延迟的最大和最小值因为是incremental延迟,要和基本延迟结合使用,所以,会有负数出现。再讲OCV的使用incrementalSDF的方法,OCV计算pathdelay时挑选最困难的情况,在WCsetup时,比如从F1到F2,计算F1的clockpath,就选incrementalSDF里面的最大值0.015,计算F2的clockpath,就选最小值-0.01因为有0.95derating在-clock,-early上,所以F2的clockpath要按比例缩小-0.01x0.95=-0.0095所以C1到C2那段的OCV的差是0.015+0.0095=0.0245(选项d)在BChold时,比如congF3到F4,因为2个FF在同一个时钟沿检测holdtiming,CPPR可以把incrementalSDF的延迟也抵消掉,所以C1到C2那段的OCV的差是0(选项a)结论:计算setup时,CPPR不抵消incrementalSDF计算hold时,CPPR连incrementalSDF都可以抵消掉20、ExplainECO(EngineeringChangeOrder)methodology.说一下ECO的流程难度:2答案:ECO有两种,pre-maskECO和post-maskECO,它的分界线就是baselayertapeout之前和之后。pre-maskECO的流程是1)后端写出网表,给前端2)前端修改这个网表(一般不再做综合),可以使用任何标准单元(只要不是dont_use),交给后端3)后端读入ECO网表,和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、WhatdoyouwriteinCTSspecfile?CTSspec文件中一般包含哪些 内容 财务内部控制制度的内容财务内部控制制度的内容人员招聘与配置的内容项目成本控制的内容消防安全演练内容 ?难度:3答案:(以CadenceCTSspecfile格式为例)AutoCTSRootPinpadPeriodMaxDelayMinDelayMaxSkewSinkMaxTranBufMaxTranBufferNoGatingNO/YESDetailReportYES/NO#SetDPinAsSyncNO/YESSetIoPinAsSyncYES/NORouteClkNetYES/NOPostOptYES/NOOptAddBufferYES/NO#RouteTypespecialRoute#LeafRouteTyperegularRouteExcludedPinleafpinleafporthroughpinthroughportclkgroupmacromodelpin22、Iftherearetoomanypinsofthelogiccellsinoneplacewithincore,whatkindofissueswouldyoufaceandhowwillyouresolve?如果在core里面某一块有太多的标准单元的pin,有可能出现什么place&route的问题,如何解决?难度:3答案:1)禁止使用pin太多的cell2)减小utilization,方法很多3)看vh可用资源,适当调整moudle形状23、IfthereareDRC(spacing,short),holdandsetupviolationsinthedesign,youdon'thaveenoughtimetofixallofthembeforetapeout,whichoneyouwillfixfirst,whichoneyoucanleaveitasis?Why?如果设计中有DRC(特指spacing和short),hold和setup违反,tapeout之前,你已经没有时间去修改所有这些违反,那么你首先修改哪个?哪个可以不管?请说明理由。难度:2答案:1)short,spacing2)hold3)如果没有时间,setup可以忽略24、howtosetmulticyclepathconstraint?如何设定multicyclepath?难度:1提示:在一般情况下,multicycle-setup和-hold要成对使用答案:clockdomain:fast-slow:set_multicycle_pathnum-setup-fromclk1-toclk2-startset_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-todata2延伸问题:为什么-hold一般是-setup的n-1?如果只有-setup木有-hold会怎样?答案:hold是对前后两个flipflop在相同时钟沿的检查.设了n-1就是返回n-1个周期做hold的检查,满足了两个flipflop在同一个时钟沿。如果没有-hold默认是检查n前一个有效时钟沿,如果n>=2,hold的检查就不是在同一个时钟效沿,对hold的要求就要多n-1个周期,那样太苛刻了,一般时序无法收敛25、howaretimingconstraintsdeveloped,suchasclock,generatedclock,IOtiming,exception?Whatbackendteamcontributetoit?一个设计的时序约束是怎么写出来的?请大略说明时钟,IOdelay,falsepath,multicyclepath是如何得到的?在完成时序约束的过程中,后端可以给予什么样的帮助?难度:2答案:clock和generatedclock一般由设计spec决定。除非有些个别的localgeneratedclock可以有前端工程师自己添加IOtiming与系统设计有关,应该参考/兼顾其他芯片的IO时序,由前端工程师作出exception(falsepath,multicyclepath)一般是由前端工程师在做设计时决定的后端可以提供clocknetworkdelay/skew,DRV,以及帮助检查SDC是否合格26、InregularbackendflowwithonlyonefunctionalmodeSDC,pleaseexplaintimingclosuremethodology/issue/fixesinpre-CTS,post-CTSandpost-Routestages.在只有一个functionSDC的普通后端流程中,对于pre-CTS,post-CTS和post-Route这三步,请分别讲述它们在时序收敛上的方法,一般会遇到的问题和解决方法。难度:3暂时不考虑DFT。后续的每日一题中,会加入DFTmodeSDC。答案:pre-CTS时,使用idealclock,只fixsetuppost-CTS后,使用propagateclock,可以只fixsetup,检查hold,但可以不fixholdpost-Route后,依然使用propagateclock,fixsetup和hold具体遇到的问题和解决方法:pre-CTS:如果有setup,重在调整floorplan,buffertree结构Post-CTS:如果有setup,重在调整clocktree,buffertree结构或者sizePost-Route:如果有setup/hold,微调clocktree/buffertree的size,routingchannel和图层,实在不行,回到CTS27、Continuefrompreviousquestion,ifaddingonemoreDFTtimingconstraint,howdoyouhandlethemultipleSDC?UsingEncounterorICCcommands,pleaseexplainthedetailwhatyoudo.继续#26的问题,如果再给一个DFT时序约束,在后端流程中,你如何处理多个SDC?假设使用Encounter或者ICC,请详细介绍如何设置难度:3答案:简单地说就是使用MMMC。在Encounter里面,要逐步定义,create_library_setcreate_op_condcreate_rc_cornercreate_delay_cornercreatePowerDomaincreate_constraint_modecreate_analysis_viewset_default_viewset_timing_derate对设计和SDC仔细 分析 定性数据统计分析pdf销售业绩分析模板建筑结构震害分析销售进度分析表京东商城竞争战略分析 后,也可以合并functionSDC和几个DFTSDC,这个属于难度5的做法28、TherearefunctionSDCwithmultipleclockdomainandscanSDCwithanindividualscanclock.Assumethosefunctionalclockareun-balanced,howdoyoubalancethescanclock?假设一个设计的functionSDC中有多个时钟,在scanmode下,另有一个单独的scanclock,如果functional的各个时钟树之间是不平衡的,请问如何平衡那个scan时钟?难度:4答案:如果CTS支持multi-mode,直接使用即可。如果不支持,或者MMCTS效果不理想,就是在CTSspec中,同时定义function和DFT的时钟,然后在scanclock里面,把MUX设为leavepin,再让它们与functionclok到MUX的延迟做动态平衡29、TherearefunctionSDC,scanshift,scancapture,scanat-speed,mbistat-speed,andjtagSDC.ConsideringCPUruntime,youcan'taddallofthemintoMMMC.ThenwhichSDCyouwilladdintoMMMCsetup,andhold?在一个设计中有多个时序约束,象function,scanshift,scancapture,scanat-speed,mbistat-speed,和jtagSDC,为了减少运行时间,不能把它们都放入MMMC中,你选择哪些放入MMMC的setup中,哪些放入MMMC的hold中?提示:选择的SDC要尽量的少,并且尽可能多地覆盖其他没有入选的SDC下的时序难度:4答案:这个要从每个SDC的特点着手,个人经验,与设计有关,不敢保证使用与所有设计。1)scanshift:速度很慢,不用太担心setup,但是hold很重要,一旦hold有问题,所有与scan有关的测试全泡汤2)scancapture:也是慢速,但是会有很多hold出来,特别是在不同的function时钟之间3)scanat-speed:高速,解决了它的setup,其他DFT的setup基本上就连带着解决了4)mbistat-speed:高速,但是涉及的逻辑不多5)jtag:慢速,很容易与functionSDC合并所有结论是MMMCsetup:function+scanat-speedMMMCHold:function(+jtag)+scanshift+scancapture30、ExplainSDFandSPEFbackannotationtimingcorrelationissue,especiallyindifferentSTAtools请解释反标SDF和SPEF在时序分析时的差异,特别是用不同的STA工具检查timing时难度:3答案:使用SDF做时序分析,无论使用什么tools,其结果应该是一样的,没有差异使用SPEF时,因为工具需要把SPEF换算成SDF,这时会产生差异。所以建议使用一个你信得过的工具生成SDF,然后大家都使用这个SDF做STA和仿真31、Thereare4powersuppliesinthedesign.VDD1/2/3aredifferentvoltage.VDD1isalwayson,butVDD2andVDD3canbeturnoffandon.VDD2toblockBandblockCdon'tswitchatsametime.Pleasefillintheblankwhichnetneedstobeaddedlevelshifterand/orisolationcell.IfyouthinkLevelshifter/isolationcellshouldbeaddedinnetABatBside,thenwriteB;ifyouthinkit'snotnecessary,writeX.如图,一个设计中有4个电源,VDD1/2/3的电压各不相同,VDD1总是开着,其他会有开和关,并且到模块B的VDD2和到模块C的VDD2有各自分别的开关。请判断在连接这4个模块的8条net上,哪些需要levelshifter,哪些需要ioslationcell,把结果填入右边的表中。填法如下:假如你认为需要在netAB上加个levelshifter,加的位置在模块B里面,就在netAB的右边的第一列空格里写B,如果什么都不加,就写X难度:3答案:LVL,ISOnetABBXnetBAAAnetBCXCnetCBXBnetCDDDnetDCCCnetDAAAnetADDX32、Continuefrom#31question,thereisisolationcellonnetBAwithisolateenablepin.WhenshutdowntheblockB,willyouenableisolatepinfirst,orshutdownBfirst?WhatorderitisduringblockBpower-on?接着上一题提问,在netBA上有一个isolationcell,isolationcell都会有一个isolateenable端,在模块B关断电源时,是先让isolateenable端on哪,还是先关模块B?反之,在开模块B的电源时,谁先谁后?难度:2答案:先isolateon,再poweroff,反之先poweron,再isolateoff33、Thereare1000clocksinadesign.Youguesstheconstraintcrosstheclocksisincomplete,andwanttohavealistofclockswhichhascrossclockdomainpath.Howdoyoufindwhetherthereispathbetween2clocks?设计中有1000个clock,你怀疑跨时钟的时序约束有问题,想找出哪些clock之间有realpath,请问如何找?难度:2答案:check_timingreport_timing-clock_from-clock_to循环34、WhatarevariousstatisticsavailableinIR-dropanalysisreports?IR-drop的分析报告里面都包含哪些内容?难度:2答案:至少包括各种mode下的static和dynamicIR-sropreport,其中drop的容许范围可以参考厂家的意见functionmode下的EMreport和RJreport35、Withrespecttoclockgate,whatarevariousissuesyoufacedatvariousstagesinthephysicaldesignflow?在后端流程的每步中,如何处理门控时钟?难度:3答案:如果是用latch+and/or在组合成的clockgatingcell,比较麻烦,以后估计不多见了,暫不讨论。TomPaul提到的问题都很让人头痛,特别是做CTS时,如何处理那些个latch的clkpin。Place时,latch和and/orcell一定要靠得很近。一般使用ICGcell时,place:使用clockgatingawareplacement选项CTS:主要看工具的本领了,一般是希望在满足setup的前提下,ICGcell要尽量靠近clockrootroute:除了clocknet优先以外,不记得还有什么可做的了36、WhatisSSO?HowtocalculatetheSSOinpadringdesign?什么是SSO,设计PADring时,如何计算SSO?难度:3答案:sso,即simultaneousswitchingouputs,即允许同时切换的信号IO的数量。多个信号IO同时切换时,因更多电流流过padring,在pad电源IO的bondingwire及片外引线上的电感上,产生Ldi/dt的压降。也即ssn,同时切换噪声。主要是会引起地弹,即groundbounce。避免sso有很多方法。如增加供给pad用的电源IO数量,采用doublebonding或triplebonding,采用slewratecontrol的IO,避免把pad电源IO放在corner上(corner处bondingwire引线最长,L最大),等。主要还是采用增加pad用电源IO数量的办法,计算方法一般foundry会提供,一般是给每个信号PAD一个DF值(还要根据bondingwire电感值做出选择),把自己用的所有信号IO的DF值加在一起,能得出所需要的POWERPAD的数量。37、Inbuildingthetimingconstraints,doyouneedtoconstrainallIOports?Canasingleporthavemulti-clocked?Howdoyousetdelaysforsuchports?Canaclockporthavemulti-clockdefinition?Howdoyoucreateclockforthisport?写时序约束时,是否需要对所有的IO端口加约束?一个信号端口是否可以被多个时钟约束?应该如何对这种端口设置delay?一个时钟端口是否可以定义多个时钟?应该如何定义这些时钟?难度:2答案:CLOCKports不需要加,其他都要可以,set_input_delay-add_delay可以,create_clock–add38、Whatispurposeoflockuplatchinscanchain?Doeslockuplatchalwaysfixtheproblemoffirstquestion?Doeslockuplatchclkpinconnecttotheclockofpredecessorfloporsuccessor?scanchain中插入lockuplatch的目的是什么?是不是lockuplatch总能达到那个目的?lockuplatch的clk端与前一个flop的clock相连,还是后一个flop的clock相连?难度:3答案:一般scan用的时钟树大部分是与function的共享,所以scanchain的前一段和后一段的clockinsertiondelay会不一样,因为scanshift速度很慢,不太用顾及setup,但是要确保hold。所以在前一个FF的clockinsertiondelay小,后一个大时,插入一个lockuplatch,使信号多保持半个周期,以满足后一个FF的hold要求。它们的时序关系是前FF时钟延迟+1/2scan时钟周期>=后FF时钟延迟+后FFhold要求当后FF时钟延迟太大时,lockuplatch也解决不了hold违反的问题按此分析,lockuplatch的clk端是和前一个FF的时钟相连的。39、HowisscanDEFgenerated?scanDEF是怎么生成的?难度:2答案:在第一次做完scanchainstitch后,让DFTtool输出一个scandef40、Whatarepros/consofusinglowVt,highVtcells?使用lowVt和highVtcell的优缺点?难度:1答案:lvtcell速度快,耗电高,静态电流大hvtcell速度慢,静态电流小这是timing与power的tradeoff41、Howdoyoureducestandby(leakage)power?Howdoyoureducedynamicpower?如何减少静态功耗?如何减少动态功耗?难度:3答案:老陈认为,这是最邪恶的一种提问方法!貌似简单,其实覆盖范围很广。leakagepower+dynamicpower不就是totalpower吗?那么这个问题可以换一个说法:如何减少功耗?这样可以从系统结构,算法,前端,一直说到后端,即可以罗列几个大的方向,也可以具体到每个细节,你也搞不清楚他想问的是那个方面。反过来说,如果他有意刁难你,就可以用这种问法,反正你答不全,到时就说你水平不够!我们就集中在后端的部分(加一小部分前端),而且是细节讨论楼上几位说得都对, 总结 初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf 一下静态功耗:非关键路径HVTcell替换coarsegrain,finegrain,powershutdown减少decap_cell散热降温动态功耗:降压powerislandDVSF非关键路径HVTcell替换clockgatingmemorysplitsignalgatingtransitiontime约束减小高速信号的走线长度42、HowdoyoudesignPADring?如何设计PADring?难度:3(又是一道比较邪恶的题目)答案:大的流程是:1)根据系统(其他芯片的)要求,芯片内部的floorplan,决定信号PAD的位置2)计算出powerPAD的个数,插入到信号PAD里面3)加其他的PAD,比如IOfiller,powercut,poweroncontrol,cornerPAD,ESD等细节可以包括:1)如何计算corepowerPAD:估算corepower,再加50%,算出电流,除以每个corepowerIO的最大电流,就是大致的PAD个数。插入到信号PADring后,还要再计算powerEM,防止一根电源线上的电流过大。2)如何计算IOpowerPAD:从信号IO的功耗算起,同时计算SSO,取2个结果里面较大的3)在什么地方插入powercut:不同的电压core电压和不同的IO电压之间,powerisland之间,数字和模拟电源之间。4)poweroncontrolPAD,一段每个IOring需要一个5)ESD一般要加在每个不同的电源之间43、Inhierarchicaldesignflow,explainblocklevelpinplacementflow?Whatareparameterstodecide?在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的trialroute来决定blockpin的位置和金属层。当然,你可以事先指定,也可以事后修改在bottom-up流程中,主要是人为的规定了44、Whatdoesx-talkreportscontain?Howdoyouusethosereportstoimprovethedesign?分析X-talk后都输出哪些报告和结果?如何利用这些结果改善设计?难度:3答案:X-talk的分析结果中,至少要包含X-talkglitch和X-talkdelay的报告和数据,可以把glitch报告读回到P&Rtool里面,让tool自动解决这些问题,也可以手动,详细请参考每日一题(003)X-talkdelay就是incrementaldelay,反标回网表中以后,再做一次时序优化45、ExplainfunctionanddifferenceofMuxedFF(MultiplexedFlipFlop)/scanFF(withscan_inandscan_eninputpins).解释MuxedFF和scanFF的异同难度:2答案:ScanFF是MuxFF的子集。ScanDFF从功能上讲,就是Mux+FF但是一般2者不混用,因为在输入端的时序要求大不一样想问的是scanFF的内部结构以及时序特点46、Inlogicequivalencechecking,howdoyouhandlescan_ensignal?LEC中如何处理scan_en端?难度:3答案:如果有scanchainreorder,disablescan_en如果没有,enablescan_en47、whyoptimizeleakagepoweraftertimingclosure?What'shappenifdoingitwithsetupviolation?(在P&R中)为什么优化静态功耗要在时序收敛之后做?在有setup违反时做的话,会怎么样?难度:3答案:优化静态功耗主要是通过换HVT的CELL的方法来做吧。在有setup违反时做自然会使已经违反setup的路径变得更差更难收敛。这里应该先考虑满足timing,再尽可能降低power48、Doesastandardcellleakagepowerdependonitsinputpatten?标准单元的leakage功耗与其输入端的状态有关吗?不考虑inputpinopen的情况难度:2答案:有影响的。根据衬底偏置效应,阈值电压与Vbs有关。对于nmos来说,一般B级电平固定接地。s级电平越高,阈值电压越小。相应漏电流越大。49、IfyouhavebothIRdropandcongestionhowwillyoufixit?如果设计中既有IR-drop的问题,又有congestion的问题,你如何解决?难度:3答案:如果说的是同一块区域即有IR又有congestion的话,把这块区域的cell密度降低一点就可以了吧50、纪念每日一题累计到50,发一组选择题,从其中选一个最适合的答案,问题太多,不附带中文了大致的难度在1和2之间1)Chiputilizationdependson___.a.Onlyonstandardcellsb.Standardcellsandmacrosc.Onlyonmacrosd.StandardcellsmacrosandIOpads2)InSoftblockages____cellsareplaced.a.Onlysequentialcellsb.Nocellsc.OnlyBuffersandInvertersd.Anycells3)Whywehavetoremovescanchainsbeforeplacement?a.Becausescanchainsaregroupofflipflopb.
本文档为【数字后端面试必备】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: ¥17.0 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
素华
人民教师
格式:pdf
大小:1MB
软件:PDF阅读器
页数:60
分类:
上传时间:2019-08-24
浏览量:54