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