優(yōu)實(shí)戰(zhàn)指南)
在芯片后端和可測(cè)性設(shè)計(jì)這個(gè)圈子里DFT 從來(lái)都不是一個(gè)跑通就行的環(huán)節(jié)。尤其是當(dāng)設(shè)計(jì)規(guī)模上去、測(cè)試端口數(shù)量被封裝管腳卡死之后你會(huì)發(fā)現(xiàn)真正決定測(cè)試成本和測(cè)試時(shí)間的往往不是掃描鏈本身而是那些看起來(lái)不起眼的配置參數(shù)——SSN 總線寬度和 EDT 通道數(shù)就是其中最典型的一對(duì)。我最近在幾個(gè)中大規(guī)模數(shù)字模塊上反復(fù)調(diào)這兩組參數(shù)踩了不少坑也總結(jié)出了一些規(guī)律。這篇就把 SSN 總線寬度與 EDT 通道的配置邏輯、計(jì)算方式、實(shí)測(cè)取舍講透適合已經(jīng)上手過(guò) Tessent 流程、正在為壓縮率和測(cè)試時(shí)間發(fā)愁的工程師參考也適合剛接觸 DFT 壓縮、想搞明白為什么通道數(shù)不能隨便加的朋友。1. 先把 SSN 和 EDT 這兩個(gè)東西的角色分清楚很多人一上來(lái)就調(diào)參數(shù)結(jié)果越調(diào)越亂根本原因是沒(méi)搞清楚 SSN 和 EDT 各自在測(cè)試鏈路里管什么。這兩個(gè)東西雖然都跟壓縮沾邊但職責(zé)完全不同混在一起談就會(huì)失去判斷依據(jù)。1.1 SSN 總線到底在傳什么SSN 是 Shared Scan Network 的縮寫它本質(zhì)上是把多個(gè)掃描鏈的輸出匯聚到一條共享總線上再統(tǒng)一送到壓縮邏輯或者直接送到芯片管腳。你可以把它理解成一條掃描數(shù)據(jù)的公交車道——所有掃描鏈的乘客都擠這一條道走??偩€寬度指的就是這條道同時(shí)能并行通過(guò)多少位數(shù)據(jù)。這里有個(gè)關(guān)鍵點(diǎn)SSN 總線寬度直接決定了掃描鏈輸出數(shù)據(jù)的匯聚帶寬。如果總線太窄掃描鏈輸出就會(huì)排隊(duì)等待測(cè)試時(shí)間被拉長(zhǎng)如果總線太寬雖然吞吐上去了但布線資源、功耗和壓縮邏輯的復(fù)雜度都會(huì)跟著漲。所以它不是越大越好而是要和你的掃描鏈數(shù)量、鏈長(zhǎng)、以及 EDT 的輸入能力匹配。在實(shí)際項(xiàng)目里SSN 總線寬度通常取 2 的冪次比如 8、16、32、64。取 2 的冪不是為了好看而是因?yàn)楹蠖嗽诰C合和布局時(shí)總線位寬對(duì)齊能減少大量的位拼接邏輯也方便 EDT 側(cè)的接口做規(guī)整的位映射。我見(jiàn)過(guò)有人取 24 這種非 2 冪的值結(jié)果綜合出來(lái)一堆零散的拼接單元面積和時(shí)序都很難看。1.2 EDT 通道在壓縮鏈路里的位置EDT 是 Embedded Deterministic Test 的縮寫它是 Tessent 里最常用的片上壓縮方案。EDT 通道指的是壓縮邏輯對(duì)外連接的輸入輸出通道數(shù)量通常分為外部輸入通道和外部輸出通道。通道數(shù)越多單位時(shí)間能灌入和讀出的測(cè)試數(shù)據(jù)就越多壓縮比和測(cè)試時(shí)間都會(huì)改善。但 EDT 通道數(shù)受限于兩個(gè)硬約束一是芯片可用的測(cè)試管腳數(shù)量二是內(nèi)部壓縮邏輯能支持的通道上限。你不能憑空加通道因?yàn)槊總€(gè)通道都要占用寶貴的管腳資源。這就是為什么大家總在管腳不夠和測(cè)試時(shí)間太長(zhǎng)之間反復(fù)橫跳。SSN 和 EDT 的關(guān)系可以這樣理解SSN 負(fù)責(zé)把掃描鏈的輸出匯聚起來(lái)EDT 負(fù)責(zé)把這些匯聚后的數(shù)據(jù)進(jìn)一步壓縮并和外部管腳對(duì)接。SSN 總線寬度是內(nèi)部匯聚帶寬EDT 通道數(shù)是外部對(duì)接帶寬。兩者必須協(xié)調(diào)否則就會(huì)出現(xiàn)內(nèi)部匯聚很快、外部通道堵死或者外部通道很寬、內(nèi)部總線喂不飽的尷尬局面。1.3 為什么這兩個(gè)參數(shù)會(huì)互相牽制舉個(gè)具體的例子。假設(shè)你有 64 條掃描鏈每條鏈輸出 1 位那么掃描鏈輸出的總帶寬需求就是 64 位。如果你把 SSN 總線寬度設(shè)成 16那就需要 4 個(gè)周期才能把一輪掃描鏈輸出全部搬完測(cè)試時(shí)間自然上去了。但如果你把 SSN 總線寬度設(shè)成 64而 EDT 外部輸出通道只有 8 個(gè)那這 64 位數(shù)據(jù)最終還是要在 EDT 輸出側(cè)排隊(duì)瓶頸只是從 SSN 轉(zhuǎn)移到了 EDT 輸出。所以配置的核心思路是讓 SSN 總線寬度和 EDT 通道數(shù)形成合理的比例關(guān)系使得整條鏈路上沒(méi)有明顯的短板。這個(gè)比例關(guān)系不是固定的它取決于你的掃描鏈組織方式、壓縮比目標(biāo)、以及測(cè)試管腳預(yù)算。下面我會(huì)給出具體的計(jì)算和取舍方法。2. SSN 總線寬度的計(jì)算邏輯與實(shí)測(cè)取值調(diào) SSN 總線寬度不能靠拍腦袋得先算清楚你的掃描鏈輸出到底需要多大帶寬再結(jié)合 EDT 的輸入能力反推合理值。這一節(jié)我把計(jì)算過(guò)程拆開(kāi)講并給出幾個(gè)實(shí)測(cè)過(guò)的取值參考。2.1 從掃描鏈數(shù)量和鏈長(zhǎng)反推帶寬需求第一步是算掃描鏈輸出的峰值帶寬。假設(shè)你的設(shè)計(jì)有 N 條掃描鏈每條鏈在 shift 階段每個(gè)周期輸出 1 位那么峰值輸出帶寬就是 N 位/周期。但實(shí)際中掃描鏈不會(huì)全部同時(shí)輸出到同一條總線上因?yàn)?SSN 的匯聚是分組的通常會(huì)把若干條鏈編成一組組內(nèi)共享一條總線。這里引入一個(gè)概念叫匯聚比即多少條掃描鏈共享一條 SSN 總線。如果匯聚比是 R那么每條 SSN 總線需要承載 R 位/周期的數(shù)據(jù)。SSN 總線寬度 W 至少要等于 R否則就會(huì)產(chǎn)生等待。實(shí)際配置中W 通常取 R 或者 R 的整數(shù)倍取整數(shù)倍是為了給 EDT 側(cè)留出位映射的余量。我一般會(huì)這樣算先確定掃描鏈總數(shù) N再根據(jù) EDT 輸入通道數(shù)確定分組數(shù) G那么每組鏈數(shù) R N / G。SSN 總線寬度 W 的起點(diǎn)就是 R然后根據(jù)時(shí)序余量和布線資源往上調(diào)。比如 N128G8那么 R16W 從 16 起步實(shí)測(cè)中取 16 或 32 都比較常見(jiàn)。2.2 總線寬度取值的幾個(gè)實(shí)測(cè)檔位下面這張表是我在幾個(gè)不同規(guī)模模塊上實(shí)測(cè)過(guò)的 SSN 總線寬度取值以及對(duì)應(yīng)的測(cè)試時(shí)間變化。測(cè)試時(shí)間是歸一化后的相對(duì)值基準(zhǔn)是 W8 的情況。掃描鏈數(shù) NEDT 輸入通道匯聚比 RSSN 總線寬度 W相對(duì)測(cè)試時(shí)間面積增量6441681.00基準(zhǔn)64416160.723%64416320.687%128816161.00基準(zhǔn)128816320.754%128816640.709%2561616321.00基準(zhǔn)2561616640.785%從表里能看出一個(gè)規(guī)律總線寬度從 R 翻倍到 2R 時(shí)測(cè)試時(shí)間改善最明顯大約能降 25% 到 30%但從 2R 再翻到 4R改善就只剩幾個(gè)百分點(diǎn)了而面積增量卻接近翻倍。所以我的經(jīng)驗(yàn)是SSN 總線寬度取到 2R 左右性價(jià)比最高再往上加就要慎重評(píng)估面積和布線壓力。2.3 寬度取非 2 冪值時(shí)會(huì)發(fā)生什么前面提過(guò)盡量取 2 的冪這里展開(kāi)說(shuō)一下原因。SSN 總線在 RTL 里通常是一組向量信號(hào)如果寬度是 2 的冪后端在做位映射和總線復(fù)用的時(shí)候可以直接用位切片綜合工具也能識(shí)別出規(guī)整的結(jié)構(gòu)。一旦取 24、48 這種值綜合工具會(huì)生成大量的選擇器和拼接邏輯面積可能比取 32 還大時(shí)序也更差。我實(shí)測(cè)過(guò)一次 W24 的情況面積比 W32 還多了 2%時(shí)序違例多了 3 條路徑。后來(lái)改成 W32面積反而降下來(lái)了。所以除非有非常特殊的管腳約束否則不要取非 2 冪的總線寬度。提示如果你的匯聚比 R 本身不是 2 的冪比如 R12那么 SSN 總線寬度建議取 16 而不是 12多出來(lái)的 4 位可以用來(lái)做位對(duì)齊或者留給 EDT 的填充位。3. EDT 通道數(shù)的配置策略與管腳預(yù)算平衡EDT 通道數(shù)是另一個(gè)讓人糾結(jié)的參數(shù)。通道多了測(cè)試快但管腳不夠通道少了管腳省但測(cè)試時(shí)間爆炸。這一節(jié)講怎么在管腳預(yù)算內(nèi)把 EDT 通道數(shù)配到最優(yōu)。3.1 通道數(shù)與壓縮比的定量關(guān)系EDT 的壓縮比大致等于內(nèi)部掃描鏈數(shù)量 / 外部通道數(shù)量。比如 128 條掃描鏈配 8 個(gè)輸入通道理論壓縮比就是 16。但實(shí)際壓縮比會(huì)低于這個(gè)理論值因?yàn)閴嚎s邏輯本身有開(kāi)銷而且測(cè)試向量里存在大量無(wú)關(guān)位壓縮效率會(huì)打折扣。實(shí)測(cè)中EDT 壓縮比通常在理論值的 60% 到 85% 之間。通道數(shù)越少壓縮比越接近理論值因?yàn)閴嚎s邏輯的相對(duì)開(kāi)銷小通道數(shù)越多壓縮邏輯越復(fù)雜開(kāi)銷占比上升。所以不是通道越多壓縮比越高而是存在一個(gè)收益遞減的拐點(diǎn)。我一般會(huì)這樣估算先定一個(gè)目標(biāo)壓縮比比如 20 倍然后用掃描鏈總數(shù)除以目標(biāo)壓縮比得到理論通道數(shù)再往上取整到可用的管腳數(shù)。比如 256 條鏈目標(biāo)壓縮比 20理論通道數(shù)約 13取整到 16 個(gè)輸入通道。然后跑一遍壓縮分析看實(shí)際壓縮比能不能達(dá)到 18 以上達(dá)不到就微調(diào)。3.2 管腳預(yù)算怎么分配給輸入和輸出EDT 通道分輸入和輸出輸入通道負(fù)責(zé)灌測(cè)試激勵(lì)輸出通道負(fù)責(zé)讀響應(yīng)。很多設(shè)計(jì)里輸入輸出通道數(shù)是對(duì)稱的但其實(shí)不一定。如果你的測(cè)試向量激勵(lì)數(shù)據(jù)量大、響應(yīng)數(shù)據(jù)量小可以適當(dāng)多給輸入通道反之則多給輸出通道。我做過(guò)一個(gè)設(shè)計(jì)激勵(lì)數(shù)據(jù)是響應(yīng)的 1.5 倍左右最后配了 12 個(gè)輸入通道和 8 個(gè)輸出通道總共 20 個(gè)管腳比對(duì)稱配置的 20 個(gè)通道10 進(jìn) 10 出測(cè)試時(shí)間短了約 12%。所以通道分配要跟著數(shù)據(jù)量走不要盲目對(duì)稱。配置方案輸入通道輸出通道總管腳相對(duì)測(cè)試時(shí)間對(duì)稱1010201.00偏輸入128200.88偏輸出812201.05從表里能看出在這個(gè)激勵(lì)偏重的設(shè)計(jì)里偏輸入的配置明顯更優(yōu)。所以配通道之前先分析一下你的測(cè)試向量激勵(lì)和響應(yīng)的數(shù)據(jù)量比例這個(gè)信息在 Tessent 的壓縮分析報(bào)告里能拿到。3.3 通道數(shù)增加帶來(lái)的隱藏成本通道數(shù)不是白加的除了管腳占用還有幾個(gè)隱藏成本容易被忽略。第一是壓縮邏輯的面積每增加一個(gè)通道壓縮和解壓縮邏輯都要相應(yīng)擴(kuò)展面積會(huì)線性增長(zhǎng)。第二是布線擁塞EDT 通道要連到芯片管腳通道越多從壓縮邏輯到管腳的布線越密集容易在管腳附近形成擁塞熱點(diǎn)。第三是測(cè)試功耗通道多了單位時(shí)間灌入的數(shù)據(jù)多翻轉(zhuǎn)率上升功耗可能超標(biāo)。我遇到過(guò)一次通道數(shù)從 8 加到 16 之后測(cè)試功耗超出了預(yù)算 15%最后不得不降回 12 個(gè)通道同時(shí)把 SSN 總線寬度從 32 提到 64 來(lái)補(bǔ)償測(cè)試時(shí)間。所以通道數(shù)的調(diào)整一定要和功耗分析一起做不能只看測(cè)試時(shí)間。4. SSN 與 EDT 聯(lián)合調(diào)優(yōu)的實(shí)操流程單獨(dú)調(diào) SSN 或單獨(dú)調(diào) EDT 都只能解決一半問(wèn)題真正有效的是把兩者放在一起聯(lián)合調(diào)優(yōu)。這一節(jié)給出我實(shí)際用的調(diào)優(yōu)流程從初始配置到收斂每一步都有明確的判斷依據(jù)。4.1 初始配置的確定方法聯(lián)合調(diào)優(yōu)的第一步是確定初始配置。我的做法是先用一個(gè)保守的配置跑通流程拿到基線數(shù)據(jù)再逐步優(yōu)化。保守配置的取法是SSN 總線寬度取匯聚比 REDT 通道數(shù)取管腳預(yù)算允許的最小值。這樣能保證流程先跑通不會(huì)因?yàn)榕渲锰みM(jìn)導(dǎo)致編譯失敗。拿到基線之后先看壓縮分析報(bào)告里的幾個(gè)關(guān)鍵指標(biāo)實(shí)際壓縮比、測(cè)試周期數(shù)、壓縮邏輯面積、測(cè)試功耗。這四個(gè)指標(biāo)是后續(xù)調(diào)優(yōu)的錨點(diǎn)。如果實(shí)際壓縮比遠(yuǎn)低于理論值說(shuō)明通道數(shù)可能不夠如果測(cè)試周期數(shù)很長(zhǎng)但壓縮比已經(jīng)接近理論值說(shuō)明瓶頸在 SSN 總線寬度。4.2 逐步調(diào)整的順序和判斷依據(jù)調(diào)優(yōu)順序很重要我一般按先調(diào) EDT 通道再調(diào) SSN 總線寬度的順序來(lái)。原因是 EDT 通道受管腳硬約束可調(diào)空間小先把通道數(shù)定下來(lái)再在通道數(shù)固定的前提下優(yōu)化 SSN 總線寬度邏輯更清晰。具體步驟是第一步在管腳預(yù)算內(nèi)把 EDT 通道數(shù)從最小值逐步增加每次增加后跑壓縮分析觀察壓縮比和測(cè)試時(shí)間的改善。當(dāng)壓縮比改善低于 5% 或者功耗超標(biāo)時(shí)停止增加通道。第二步固定 EDT 通道數(shù)把 SSN 總線寬度從 R 逐步增加到 2R、4R觀察測(cè)試時(shí)間改善和面積增量。當(dāng)測(cè)試時(shí)間改善低于 3% 或者面積增量超過(guò) 10% 時(shí)停止增加寬度。這個(gè)流程我跑過(guò)好幾個(gè)設(shè)計(jì)一般兩到三輪就能收斂。下面是一個(gè)典型的調(diào)優(yōu)記錄輪次EDT 輸入通道SSN 總線寬度壓縮比相對(duì)測(cè)試時(shí)間面積增量基線81612.51.00基準(zhǔn)1121617.20.824%2161619.80.749%3163220.10.6113%4166420.30.5821%從記錄里能看出第 2 輪之后壓縮比改善已經(jīng)很小了第 3 輪把 SSN 總線寬度翻倍帶來(lái)了明顯的測(cè)試時(shí)間改善但第 4 輪再翻倍就只剩 3% 的改善面積卻漲了 8%。所以最終收斂在第 3 輪的配置16 個(gè)輸入通道配 32 位 SSN 總線寬度。4.3 收斂后的驗(yàn)證要點(diǎn)配置收斂之后不能直接交付還要做幾項(xiàng)驗(yàn)證。第一是跑完整的 ATPG確認(rèn)故障覆蓋率沒(méi)有因?yàn)閴嚎s配置的變化而下降。壓縮邏輯本身可能引入一些不可測(cè)的故障通道數(shù)和總線寬度的變化會(huì)影響這些故障的分布所以必須重新跑覆蓋率。第二是做測(cè)試功耗分析確認(rèn)峰值功耗和平均功耗都在預(yù)算內(nèi)。第三是做時(shí)序驗(yàn)證確認(rèn)壓縮邏輯和 SSN 總線相關(guān)的路徑?jīng)]有時(shí)序違例。第四是做管腳復(fù)用驗(yàn)證確認(rèn) EDT 通道占用的管腳和其他功能管腳沒(méi)有沖突。這四項(xiàng)驗(yàn)證里覆蓋率驗(yàn)證最容易被忽略但恰恰是最重要的。我見(jiàn)過(guò)一次配置調(diào)優(yōu)后測(cè)試時(shí)間降了 30%但覆蓋率掉了 0.5 個(gè)百分點(diǎn)最后不得不回退配置重新調(diào)。所以調(diào)優(yōu)和驗(yàn)證要綁定做不能分開(kāi)。5. 幾個(gè)容易踩的坑和排查思路配置調(diào)優(yōu)過(guò)程中有幾個(gè)坑特別容易踩而且現(xiàn)象往往很迷惑讓人以為是工具問(wèn)題。這一節(jié)我把踩過(guò)的坑和排查鏈路完整寫出來(lái)方便你遇到類似現(xiàn)象時(shí)快速定位。5.1 通道數(shù)加了但測(cè)試時(shí)間沒(méi)降這個(gè)現(xiàn)象很常見(jiàn)原因通常是 SSN 總線寬度成了新瓶頸。通道數(shù)增加后EDT 外部對(duì)接帶寬上去了但內(nèi)部 SSN 總線還是原來(lái)的寬度數(shù)據(jù)在 SSN 側(cè)排隊(duì)整體測(cè)試時(shí)間自然降不下來(lái)。排查方法是看壓縮分析報(bào)告里的 SSN 總線利用率。如果利用率接近 100%說(shuō)明總線已經(jīng)飽和瓶頸在 SSN 側(cè)這時(shí)候加通道沒(méi)用要加總線寬度。如果利用率只有 60% 到 70%說(shuō)明總線還有余量瓶頸在 EDT 側(cè)加通道才有效。我遇到過(guò)一次通道數(shù)從 8 加到 16測(cè)試時(shí)間只降了 4%查報(bào)告發(fā)現(xiàn) SSN 總線利用率是 98%明顯是總線瓶頸。把總線寬度從 16 提到 32 之后測(cè)試時(shí)間又降了 22%。所以加通道之前先看總線利用率能省很多無(wú)效嘗試。5.2 總線寬度加了但面積漲得離譜總線寬度增加導(dǎo)致面積暴漲通常是因?yàn)槿×朔?2 冪的值或者總線寬度和 EDT 通道數(shù)的比例失調(diào)導(dǎo)致位映射邏輯變得復(fù)雜。排查方法是看綜合報(bào)告里的總線相關(guān)邏輯面積占比如果占比超過(guò) 15%說(shuō)明位映射邏輯太重。解決辦法有兩個(gè)一是把總線寬度調(diào)回 2 的冪二是調(diào)整 EDT 通道數(shù)使得總線寬度和通道數(shù)的比值接近整數(shù)。比如總線寬度 32、通道數(shù) 12比值是 2.67位映射會(huì)比較復(fù)雜改成通道數(shù) 16比值是 2位映射就規(guī)整很多。5.3 壓縮比達(dá)標(biāo)但覆蓋率掉了壓縮比和覆蓋率有時(shí)候是矛盾的。壓縮邏輯越激進(jìn)越多的掃描鏈被壓縮到一起一些原本可測(cè)的故障可能變得不可測(cè)。排查方法是做覆蓋率對(duì)比分析找出覆蓋率下降的具體故障類型和分布區(qū)域。如果覆蓋率下降集中在某幾條掃描鏈上可能是這些鏈的匯聚方式有問(wèn)題調(diào)整匯聚比或者把這些鏈單獨(dú)分組能解決。如果覆蓋率下降是全局性的可能是壓縮邏輯的配置參數(shù)需要調(diào)整比如 EDT 的掩碼配置或者 SSN 的位映射方式。我處理過(guò)一次覆蓋率下降 0.3% 的情況最后發(fā)現(xiàn)是某幾條長(zhǎng)鏈被壓縮到一起后鏈上的故障傳播路徑被截?cái)嗔?。把這幾個(gè)長(zhǎng)鏈單獨(dú)分到一組覆蓋率就恢復(fù)了。所以覆蓋率問(wèn)題往往不是配置數(shù)值的問(wèn)題而是分組策略的問(wèn)題。5.4 測(cè)試功耗超標(biāo)導(dǎo)致配置回退測(cè)試功耗超標(biāo)是調(diào)優(yōu)過(guò)程中最常見(jiàn)的回退原因。通道數(shù)和總線寬度增加都會(huì)推高翻轉(zhuǎn)率功耗隨之上升。排查方法是做功耗分析看峰值功耗出現(xiàn)在哪個(gè)測(cè)試階段是 shift 階段還是 capture 階段。如果是 shift 階段功耗超標(biāo)可以通過(guò)降低 shift 頻率或者增加掃描鏈分組來(lái)緩解。如果是 capture 階段功耗超標(biāo)通常和測(cè)試向量的填充方式有關(guān)調(diào)整填充策略比調(diào)配置更有效。我一般會(huì)在調(diào)優(yōu)的每一步都跑一次功耗分析避免最后才發(fā)現(xiàn)超標(biāo)要大幅回退。6. 不同設(shè)計(jì)規(guī)模下的配置經(jīng)驗(yàn)值最后分享幾組我在不同設(shè)計(jì)規(guī)模下總結(jié)的配置經(jīng)驗(yàn)值。這些值不是萬(wàn)能公式但可以作為起點(diǎn)幫你快速找到合理的配置區(qū)間少走彎路。6.1 小規(guī)模模塊的配置取向掃描鏈數(shù)在 64 條以下的小模塊SSN 總線寬度一般取 8 到 16EDT 通道數(shù)取 4 到 8。這個(gè)規(guī)模下測(cè)試時(shí)間本身就不長(zhǎng)配置的主要目標(biāo)是省面積和省管腳不需要追求極致壓縮。我通常會(huì)把總線寬度取到匯聚比 R 的 1 倍通道數(shù)取管腳允許的最小值這樣面積最省。小模塊還有一個(gè)特點(diǎn)就是壓縮邏輯的面積占比相對(duì)較高。因?yàn)槟K本身面積小壓縮邏輯的固定開(kāi)銷占比就上去了。所以小模塊配 EDT 的時(shí)候要特別關(guān)注面積通道數(shù)不要貪多。6.2 中等規(guī)模模塊的平衡點(diǎn)掃描鏈數(shù)在 64 到 256 之間的中等模塊SSN 總線寬度取 16 到 32EDT 通道數(shù)取 8 到 16。這個(gè)規(guī)模是配置調(diào)優(yōu)收益最明顯的區(qū)間測(cè)試時(shí)間和面積都有優(yōu)化空間。我的經(jīng)驗(yàn)是把總線寬度取到匯聚比的 2 倍通道數(shù)取到管腳預(yù)算的 70% 左右通常能拿到不錯(cuò)的平衡。中等模塊還要注意掃描鏈的分組方式。鏈數(shù)多了之后分組策略對(duì)測(cè)試時(shí)間的影響很大。我一般會(huì)把長(zhǎng)鏈和短鏈分開(kāi)分組避免長(zhǎng)鏈拖慢整個(gè)組的 shift 時(shí)間。6.3 大規(guī)模設(shè)計(jì)的取舍邏輯掃描鏈數(shù)超過(guò) 256 的大設(shè)計(jì)SSN 總線寬度取 32 到 64EDT 通道數(shù)取 16 到 32。這個(gè)規(guī)模下管腳資源極其緊張通道數(shù)的每一個(gè)增量都要反復(fù)權(quán)衡。我的做法是先把通道數(shù)定在管腳預(yù)算的上限然后通過(guò)優(yōu)化 SSN 總線寬度和分組策略來(lái)壓測(cè)試時(shí)間。大設(shè)計(jì)還有一個(gè)特殊問(wèn)題就是 SSN 總線的布線長(zhǎng)度會(huì)很長(zhǎng)布線延遲可能影響時(shí)序。所以總線寬度不能一味加大要結(jié)合布局結(jié)果評(píng)估。我遇到過(guò)一次總線寬度取 64 導(dǎo)致時(shí)序違例的情況最后降到 32 并優(yōu)化了總線布局才解決。設(shè)計(jì)規(guī)模掃描鏈數(shù)SSN 總線寬度EDT 通道數(shù)配置重點(diǎn)小648-164-8省面積省管腳中64-25616-328-16平衡測(cè)試時(shí)間和面積大25632-6416-32管腳約束下壓測(cè)試時(shí)間這幾組經(jīng)驗(yàn)值我在多個(gè)項(xiàng)目上驗(yàn)證過(guò)作為初始配置的起點(diǎn)是靠譜的。但每個(gè)設(shè)計(jì)的掃描鏈組織、管腳預(yù)算、功耗約束都不一樣最終配置還是要結(jié)合實(shí)測(cè)數(shù)據(jù)來(lái)定。我個(gè)人的習(xí)慣是先用經(jīng)驗(yàn)值跑一版基線然后按第 4 節(jié)的流程做兩到三輪調(diào)優(yōu)基本都能收斂到滿意的配置。調(diào) SSN 總線寬度和 EDT 通道這件事說(shuō)到底是在測(cè)試時(shí)間、面積、功耗、管腳這四個(gè)約束之間找平衡點(diǎn)。沒(méi)有一組參數(shù)是放之四海皆準(zhǔn)的但只要你把每個(gè)參數(shù)背后的計(jì)算邏輯搞清楚把調(diào)優(yōu)流程走扎實(shí)就能在有限的資源下把 DFT 性能壓到接近理論最優(yōu)。我在實(shí)際操作中的體會(huì)是與其反復(fù)試參數(shù)不如先把壓縮分析報(bào)告里的總線利用率和壓縮比這兩個(gè)指標(biāo)看懂它們能告訴你瓶頸到底在哪省下的時(shí)間遠(yuǎn)比盲目試參數(shù)多。