新聞中心

EEPW首頁 > 測試測量 > 設計應用 > 應對掃描壓縮邏輯的合成挑戰(zhàn)

應對掃描壓縮邏輯的合成挑戰(zhàn)

作者: 時間:2012-03-26 來源:網絡 收藏

所有現(xiàn)代SoC都使用掃描結構來檢測設計中是否存在制造缺陷。掃描鏈的目的就是用于測試并按照串行順序連接芯片的時序元件。然而,隨著現(xiàn)代SOC幾何尺寸不斷縮小及復雜性不斷增加,如今已能將數百萬個晶體管集成到單一芯片之中。因此,時序元件總數與可用的掃描IO總數之比在不斷增加。而測試儀的成本(測試儀使用時間)高昂,傳統(tǒng)的掃描結構已不足以支持這些復雜的SoC。壓縮被看作是針對上述問題的解決方案,但它在階段卻帶來了掃描拼接方面的新挑戰(zhàn)。我們將詳細討論這些挑戰(zhàn)和針對這些掃描拼接問題的解決方案,但在此之前,我們先通過一個示例來了解對壓縮的需求。

本文引用地址:http://butianyuan.cn/article/194235.htm

要討論控制掃描結構的各種參數,需要考慮具有以下配置的設計:可用測試儀內存=每測試信道1M向量(測試儀提供的固定內存);可用掃描輸入/輸出端口=5+5;每個鏈的觸發(fā)器數=200(總觸發(fā)器=1000);完整測試設計所需模式數=2400。

因此,所需測試儀內存=200×2400≈每測試信道0.48M。

在上述情況中,所需的測試儀內存小于可用內存,因此,此設計可測試。但隨著現(xiàn)代SOC尺寸的增加(即設計中時序元件數增加),現(xiàn)有的測試儀內存可能不足。應考慮另一種含20k個觸發(fā)器且有更多掃描IO的設計:可用測試儀內存=每測試信道1M向量;可用掃描輸入/輸出端口=10+10(封裝上的有限數量測試引腳);每個鏈的觸發(fā)器數=2000(總觸發(fā)器=20000);完整測試設計所需模式數=2400(這是最保守的數字,因為模式數會隨著設計尺寸的增加而增加)。

因此,所需測試儀內存=2000×2400≈每測試信道4.8M。

在上例中,由于該模式不適合現(xiàn)有的測試儀內存,因而上述簡單的掃描結構已不足以對設計進行完全測試。這個問題可以通過掃描壓縮來解決。

壓縮邏輯概念

壓縮邏輯旨在解決與測試芯片制造缺陷有關的問題。在這種結構中,芯片級鏈被分為多個內部鏈,因此,通過壓縮激勵(掃描輸入)和解壓結果(掃描輸出),在芯片級便能解決有多個掃描輸入和輸出端口的問題。此后,我們將把這種壓縮和解壓邏輯簡稱為CDL

壓縮邏輯解決了較大測試儀內存的問題,如下所示(壓縮因子=10):

可用測試儀內存=每測試信道1M向量(測試儀提供的固定內存);可用掃描輸入端口=10(封裝上的有限數量測試引腳);可用掃描輸出端口=10(封裝上的有限數量測試引腳);掃描鏈總數=100;每個鏈的觸發(fā)器數=200(總觸發(fā)器=20000);完整測試設計所需模式數=2400。因此,所需測試儀內存=200*2400≈每測試信道0.48M。

由于所需測試儀內存較小,因此設計現(xiàn)在可進行測試。

問題是什么?

掃描壓縮邏輯是所有現(xiàn)代復雜SOC必須提供的功能。然而,引入這種掃描壓縮邏輯也帶來了邏輯階段掃描拼接方面的新挑戰(zhàn)。如圖3所示,掃描鏈從CDL(掃描輸入引腳)的輸出拼接到CDL(掃描輸出引腳)的輸入。壓縮邏輯的掃描輸入引腳連接到觸發(fā)器的掃描輸入。

根據成功進行DFT檢查的要求,每個窗口只應進行一次捕捉。違反此條件將導致測試覆蓋率下降,因為所有觸發(fā)器都不是獨立可控的。對于本文涉及的所有討論,我們已經考慮了圖4所示的窗口。

拼接了掃描鏈后,由于CDL觸發(fā)器和設計的其他部分可能由不同時鐘域的時鐘進行計時(因為設計中存在不同功能的時鐘域),這些時鐘可能包含不常見的寬時鐘路徑,因此可能會發(fā)生保持(HOLD)時間沖突。為考慮所有可能的沖突,圖5列出了以下情況。

因此,發(fā)生以下兩種情況時將產生沖突。

到達發(fā)起和捕捉觸發(fā)器的時鐘出現(xiàn)傾斜,在以下兩種場景下,正邊沿-正邊沿和負邊沿-負邊沿觸發(fā)器對將發(fā)生這種情況(圖6中已展示):1.在一個掃描鏈中拼接的觸發(fā)器由同一時鐘記錄時間。由于到達發(fā)起和捕捉觸發(fā)器的時鐘之間存在偏差,時鐘到達捕捉觸發(fā)器的時間可能遠比到達發(fā)起觸發(fā)器的時間晚;2.在一個掃描鏈中屬于不同時鐘域的兩個觸發(fā)器由不同時鐘進行計時,由于OCV的存在,時鐘之間的偏差可能足以使發(fā)起和捕捉操作在同一個窗口發(fā)生。當其中一個觸發(fā)器在CDL內部而另一個觸發(fā)器在其外部時,發(fā)生這種情況的幾率最大。

發(fā)起和捕捉操作在一個窗口內執(zhí)行。當發(fā)起觸發(fā)器是正邊沿觸發(fā)器而捕捉觸發(fā)器是負邊沿觸發(fā)器時,會發(fā)生這種情況。在這種情況下,即使時鐘邊沿之間不存在偏差,在一個時鐘周期內也將發(fā)生兩次捕捉(圖6)。由于掃描拼接在邏輯后執(zhí)行,因此,在進行CDL編碼時,設計人員無須考慮掃描鏈中第一個或最后一個觸發(fā)器(正或負邊沿觸發(fā)器)的特性。

目前有哪些技術可用?

設計人員可以采用各種不同技術來避免這一問題。下面介紹其中的一些技術。

定制的CDL:在這種方法中,掃描鏈與一個偽CDL拼接,根據掃描鏈的第一個觸發(fā)器對CDL進行修改,以確保沒有沖突。然后CDL單獨進行合成,并與之前創(chuàng)建的網絡表合并。

這種方法的優(yōu)勢在余不會在CDL邊界增加鎖定觸發(fā)器,因為每次CDL都將根據掃描拼接進行配置。缺點是隨著實施周期的進行,將添加新的觸發(fā)器,且每次都需要對CDL進行修改。

反饋法:在這種方法中,先計算設計中正邊沿和負邊沿觸發(fā)器的數量,然后根據掃描鏈的數量產生CDL。下面的示例說明了這種方法與自定義CDL方法的不同之處。假設一個設計中有4000個觸發(fā)器,其中有3700個正邊沿觸發(fā)器和300個負邊沿觸發(fā)器?,F(xiàn)在拼接掃描鏈(約100個觸發(fā)器/鏈)并得到分布(如表1所示)。

現(xiàn)在將生成用于觸發(fā)器合并的CDL,這樣在CDL接口就不會存在正邊沿-負邊沿觸發(fā)器對,同時將強制進行合成,以便根據RTL調整掃描鏈中的觸發(fā)器。這可通過一些腳本來實現(xiàn)。

與自定義CDL方法相比,這種方法的優(yōu)勢在于整個合成在一次運行中完成。缺點是:在實施反饋法之后,CDL的RTL比較穩(wěn)定,但是如果負邊沿觸發(fā)器的數量突然發(fā)生變化,則需要再次重復整個周期。

使用設計中現(xiàn)有的觸發(fā)器:在這種方法中,CDL的RTL不會發(fā)生變化,且每次合成都通過同一個CDL完成。在掃描拼接后,掃描鏈將重新排序,以消除發(fā)生沖突的機會。

這種方法的優(yōu)點是,即使新版本RTL的觸發(fā)器數量突然發(fā)生變化,DFT團隊也無須創(chuàng)建新的CDL,因為CDL代碼是固定的。與自定義CDL和反饋法相比,這種方法效率更高,但是在對掃描鏈進行重新排序以消除沖突時,卻可能發(fā)生覆蓋丟失。“覆蓋丟失”可通過下面的示例說明。


只要正邊沿-負邊沿觸發(fā)器以這種順序進行配對,便會發(fā)生發(fā)起和捕捉沖突,因為發(fā)起和捕捉將會在邊沿2和邊沿3發(fā)生,如圖7所示。為了消除這種沖突,我們可以重新進行排序,或者在這兩個觸發(fā)器之間添加一個觸發(fā)器。盡管這樣能夠消除早期沖突,但是我們將無法檢查在插入的觸發(fā)器上收到的數據,這將導致覆蓋丟失。

添加偽觸發(fā)器:這種方法克服了上述各種方法的所有缺點。該方法中,在預計發(fā)生沖突的所有地方都添加了一個偽鎖定觸發(fā)器。在這種情況下,不會存在增加覆蓋丟失的影響,也沒有移動設計觸發(fā)器方法中討論的問題。

這種方法非常高效,因為不需要增加DFT和合成團隊的工作。此外,它還解決了覆蓋丟失的問題。但此方法的缺點是添加了額外的單元。在對電力極其敏感而電力又十分關鍵的情況下,這會形成一種阻礙。這些少數單元的漏電量會顯著增加設計的總漏電量。

本文小結

掃描壓縮邏輯是復雜SOC必須提供的功能,而添加壓縮邏輯卻增加了合成過程中掃描拼接方面的挑戰(zhàn)。有許多方法可應對這些挑戰(zhàn),然而,添加偽觸發(fā)器方法具有其他方法無法比擬的優(yōu)勢。雖然因為添加了鎖定觸發(fā)器而需要進行一些權衡,但是,我們已經看到額外鎖定觸發(fā)器的數量非常有限(遠小于總時序元件的0.1%),因為只會在預計發(fā)生捕捉沖突的那些鏈中添加鎖定觸發(fā)器。上述方法將有助于最大程度減少DFT和合成設計團隊之間的重復工作,從而加快設計完成速度。



關鍵詞: 邏輯 合成

評論


相關推薦

技術專區(qū)

關閉