梁曉琳
(湖南科技學院 電子工程系,湖南 永州 425100)
隨著電子系統中時鐘頻率的迅速提高以及信號邊沿不斷變陡,使得電子系統朝著大規模、小體積、高速度的方向快速發展,而且發展速度越來越快。而在性能不斷攀升的背后,信號完整性問題已經成為電子設計的一個瓶頸。信號完整性問題日益嚴重,尤其串擾問題對系統電氣性能的影響也越來越重要。串擾噪聲的時延測試已經成為一個不可忽視的問題,尤其是臨界通路上的線間串擾問題,將嚴重降低芯片的性能。
在布局布線時注意采用抑制串擾噪聲產生的方法,如差分技術、job走線等等。但不能完全避免串擾噪聲的產生,必須有一種串擾故障的激勵模型能夠把潛在的串擾故障激勵并檢測出來,使得芯片制造成本降低,研發周期縮短。
串擾是指信號在傳輸線上傳播時,因電磁耦合對毗鄰的傳輸線產生不期望的電壓噪聲干擾。過大的串擾可能引起電路的誤觸發,導致系統無法正常工作。串擾由電磁耦合形成的,耦合分為電場耦合和磁場耦合兩種。串擾時延主要是耦合電容的影響[1]。當攻擊線和受害線同時或者幾乎同時跳變時,容易引起串擾時延。時延故障的存在將導致在某些輸入下,電路的一個或多個原始輸出在給定的時間限制內得不到正確的響應。如果攻擊線和受害線向相反的方向跳變,會使受害線的跳變的時間增加,形成時延減速。相反,如果受害線和攻擊線向相同的方向跳變,跳變的時間會減少,則形成時延加速。圖1列出了各種情況下串擾引起時延噪聲的激勵檢測模型[2]。

圖 1 串擾噪聲引起時延模型
FAN算法[3,4,5]是H.FujiWara和T.Shimono在1983年提出的,是一種基于電路結構的測試生成算法,是對PODEM算法的改進。與PODEM相比,它成功地減少了反向追蹤中的回溯次數,加快了回推過程,從而提高了速度。
2.1.ODEM算法
PODEM算法[3,4,5]首先也是激活故障,再將故障激活條件反向跟蹤,待給滿足激活條件的原始輸入賦值以后,再進行正向驅趕,每驅趕一個門,就對滿足驅趕條件和賦值逐個反向追蹤,直到驅趕到原始輸出為止。
其基本思想如下:
(1)假定所有原始輸入都沒有賦值,給其中滿足激活條件的一個輸入賦邏輯值0或1,并把最初賦值為0或1的原始輸入記入判決樹中。如果最初賦值在測試過程中被拒絕,則對其賦另外一個值,但此時要對該原始輸入設置標記b。如果一個原始輸入的第二次賦值又被拒絕,則從判決樹彈出該輸入,并令其為x。
(2) 對當前的原始輸入進行五值模擬,看是否把故障敏化到原始輸出,若是,則停止。
(3) 將剩余的未賦值的輸入賦以0或1,檢查是否可能構成一個測試。若有可能,則到步驟(1)繼續執行。
(4)尋找是否還有未檢查過的輸入組合。若有,則轉到(1)繼續執行;否則該故障不可測。
2.2.AN算法
FAN算法與PODEM算法的基本思想不同主要體現如下方面:
(1)D驅趕與唯一敏化,FAN算法在對故障門賦值(故障激活)之后,如果 D邊界由多個門構成時,則選離PO最近的門傳播 D/D,并且傳播一個門之后即對敏化條件反向回推,只回推到扇出線和端線即進行蘊含,并且 FAN優先進行唯一敏化。
(2)隱含操作,FAN算法每當給扇出線和端線定值之后,均需執行正反向隱含操作,以給網絡中更多的引線定值。隱含可能使D邊界消失,這說明在此之前所賦值的引線值,即扇出線和端線值已隱藏著矛盾,需要改變賦值組合。這種做法可縮短回溯過程。
(3)反向追蹤, FAN算法一次對一個初始目標集進行反向追蹤,亦稱多重回推。回推中采用橫向優先策略,即一個目標一次只回推一個門。回推的終結目標是扇出線和端線。因此,故障門的賦值,一個門的敏化條件,敏化通路上的全部唯一敏化條件和 D/D傳到 PO之后網絡中那些未經驗證的線值等等,都可成為FAN算法回推的初始目標集。
(4)回溯,當隱含結果出現D邊界消失的情況時,FAN算法只需對判定表中扇出線和端線的賦值組合進行重試。
FAN算法采用五值{0,1,X,D,D}描述電路中每個結點的取值。故障初始 D矢量[6]描述了故障點的故障表現,由故障點的故障值與測試所加正常值所產生的D矢量。初始D矢量中的D在無故障時取1值,有故障時取0值;D則反之,在無故障時取0值,有故障時取1值。X表示可能為{0,1,D,}中任意的一個。表1為五值邏輯與運算。

表1.值邏輯運算與運算
但是時延故障的測試向量一般采用雙向量模式
根據串擾時延噪聲的激勵檢測模型的特點,一個七值表{0,1,x,p0,p1,g0,g1}[7]被使用,代替五值表 {0,1,D,,X},如表2.

表2.值表
在表3中是AND操作,可以推導出NAND、OR、XOR和NOT等操作。

表3.ND操作
另外,主要輸入端的值僅僅從{0,1,P0,P1}中分配。
因此對于電路中的邊界線、扇出線和端線等等都按照七值表的值進行分配。但是,在一定意義上,與傳統的 FAN算法相似。信號值被明確地分配在輸入端和其它的值通過蘊含被分配。并且利用FAN算法的多路回退和回溯等主要特色,提高了測試生成算法的效率。
在PentiumⅣ2. 5GHz的PC機上,對標準電路ISCAS’85進行驗證。用verilog源代碼描述的標準電路使用synopsys軟件在0.18um工藝庫下綜合,獲取通路時延信息。然后建立時延故障目標集,并且采用數組的形式根據引起延時嚴重性至上而下的排列,利用FAN算法完成了對標準電路時延故障的測試矢量生成。
[1]Satyendra R. Crosstalk delay analysis in very deep sub-micron VLSI circuits[D].USA: Southern Mehodist University, 2004. 7-9.
[2]Ba X. L. Modeling and testing for signal integrity in nanometer system-on-chips[D].USA: San Diego State University, 2003.
[3]雷紹充,邵志標,梁峰.VLSI測試方法學和可測性設計[M].北京:電子工業出版社,2004.
[4]時萬春.現代集成電路測試技術[M].北京:化學工業出版社,2006.
[5]曾芷德編.數字系統測試與可測性[M].長沙:國防科學技術大學出版社,1992.
[6]陳光衤禹,張世箕.數字系統的故障診斷及可測試性[M].成都:電子科技大學出版社,2001.
[7] Arunachalam R, Blanton R D, Pileggi L T. False coupling interactions in static timing analysis[C]. Asia and South Pacific: Design Automation Conference, 2001.