專利名稱:一種用于提高可靠性的軟硬件協(xié)同容錯系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種利用軟件方法對硬件進行糾錯同時具有BIST(Built-In Self Test,內(nèi)建自測試)測試功能的系統(tǒng)模型,適用于嵌入式的高可靠性系統(tǒng)的設(shè)計。
背景技術(shù):
目前,隨著數(shù)字系統(tǒng)規(guī)模的增大和對系統(tǒng)靈活性的要求,軟硬件協(xié)同設(shè)計成為一 種很重要的設(shè)計方法。在高可靠性數(shù)字系統(tǒng)設(shè)計領(lǐng)域,基于多個硬件冗余模塊的設(shè)計最為 常用,但這種方法對系統(tǒng)的硬件資源的開銷很大,從而引入很大的面積和功耗的開銷。
發(fā)明內(nèi)容
為了降低容錯系統(tǒng)對硬件資源的開銷,本發(fā)明提供了一種軟硬件協(xié)同的容錯方 式,從而大大降低系統(tǒng)的硬件資源開銷,同時具有簡單的BIST測試功能,從而在容錯的同 時實現(xiàn)了芯片產(chǎn)品化后的內(nèi)建自測試。 本發(fā)明的特征在于所述軟硬件協(xié)同容錯系統(tǒng)由數(shù)字集成電路組成,包括存儲器、 處理器、內(nèi)部互連網(wǎng)絡(luò)、硬件加速模塊以及所述硬件加速模塊的控制和測試模i央,其中
存儲器存儲所要處理的軟件指令及數(shù)據(jù)設(shè)有第二地址輸入端口 Addr2、第二控 制信號輸入端口 Cntrl2以及第二數(shù)據(jù)信號輸入、輸出端口 Data2。 控制器從所述存儲器中獲取所需要處理的軟件指令或數(shù)據(jù),并發(fā)出相應(yīng)的控制信 號,設(shè)有第一地址輸出端口 Addrl、第一控制信號輸出端口 Cntrll以及第一數(shù)據(jù)輸入、輸 出端口 Datal。 內(nèi)部互連網(wǎng)絡(luò)設(shè)有與所述第一地址輸出端口 Addrl相連的對應(yīng)輸入端口,與所 述第一控制信號輸出端口 Cntrll相連的對應(yīng)輸入端口,與所述第一數(shù)據(jù)輸入、輸出端口 互連的對應(yīng)輸入、輸出端口 ,與所述第二控制信號輸入端口 Cntrl2相連的對應(yīng)輸出端口 , 與所述第二數(shù)據(jù)輸入、輸出端口互連的對應(yīng)輸出、輸入端口,還設(shè)有第三地址輸出端口 Addr3,第三控制信號輸出輸入端口 Cntrl3,第三數(shù)據(jù)輸入、輸出端口 Data3,第一滿信號輸 入端口 Fulll,寫信號輸出端口 Write,第十數(shù)據(jù)輸出端口 DatalO,所述內(nèi)部互連網(wǎng)絡(luò)通過 內(nèi)設(shè)的端口動態(tài)互連模塊以使根據(jù)所述處理而發(fā)生的控制信號動態(tài)實現(xiàn)所述各輸入端口 與輸出端口間的動態(tài)互連。 硬件加速模塊的控制和測試模塊包括連接有處理結(jié)果存儲器的硬件控制單元和 內(nèi)建自測是單元BIST Core,其中 硬件控制單元設(shè)有與所述第三地址輸出端口 Addr3相連的地址輸入端口,與所 述第三控制信號輸出端Cntrl3相連的對應(yīng)輸入端口 ,與所述第三數(shù)據(jù)輸入、輸出端口互連 的對應(yīng)輸出、輸入端口,以使通過所述內(nèi)部互連網(wǎng)絡(luò)從所述處理器輸入控制命令,還設(shè)有 所述內(nèi)建自測試模塊BIS乙Enable的使能信號輸出端,內(nèi)建自測試結(jié)果Result輸入端,第 四有效信號輸入端Done4,以便啟動所述內(nèi)建自測試模塊進行測試,在測試結(jié)束后輸入測試 結(jié)果應(yīng)接收測試有效信號,還設(shè)有選擇信號Select輸出端,以啟動測試向量的測試,第九
4數(shù)據(jù)輸入端Data9和第三有效信號輸入端Done3以接收測試數(shù)據(jù)及相應(yīng)的有效信號,同時, 又設(shè)有度信號Read輸出端和第二滿信號輸入端Ful12,讀取測試數(shù)據(jù)和接收相應(yīng)的滿信 號。 內(nèi)建自測試單元存儲有所述測試向量和標準測試結(jié)果,設(shè)有第四數(shù)據(jù)輸出端口 Data4以逐個輸出所述測試向量,第八數(shù)據(jù)輸入端口 Data8和第二有效信號輸入端Done2以 接收所述測試向量的測試結(jié)果和測試有效信號。 硬件加速模塊,用于對待測模塊IP Core進行測試向量的測試并在測試結(jié)果有效 后進行數(shù)據(jù)處理,設(shè)有緩沖器BUFFER、二選一選擇器MUX、所述待測模塊IP Core以及二路 數(shù)據(jù)分配器DMUX,其中 緩沖器BUFFER,設(shè)有與所述第一滿信號輸入端口相連的對應(yīng)輸出端,與所述寫 信號Write輸出端口相連的對應(yīng)輸入端、第十數(shù)據(jù)輸入端DatalO,以使從所述內(nèi)部互連網(wǎng) 絡(luò)從所述處理器輸入測試所述待測模塊IP Core的數(shù)據(jù),還設(shè)有與所述讀信號Read輸出 端相連的對應(yīng)輸入端,與所述第二滿信號輸入端Ful12相連的對應(yīng)輸出端以便在所述硬件 控制單元控制下從所述BUFFER讀出所述測試數(shù)據(jù),又設(shè)有第五數(shù)據(jù)輸出端口 Data5。
二選一選擇器MUX,設(shè)有與所述第四數(shù)據(jù)輸出端口相連的對應(yīng)輸入端,與所述第 五數(shù)據(jù)輸出端口 Data5相連的對應(yīng)輸入端,以及第六數(shù)據(jù)輸出端口 Data6,以使在所述硬件 控制單元控制下有選擇地輸出所處測試向量和所述測試數(shù)據(jù)。 所述待測模塊IP Core,用于對所述測試向量的測試并在測試有效后,處理所述 測試數(shù)據(jù),設(shè)有與所述第六數(shù)據(jù)輸出端口 Data6相連的對應(yīng)輸入端,第一有效信號輸出端 Donel和第七數(shù)據(jù)輸出端Data7,用于輸出測試結(jié)果及其有效信號。 二路數(shù)據(jù)分配器DMUX,設(shè)有與所述第一有效信號輸出端Datal相連的對應(yīng)輸 入端,與所述第七數(shù)據(jù)輸出端Data7相連的對應(yīng)輸入端,還設(shè)有與所述第八數(shù)據(jù)輸入端 Data8相連的對應(yīng)輸出端,與所述第二有效信號輸入端Done2相連的對應(yīng)輸出端,與所述第 三有效信號輸入端Done3相連的對應(yīng)輸出端,以及與所述第九數(shù)據(jù)輸出端Data9輸入相連 的輸出端輸出所述測試結(jié)果數(shù)據(jù)。 所述二選一選擇器MUX和所述二路數(shù)據(jù)分配器DMUX,還各設(shè)有一個與所述選擇信 號Select輸出端相連的對應(yīng)輸入端。 本發(fā)明的有益效果是與傳統(tǒng)的硬件冗余的容錯結(jié)構(gòu)相比本發(fā)明可以有效地降低 容錯系統(tǒng)對硬件資源的開銷,同時,也實現(xiàn)了軟件控制的硬件BIST測試,從而實現(xiàn)了測試 與容錯機制的融合。
圖l.本發(fā)明所提出的基本系統(tǒng)框圖,主要分為四個大部分(如圖中虛線框所示), 其中,編號為1的虛線框內(nèi)部為處理器(本例中為MIPS處理器)和存儲器(本例中為普通 的RAM存儲器),主要進行相應(yīng)的軟件指令執(zhí)行,編號為2的虛線框內(nèi)部為互連網(wǎng)絡(luò)(包括 各功能模塊與它的接口 ),編號為3的虛線框內(nèi)部為硬件加速模塊的控制和測試模塊,編號 為4的虛線框內(nèi)部為主要的硬件加速模塊。具體而言,Processor是運行相應(yīng)軟件程序的處 理器,MEMORY是系統(tǒng)中的存儲模塊,IP Core是硬件加速模塊,BIST Core是對硬件加速模 塊進行測試的內(nèi)建自測試的關(guān)鍵模塊,它主要由三部分集成在一起的,三部分分別是測試向量生成部分、測試控制部分和結(jié)果分析部分。Hardware Control Unit (Including Result Memory)是控制硬件加速模塊及其BlS乙Core進行測試的功能模塊,并具有存儲處理結(jié)果 的功能。BUFFER是在Hardware Control Unit控制下獲取處理器要送給硬件加速模塊處理 的數(shù)據(jù)的緩沖模塊,Addr是系統(tǒng)各部分的地址接口 , Cntrl是系統(tǒng)各部分的控制接口 , Data 是系統(tǒng)各部分的數(shù)據(jù)接口,它們都通過互連網(wǎng)絡(luò)(Interconnection Networks Including NI)(包括接口 )連接在一起 圖中的信號的英文名稱及相應(yīng)的中文翻譯 MEMORY :存儲器; Processor :處理器; Addrl :第一地址線 Addr2 :第二地址線 Addr3 :第三地址線 Cntrl 1 :第一控制線 Cntrl2 :第二控制線 Cntrl3 :第三控制線 Datal :第一數(shù)據(jù)線 Data2 :第二數(shù)據(jù)線 Data3 :第三數(shù)據(jù)線 Data4:第四數(shù)據(jù)線 Data5 :第五數(shù)據(jù)線 Data6 :第六數(shù)據(jù)線 Data7 :第七數(shù)據(jù)線 Data8 :第八數(shù)據(jù)線 Data9 :第九數(shù)據(jù)線 Data10 :第十數(shù)據(jù)線 Interconnection Networks (Including NI):互連網(wǎng)絡(luò)(包括網(wǎng)絡(luò)相應(yīng)接口 ) Read :讀信號 Write :寫信號 Fulll :第一滿信號 Ful12 :第二滿信號 BIST_Enable :BIST使能信號 BIST Core :內(nèi)建自測試核 Hardware Control Unit (Including Result Memory):硬件控制單元(包括結(jié)果 存儲器) Select :選擇信號 Result :結(jié)果信號 Donel :第一完成信號 Done2 :第二完成信號 Done3 :第三完成信號
BUFFER :緩沖器
MUX :選J華器
匿UX :分配器 圖2.本發(fā)明的系統(tǒng)功能擴展框圖,將原來的單一處理器單一硬件加速模塊擴展 為多處理器多硬件加速模塊,同時,對相應(yīng)的互連網(wǎng)絡(luò)(Interconnection Networks)進行 了相應(yīng)的擴展,從而滿足多處理器多硬件加速模塊的互連要求,這里的擴展是通過在基本 系統(tǒng)結(jié)構(gòu)基礎(chǔ)上再加入了多個處理器和多個待測硬件加速模塊及相應(yīng)的控制結(jié)構(gòu)來實現(xiàn) 的。 摘要附圖與圖 一完全相同,對應(yīng)英文信號的中文翻譯也相同。
具體實施例方式
在本系統(tǒng)中,在軟件程序執(zhí)行某一硬件加速模塊對應(yīng)的功能的指令代碼之前,使 用控制指令(向硬件控制模塊中發(fā)送一控制字)來啟動相應(yīng)的硬件加速模塊的BIST自測 試,經(jīng)過若干周期的測試后,返回一個相應(yīng)的測試結(jié)果,然后,軟件程序以查詢的方式讀取 這個測試結(jié)果,并根據(jù)這一結(jié)果決定硬件加速模塊是否出現(xiàn)故障。如果測試結(jié)果表明硬件 加速模塊出現(xiàn)故障,則采用冗余的軟件指令來完成相應(yīng)的指令,否則,使用硬件加速模塊 來完成相應(yīng)的指令。具體而言,在圖1中,在執(zhí)行硬件加速程序之前處理器(Processor) 給出相應(yīng)的控制信號,傳給硬件控制單元(Hardware Control Unit (Including Result Memory))用來啟動硬件加速模塊的內(nèi)建自測試(通過BIST Core來對IP Core進行測試), 硬件控制單元(HardwareControl Unit (Including Result Memory))再將領(lǐng)lj試結(jié)果反饋給 處理器,如果硬件加速模塊功能正常,則處理器將隨后使用硬件加速模塊來實現(xiàn)相應(yīng)程序 的硬件加速,否則,處理器將使用冗余指令代碼來完成同樣的操作。從而保證系統(tǒng)的高可靠 性運行。這里,考慮到提高運行效率,BIST測試與非硬件加速模塊函數(shù)的相關(guān)程序執(zhí)行并 行處理,從而提高時間的利用率。此外,系統(tǒng)的處理器與硬件加速模塊和存儲器之間的互連 都是采用互連網(wǎng)絡(luò)的,并省去了相應(yīng)的網(wǎng)絡(luò)接口。同時,為了簡化系統(tǒng)的設(shè)計,在控制單元 中包含有規(guī)模不大的存儲器,用來對硬件加速的結(jié)果進行存儲,這里,對處理結(jié)果的存儲也 可以使用專門的存儲器或BUFFER來實現(xiàn)。 以排序IP core作為待測模塊為例來進行詳細說明,在該系統(tǒng)中,處理 器(Processor)是主控模塊,其他都是被動模塊。在圖 一 中,起初在互連網(wǎng)絡(luò) (Interconnection Networks)的連接下,處理器的接口與存儲器(MEMORY)的接口相連, 即將數(shù)據(jù)接口 Datal與Data2相連、控制接口 Cntrll與Cntrl2相連、地址接口 Addrl與 Addr2相連,從而使得處理器可以從存儲器中獲取所需的指令或數(shù)據(jù)。隨后,在距離排序指 令執(zhí)行IO個時鐘周期的時候,通過互連網(wǎng)絡(luò)的連接使得處理器與硬件控制單元(Hardware Control Unit (Including ResultMemory))相連,即將數(shù)據(jù)接口 Datal與Data3相連、控 制接口 Cntrll與Cntrl3相連、地址接口 Addrl與Addr3相連,使得處理器可以向硬件控 制單元發(fā)送檢測命令,本例中,發(fā)送檢測命令是通過向硬件控制單元(Hardware Control Unit (Including Result Memory))的兩比特狀態(tài)寄存器中寫入11控制字來實現(xiàn)的。 一旦 處理器完成這一發(fā)送檢測命令的操作,通過互連網(wǎng)絡(luò)的連接使得處理器的接口又與存儲器 的接口相連,繼續(xù)進行后面的指令的運行。硬件控制單元在接收到這一檢測命令后,開始
7鍵入檢測狀態(tài),將BIST_Enable信號置有效高電平,啟動BIST Core來對IP Core進行測 試,相應(yīng)的,狀態(tài)寄存器中內(nèi)容改為OO,表示正在進行BIST測試。同時,在硬件控制單元的 選擇信號(Select)作用下,使得二選一選擇器MUX的輸入Data4與輸出Data6相連,二路 數(shù)據(jù)分配器DMUX的輸入Donel和Data7與輸出Done2和Data8相連,而另一組輸出Done3 和Data9被置為無效電平,從而以BIST core為核心構(gòu)成了一個測試的環(huán)路,這里,BIST測 試使用普通的測試方法,即BIST core中存儲有測試向量和標準測試結(jié)果,然后,在BIST core的控制下,將測試向量一個個通過Data4輸出,IP core在完成處理輸出結(jié)果時會使得 Donel電平置高,從而使得BIST core根據(jù)這一信號來獲取輸出的結(jié)果,并與存儲的標準結(jié) 果進行對比,如果一樣,表示該測試向量測試沒有問題,連續(xù)測試多個測試向量后,可以得 到相應(yīng)的滿足一定測試覆蓋率的測試結(jié)果。當所有測試向量都測試結(jié)束后,BIST core向 硬件控制單元(Hardware Control Unit (Including Result Memory))發(fā)出有效的Done信 號,表示測試已經(jīng)完成,并同時將測試結(jié)果通過Result發(fā)給硬件控制單元使得硬件控制單 元知道這一IP core是否通過了測試。若待測模塊IP Core測試結(jié)果沒問題,則狀態(tài)寄存 器中內(nèi)容改為Ol,若有問題,狀態(tài)寄存器中內(nèi)容改為10。在軟件指令執(zhí)行到排序指令前2 個時鐘周期時,在互連網(wǎng)絡(luò)的連接下,處理器(Processor)再次與硬件控制單元(Hardware Control Unit(Ineluding Result Memory))相連,即將數(shù)據(jù)接口 Datal與Data3相連、控制 接口 Cntrll與Cntrl3相連、地址接口 Addrl與Addr3相連,目的是查詢硬件控制單元里的 狀態(tài)寄存器內(nèi)容,如果為01,表示IP Core經(jīng)過了測試,若為IO,則表示IP Core的功能存 在故障。隨后,會分以下兩種情況進行 1、當處理器得知IP Core存在問題時,處理器再次通過互連網(wǎng)絡(luò)與MEMORY相連, 再用軟件方法來完成IP Core的操作,即通過執(zhí)行預(yù)先存儲好的指令來完成操作。
2、當處理器得知IP Core沒有問題時,處理器通過互連網(wǎng)絡(luò)與BUFFER相連,即將 處理器的Datal與BUFFER的Data相連,將處理器的控制信號Cntrll轉(zhuǎn)化為對BUFFER的 寫信號,同時處理器根據(jù)FULL的電平是否有效來決定BUFFER是否被裝滿,然后,處理器將 IP Core操作所需的數(shù)據(jù)一個個送到BUFFER中直到BUFFER裝滿為止。同時,在硬件控制 單元(Ha油areControl Unit (Including Result Memory))的選擇信號Select作用下,二 選一選擇器MUX的輸入Data5與輸出Data6相連,二路數(shù)據(jù)分配器DMUX的輸入Donel和 Data7分別與輸出Done3和Data9相連,而另一組輸出Done2和Data8被置為無效電平。隨 后,硬件控制單元(Hardware Control Unit (Including Result Memory))給出有效的Read 信號,從BUFFER中讀取數(shù)據(jù)并通過MUX送入IP Core進行處理,當處理完成要輸出結(jié)果時, IP Core的完成信號Donel置為有效電平并通過數(shù)據(jù)分配器DMUX輸出給硬件控制單元,隨 后,硬件控制單元從Data9獲取IP Core的處理結(jié)果,并存儲在硬件控制單元的存儲器中。 隨后,處理器利用互連網(wǎng)絡(luò)與硬件控制單元相連,即將數(shù)據(jù)接口 Datal與Data3相連、控制 接口 Cntrll與Cntrl3相連、地址接口 Addrl與Addr3相連,在控制信號Cntrl3、數(shù)據(jù)信 號Data3和地址信號Addr3的共同作用下,處理器從硬件控制單元的局部存儲器中讀取IP Core的處理結(jié)果,隨后,處理器再用互連網(wǎng)絡(luò)與存儲器(MEMORY)的接口相連,即將數(shù)據(jù)接 口 Datal與Data2相連、控制接口 Cntrll與Cntrl2相連、地址接口 Addrl與Addr2相連, 繼續(xù)進行后面軟件代碼的執(zhí)行。 基于這一發(fā)明的容錯系統(tǒng)結(jié)構(gòu),進行了 RTL級的系統(tǒng)設(shè)計,以包含排序IP核的數(shù)
8據(jù)分析應(yīng)用系統(tǒng)為例進行了設(shè)計,從結(jié)果可以看到,使用本文所用的方法會使得系統(tǒng)整體 的處理速度變慢,由2000多個時鐘周期,變?yōu)?000多個時鐘周期,但是,可以省去一個排序 的IP Core的硬件加速模塊的資源開銷。 通過本系統(tǒng),無論系統(tǒng)的IP Core是否存在故障,都可以得到如下正確結(jié)果
網(wǎng)絡(luò)數(shù)據(jù)包排序前數(shù)據(jù) 13,435,502, -22,31,282,733,7,502,64,11,86,-645,111,9,37
網(wǎng)絡(luò)數(shù)據(jù)包排序后數(shù)據(jù)(從小到大)-645,-22,7,9,11,13,31,37,64,86,111,282,435,502,502,733, 二者結(jié)果完全相同,只是軟件方法會相應(yīng)地增加一些時鐘周期,從而證明了本系
統(tǒng)功能的有效性。從中可以看到,本發(fā)明的方法適用于對處理速度要求不苛刻的高可靠性
嵌入式系統(tǒng)。 在圖2中對本發(fā)明進行了系統(tǒng)功能擴展,將原來的單一處理器單一硬件加速模塊 擴展為多處理器多硬件加速模塊,同時,對相應(yīng)的互連網(wǎng)絡(luò)(Interconnection Networks) 進行相應(yīng)的擴展,增大互連的節(jié)點數(shù)目,從而滿足多處理器多硬件加速模塊的互連要求。
權(quán)利要求
一種用于提高可靠性的軟硬件協(xié)同容錯系統(tǒng),其特征在于,所述軟硬件協(xié)同容錯系統(tǒng)由數(shù)字集成電路組成,包括存儲器、處理器、內(nèi)部互連網(wǎng)絡(luò)、硬件加速模塊以及所述硬件加速模塊的控制和測試模塊,其中存儲器存儲所要處理的軟件指令及數(shù)據(jù)設(shè)有第二地址輸入端口Addr(2)、第二控制信號輸入端口Cntrl(2)以及第二數(shù)據(jù)信號輸入、輸出端口Data(2),控制器從所述存儲器中獲取所需要處理的軟件指令或數(shù)據(jù),并發(fā)出相應(yīng)的控制信號,設(shè)有第一地址輸出端口Addr(1)、第一控制信號輸出端口Cntrl(1)以及第一數(shù)據(jù)輸入、輸出端口Data(1),內(nèi)部互連網(wǎng)絡(luò)設(shè)有與所述第一地址輸出端口Addr(1)相連的對應(yīng)輸入端口,與所述第一控制信號輸出端口Cntrl(1)相連的對應(yīng)輸入端口,與所述第一數(shù)據(jù)輸入、輸出端口互連的對應(yīng)輸入、輸出端口,與所述第二控制信號輸入端口Cntr1(2)相連的對應(yīng)輸出端口,與所述第二數(shù)據(jù)輸入、輸出端口互連的對應(yīng)輸出、輸入端口,還設(shè)有第三地址輸出端口Addr(3),第三控制信號輸出輸入端口Cntrl(3),第三數(shù)據(jù)輸入、輸出端口Data(3),第一滿信號輸入端口Full(1),寫信號輸出端口Write,第十數(shù)據(jù)輸出端口Data(10),所述內(nèi)部互連網(wǎng)絡(luò)通過內(nèi)設(shè)的端口動態(tài)互連模塊以使根據(jù)所述處理而發(fā)生的控制信號動態(tài)實現(xiàn)所述各輸入端口與輸出端口間的動態(tài)互連,硬件加速模塊的控制和測試模塊包括連接有處理結(jié)果存儲器的硬件控制單元和內(nèi)建自測是單元BIST Core,其中硬件控制單元設(shè)有與所述第三地址輸出端口Addr(3)相連的地址輸入端口,與所述第三控制信號輸出端Cntrl(3)相連的對應(yīng)輸入端口,與所述第三數(shù)據(jù)輸入、輸出端口互連的對應(yīng)輸出、輸入端口,以使通過所述內(nèi)部互連網(wǎng)絡(luò)從所述處理器輸入控制命令,還設(shè)有所述內(nèi)建自測試模塊BIST_Enable的使能信號輸出端,內(nèi)建自測試結(jié)果Result輸入端,第四有效信號輸入端Done(4),以便啟動所述內(nèi)建自測試模塊進行測試,在測試結(jié)束后輸入測試結(jié)果應(yīng)接收測試有效信號,還設(shè)有選擇信號Select輸出端,以啟動測試向量的測試,第九數(shù)據(jù)輸入端Data(9)和第三有效信號輸入端Done(3)以接收測試數(shù)據(jù)及相應(yīng)的有效信號,同時,又設(shè)有度信號Read輸出端和第二滿信號輸入端Full(2),讀取測試數(shù)據(jù)和接收相應(yīng)的滿信號,內(nèi)建自測試單元存儲有所述測試向量和標準測試結(jié)果,設(shè)有第四數(shù)據(jù)輸出端口Data(4)以逐個輸出所述測試向量,第八數(shù)據(jù)輸入端口Data(8)和第二有效信號輸入端Done(2)以接收所述測試向量的測試結(jié)果和測試有效信號,硬件加速模塊,用于對待測模塊IP Core進行測試向量的測試并在測試結(jié)果有效后進行數(shù)據(jù)處理,設(shè)有緩沖器BUFFER、二選一選擇器MUX、所述待測模塊IP Core以及二路數(shù)據(jù)分配器DMUX,其中緩沖器BUFFER,設(shè)有與所述第一滿信號輸入端口相連的對應(yīng)輸出端,與所述寫信號Write輸出端口相連的對應(yīng)輸入端、第十數(shù)據(jù)輸入端Data(10),以使從所述內(nèi)部互連網(wǎng)絡(luò)從所述處理器輸入測試所述待測模塊IP Core的數(shù)據(jù),還設(shè)有與所述讀信號Read輸出端相連的對應(yīng)輸入端,與所述第二滿信號輸入端Full(2)相連的對應(yīng)輸出端以便在所述硬件控制單元控制下從所述BUFFER讀出所述測試數(shù)據(jù),又設(shè)有第五數(shù)據(jù)輸出端口Data(5),二選一選擇器MUX,設(shè)有與所述第四數(shù)據(jù)輸出端口相連的對應(yīng)輸入端,與所述第五數(shù)據(jù)輸出端口Data(5)相連的對應(yīng)輸入端,以及第六數(shù)據(jù)輸出端口Data(6),以使在所述硬件控制單元控制下有選擇地輸出所處測試向量和所述測試數(shù)據(jù),所述待測模塊IP Core,用于對所述測試向量的測試并在測試有效后,處理所述測試數(shù)據(jù),設(shè)有與所述第六數(shù)據(jù)輸出端口Data(6)相連的對應(yīng)輸入端,第一有效信號輸出端Done(1)和第七數(shù)據(jù)輸出端Data(7),用于輸出測試結(jié)果及其有效信號,二路數(shù)據(jù)分配器DMUX,設(shè)有與所述第一有效信號輸出端Data(1)相連的對應(yīng)輸入端,與所述第七數(shù)據(jù)輸出端Data(7)相連的對應(yīng)輸入端,還設(shè)有與所述第八數(shù)據(jù)輸入端Data(8)相連的對應(yīng)輸出端,與所述第二有效信號輸入端Done(2)相連的對應(yīng)輸出端,與所述第三有效信號輸入端Done(3)相連的對應(yīng)輸出端,以及與所述第九數(shù)據(jù)輸出端Data(9)輸入相連的輸出端輸出所述測試結(jié)果數(shù)據(jù),所述二選一選擇器MUX和所述二路數(shù)據(jù)分配器DMUX,還各設(shè)有一個與所述選擇信號Select輸出端相連的對應(yīng)輸入端。
全文摘要
一種用于提高可靠性的軟硬件協(xié)同容錯系統(tǒng)屬于嵌入式高可靠性系統(tǒng)領(lǐng)域,其特征在于,含有存儲器、處理器、內(nèi)部互連網(wǎng)絡(luò)、硬件加速模塊和該硬件加速模塊的控制和測試模塊,所述處理器通過內(nèi)部互連網(wǎng)絡(luò)控制硬件加速模塊的控制和測試模塊,對于存儲在處理器中的軟件模塊對應(yīng)的待測硬件加速模塊進行測試向量測試,并在測試有效后再通過所述控制模塊進行對應(yīng)的硬件加速模塊的數(shù)據(jù)處理。若對應(yīng)的待測硬件加速模塊存在問題,處理器再次通過內(nèi)部互連網(wǎng)絡(luò)與存儲器相連,通過預(yù)存儲的軟件指令來完成軟件模塊的操作。本發(fā)明可降低容錯系統(tǒng)對硬件資源的開銷,同時也實現(xiàn)了軟件控制下的硬件BIST內(nèi)建自測試,實現(xiàn)了測試與容錯機制的融合。
文檔編號G06F11/22GK101788932SQ201010034240
公開日2010年7月28日 申請日期2010年1月15日 優(yōu)先權(quán)日2010年1月15日
發(fā)明者喬飛, 夏冰冰, 楊華中, 汪惠 申請人:清華大學(xué)