一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法及其裝置制造方法
【專利摘要】本發(fā)明涉及一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法及其裝置,該方法采用軟件MBIST架構(gòu)SMBIST與硬件BIST架構(gòu)HMBIST相結(jié)合方式,若為設(shè)定深夜時(shí)間且設(shè)備處于非繁忙狀態(tài),激活HMBIST運(yùn)行,并關(guān)閉外部定時(shí)器;HMBIST模塊運(yùn)行后,設(shè)備的CPU進(jìn)入睡眠模式,HMBIST模塊接管對(duì)RAM的控制,判斷內(nèi)存檢測(cè)是否發(fā)現(xiàn)故障:SMBIST模塊根據(jù)當(dāng)前的周期號(hào),計(jì)算需要測(cè)試內(nèi)存的起始地址和大小,開始對(duì)內(nèi)存進(jìn)行檢測(cè),判斷內(nèi)存檢測(cè)是否發(fā)現(xiàn)故障:該裝置包括主處理器模塊、CPLD模塊和內(nèi)存模塊,所述的主處理器模塊與CPLD模塊連接,所述的內(nèi)存模塊與CPLD模塊連接。與現(xiàn)有技術(shù)相比,本發(fā)明具有降低設(shè)計(jì)難度、內(nèi)存故障檢測(cè)覆蓋率高、檢測(cè)速度快、硬件開銷低、復(fù)用性好、成本低等優(yōu)點(diǎn)。
【專利說(shuō)明】一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法及其裝置
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及一種內(nèi)存避錯(cuò)方法,尤其是涉及一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法及其裝置
【背景技術(shù)】
[0002]目前,在軌道交通行業(yè)中,各種控制系統(tǒng)和設(shè)備功能復(fù)雜、實(shí)時(shí)性強(qiáng)、安全性要求高,系統(tǒng)任何部件的錯(cuò)誤或者故障都可能導(dǎo)致災(zāi)難性后果。這些安全設(shè)備的內(nèi)存模塊可能會(huì)出現(xiàn)內(nèi)存出現(xiàn)系統(tǒng)性故障和硬件隨機(jī)失效,導(dǎo)致內(nèi)存中存儲(chǔ)的數(shù)據(jù)可能出現(xiàn)異常,從而使任何運(yùn)行在內(nèi)存中的邏輯 運(yùn)算結(jié)果出錯(cuò),最終影響整個(gè)系統(tǒng)的安全性,因此對(duì)軌道安全設(shè)備的內(nèi)存進(jìn)行內(nèi)建測(cè)試,來(lái)達(dá)到內(nèi)存避錯(cuò)的目的也顯得越來(lái)越重要。
[0003]目前,內(nèi)存內(nèi)建測(cè)試(MBIST)方法主要有兩種,一種是采用純硬件架構(gòu)的MBIST,在硬件邏輯電路中實(shí)現(xiàn)內(nèi)存檢測(cè)算法,來(lái)對(duì)內(nèi)存進(jìn)行檢測(cè);另一種是純軟件架構(gòu)的MBIST,通過(guò)基于處理器的軟件來(lái)實(shí)現(xiàn)內(nèi)存測(cè)試。已有的內(nèi)存內(nèi)建測(cè)試方法,有以下不足:
[0004]1、純軟件MBIST方案依賴于計(jì)算機(jī)的運(yùn)算能力,內(nèi)存檢測(cè)速度低;
[0005]2、純軟件MBIST方案受系統(tǒng)特性的限制,在軟件正常運(yùn)行情況下,不能檢測(cè)到所有的內(nèi)存故障,內(nèi)存故障檢測(cè)覆蓋率低;
[0006]3、純硬件MBIST方案需要設(shè)計(jì)專門的硬件邏輯電路,增大了硬件開銷;
[0007]4、純硬件MBIST方案設(shè)計(jì)專門的硬件電路,由于覆蓋所有的內(nèi)存故障類型,需要設(shè)計(jì)數(shù)據(jù)巨大的內(nèi)存測(cè)試圖形向量,設(shè)計(jì)困難,同時(shí),設(shè)計(jì)的硬件電路不具有通用性,研發(fā)成本高。
【發(fā)明內(nèi)容】
[0008]本發(fā)明的目的就是為了克服上述現(xiàn)有技術(shù)存在的缺陷而提供一種降低設(shè)計(jì)難度、內(nèi)存故障檢測(cè)覆蓋率高、檢測(cè)速度快、硬件開銷低、復(fù)用性好、成本低的軟硬件結(jié)合的內(nèi)存避錯(cuò)方法及其裝置。
[0009]本發(fā)明的目的可以通過(guò)以下技術(shù)方案來(lái)實(shí)現(xiàn):
[0010]一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法,其特征在于,該方法采用軟件MBIST架構(gòu)SMBIST與硬件BIST架構(gòu)HMBIST相結(jié)合方式,所述的內(nèi)存避錯(cuò)方法具體包括以下步驟:
[0011]I)啟動(dòng)后,對(duì)其進(jìn)行初始化;
[0012]2)HMBIST模塊在初始化后,開始對(duì)設(shè)備中的內(nèi)存進(jìn)行檢測(cè),
[0013]3)判斷是否發(fā)現(xiàn)內(nèi)存功能故障,若發(fā)現(xiàn)內(nèi)存功能故障,進(jìn)行設(shè)備閃燈告警和設(shè)備宕機(jī),否則設(shè)備初始化文件系統(tǒng),并開始引導(dǎo)操作系統(tǒng)啟動(dòng),操作系統(tǒng)正常啟動(dòng)后,繼續(xù)執(zhí)行步驟4);
[0014]4)主任務(wù)模塊運(yùn)行,對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行邏輯運(yùn)算處理;
[0015]5)判斷定時(shí)中斷是否到來(lái),若為是執(zhí)行步驟6),否則返回執(zhí)行步驟4);
[0016]6)若為設(shè)定深夜時(shí)間且設(shè)備處于非繁忙狀態(tài),激活HMBIST運(yùn)行,并關(guān)閉外部定時(shí)器,執(zhí)行步驟7),否則執(zhí)行步驟8);
[0017]7) HMBIST模塊開始運(yùn)行,設(shè)備的CPU進(jìn)入睡眠模式,HMBIST模塊接管對(duì)RAM的控制,判斷內(nèi)存檢測(cè)是否發(fā)現(xiàn)故障,若為是,激活設(shè)備CPU運(yùn)行,閃燈告警,并記錄日志和設(shè)備宕機(jī),否則返回執(zhí)行步驟4);
[0018]8) SMBIST模塊開始運(yùn)行,SMBIST模塊根據(jù)當(dāng)前的周期號(hào),計(jì)算需要測(cè)試內(nèi)存的起始地址和大小,開始對(duì)內(nèi)存進(jìn)行檢測(cè),判斷內(nèi)存檢測(cè)是否發(fā)現(xiàn)故障,若為是,閃燈告警,并記錄日志和設(shè)備宕機(jī),否則返回執(zhí)行步驟4)。
[0019]所述的HMBIST模塊運(yùn)行包括以下步驟:
[0020]I)拉低HMBIST_CLK電平信號(hào),判斷HMBIST_M0DE的電平信號(hào)是否為高電平,若為是,繼續(xù)執(zhí)行步驟I),否則執(zhí)行步驟2);
[0021]2)HMBIST模塊開始分別對(duì)數(shù)據(jù)與地址生成邏輯模塊、測(cè)試向量生成器、測(cè)試模式控制器以及HMBIST接口控制器進(jìn)行初始化,并拉高HMBIST_CLK電平信號(hào);
[0022]3)數(shù)據(jù)與地址生成邏輯模塊將存儲(chǔ)的離線設(shè)計(jì)好的測(cè)試數(shù)據(jù)與生成的合法地址,一起傳遞給測(cè)試向量生成器,測(cè)試向量生成器生成測(cè)試圖形向量,對(duì)內(nèi)存進(jìn)行測(cè)試;
[0023]4)結(jié)果比較控制器將測(cè)試圖形向量在內(nèi)存單元產(chǎn)生的狀態(tài)與期望的狀態(tài)進(jìn)行比較,如果狀態(tài)不同,執(zhí)行步驟5),否則,執(zhí)行步驟6);
[0024]5)拉低HMBI ST_M0DE和HMBI ST_CLK的電平信號(hào),設(shè)置HMBI ST_ERR信號(hào)為邏輯‘ I’,CPU模塊進(jìn)行錯(cuò)誤處理,告警并記錄日志;_
[0025]6)判斷所有的內(nèi)存是否都測(cè)試完,若為是,執(zhí)行步驟7),否則返回執(zhí)行步驟3);
[0026]7)拉低HMBI ST_M0DE和HMBI ST_CLK的電平信號(hào),設(shè)置HMBI ST_ERR信號(hào)為邏輯‘0’,CPU模塊激活主任務(wù)模塊和SMBIST模塊。
[0027]所述的SMBIST模塊運(yùn)行包括以下步驟:
[0028]I)鎖住操作系統(tǒng),禁止其他任務(wù)調(diào)度運(yùn)行和接收其他中斷;
[0029]2)根據(jù)當(dāng)前周期號(hào),選取與周期相關(guān)的測(cè)試數(shù)據(jù);
[0030]3)對(duì)相應(yīng)的內(nèi)存進(jìn)行檢測(cè),如果發(fā)現(xiàn)錯(cuò)誤,設(shè)置SMBIST ERR信號(hào)為邏輯‘I’ ;
[0031]4)判斷當(dāng)前周期的內(nèi)存塊是否測(cè)試完,測(cè)試完執(zhí)行步驟5),否則繼續(xù)執(zhí)行步驟
3);
[0032]5) SMBSIT任務(wù)結(jié)束運(yùn)行,CPU模塊激活主任務(wù)模塊,并解鎖操作系統(tǒng),正常接收中斷,主任務(wù)模塊繼續(xù)運(yùn)行。
[0033]一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法的裝置,其特征在于,包括主處理器模塊、CPLD模塊和內(nèi)存模塊,所述的主處理器模塊與CPLD模塊連接,所述的內(nèi)存模塊與CPLD模塊連接;
[0034]所述的主處理器模塊上設(shè)有微處理器以及分別與微處理器連接的Flash模塊、串口芯片、網(wǎng)絡(luò)芯片模塊和看門狗模塊,所述的CPLD模塊包括HMBIST邏輯模塊和定時(shí)器邏輯模塊,其中HMBIST模塊包括模式控制器、測(cè)試向量產(chǎn)生器、地址與數(shù)據(jù)生成邏輯單元、測(cè)試結(jié)果比較器和HMBIST控制接口,所述的HMBIST控制接口分別與微處理器、模式控制器、測(cè)試向量產(chǎn)生器、測(cè)試結(jié)果比較器和內(nèi)存模塊連接,所述的地址與數(shù)據(jù)生成邏輯單元分別與測(cè)試向量產(chǎn)生器和測(cè)試結(jié)果比較器連接。
[0035]所述的主處理器模塊上運(yùn)行的操作系統(tǒng)為vxWorks嵌入式系統(tǒng)。
[0036]所述的定時(shí)器邏輯模塊提供的中斷信號(hào)周期為10ms。[0037]所述的CPLD模塊采用VHDL語(yǔ)言編程。
[0038]與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點(diǎn):
[0039]1、采用HMBIST硬件模塊來(lái)檢測(cè)內(nèi)存高層次故障,只需要設(shè)計(jì)覆蓋高層次故障的測(cè)試圖形向量,不用設(shè)計(jì)所有的故障類型的測(cè)試向量,降低了測(cè)試向量設(shè)計(jì)和硬件設(shè)計(jì)難度;
[0040]2、采用HMBIST硬件模塊在降低硬件開銷的情況下,周期性的對(duì)內(nèi)存進(jìn)行全面檢測(cè),保證了很高的內(nèi)存故障檢測(cè)覆蓋率。
[0041]3、采用SMBIST軟件模塊來(lái)檢測(cè)內(nèi)存低層次故障,只需要設(shè)計(jì)覆蓋低層次故障的測(cè)試圖形向量,不用設(shè)計(jì)所有的故障類型的測(cè)試向量,降低了測(cè)試向量設(shè)計(jì)和軟件設(shè)計(jì)難度;
[0042]4、采用SMBIST軟件模塊以最少的內(nèi)存測(cè)試圖形向量來(lái)進(jìn)行檢測(cè),提高了實(shí)時(shí)在線內(nèi)存故障檢測(cè)速度,并且SMBIST軟件模塊在設(shè)計(jì)完成后,可以進(jìn)行移植,復(fù)用性好;
[0043]5、通過(guò)軟硬件結(jié)合,保證了很高的內(nèi)存故障檢測(cè)覆蓋率,保證了系統(tǒng)的安全,同時(shí)降低硬件復(fù)雜程度,也降低了開發(fā)難度和成本。。
【專利附圖】
【附圖說(shuō)明】
[0044]圖1為本發(fā)明的方法流程圖
[0045]圖2為本發(fā)明的HMBIST運(yùn)行流程圖;
[0046]圖3為本發(fā)明的SMBIST運(yùn)行流程圖;
[0047]圖4為本發(fā)明的裝置結(jié)構(gòu)示意圖。
[0048]其中,a為主處理器模塊、b為CPLD模塊,c為內(nèi)存模塊、al為微處理器、a2為Flash模塊、a3為串口芯片、a4為網(wǎng)絡(luò)芯片模塊、a5為看門狗模塊,bl為HMBIST邏輯模塊、b2為定時(shí)器邏輯模塊,bll為模式控制器、bl2為測(cè)試向量產(chǎn)生器、bl3為地址與數(shù)據(jù)生成邏輯、bl4為測(cè)試結(jié)果比較器、bl5為HMBIST控制接口
【具體實(shí)施方式】
[0049]下面結(jié)合附圖和具體實(shí)施例對(duì)本發(fā)明進(jìn)行詳細(xì)說(shuō)明。
[0050]實(shí)施例:
[0051]如圖1所示,一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法,包括以下步驟:
[0052]101)啟動(dòng)后,對(duì)其進(jìn)行初始化;
[0053]102)HMBIST模塊在初始化后,開始對(duì)設(shè)備中的內(nèi)存進(jìn)行檢測(cè),
[0054]103)判斷是否發(fā)現(xiàn)內(nèi)存功能故障,若發(fā)現(xiàn)內(nèi)存功能故障,進(jìn)行設(shè)備閃燈告警和設(shè)備宕機(jī),否則設(shè)備初始化文件系統(tǒng),并開始引導(dǎo)操作系統(tǒng)啟動(dòng),操作系統(tǒng)正常啟動(dòng)后,繼續(xù)執(zhí)行步驟104);
[0055]104)主任務(wù)模塊運(yùn)行,對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行邏輯運(yùn)算處理;
[0056]105)判斷定時(shí)中斷是否到來(lái),若為是執(zhí)行步驟106),否則返回執(zhí)行步驟104);
[0057]106)若為設(shè)定深夜時(shí)間且設(shè)備處于非繁忙狀態(tài),激活HMBIST運(yùn)行,并關(guān)閉外部定時(shí)器,執(zhí)行步驟107),否則執(zhí)行步驟108);
[0058]107) HMBIST模塊開始運(yùn)行,設(shè)備的CPU進(jìn)入睡眠模式,HMBIST模塊接管對(duì)RAM的控制,判斷內(nèi)存檢測(cè)是否發(fā)現(xiàn)故障,若為是,激活設(shè)備CPU運(yùn)行,閃燈告警,并記錄日志和設(shè)備宕機(jī),否則返回執(zhí)行步驟104);
[0059]108) SMBIST模塊開始運(yùn)行,SMBIST模塊根據(jù)當(dāng)前的周期號(hào),計(jì)算需要測(cè)試內(nèi)存的起始地址和大小,開始對(duì)內(nèi)存進(jìn)行檢測(cè),判斷內(nèi)存檢測(cè)是否發(fā)現(xiàn)故障,若為是,閃燈告警,并記錄日志和設(shè)備宕機(jī),否則返回執(zhí)行步驟104)。
[0060]如圖2所示,所述的HMBIST模塊運(yùn)行包括以下步驟:
[0061]201、拉低腿8151'_0^電平信號(hào),判斷HMBIST_M0DE的電平信號(hào),如果HMBIST_M0DE為高電平,繼續(xù)執(zhí)行步驟201,否則執(zhí)行步驟202 ;
[0062]202、HMBIST模塊開始分別對(duì)數(shù)據(jù)與地址生成邏輯模塊、測(cè)試向量生成器、測(cè)試模式控制器以及HMBIST接口控制器進(jìn)行初始化,并拉高HMBIST_CLK電平信號(hào);
[0063]203、數(shù)據(jù)與地址生成邏輯模塊中存儲(chǔ)了離線設(shè)計(jì)好的測(cè)試數(shù)據(jù),并與生成的合法地址,一起傳遞給測(cè)試向量生成器,由測(cè)試向量生成器生成測(cè)試圖形向量,對(duì)內(nèi)存進(jìn)行測(cè)試;
[0064]204、結(jié)果比較控制器,會(huì)將測(cè)試向量在內(nèi)存單元產(chǎn)生的狀態(tài)與期望的狀態(tài)進(jìn)行比較,如果狀態(tài)不同,執(zhí)行步驟205,否則,執(zhí)行步驟206 ;
[0065]205、拉低HMBIST_M0DE和HMBIST_CLK的電平信號(hào),設(shè)置HMBIST_ERR信號(hào)為邏輯‘ I’,CPU模塊進(jìn)行錯(cuò)誤處理,告警并記錄日志;
[0066]206、判斷所有的內(nèi)存是否都測(cè)試完,執(zhí)行步驟207,否則返回執(zhí)行步驟203 ;
[0067]207、拉低HMBIST_M0DE和HMBIST_CLK的電平信號(hào),設(shè)置HMBIST_ERR信號(hào)為邏輯‘0’,CPU模塊激活主任務(wù)模塊和SMBIST模塊。
[0068]如圖3所示,所述的SMBIST模塊運(yùn)行包括以下步驟:
[0069]301、鎖住操作系統(tǒng),禁止其他任務(wù)調(diào)度運(yùn)行和接收其他中斷; [0070]302、根據(jù)當(dāng)前周期號(hào),選取與周期相關(guān)的測(cè)試數(shù)據(jù);
[0071]303、并利用內(nèi)存檢算法對(duì)相應(yīng)的內(nèi)存進(jìn)行檢測(cè);如果發(fā)現(xiàn)錯(cuò)誤,設(shè)置SMBIST_ERR信號(hào)為邏輯‘I’ ;
[0072]304、判斷當(dāng)天周期的內(nèi)存塊是否測(cè)試完,測(cè)試完執(zhí)行步驟305,否則繼續(xù)執(zhí)行步驟303 ;
[0073]305、SMBSIT任務(wù)結(jié)束運(yùn)行,CPU模塊激活主任務(wù)模塊,并解鎖操作系統(tǒng),正常接收中斷,主任務(wù)繼續(xù)運(yùn)行。
[0074]如圖4所示,一種軟硬件結(jié)合的內(nèi)存避錯(cuò)裝置,包括主處理器模塊a、CPLD模塊b和內(nèi)存模塊c,所述的主處理器模塊a與CPLD模塊b連接,所述的內(nèi)存模塊c與CPLD模塊b連接;
[0075]所述的主處理器模塊a上設(shè)有微處理器al以及分別與微處理器al連接的Flash模塊a2、串口芯片a3、網(wǎng)絡(luò)芯片模塊a4和看門狗模塊a5,所述的CPLD模塊b包括HMBIST邏輯模塊bl和定時(shí)器邏輯模塊b2,其中HMBIST模塊bl包括模式控制器bll、測(cè)試向量產(chǎn)生器bl2、地址與數(shù)據(jù)生成邏輯單元bl3、測(cè)試結(jié)果比較器bl4和HMBIST控制接口 bl5,所述的HMBIST控制接口 bl5分別與微處理器al、模式控制器bll、測(cè)試向量產(chǎn)生器bl2、測(cè)試結(jié)果比較器bl4和內(nèi)存模塊c連接,所述的地址與數(shù)據(jù)生成邏輯單元bl3分別與測(cè)試向量產(chǎn)生器bl2和測(cè)試結(jié)果比較器bl4連接。[0076]所述的主處理器模塊a上運(yùn)行的操作系統(tǒng)為vxWorks嵌入式系統(tǒng),并且按照標(biāo)準(zhǔn)C進(jìn)行軟件開發(fā)。
[0077]所述的主處理器模塊a對(duì)輸入的數(shù)據(jù)進(jìn)行邏輯處理和輸出并對(duì)主處理器的運(yùn)行狀態(tài)進(jìn)行維護(hù)管理。
[0078]所述的串口芯片a3通過(guò)串口協(xié)議調(diào)試信息。
[0079]所述的網(wǎng)絡(luò)芯片模塊a4接收輸入數(shù)據(jù)和發(fā)送輸出數(shù)據(jù),數(shù)據(jù)包括狀態(tài)信息和控制命令。
[0080]所述的CPLD模塊b采用VHDL語(yǔ)言編程來(lái)實(shí)現(xiàn)邏輯功能。
[0081]所述的定時(shí)器邏輯模塊b2提供的中斷信號(hào)周期為10ms。
[0082]所述的內(nèi)存模塊c按照不變內(nèi)存和可變內(nèi)存進(jìn)行內(nèi)存檢測(cè)。
[0083]當(dāng)內(nèi)存出現(xiàn)異常或者其他異常時(shí),會(huì)進(jìn)行錯(cuò)誤處理,在錯(cuò)誤日志文件中記錄錯(cuò)誤情況,并進(jìn)行相應(yīng)的報(bào)警。
【權(quán)利要求】
1.一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法,其特征在于,該方法采用軟件MBIST架構(gòu)SMBIST與硬件BIST架構(gòu)HMBIST相結(jié)合方式,所述的內(nèi)存避錯(cuò)方法具體包括以下步驟: 1)啟動(dòng)后,對(duì)其進(jìn)行初始化; 2)HMBIST模塊在初始化后,開始對(duì)設(shè)備中的內(nèi)存進(jìn)行檢測(cè), 3)判斷是否發(fā)現(xiàn)內(nèi)存功能故障,若發(fā)現(xiàn)內(nèi)存功能故障,進(jìn)行設(shè)備閃燈告警和設(shè)備宕機(jī),否則設(shè)備初始化文件系統(tǒng),并開始引導(dǎo)操作系統(tǒng)啟動(dòng),操作系統(tǒng)正常啟動(dòng)后,繼續(xù)執(zhí)行步驟4); 4)主任務(wù)模塊運(yùn)行,對(duì)系統(tǒng)數(shù)據(jù)進(jìn)行邏輯運(yùn)算處理; 5)判斷定時(shí)中斷是否到來(lái),若為是執(zhí)行步驟6),否則返回執(zhí)行步驟4); 6)若 為設(shè)定深夜時(shí)間且設(shè)備處于非繁忙狀態(tài),激活HMBIST運(yùn)行,并關(guān)閉外部定時(shí)器,執(zhí)行步驟7),否則執(zhí)行步驟8); 7)HMBIST模塊開始運(yùn)行,設(shè)備的CPU進(jìn)入睡眠模式,HMBIST模塊接管對(duì)RAM的控制,判斷內(nèi)存檢測(cè)是否發(fā)現(xiàn)故障,若為是,激活設(shè)備CPU運(yùn)行,閃燈告警,并記錄日志和設(shè)備宕機(jī),否則返回執(zhí)行步驟4); 8)SMBIST模塊開始運(yùn)行,SMBIST模塊根據(jù)當(dāng)前的周期號(hào),計(jì)算需要測(cè)試內(nèi)存的起始地址和大小,開始對(duì)內(nèi)存進(jìn)行檢測(cè),判斷內(nèi)存檢測(cè)是否發(fā)現(xiàn)故障,若為是,閃燈告警,并記錄日志和設(shè)備宕機(jī),否則返回執(zhí)行步驟4)。
2.根據(jù)權(quán)利要求1所述的一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法,其特征在于,所述的HMBIST模塊運(yùn)行包括以下步驟: 1)拉低HMBIST_CLK電平信號(hào),判斷HMBIST_MODE的電平信號(hào)是否為高電平,若為是,繼續(xù)執(zhí)行步驟I),否則執(zhí)行步驟2); 2)HMBIST模塊開始分別對(duì)數(shù)據(jù)與地址生成邏輯模塊、測(cè)試向量生成器、測(cè)試模式控制器以及HMBIST接口控制器進(jìn)行初始化,并拉高HMBIST_CLK電平信號(hào); 3)數(shù)據(jù)與地址生成邏輯模塊將存儲(chǔ)的離線設(shè)計(jì)好的測(cè)試數(shù)據(jù)與生成的合法地址,一起傳遞給測(cè)試向量生成器,測(cè)試向量生成器生成測(cè)試圖形向量,對(duì)內(nèi)存進(jìn)行測(cè)試; 4)結(jié)果比較控制器將測(cè)試圖形向量在內(nèi)存單元產(chǎn)生的狀態(tài)與期望的狀態(tài)進(jìn)行比較,如果狀態(tài)不同,執(zhí)行步驟5),否則,執(zhí)行步驟6); 5)拉低HMBIST_MODE和HMBIST_CLK的電平信號(hào),設(shè)置HMBIST_ERR信號(hào)為邏輯‘I’,(PU模塊進(jìn)行錯(cuò)誤處理,告警并記錄日志; 6)判斷所有的內(nèi)存是否都測(cè)試完,若為是,執(zhí)行步驟7),否則返回執(zhí)行步驟3); 7)拉低HMBIST_MODE和HMBIST_CLK的電平信號(hào),設(shè)置HMBISTERR信號(hào)為邏輯‘0’,CPU模塊激活主任務(wù)模塊和SMBIST模塊。
3.根據(jù)權(quán)利要求1所述的一種軟硬件結(jié)合的內(nèi)存避錯(cuò)方法,其特征在于,所述的SMBIST模塊運(yùn)行包括以下步驟: 1)鎖住操作系統(tǒng),禁止其他任務(wù)調(diào)度運(yùn)行和接收其他中斷; 2)根據(jù)當(dāng)前周期號(hào),選取與周期相關(guān)的測(cè)試數(shù)據(jù); 3)對(duì)相應(yīng)的內(nèi)存進(jìn)行檢測(cè),如果發(fā)現(xiàn)錯(cuò)誤,設(shè)置SMBIST_ERR信號(hào)為邏輯‘I’; 4)判斷當(dāng)前周期的內(nèi)存塊是否測(cè)試完,測(cè)試完執(zhí)行步驟5),否則繼續(xù)執(zhí)行步驟3); 5)SMBSIT任務(wù)結(jié)束運(yùn)行,CPU模塊激活主任務(wù)模塊,并解鎖操作系統(tǒng),正常接收中斷,主任務(wù)模塊繼續(xù)運(yùn)行。
4.一種實(shí)施權(quán)利要求1 一 3任一所述的軟硬件結(jié)合的內(nèi)存避錯(cuò)方法的裝置,其特征在于,包括主處理器模塊(a)、CPLD模塊(b)和內(nèi)存模塊(c),所述的主處理器模塊(a)與CPLD模塊(b)連接,所述的內(nèi)存模塊(c)與CPLD模塊(b)連接; 所述的主處理器模塊(a)上設(shè)有微處理器(al)以及分別與微處理器(al)連接的Flash模塊(a2)、串口芯片(a3)、網(wǎng)絡(luò)芯片模塊(a4)和看門狗模塊(a5),所述的CPLD模塊(b)包括HMBIST邏輯模塊(bl)和定時(shí)器邏輯模塊(b2),其中HMBIST模塊(bl)包括模式控制器(bll)、測(cè)試向量產(chǎn)生器(bl2)、地址與數(shù)據(jù)生成邏輯單元(bl3)、測(cè)試結(jié)果比較器(bl4)和HMBIST控制接口(bl5),所述的HMBIST控制接口(bl5)分別與微處理器(al)、模式控制器(bll)、測(cè)試向量產(chǎn)生器(bl2)、測(cè)試結(jié)果比較器(bl4)和內(nèi)存模塊(c)連接,所述的地址與數(shù)據(jù)生成邏輯單元(bl3)分別與測(cè)試向量產(chǎn)生器(bl2)和測(cè)試結(jié)果比較器(bl4)連接。
5.根據(jù)權(quán)利要求4所述的一種軟硬件結(jié)合的內(nèi)存避錯(cuò)裝置,其特征在于,所述的主處理器模塊(a)上運(yùn)行的操作系統(tǒng)為vxWorks嵌入式系統(tǒng)。
6.根據(jù)權(quán)利要求4所述的一種軟硬件結(jié)合的內(nèi)存避錯(cuò)裝置,其特征在于,所述的定時(shí)器邏輯模塊(b2)提供的 中斷信號(hào)周期為10ms。
7.根據(jù)權(quán)利要求4所述的一種軟硬件結(jié)合的內(nèi)存避錯(cuò)裝置,其特征在于,所述的CPLD模塊(b)采用VHDL語(yǔ)言編程。
【文檔編號(hào)】G06F11/22GK103927241SQ201410158115
【公開日】2014年7月16日 申請(qǐng)日期:2014年4月18日 優(yōu)先權(quán)日:2014年4月18日
【發(fā)明者】徐軍, 張磊, 周宇恒, 宋志堅(jiān), 趙偉, 郭延霞, 劉艷艷 申請(qǐng)人:卡斯柯信號(hào)有限公司