何彩霞 夏開華 王巍 韓學(xué)濤 梁富
摘要:本文設(shè)計了基于抗輻照xxMHz芯片全套仿真驗證流程,包括FPGA代碼驗證、芯片板級驗證和抗輻照試驗驗證。首先重點介紹了FPGA代碼驗證,從驗證在現(xiàn)代IC流程中的重要地位開始,到驗證的基本方法,仿真驗證平臺的搭建,F(xiàn)PGA后端驗證,提煉了高效通用的仿真驗證平臺的搭建。其次簡單介紹了芯片板級驗證。最后簡單介紹了抗輻照試驗驗證。
關(guān)鍵詞:抗輻照芯片;FPGA代碼驗證;芯片板級驗證;抗輻照試驗驗證;高效通用的仿真驗證平臺
中圖分類號:TP332 文獻標識碼:A 文章編號:1007-9416(2018)02-0101-03
1 引言
驗證技術(shù)在集成電路設(shè)計中非常關(guān)鍵,并貫穿于整個設(shè)計過程。隨著集成電路復(fù)雜度的提高,驗證工作的復(fù)雜度和工作量呈指數(shù)上升,能否及時發(fā)現(xiàn)設(shè)計中存在的錯誤對保證設(shè)計正確性和縮短芯片上市時間至關(guān)重要[1]。
xxMHz芯片是我所第一顆數(shù)字信號處理,算法復(fù)雜,宇航級的芯片。由于國外對宇航級芯片的禁運,SRAM型FPGA器件在空間環(huán)境應(yīng)用中極易受到高能粒子的影響,產(chǎn)生單粒子翻轉(zhuǎn)(SEU),從而影響星載設(shè)備的正常工作,長期的研究證明,SRAM型FPGA受單粒子翻轉(zhuǎn)影響的區(qū)域最主要為加載存儲區(qū),大概占FPGA內(nèi)部存儲單元的98%以上。數(shù)字ASIC芯片無加載存儲區(qū),受SEU的影響較小,因此數(shù)字ASIC芯片的需求越來越迫切。芯片算法是已有的,在多個課題中都應(yīng)用過,其算法復(fù)雜,接口眾多,若做成芯片,出錯的概率大大增加,有些錯誤可能引起災(zāi)難性的后果,如奔騰芯片中一個算術(shù)設(shè)計錯誤使得Intel公司損失5億美元。硬件設(shè)計不像軟件設(shè)計容易挽回Bug的損失。因此,快速、系統(tǒng)、完備的驗證體系是保證芯片設(shè)計投片成功的關(guān)鍵。研究新的、高效的驗證方法,建立完善通用的驗證平臺對xxMHz芯片的驗證至關(guān)重要。
2 FPGA代碼驗證
一個芯片制作的成功與否,F(xiàn)PGA代碼驗證起到了核心的作用,故詳細介紹。
2.1 驗證在現(xiàn)代IC/FPGA流程中的位置
現(xiàn)代IC(Integrated circuit,集成電路)前端的設(shè)計流程如圖1所示。IC設(shè)計是從一份需求說明或者任務(wù)書開始的,這份需求來自于分機負責人。從任務(wù)書開始,IC工程師(或FPGA工程師)會把他們細化為特性列表。設(shè)計工程師根據(jù)特性列表,將其轉(zhuǎn)化為設(shè)計規(guī)格說明書,詳細闡述自己的設(shè)計方案,詳細描述清楚功能,性能,接口屬性及時序,可靠性安全性要求等。驗證工程師根據(jù)特性列表,寫出驗證說明。驗證說明書包含仿真驗證計劃、仿真驗證說明和仿真驗證報告,在驗證說明書中,會明確如何搭建驗證平臺,如何保證驗證完備性,如何測試每一條特性,如何測試異常情況等。
當設(shè)計說明書完成后,設(shè)計人員開始使用Verilog/VHDL將特征列表轉(zhuǎn)為RTL代碼,而驗證人員則開始使用驗證語言(System Verilog,目前最先進的FPGA仿真驗證語言)搭建驗證平臺。驗證人員開始驗證這些代碼,通常被稱為DUT(Design Under Test)的正確性,驗證主要保證從特征列表到RTL轉(zhuǎn)化的正確性,包含但不限于以下幾點[2]:
(1)DUT的行為表現(xiàn)是否與特征列表中要求的一致。
(2)DUT是否實現(xiàn)了所有特征列表中列出的特性。
(3)DUT對于異常狀況的反應(yīng)是否與特征列表和設(shè)計規(guī)格說明書中的一致。
(4)DUT是否足夠穩(wěn)健,能夠從異常狀態(tài)中恢復(fù)到正常的工作模式。
2.2 驗證基本方法
FPGA仿真驗證主要有三種方法[3]:
(1)黑盒(Black-Box)驗證。黑盒驗證法不需要了解目標設(shè)計的內(nèi)部結(jié)構(gòu)和實現(xiàn)方法,僅通過目標設(shè)計的外部接口和整體特征,對目標設(shè)計進行仿真驗證。黑盒驗證法的優(yōu)點是仿真驗證代碼不依賴于目標設(shè)計的內(nèi)部結(jié)構(gòu),可以直觀的反應(yīng)設(shè)計要求。缺點是無法做覆蓋率分析,會導(dǎo)致代碼的某些BUG不會被發(fā)現(xiàn)。
(2)白盒(White-Box)驗證。白盒驗證法需要詳細了解目標設(shè)計的內(nèi)部結(jié)構(gòu)和實現(xiàn)方法,其仿真代碼與目標代碼緊密聯(lián)系,具有完全可控性和可觀察性。優(yōu)點是百盒驗證法有利于定位和分析仿真驗證過程中出現(xiàn)的錯誤,做覆蓋率分析,測試具體全面。缺點是對驗證人員要求高,工期長。
(3)灰盒(Grey-Box)驗證?;液序炞C法是黑盒驗證法和白盒驗證法的折中。優(yōu)缺點介于二者之間。
介于三種驗證方法的優(yōu)缺點,抗輻照xxMHz芯片代碼采用白盒驗證。
2.3 測試平臺的搭建
傳統(tǒng)驗證方式,設(shè)計人員送入激勵,觀察波形,來判斷設(shè)計的正確性。下面介紹一種新的、高效的、通用的仿真驗證平臺。仿真驗證平臺會把整個待測設(shè)計包圍起來,如圖2所示。
驗證平臺模塊里有很多的總線功能模型(BFM),即驗證平臺構(gòu)件。如果實際應(yīng)用中設(shè)備被連接到AMBA、USB、PCI和SPI總線上,那么就必須在驗證平臺中建立能夠產(chǎn)生激勵并校驗響應(yīng)的等效模型,如圖3所示。這些構(gòu)件并不是帶有細節(jié)的可綜合模型,而是遵循協(xié)議并且執(zhí)行速度更快的高層事務(wù)處理[4]。
根據(jù)項目的實際情況搭建完整的驗證平臺,完整的驗證平臺如圖4所示,包括激勵發(fā)生器、參考模型和檢查器:
(1)激勵發(fā)生器負責待測設(shè)計的輸入;
(2)參考模型用于計算輸入激勵的預(yù)期結(jié)果;
(3)檢查器用于收集待測設(shè)計和參考模型的輸出,并進行比較。
驗證平臺設(shè)計說明中,應(yīng)說明驗證平臺中各構(gòu)件的功能,以及各構(gòu)件對應(yīng)的被測信號,仿真輸入激勵和驗證比較項,如表1所示。
xxMHz芯片的外圍接口有工作時間,AD接口等,具體外部接口見圖5。和圖4完整平臺的關(guān)系是:仿系統(tǒng)時鐘、仿AD模塊、仿節(jié)拍模塊、仿配置系統(tǒng)對應(yīng)的是激勵發(fā)生器;仿SRAM對應(yīng)的是參考模型;仿PDW接收、仿采集數(shù)據(jù)傳輸、仿測向模塊對應(yīng)檢查器。每一個激勵做成單獨的模塊,利于以后同種類型的測試調(diào)用和復(fù)用。
2.4 FPGA后端驗證
流程如下:FPGA庫->fundary庫->綜合網(wǎng)表->仿真(無時序)->布局布線(人工)->后仿(布線圖有延時)->芯片制作廠去流片->晶圓->封裝。封裝先進行塑封,后進行陶封。若芯片在塑封測試合格的話,即芯片的功能和性能滿足需求,不需要更改后,讓芯片進行下一步的陶封。若芯片測試不合格的話,這時候就停止芯片的后續(xù)制作,開始對問題的追溯和改正,進行下一輪的芯片制作,在芯片塑封開始測試,達到節(jié)約錢的目的,也是流片中很重要的一環(huán)。
3 芯片板級驗證
測試板如圖6所示,紅色框框內(nèi)的是塑封的xxMHz芯片,測試板完全是根據(jù)芯片功能制作的,同時參照了航天以往的板子,外圍設(shè)備完全一致,保證芯片的可移植性。xxMHz芯片在塑封時發(fā)現(xiàn)了一個功能錯誤,每2048個點的原始數(shù)據(jù)出現(xiàn)一次0點,錯誤。故在塑封結(jié)束第一次制作,經(jīng)過整改代碼后,第二次制作才成功的。
4 抗輻照試驗驗證
在蘭州中科院近代物理研究所進行的單粒子輻照試驗。輻照試驗全景圖如圖7所示。
芯片分三個階段進行單粒子實驗,總共注入超過730萬個Xe粒子。在低劑量(2000倍注量率)條件下,芯片無故障,功能運行正常。在高劑量(8000-12000倍注量率)條件下,芯片出現(xiàn)單粒子翻轉(zhuǎn)導(dǎo)致的功能性錯誤,但芯片可繼續(xù)運行并正確輸出結(jié)果。在極高劑量(15000倍注量率)情況下,芯片出現(xiàn)功能中斷,程序結(jié)果出錯,并且無法繼續(xù)運行。相對于航天產(chǎn)品部FPGA芯片在20倍(無配置刷新等抗SEU加固措施)和500倍(有配置刷新等抗SEU加固措施)注量率條件下出現(xiàn)功能性錯誤的結(jié)果,xxMHz芯片的抗單粒子輻照效果明顯提升。
5 結(jié)語
本文針對抗輻照xxMHz芯片仿真驗證技術(shù)進行了研究,從FPGA代碼驗證到芯片板級驗證最后到抗輻照試驗驗證,全面闡述了抗輻照xxMHz芯片驗證的過程。由于FPGA代碼驗證的重要性,在整個流片中起到?jīng)Q定性的作用,故重點介紹了FPGA代碼驗證,此驗證平臺后續(xù)在上百個FPGA仿真驗證中經(jīng)過了驗證,達到了通用高效效果,效果顯著好用。
參考文獻
[1]胡建國.高性能微處理器的驗證技術(shù)研究[D].國防科學(xué)技術(shù)大學(xué)研究生院,2004.
[2]張強.UVM實戰(zhàn)[M].機械工業(yè)出版社,2016.
[3]任曉東,等.CPLD/FPGA高級應(yīng)用開發(fā)指南[M].電子工業(yè)出版社,2003.
[4][美]克里斯斯皮爾著.SystemVerilog驗證[M].科學(xué)出版社,2012.