基于多IP核復(fù)用SoC芯片的可靠性研究
1 引言
隨著半導(dǎo)體工藝技術(shù)的發(fā)展, 愈來愈復(fù)雜的IP核可集成到單顆芯片上, SoC (片上系統(tǒng))技術(shù)正是在集成電路( IC) 向集成系統(tǒng)( IS)轉(zhuǎn)變的大方向下產(chǎn)生的。采用SoC 技術(shù), 可將微處理器、模擬IP核、數(shù)字IP核和存儲器等集成在單一SoC芯片上, 因而具有很多優(yōu)勢: 采用IP核復(fù)用技術(shù)可大幅度縮短芯片的研發(fā)周期和費(fèi)用; 采用IP核復(fù)用技術(shù)能極大改善功耗開銷, 降低風(fēng)冷要求,并可大幅度減少印制板上部件數(shù)和管腳數(shù); 由于以前板級連線全部集成到芯片中, 從而帶來整機(jī)的可靠性的大幅度提高; 可以縮短整機(jī)的研發(fā)時間和研發(fā)費(fèi)用等。
由于各類IP核質(zhì)量參差不齊, 到目前為止, IP核的接口標(biāo)準(zhǔn)和質(zhì)量標(biāo)準(zhǔn)還未完全統(tǒng)一, IP 核質(zhì)量評估手段還需完善, SoC 芯片集成的IP核越多, 其可靠性降低的風(fēng)險就越大, 因而非常必要研究多IP核復(fù)用SoC的可靠性, 多IP核復(fù)用SoC 的可靠性受處理器、外圍模塊IP核、多IP核間通信的可靠性的影響。
2 SoC芯片可靠性研究
可靠性技術(shù)的實現(xiàn)都是以容錯為基礎(chǔ), 容錯技術(shù)主要是依靠資源的冗余和系統(tǒng)重構(gòu)資源的組織來完成。冗余主要包括硬件冗余、軟件冗余、時間冗余、信息冗余等。硬件冗余是在常規(guī)的硬件功能設(shè)計之外再另加一些備用的附加的硬件, 當(dāng)常規(guī)硬件發(fā)生錯誤時備用硬件起作用, 使系統(tǒng)仍然能夠正常工作; 軟件冗余是增加一些額外的用于檢錯糾錯的程序, 當(dāng)運(yùn)行出錯時程序能夠自行進(jìn)行檢錯糾錯; 時間冗余是為某一指令或一段程序開辟額外的時間讓其重復(fù)執(zhí)行; 信息冗余是增加信息的多余度, 使其自己具有檢錯糾錯的能力。
從以下三個方面對多IP復(fù)用SoC 進(jìn)行了可靠性研究: 處理器的可靠性、多IP核間通信的可靠性、IP核工作異常狀態(tài)檢測。
2. 1 片上處理器的可靠性
處理器的可靠性直接決定著SoC 芯片的可靠性。從Cache容錯、寄存器文件錯誤保護(hù)、觸發(fā)器的錯誤保護(hù)等方面進(jìn)行了研究來提高處理器的可靠性, 并分析對整個SoC 芯片可靠性的影響。
2. 1. 1 Cache容錯
在電路中加一個Cache Contro ller 模塊, 在該模塊中實現(xiàn)對Cache的管理。其中錯誤檢測的方法采用2 位的奇偶校驗位, 1位作為奇校驗, 1位作為偶校驗, 在讀Cache的同時進(jìn)行校驗。如果校驗出錯, 則強(qiáng)迫Cache 不命中, 并從外部存儲去獲取數(shù)據(jù)。CACH E的控制結(jié)構(gòu)如圖1所示。
圖1
2. 1. 2 寄存器文件的錯誤保護(hù)
采用1、2奇偶校驗, 同時采用( 32. 7) BCH 校驗和進(jìn)行容錯。寄存器文件錯誤保護(hù)原理如圖2所示。
2. 1. 3 觸發(fā)器的錯誤保護(hù)
采用TMR三模冗余的方式進(jìn)行容錯。觸發(fā)器錯誤保護(hù)中,通過比較器來進(jìn)行表決以輸出正確的數(shù)據(jù)輸出。TMR ( Tr ip le-M odu la r- Redundancy)的原理是將同一份信息保存在三份物理存儲空間中。讀取的時候比較三份內(nèi)容, 如果不完全相同, 就取兩個一致的值為真值。在控制器通過總線向內(nèi)存寫入數(shù)據(jù)(WR 有效) 時, 每一比特數(shù)據(jù)通過三態(tài)門同時寫到三個對應(yīng)的比特存儲單元中。當(dāng)總線向內(nèi)存請求數(shù)據(jù)( RD有效) 時, 三份同時存儲的內(nèi)容到達(dá)比較器, 比較器邏輯按照前述規(guī)則輸出數(shù)據(jù)內(nèi)容及是否發(fā)生2 /3判決的標(biāo)記。這是一種在系統(tǒng)結(jié)構(gòu)上通過增加冗余資源的方法來掩蓋故障造成的影響, 使得即使出錯或發(fā)生故障, SoC芯片的功能仍不受影響, 仍能夠正常執(zhí)行預(yù)定任務(wù)的技術(shù)。
圖2
觸發(fā)器的錯誤保護(hù)中采用TMR三模冗余寄存器的方式進(jìn)行容錯。觸發(fā)器錯誤保護(hù)中, 通過比較器來進(jìn)行表決以輸出正確的數(shù)據(jù)輸出。這種容錯設(shè)計中, 當(dāng)有一個以下冗余寄存器出錯時可以輸出正確結(jié)果, 當(dāng)兩個以上的冗余寄存器出錯時就會輸出錯誤的結(jié)果。觸發(fā)器文件的錯誤保護(hù)原理如圖3所示。
圖3
2. 2 多IP核間通信的可靠性研究
IP核間通信總線的穩(wěn)定性直接關(guān)系到整個系統(tǒng)的可靠性。我們對IP核間的通信進(jìn)行了研究, 加入一些檢錯模塊, 保證通信時數(shù)據(jù)的正確性, 進(jìn)而提高整個系統(tǒng)的可靠性。
圖4
IP核間通信采用AMBA 2. 0 AHB 和APB 片上總線協(xié)議, 增加一個AMBA Controller模塊對整個AMBA 片上通信進(jìn)行監(jiān)控,通過檢錯信號反饋信息對該模塊采取進(jìn)一步的保護(hù)措施, 當(dāng)出錯時, 使整個流水線重啟, 保證通信數(shù)據(jù)正確, 錯誤數(shù)據(jù)被拋棄。檢錯算法采用2位奇偶校驗。
IP核間可靠性通信原理如圖4所示。
2. 3 嵌入BIST電路, 檢測IP核的工作狀態(tài)
B IST ( Built- In SelfTest) 是一種芯片內(nèi)建自測試, 即在芯片上集成一種自我檢測的電路。基于DFT思想, 在片上集成了一種B IST模塊來提高系統(tǒng)的可靠性。在芯片內(nèi)增加產(chǎn)生激勵和做測試分析的電路, 使芯片不但能完成邏輯功能, 還能在外部給定測試方式命令時進(jìn)行自我測試分析, 并輸出結(jié)果。這種結(jié)構(gòu)的電路既不需要準(zhǔn)備測試碼, 也不需要專門的測試設(shè)備。電路中包含有測試碼生成部件、掃描測試電路和測試結(jié)果輸出部件, 如圖5 所示。
圖5
SoC 芯片在上電運(yùn)行中自動對自己的運(yùn)行狀態(tài)進(jìn)行監(jiān)控, 并通過掃描輸出信號即時返回該IP功能模塊的狀態(tài)信息, 在其它控制模塊中再根據(jù)這些狀態(tài)信息采取相應(yīng)策略保證SoC 的可靠運(yùn)行。
3 結(jié)束語
對于SoC 芯片, 可靠性是首要考慮的問題, 基于多IP復(fù)用SoC 的設(shè)計技術(shù), 重點(diǎn)解決處理器的可靠性、多IP核間通信的可靠性、IP核工作異常狀態(tài)研究, 可以進(jìn)一步提高SoC 芯片的可靠性。
近幾年來本單位根據(jù)智能終端產(chǎn)品特點(diǎn), 進(jìn)行智能終端專用SoC 芯片研發(fā), 在SoC的設(shè)計過程中充分考慮了其可靠性, 加入了非常全面的可靠性算法, 采用奇偶校驗、TMR(三模冗余)寄存器、片上EDAC、流水線重啟和強(qiáng)迫CACHE 不命中等多層次容錯機(jī)制來提高SoC的可靠性, 已在FPGA 驗證平臺上得到驗證, 并進(jìn)行SoC 芯片流片和批量生產(chǎn)驗證, SoC 芯片的可靠性得到大幅度提高, 驗證本方法可行, 具有很好的推廣價值。