數(shù)字后端PR APR 面試終極資料_第1頁
數(shù)字后端PR APR 面試終極資料_第2頁
數(shù)字后端PR APR 面試終極資料_第3頁
數(shù)字后端PR APR 面試終極資料_第4頁
數(shù)字后端PR APR 面試終極資料_第5頁
已閱讀5頁,還剩32頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、后端試題 1. 老是簡單的問題比較無趣,問一個(gè)貌似簡單,但是不容易回答完整的how to fix x-talk violation?如何解決線間干擾?難度:4 (關(guān)于難度的定義,在第一題里面)(應(yīng)該至少有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條的,在工作中已經(jīng)基本夠用,但是還有兩個(gè)不常用到的,是amd的一個(gè)大牛告訴我的。4)把與victim net相連的輸入端改成hi-vth的單元5)改變信號的timing window。這個(gè)不易做到,但是也是解決方法2. what are several factors to improve propagation delay of standard cell?哪些因素可以影響標(biāo)準(zhǔn)單元的延遲?難度: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綜合時(shí),經(jīng)常使用的wire load model有哪幾種?難度:2注意:問題是wire load model,不是wire load mode,也不是delay model答案:1)zero wire load model2)基于fanout的傳統(tǒng) wlm3)基于物理位置(距離)的wire

4、 load model,在cadence的rc中叫ple,synopsys叫dc ultra topographical附加問題:what types of delay model are used in digital design? (數(shù)字ic設(shè)計(jì)中有多少種類型的delay model)答案:nldmccsecsm還有一個(gè)現(xiàn)在基本不用了的ldm5. how delays are characterized using wlm (wire load model)?使用一般的wlm (不是zero wlm,也不是按照物理位置算的dct),dc是如何計(jì)算delay的?難度:2答案:dc在計(jì)算延時(shí)

5、的時(shí)候,net的rc就要根據(jù)所選取的wrie load model來計(jì)算,計(jì)算時(shí)和輸出的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);根據(jù)fanout值,由fanout(1,66.667)可以得出互連線長度為66.667,然后根據(jù)resistance和capacitance計(jì)算出互連線電容為1.5e-4*66.667,互連線電阻為8.5e-8*66

6、.667,當(dāng)然如果扇出值表中沒有,就會用到slope,例如扇出為3時(shí),此時(shí)估算的互連線長度為1*66.667+(3-1)*slope,再計(jì)算出rc值,然后dc由此計(jì)算net的延時(shí)。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?假設(shè)有兩個(gè)時(shí)鐘,原始為clka,生成的時(shí)鐘為clkb,在沒有時(shí)鐘樹的網(wǎng)表中,clka的network latency會自動傳遞到clkb上嗎?clkb的latency如何描述?在生成時(shí)鐘樹的網(wǎng)表中,如何處理network latency? clkb的latency又如何描述?難度:3答案:在pre-cts時(shí),clka的network latency會自動傳到clkb上在post-cts時(shí),可以把network latency去掉,通過set_propagated_clock命令,讓工具根據(jù)clock tree去計(jì)算實(shí)際的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的生成時(shí)鐘,在cts的spec文件中如何定義這兩個(gè)時(shí)鐘?假設(shè)clka和clkb之間的ff有時(shí)序收斂的要求。難度:3答案:在cts的spec文件中定義 clka 是 root,clkb 為 through p

9、in,再加上那些應(yīng)該有的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?假設(shè)在pre-cts的時(shí)序約束中,setup的clock uncertainty是由pll jitter和clock tree skew

10、兩部分組成,那么1)pre-cts的時(shí)序約束中,hold的clock uncertainty是什么?2)post-cts的時(shí)序約束中,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?請?jiān)敿?xì)解釋解決走線阻塞的問題難度:4提示:1) routing congestion發(fā)生在后端,前端一般不太考慮這個(gè)問題,需要后端自己去想辦法解決,但是解決的辦法不只在后端,也有一些方法需要前端的配合2) 阻塞有多種情形,要分別討論,沒有一個(gè)統(tǒng)一的解決辦法。能夠把大部分的阻塞情況列舉出來,就已經(jīng)夠4級的水平啦答案:1)阻塞在ram(macro)之間:可能ram之間的距離沒有計(jì)算正確,可以加大ram之間的間距;扭轉(zhuǎn)ram的方向,使得ram的io pin朝向更容易走線的那邊;如果是多個(gè)ra

12、m共用地址或者數(shù)據(jù)線,盡量把ram的地址數(shù)據(jù)pin對齊2)阻塞出現(xiàn)在ram和幫助單元交界的地方:在ram周圍加一條halo(keepout);把ram放在四周,盡量把中間留下的空間變成方形;在有阻塞的地方加一些由小的placement blockage組成的矩陣3)阻塞出現(xiàn)在標(biāo)準(zhǔn)單元的某一塊:也可以加一些由小的placement blockage組成的矩陣;module/instance padding;利用placement guide減少那塊地方的標(biāo)準(zhǔn)單元個(gè)數(shù);scan chain reordering也會改善一些阻塞;定義density上限;使用congestion driven的pla

13、cement,并且要求place之后做congestion優(yōu)化;在綜合是禁止使用那些pin太多太密集的標(biāo)準(zhǔn)單元(多半是那些復(fù)雜的組合邏輯單元);請前端使用ram代替觸發(fā)器矩陣;請前端修改算法4)應(yīng)該盡量減少power route占有的資源,謹(jǐn)慎選擇power mesh使用的金屬層,via的大小等。在detail route完成之后,你如果已經(jīng)試了各種解決signal congestion的方法,還有少量drc無法解決時(shí),可以考慮切掉部分power mesh10. how do you get better skew/insertion delays in cts (clock tree syn

14、thesis)?如何得到更好的時(shí)鐘樹skew和insertion delay難度:4答案:clock mesh 是一種方法。如果是用普通的cts的方法,可以從下面幾個(gè)方面著手。不太可能一次就把cts做得很好,要反復(fù)調(diào)試各種參數(shù),達(dá)到最佳效果。1)合理的clock root和through pin。這個(gè)看似cts會從sdc自動抓出來,但是并不一定是最好的,特別是多個(gè)clock相互有重疊的leaf pin時(shí),要特別注意2)不要用太大或者太小的clock buf/inv3)選用rc最小的金屬層。如果上面rc最小的金屬層已經(jīng)被占用,比如rc最小的top,top-1已經(jīng)不夠clock net時(shí),而top

15、-2到layer2都是一樣的rc時(shí),可以選用layer3/4。為什么不用更高層哪?因?yàn)檫@樣既照顧了layer2/1的pin,有不用太多的via到更高層4)如果用double width clock wire,可以適當(dāng)增大clock buf/inv的size5)合理的max fanout。有時(shí)clock buf/inv的fanout可以超過max_fanout的限制6)不要把skew設(shè)得太小7)min_insertion_delay = 0ns8)合理的transition time,不要太小9)使用postcts的cts opt10)做clock tree時(shí),就直接把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?如果告訴你標(biāo)準(zhǔn)單元的門數(shù),所有內(nèi)存的類型和邏輯大小,其他ip的實(shí)際大小,以及io cell的種類和數(shù)量,你如何估算整個(gè)芯片的面積?難度:3答案:io neck 和 core neck 一

17、般稱作 io limited 和 core limited,io limited :這個(gè)芯片的面積是因?yàn)閕o個(gè)數(shù)限制(太多),而不得不做得那么大。core部分其實(shí)用不了那么大。這時(shí)面積計(jì)算就簡化為每邊io個(gè)數(shù)的計(jì)算了。core limited:芯片面積是有core部分的決定的,io沒有那么多在core limited情況下,die size的估算如下:芯片面積 = core面積+ power ring面積 +pad ring面積core面積 = ram面積 + 其他macro面積 + 標(biāo)準(zhǔn)單元面積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面積就好了標(biāo)準(zhǔn)單元的面積=(預(yù)估的gate count x 每個(gè)gate的面積)/ utilizationutilization與使用的金屬層數(shù)和設(shè)計(jì)的用途有關(guān),簡單地計(jì)算方法是5層metal:50%6層metal:

19、60%7層metal:70%8層metal:80%以上不包括power專用的金屬層如果設(shè)計(jì)是多媒體芯片,一般可以增加35% utilizaion,如果是網(wǎng)絡(luò)芯片,則要減少35%12. what is pros and cons of using buffer and invters in cts?cts中使用buffer和inverter的優(yōu)缺點(diǎn)是什么?難度:3答案:使用buf:優(yōu)點(diǎn):邏輯簡單,便于post-cts對時(shí)鐘樹的修改缺點(diǎn):面積大,功耗大,insertion delay大使用inv:優(yōu)點(diǎn):面積小,功耗小,insertion delay小,對時(shí)鐘duty cycle有利缺點(diǎn):不易做時(shí)鐘

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如果從下面的兩個(gè)芯片中選一個(gè)給你做后端設(shè)計(jì),你選哪個(gè)?請說明選擇的理由?(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?因?yàn)閕o太多而導(dǎo)致芯片面積過大,有什么方法減小面積?難度:2答案:1)stagger io,2重io 可以算一個(gè)方法2)io可以不全放到四邊,只要封裝沒問題就行啦 - flip chip 算第二個(gè)方法3)如果有多套iocell可以選擇,盡量選瘦的4)調(diào)整芯片的長寬比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如圖所示電路,時(shí)鐘和延遲,計(jì)算到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題的電路里面,哪幾個(gè)時(shí)鐘buf要被用來計(jì)算ocv的derating,哪幾個(gè)不用(又叫cppr)?暫不考慮x-talk產(chǎn)生的incremental delay難度:2答案:c1 c2不用算入derating(應(yīng)該是也計(jì)算過,但是會通過crpr彌補(bǔ)),c3,c4,c5 要計(jì)算derating附錄:以下是幾個(gè)概念的通俗解釋。ocv:因?yàn)橹圃旃に嚨南拗?,同一芯片?/p>

24、不同位置的單元會有一點(diǎn)差異,這就是ocv。現(xiàn)在還有l(wèi)ocv和aocv,暫且不提。derating:是計(jì)算ocv的一種簡單方法,在某個(gè)單一條件下,比如wc或者bc,把指定path的延遲放大或者縮小一點(diǎn),這個(gè)比率就是derating。注意,這里要強(qiáng)調(diào)的是某個(gè)單一條件,要么是wc,要么是bc,不能把wc和bc混在一起,再ocv,因?yàn)槟菢犹^,實(shí)際上是很難發(fā)生的。除了derating以外,在使用incremental sdf的時(shí)候,也會對ocv發(fā)生作用。這是明天的問題,比較有難度。cppr:一條path的start flop和end flop的時(shí)鐘路徑,有時(shí)會有一部分是重合的,重合的部分不應(yīng)該算oc

25、v(注意,這里假設(shè)沒有使用incremental sdf),這就叫cppr17. continue from question #18. because there is cppr, the ocv derating on clock path c1 and c2 are canceled. now giving incremental delay caused by x-talk at net between c1 and c2. please use the derating to calculate the difference of clock path delay from c1 t

26、o c2 (including the net between them) for wc setup and bc hold.接上面#18的問題繼續(xù)討論,因?yàn)橛衏ppr,在c1到c2那段clock path上面的ocv被抵消掉了?,F(xiàn)在我們增加一個(gè)由x-talk引起的incremental延遲在c1到c2的那段net上,具體數(shù)字見圖。問題:對于c1到c2那段clock path,在計(jì)算wc setup時(shí),因?yàn)閛cv引起的路徑延遲的差是多少?在計(jì)算bc hold時(shí),因?yàn)閛cv引起的路徑延遲的差是多少?注意:問題是那段clock path因?yàn)閛cv引起的path delay的差,不是問path de

27、lay的絕對值難度:5難度5的問題不是蓋的吧,好,改為選擇題,c1到c2一段的ocv延遲的差,1)在計(jì)算wc setup時(shí),是a)0b)0.0005c)0.00075d)0.02452)在計(jì)算bc hold時(shí),是a)0b)0.001c)0.0015d)0.0265答案:現(xiàn)在從incremental sdf的格式說起,(-0.01:0.015)(-0.015:0.01)左邊括弧里的是rising timing延遲,右邊的是falling timing括弧里面的一對數(shù)字表示在這個(gè)條件下(wc或者bc)延遲的最大和最小值因?yàn)槭莍ncremental延遲,要和基本延遲結(jié)合使用,所以,會有負(fù)數(shù)出現(xiàn)。再講

28、ocv的使用incremental sdf的方法,ocv計(jì)算path delay時(shí)挑選最困難的情況,在wc setup時(shí),比如從f1到f2,計(jì)算f1的clock path,就選incremental sdf里面的最大值0.015,計(jì)算f2的clock path,就選最小值-0.01因?yàn)橛?.95 derating在-clock,-early上,所以f2的clock path要按比例縮小-0.01x0.95=-0.0095所以c1到c2那段的ocv的差是0.015+0.0095=0.0245 (選項(xiàng)d)在bc hold時(shí),比如congf3到f4,因?yàn)?個(gè)ff在同一個(gè)時(shí)鐘沿檢測hold timin

29、g,cppr可以把incremental sdf的延遲也抵消掉,所以c1到c2那段的ocv的差是0 (選項(xiàng)a)結(jié)論:計(jì)算setup時(shí),cppr不抵消incremental sdf計(jì)算hold時(shí),cppr連incremental sdf都可以抵消掉18. explain eco (engineering change order) methodology.說一下eco的流程難度:2答案:eco有兩種,pre-mask eco和post-mask eco,它的分界線就是base layer tape out之前和之后。pre-mask eco的流程是1)后端寫出網(wǎng)表,給前端2)前端修改這個(gè)網(wǎng)表 (

30、一般不再做綜合),可以使用任何標(biāo)準(zhǔn)單元(只要不是dont_use),交給后端3)后端讀入eco網(wǎng)表,和eco之前的place和route4)eco place&route,sta, drc/lvspost-mask eco流程,假設(shè)你不想動base layer1)后端寫出網(wǎng)表,給前端2)前端修改這個(gè)網(wǎng)表 (一般不再做綜合),只能使用spare cell或者象gate array一樣的eco cell3)后端讀入eco網(wǎng)表,和eco之前的place和route4)如果使用spare cell,不用eco place;如果用eco cell,要將eco cell放在以前帶gate array功能的

31、fill cell的位置上,再按照指定的layer做eco route19. what do you write in cts spec file?cts spec 文件中一般包含哪些內(nèi)容?難度:3答案:(以cadence cts spec file 格式為例)autoctsrootpin padperiodmaxdelaymindelaymaxskewsinkmaxtranbufmaxtranbuffernogating no/yesdetailreport yes/no#setdpinassync no/yessetiopinassync yes/norouteclknet yes/nop

32、ostopt yes/nooptaddbuffer yes/no#routetype specialroute#leafroutetype regularrouteexcludedpinleafpin leafporthroughpin throughportclkgroupmacromodel pin20. if there are too many pins of the logic cells in one place within core, what kind of issues would you face and how will you resolve?如果在core里面某一塊

33、有太多的標(biāo)準(zhǔn)單元的pin,有可能出現(xiàn)什么place&route的問題,如何解決?難度:3答案:1)禁止使用pin太多的cell2)減小utilization,方法很多3)看v h 可用資源,適當(dāng)調(diào)整moudle 形狀21. if there are drc (spacing,short), hold and setup violations in the design, you dont have enough time to fix all of them before tape out, which one you will fix first, which one you can lea

34、ve it as is? why?如果設(shè)計(jì)中有drc (特指spacing和short),hold和setup違反,tape out之前,你已經(jīng)沒有時(shí)間去修改所有這些違反,那么你首先修改哪個(gè)?哪個(gè)可以不管?請說明理由。難度:2答案:1) short, spacing2) hold3) 如果沒有時(shí)間,setup可以忽略22. how to set multicycle path constraint?如何設(shè)定multicycle path?難度:1提示:在一般情況下,multicycle -setup 和 -hold 要成對使用答案:clock domain:fast-slow:set_mult

35、icycle_path num -setup -from clk1 -to clk2 -start set_multicycle_path num-1 -hold -from clk1 -to clk2 -startslow-fast:set_multicycle_paht num -setup -from clk2 -to clk1 -end set_multicycle_path num-1 -hole -from clk2 -to clk1 -enddata path:set_multicycle_path num -setup -from data1 -to data2set_mult

36、icycle_path num-1 -hold -from data1 -to data2延伸問題:為什么-hold一般是-setup的n-1?如果只有-setup木有-hold會怎樣?答案:hold 是對前后兩個(gè)flip flop在相同時(shí)鐘沿的檢查.設(shè)了n-1就是返回n-1個(gè)周期做hold的檢查,滿足了兩個(gè)flip flop在同一個(gè)時(shí)鐘沿。如果沒有-hold 默認(rèn)是檢查n前一個(gè)有效時(shí)鐘沿,如果n=2,hold的檢查就不是在同一個(gè)時(shí)鐘效沿,對hold的要求就要多n-1個(gè)周期,那樣太苛刻了,一般時(shí)序無法收斂23. how are timing constraints developed, suc

37、h as clock, generated clock, io timing, exception? what backend team contribute to it?一個(gè)設(shè)計(jì)的時(shí)序約束是怎么寫出來的?請大略說明時(shí)鐘,io delay,false path, multicycle path是如何得到的?在完成時(shí)序約束的過程中,后端可以給予什么樣的幫助?難度:2答案:clock和generated clock一般由設(shè)計(jì)spec決定。除非有些個(gè)別的local generated clock可以有前端工程師自己添加io timing與系統(tǒng)設(shè)計(jì)有關(guān),應(yīng)該參考/兼顧其他芯片的io時(shí)序,由前端工程師作

38、出exception(false path, multicycle path)一般是由前端工程師在做設(shè)計(jì)時(shí)決定的后端可以提供clock network delay/skew,drv,以及幫助檢查sdc是否合格24. in regular backend flow with only one functional mode sdc, please explain timing closure methodology/issue/fixes in pre-cts, post-cts and post-route stages.在只有一個(gè)function sdc的普通后端流程中,對于pre-cts,

39、 post-cts 和 post-route這三步,請分別講述它們在時(shí)序收斂上的方法,一般會遇到的問題和解決方法。難度:3暫時(shí)不考慮dft。后續(xù)的每日一題中,會加入dft mode sdc。答案:pre-cts時(shí),使用ideal clock,只fix setuppost-cts后,使用propagate clock,可以只fix setup,檢查hold,但可以不fix holdpost-route后,依然使用propagate clock,fix setup和hold具體遇到的問題和解決方法:pre-cts: 如果有setup,重在調(diào)整floorplan,buffer tree結(jié)構(gòu)post-

40、cts: 如果有setup,重在調(diào)整clock tree,buffer tree結(jié)構(gòu)或者sizepost-route: 如果有setup/hold,微調(diào)clock tree/buffer tree的size,routing channel和圖層,實(shí)在不行,回到cts25. continue from previous question, if adding one more dft timing constraint, how do you handle the multiple sdc? using encounter or icc commands, please explain the

41、detail what you do.繼續(xù)#26的問題,如果再給一個(gè)dft時(shí)序約束,在后端流程中,你如何處理多個(gè)sdc?假設(shè)使用encounter或者icc,請?jiān)敿?xì)介紹如何設(shè)置難度:3答案:簡單地說就是使用mmmc。在encounter里面,要逐步定義,create_library_setcreate_op_condcreate_rc_cornercreate_delay_cornercreatepowerdomaincreate_constraint_modecreate_analysis_viewset_default_viewset_timing_derate對設(shè)計(jì)和sdc仔細(xì)分析后,也

42、可以合并function sdc和幾個(gè)dft sdc,這個(gè)屬于難度5的做法26. there are function sdc with multiple clock domain and scan sdc with an individual scan clock. assume those functional clock are un-balanced, how do you balance the scan clock?假設(shè)一個(gè)設(shè)計(jì)的function sdc中有多個(gè)時(shí)鐘,在scan mode下,另有一個(gè)單獨(dú)的scan clock,如果functional的各個(gè)時(shí)鐘樹之間是不平衡的,請問

43、如何平衡那個(gè)scan時(shí)鐘?難度:4答案:如果cts支持multi-mode,直接使用即可。如果不支持,或者mmcts效果不理想,就是在cts spec中,同時(shí)定義function 和 dft 的時(shí)鐘,然后在scan clock里面,把mux設(shè)為leave pin,再讓它們與function clok到mux的延遲做動態(tài)平衡27. there are function sdc, scan shift, scan capture, scan at-speed, mbist at-speed, and jtag sdc. considering cpu run time, you cant add

44、all of them into mmmc. then which sdc you will add in to mmmc setup, and hold?在一個(gè)設(shè)計(jì)中有多個(gè)時(shí)序約束,象function,scan shift, scan capture, scan at-speed, mbist at-speed, 和 jtag sdc,為了減少運(yùn)行時(shí)間,不能把它們都放入mmmc中,你選擇哪些放入mmmc的setup中,哪些放入mmmc的hold中?提示:選擇的sdc要盡量的少,并且盡可能多地覆蓋其他沒有入選的sdc下的時(shí)序難度:4答案:這個(gè)要從每個(gè)sdc的特點(diǎn)著手,個(gè)人經(jīng)驗(yàn),與設(shè)計(jì)有關(guān),不敢

45、保證使用與所有設(shè)計(jì)。1) scan shift:速度很慢,不用太擔(dān)心setup,但是hold很重要,一旦hold有問題,所有與scan有關(guān)的測試全泡湯2) scan capture:也是慢速,但是會有很多hold出來,特別是在不同的function時(shí)鐘之間3) scan at-speed:高速,解決了它的setup,其他dft的setup基本上就連帶著解決了4) mbist at-speed:高速,但是涉及的邏輯不多5) jtag:慢速,很容易與function sdc合并所有結(jié)論是mmmc setup:function + scan at-speedmmmc hold: function(+

46、jtag) + scan shift + scan capture28. explain sdf and spef back annotation timing correlation issue, especially in different sta tools請解釋反標(biāo)sdf和spef在時(shí)序分析時(shí)的差異,特別是用不同的sta工具檢查timing時(shí)難度:3答案:使用sdf做時(shí)序分析,無論使用什么tools,其結(jié)果應(yīng)該是一樣的,沒有差異使用spef時(shí),因?yàn)楣ぞ咝枰裺pef換算成sdf,這時(shí)會產(chǎn)生差異。所以建議使用一個(gè)你信得過的工具生成sdf,然后大家都使用這個(gè)sdf做sta和仿真29. t

47、here are 4 power supplies in the design. vdd1/2/3 are different voltage. vdd1 is always on, but vdd2 and vdd3 can be turn off and on. vdd2 to block b and block c dont switch at same time. please fill in the blank which net needs to be added level shifter and/or isolation cell. if you think level shi

48、fter/isolation cell should be added in netab at b side, then write b; if you think its not necessary, write x.如圖,一個(gè)設(shè)計(jì)中有4個(gè)電源,vdd1/2/3的電壓各不相同,vdd1總是開著,其他會有開和關(guān),并且到模塊b的vdd2和到模塊c的vdd2有各自分別的開關(guān)。請判斷在連接這4個(gè)模塊的8條net上,哪些需要level shifter,哪些需要ioslation cell,把結(jié)果填入右邊的表中。填法如下:假如你認(rèn)為需要在netab上加個(gè)level shifter,加的位置在模塊b里面,

49、就在netab的右邊的第一列空格里寫b,如果什么都不加,就寫x難度:3答案: lvl, isonetab b xnetba a anetbc x cnetcb x bnetcd d dnetdc c cnetda a anetad d x30. 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 ord

50、er it is during block b power-on?接著上一題提問,在netba上有一個(gè)isolation cell,isolation cell都會有一個(gè)isolate enable端,在模塊b關(guān)斷電源時(shí),是先讓isolate enable端on哪,還是先關(guān)模塊b?反之,在開模塊b的電源時(shí),誰先誰后?難度:2答案:先isolate on,再power off,反之先power on,再isolate off31. there are 1000 clocks in a design. you guess the constraint cross the clocks is inc

51、omplete, 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?設(shè)計(jì)中有1000個(gè)clock,你懷疑跨時(shí)鐘的時(shí)序約束有問題,想找出哪些clock之間有real path,請問如何找?難度:2答案:check_timingreport_timing -clock_from -clock_to 循環(huán)32. what are various statistics available in ir-dro

52、p analysis reports?ir-drop的分析報(bào)告里面都包含哪些內(nèi)容?難度:2答案:至少包括各種mode下的static和dynamic ir-srop report,其中drop的容許范圍可以參考廠家的意見function mode下的em report和rj report33. with respect to clock gate, what are various issues you faced at various stages in the physical design flow?在后端流程的每步中,如何處理門控時(shí)鐘?難度:3答案:如果是用latch+and/or在組

53、合成的clock gating cell,比較麻煩,以后估計(jì)不多見了,暫不討論。tompaul提到的問題都很讓人頭痛,特別是做cts時(shí),如何處理那些個(gè)latch的clk pin。place時(shí),latch和and/or cell一定要靠得很近。一般使用icg cell時(shí),place:使用clock gating aware placement選項(xiàng)cts:主要看工具的本領(lǐng)了,一般是希望在滿足setup的前提下,icg cell要盡量靠近c(diǎn)lock rootroute:除了clock net優(yōu)先以外,不記得還有什么可做的了34. what is sso? how to calculate the s

54、so in pad ring design?什么是sso,設(shè)計(jì)pad ring時(shí),如何計(jì)算sso?難度:3答案:sso ,即simultaneous switching ouputs,即允許同時(shí)切換的信號io的數(shù)量。多個(gè)信號io同時(shí)切換時(shí),因更多電流流過pad ring,在pad電源io的bonding wire及片外引線上的電感上,產(chǎn)生ldi/dt的壓降。也即ssn,同時(shí)切換噪聲。主要是會引起地彈,即ground bounce。避免sso有很多方法。如增加供給pad用的電源io數(shù)量,采用double bonding或triple bonding,采用slew rate control的io,

55、避免把pad電源io放在corner上(corner處bonding wire引線最長,l最大),等。主要還是采用增加pad用電源io數(shù)量的辦法,計(jì)算方法一般foundry會提供,一般是給每個(gè)信號pad一個(gè)df值(還要根據(jù)bonding wire電感值做出選擇),把自己用的所有信號io的df值加在一起,能得出所需要的power pad的數(shù)量。35. in building the timing constraints, do you need to constrain all io ports? can a single port have multi-clocked? how do you

56、set delays for such ports? can a clock port have multi-clock definition? how do you create clock for this port?寫時(shí)序約束時(shí),是否需要對所有的io端口加約束?一個(gè)信號端口是否可以被多個(gè)時(shí)鐘約束?應(yīng)該如何對這種端口設(shè)置delay?一個(gè)時(shí)鐘端口是否可以定義多個(gè)時(shí)鐘?應(yīng)該如何定義這些時(shí)鐘?難度:2答案:clock ports 不需要加,其他都要可以,set_input_delay -add_delay可以,create_clock add36. what is purpose of lock

57、up 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總能達(dá)到那個(gè)目的?lockup latch的clk端與前一個(gè)flop的clock相連,還是后一個(gè)flop的clock相連?難度:3答案:一般scan 用的時(shí)鐘樹大部分是與function的共享,所以scan chain的前一段和后一段的clock insertion delay會不一樣,因?yàn)閟can shift速度很慢,不太用顧及setup,但是要確保hold。所以在前一個(gè)ff的clock insertion dela

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論