通過(guò)避免超速和欠速測試來(lái)限度地減少良率影響
在用于汽車(chē) SoC 的納米技術(shù)中,硅上的大多數缺陷都是由于時(shí)序問(wèn)題造成的。因此,汽車(chē)設計中的全速覆蓋要求非常嚴格。為了滿(mǎn)足這些要求,工程師們付出了很多努力來(lái)獲得更高的實(shí)速覆蓋率。主要挑戰是以盡可能低的成本以高產(chǎn)量獲得所需質(zhì)量的硅。在本文中,我們討論了與實(shí)時(shí)測試中的過(guò)度測試和測試不足相關(guān)的問(wèn)題,這些問(wèn)題可能會(huì )導致良率問(wèn)題。我們將提供一些有助于克服這些問(wèn)題的建議。
本文引用地址:http://dyxdggzs.com/article/202303/444800.htm在用于汽車(chē) SoC 的納米技術(shù)中,硅上的大多數缺陷都是由于時(shí)序問(wèn)題造成的。因此,汽車(chē)設計中的全速覆蓋要求非常嚴格。為了滿(mǎn)足這些要求,工程師們付出了很多努力來(lái)獲得更高的實(shí)速覆蓋率。主要挑戰是以盡可能低的成本以高產(chǎn)量獲得所需質(zhì)量的硅。在本文中,我們討論了與實(shí)時(shí)測試中的過(guò)度測試和測試不足相關(guān)的問(wèn)題,這些問(wèn)題可能會(huì )導致良率問(wèn)題。我們將提供一些有助于克服這些問(wèn)題的建議。
全速測試的主要目的是檢測硅在其工作頻率下可能發(fā)生的任何時(shí)序故障。要測試的重要部分是生成可控時(shí)鐘脈沖的邏輯,該時(shí)鐘脈沖的頻率與功能操作所需的頻率相同。提供受控時(shí)鐘脈沖的方法是通過(guò)輸入焊盤(pán)從測試器 (ATE) 提供,因為這將降低復雜性并限度地減少需要在設計中構建的額外測試邏輯。
然而,這種方案會(huì )有頻率限制,因為焊盤(pán)通常不能支持非常高頻率的時(shí)鐘。因此,片上鎖相環(huán) (PLL) 和振蕩器用于提供時(shí)鐘脈沖。然而,不能直接使用這些的自由運行時(shí)鐘,因為首先我們必須以低頻(移位頻率)通過(guò)掃描鏈移位矢量,以功能頻率捕獲,然后以移位頻率清除數據。我們需要可控脈沖,同時(shí)以功能頻率捕獲,這可以通過(guò)使用斬波邏輯來(lái)實(shí)現。圖 1顯示了具有全速時(shí)鐘的典型時(shí)鐘架構。
圖 1: 具有全速時(shí)鐘的典型時(shí)鐘架構
對于任何 SoC,STA(靜態(tài)時(shí)序分析)簽核對于驗證時(shí)序性能是不可或缺的。時(shí)序簽核確保硅將以所需的功能頻率運行。同樣的邏輯也適用于全速測試。必須對全速模式和功能模式一起完成 STA 簽核,因為時(shí)鐘路徑在全速模式下可能不同,并且添加的測試控制邏輯也需要定時(shí)。在正常功能模式下不需要斬波邏輯,因此我們還需要滿(mǎn)足斬波邏輯的時(shí)序要求。
理想情況下,如果時(shí)鐘的變化是在公共路徑中完成的,那么在全速模式下關(guān)閉時(shí)序應該不是問(wèn)題,例如在時(shí)鐘路徑的開(kāi)始處,以便啟動(dòng)和捕獲觸發(fā)器的變化是共同的,因此不會(huì )影響設計的設置和保持時(shí)序。測試控制邏輯一般工作在低頻或靜態(tài),因此不難滿(mǎn)足時(shí)序要求。
典型的 SoC 時(shí)鐘方案
然而,現代 Soc 設計并不那么簡(jiǎn)單。高性能和低泄漏要求導致設計在單個(gè) SoC 中具有各種時(shí)鐘源,例如 PLL、振蕩器、時(shí)鐘分頻器等。根據架構,可能有許多 IO 接口在外部時(shí)鐘上運行幾個(gè) MHz,例如 SPI、JTAG、I2C 等。因此,SoC 的不同部分可以以不同的頻率運行。
這就是事情變得復雜的地方。前面討論的用于全速時(shí)鐘的時(shí)鐘解決方案(斬波邏輯)對于以不同頻率運行的復雜芯片來(lái)說(shuō)是不夠的。在全速測試中,這些復雜性會(huì )引發(fā)稱(chēng)為測試不足和測試過(guò)度的問(wèn)題,從而導致需要進(jìn)行測試。
與功能模式下的運行頻率相比,在全速模式下以更高的頻率測試邏輯時(shí)會(huì )發(fā)生過(guò)度測試。參考圖 2,如果在全速模式下向看門(mén)狗和 RTC 等任何低頻模塊提供 pll_clock,就會(huì )發(fā)生過(guò)度測試。采用這種方法的一個(gè)關(guān)鍵原因是測試時(shí)鐘路徑的簡(jiǎn)單性,因為這種方法只需要對功能邏輯進(jìn)行的更改。在我們的示例中,我們只需要通過(guò)掃描時(shí)鐘繞過(guò)所有分頻時(shí)鐘/RC osc 時(shí)鐘/外部時(shí)鐘,而掃描時(shí)鐘又將由 pll 時(shí)鐘控制。
圖 2: 存儲器和閃存在分頻 PLL 時(shí)鐘上運行,而平臺在實(shí)際 pll_clock 下工作。內部 RC 振蕩器為 RTC(實(shí)時(shí)計數器)和看門(mén)狗定時(shí)器等塊提供時(shí)鐘,這些塊需要非常慢的時(shí)鐘頻率。像顯示大師這樣的積木既有IPS接口又有攝像頭接口。IPS 接口通常以系統頻率工作,而攝像頭邏輯以外部提供的較慢頻率時(shí)鐘工作。SPI 和 JTAG 等 IO 接口在幾 MHz 下工作。因此,SOC 的整體配置需要多個(gè)模塊在多個(gè)頻率下工作。
當在全速模式下以低于預期操作頻率的頻率測試任何邏輯時(shí),就會(huì )發(fā)生測試不足。這種情況通常存在于無(wú)法提供與功能模式相同頻率的測試時(shí)鐘時(shí),但同時(shí)由于較大的數據路徑延遲或技術(shù)限制而無(wú)法以高頻率關(guān)閉設計。在這種情況下,我們被迫提供較低頻率的時(shí)鐘。
因此,有必要以與功能頻率完全相同的頻率測試硅的缺陷。任何偏差都會(huì )導致過(guò)度測試或測試不足的問(wèn)題:
? 當功能邏輯旨在以較低的頻率工作時(shí),關(guān)閉較高頻率的設計以進(jìn)行全速測試將影響整體設計的面積和功率。在時(shí)序關(guān)鍵設計的情況下,實(shí)時(shí)測試工具將使用高驅動(dòng)強度單元,甚至可能需要低 Vt 單元來(lái)滿(mǎn)足這些頻率目標。
? 即使設計的時(shí)序以更高的頻率收斂,以功耗和面積為代價(jià),我們在良率計算中也可能會(huì )不必要地悲觀(guān)。在全速測試期間可能會(huì )出現不切實(shí)際的良率下降。例如,在具有兩個(gè)時(shí)鐘域(domain1 @ 120MHz 和 domain2 @ 80MHz)的設計中,我們將整個(gè)設計的時(shí)序關(guān)閉在 120MHz 平坦處以簡(jiǎn)化全速模式下的時(shí)鐘架構。這兩個(gè)域的所有 ATPG 模式生成都將在 120MHz 時(shí)發(fā)生。由于工藝可變性,在硅上,domain1 在 120MHz 下工作正常,但 domain2 僅在 110MHz 下工作,因此所有管芯都將被視為有缺陷的部件。盡管該芯片足以滿(mǎn)足功能要求,但基于全速模式故障,我們會(huì )將芯片宣布為故障芯片,這會(huì )降低我們的產(chǎn)量。
? 在測試不足的情況下,全速模式不能保證芯片實(shí)際工作在預期頻率。由于壞芯片可以通過(guò)全速測試,所以原先的全速測試過(guò)濾掉壞芯片的目的就落空了。在這種情況下,我們在收益率計算中會(huì )過(guò)于樂(lè )觀(guān)。
了解了缺點(diǎn)后,我們將重點(diǎn)關(guān)注在任何 SoC 中存在過(guò)度測試和測試不足的原因:
時(shí)鐘架構的簡(jiǎn)單性
鑒于功能模式下的時(shí)鐘源如此之多,簡(jiǎn)單的方法是在全速模式下提供少量可控測試時(shí)鐘。
圖 3: 簡(jiǎn)單和簡(jiǎn)單的測試時(shí)鐘解決方案是將 PLL 時(shí)鐘與外部時(shí)鐘復用,即使對于全速模式也是如此,這是一種過(guò)度測試的情況。
讓我們以 DSPI 模塊為例。該 IP 在 2 個(gè)時(shí)鐘上工作,一個(gè) 15 MHz 的外部時(shí)鐘和一個(gè)用于內部邏輯的 120MHz 功能 PLL 時(shí)鐘。如圖3所示,簡(jiǎn)單和簡(jiǎn)單的測試時(shí)鐘解決方案是將 PLL 時(shí)鐘與外部時(shí)鐘復用,即使對于全速模式也是如此,這是一種過(guò)度測試的情況。
納米設計中的分頻器
對于時(shí)鐘分頻器,原始源時(shí)鐘用于所有測試模式,并與分頻時(shí)鐘復用,如下圖 4所示。
圖 4: 原始源時(shí)鐘用于所有測試模式,并與分頻時(shí)鐘復用。
這是設計中的常見(jiàn)場(chǎng)景,我們有很多分頻器,但我們不能在全速測試中使用它們,因為這些分頻器在測試期間不可控(相位確定)。因此,簡(jiǎn)化全速測試的簡(jiǎn)單方法是在測試模式下提供一個(gè)不分頻的時(shí)鐘,這會(huì )導致過(guò)度測試。
多周期路徑等時(shí)序異常
在設計中,當信號傳播在功能操作期間需要多于單周期時(shí)鐘時(shí),會(huì )使用多周期路徑、偽路徑、分析等形式的各種時(shí)序異常。這些異常在at-中有效速度模式,因此也應以 SDC(標準設計約束文件)的形式適當地移植到全速模式。然而,當前的 ATPG 工具在理解其中一些約束方面存在局限性,尤其是多循環(huán)路徑。當通過(guò) SDC 文件進(jìn)行解析時(shí),它會(huì )忽略多周期路徑并且不會(huì )為此創(chuàng )建任何模式。例如,如果我們有一個(gè)從一個(gè)寄存器到另一個(gè)寄存器的 2 的多周期,它將簡(jiǎn)單地屏蔽任何檢查這兩個(gè)寄存器之間捕獲的模式。
所以這意味著(zhù)所有多周期路徑都沒(méi)有在全速測試中進(jìn)行測試,導致測試不足。另一方面,如果這些異常未成為 SDC 文件的一部分,則時(shí)序檢查將在單個(gè)時(shí)鐘周期內發(fā)生,而從功能上講,該路徑將在兩個(gè)時(shí)鐘周期內工作,這是過(guò)度測試的典型情況??偟膩?lái)說(shuō),這是一個(gè)大問(wèn)題,因為通常我們在任何復雜的設計中都會(huì )遇到很多多周期異常,如果我們采用傳統方法,這可能會(huì )導致過(guò)度測試或測試不足。
實(shí)時(shí)測試
到目前為止,我們已經(jīng)看到過(guò)度測試和測試不足都是不可取的,因此我們需要一種方法來(lái)確保在不影響設計 QOR 的情況下實(shí)現實(shí)時(shí)測試的實(shí)際好處。這個(gè)想法是,由于實(shí)時(shí)測試,設計上不應有任何顯著(zhù)的面積/功率開(kāi)銷(xiāo),但同時(shí)我們應該確保在預期的功能頻率下檢查實(shí)時(shí)測試設計,而不是高于或低于該頻率。
這里列出了一些指南/技術(shù),以確保以正確的方式完成全速測試:
? 在 func 模式下識別設計中的不同頻域。這是重要的一步,因為您越早確定頻域,就越能了解全速測試要求。對時(shí)鐘架構的全面分析有助于定義的全速時(shí)鐘。例如,在開(kāi)始一個(gè)項目時(shí),通常不會(huì )過(guò)多強調外部 IO 接口頻率目標,這會(huì )在以后影響為這些接口定義全速時(shí)鐘策略。
? 定義全速模式時(shí)序約束以及功能模式約束生成。全速模式下的任何時(shí)序關(guān)鍵路徑都可以在設計周期開(kāi)始時(shí)解決。在早期階段進(jìn)行更改總是比較容易。
? 關(guān)鍵解決方案之一是識別測試不足和測試過(guò)度的情況,因為很多時(shí)候這些問(wèn)題會(huì )在終 STA 運行期間突然出現,甚至在滿(mǎn)足時(shí)序時(shí)甚至不會(huì )被注意到。使用某種腳本,可以比較功能模式和全速模式下所有寄存器的頻率。將寄存器分為三類(lèi):在兩種模式下具有相同頻率的觸發(fā)器——可以使用;觸發(fā)器在全速模式下的頻率低于功能模式下的頻率——測試中的情況;觸發(fā)器在全速模式下的頻率高于功能模式下的頻率——過(guò)度測試的情況。
一旦確定了這些情況,就應該進(jìn)行徹底的分析,并探索所有架構的可能性,以提供與功能模式下頻率完全相同的時(shí)鐘。
為了解決時(shí)序異常,解決方案在于通過(guò)以較低頻率進(jìn)行測試,將多周期路徑轉換為單周期路徑。這個(gè)概念很簡(jiǎn)單。假設一個(gè)設計工作在 200MHz,并且有幾個(gè) 2 的多周期路徑。用 2 的多周期在 200MHz 時(shí)對這些路徑進(jìn)行定時(shí)相當于在單個(gè)周期中以 100MHz 測試這些路徑。在全速測試中,分兩次測試邏輯。在遍中,將提供 200MHz 的捕獲時(shí)鐘來(lái)測試所有單周期路徑,并將屏蔽所有多周期路徑。在第二遍中,將提供 100MHz 的捕獲時(shí)鐘以?xún)H測試所有多周期路徑。相同的概念可以應用于更高的多周期。
分多次進(jìn)行at-speed testing也會(huì )在很大程度上解決over-testing/under-testing的問(wèn)題。正如我們上面所討論的,有時(shí)不可能同時(shí)為所有域提供的頻率時(shí)鐘,但我們可以通過(guò)在每次傳遞中以多個(gè)頻率配置捕獲時(shí)鐘來(lái)做到這一點(diǎn)。通常,在我們將 pll 用作系統時(shí)鐘的設計中,我們可以靈活地將 pll 配置為某些離散頻率。
可以使用相同的多次測試方法來(lái)解決與分頻器相關(guān)的過(guò)度測試問(wèn)題。不同之處在于,在多周期路徑的情況下,觸發(fā)器可以被屏蔽,但在分頻器的情況下,我們需要分頻時(shí)鐘的可控性,以便時(shí)鐘可以在掃描模式下被門(mén)控。
圖 5: 當系統時(shí)鐘為 200Mhz 時(shí),在通道 1 的全速測試期間,時(shí)鐘門(mén)控邏輯會(huì )將時(shí)鐘門(mén)控到在 100Mhz 下正常運行的域(通過(guò)除以 2 邏輯)。
如圖 5所示,在系統時(shí)鐘為 200Mhz 的第 1 輪全速測試期間,時(shí)鐘門(mén)控邏輯會(huì )將時(shí)鐘門(mén)控到在 100Mhz 下正常運行的域(通過(guò)除以 2 邏輯)。但在第 2 輪中,當系統時(shí)鐘設置為 100Mhz 時(shí),時(shí)鐘門(mén)控單元的使能將被驅動(dòng)為邏輯 1。這將確保邏輯現在以 100Mhz 的預期頻率進(jìn)行測試。
使用上述指南,應該可以解決大多數與過(guò)度測試和測試不足相關(guān)的問(wèn)題。但萬(wàn)一被迫在測試不足和過(guò)度測試之間做出選擇,決定取決于 SoC 的應用。汽車(chē)設計中,人身安全是首要考慮因素,應該選擇安全的過(guò)度測試方法,而在功耗大的設計,例如在網(wǎng)絡(luò )和無(wú)線(xiàn)領(lǐng)域,需要進(jìn)行測試。即使對于這些情況,也應盡一切努力確保與所需頻率的偏差盡可能小。
讓我們舉一個(gè)具有多個(gè)頻率時(shí)鐘的設計示例,這將有助于理解這個(gè)概念:
假設一個(gè)設計在 240MHz 上工作,我們有一個(gè) 2、3、4 等的多周期用于各種路徑。還有一些接口工作在 10MHz 和 60MHz 的外部時(shí)鐘上。為避免任何類(lèi)型的過(guò)度測試或測試不足,請在全速模式下多次通過(guò)測試。在 240、120、80、60MHz 下配置 PLL,并以實(shí)際功能速度測試所有邏輯。
? 第一遍:@240MHz - 所有單周期路徑(掩碼 100MHz 和 60MHz 接口,其余 SDC 是標準的)
? 第二遍:@120MHz – 多周期 2 的路徑(從 SDC 中刪除多周期 2 異常)+ 100MHz 接口邏輯(過(guò)度測試化)
? 第三遍:@80MHz – 多周期為 3 的路徑(刪除 2 和 3 的所有多周期異常)
? 第四遍:@60MHz – 4條路徑+60mhz接口邏輯的多周期路徑(去除所有多周期異常)
結論
隨著(zhù) SoC 的功能變得越來(lái)越復雜以及技術(shù)向更低的節點(diǎn)轉移,良好的成品率被證明是任何設計公司的一個(gè)重要關(guān)注點(diǎn)。收益率直接影響損益方程式,需要認真努力解決低收益率的原因。實(shí)速測試是衡量硅質(zhì)量的重要標準,因此我們應該以高覆蓋率為目標。但同時(shí),我們應該只在適當的時(shí)鐘頻率下運行我們的實(shí)速模式,因為在錯誤的時(shí)鐘頻率下測試會(huì )導致問(wèn)題過(guò)度測試或測試不足。這兩種情況(測試不足和測試過(guò)度)既不利于設計 QOR,也不利于良率估算。
測試時(shí)鐘應該與功能時(shí)鐘同等重要,并且應該努力為不同的域提供相同頻率的時(shí)鐘,因為它們在功能域中被計時(shí)。同時(shí),應該對多周期路徑給予相當大的關(guān)注,因為它們通常構成任何設計中時(shí)序路徑的重要組成部分。At-speed testing in multiple pass是解決多周期路徑at-speed testing的方法。Multipass測試方法也可以用來(lái)解決其他過(guò)度測試和under-testing的情況。因此,總而言之,使用上述建議和方法,我們可以實(shí)現更準確的全速覆蓋,這反過(guò)來(lái)將確保我們在不影響設計 QOR 的情況下將良率下降問(wèn)題降至。
評論