Fpga外掛存儲(chǔ)器校驗(yàn)方法及裝置制造方法
【專利摘要】本發(fā)明實(shí)施例提供一種FPGA外掛存儲(chǔ)器校驗(yàn)方法及裝置,該方法包括:FPGA獲取寫入所述FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和所述第一數(shù)據(jù)對(duì)應(yīng)的第一地址;根據(jù)所述第一地址獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址;將所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址進(jìn)行異或,獲取第一異或結(jié)果;將所述第一異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,獲取第一校驗(yàn)值。本發(fā)明實(shí)施例中,第一數(shù)據(jù)和第一待校驗(yàn)地址進(jìn)行異或,并將異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,來(lái)獲取校驗(yàn)值,實(shí)現(xiàn)了對(duì)FPGA外掛存儲(chǔ)器寫入的地址和數(shù)據(jù)的混合校驗(yàn),即不僅完成了對(duì)數(shù)據(jù)的校驗(yàn),也完成了對(duì)地址的校驗(yàn),可以及時(shí)發(fā)現(xiàn)地址的錯(cuò)誤。
【專利說(shuō)明】FPGA外掛存儲(chǔ)器校驗(yàn)方法及裝置
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及通信技術(shù),尤其涉及一種FPGA外掛存儲(chǔ)器校驗(yàn)方法及裝置。
【背景技術(shù)】
[0002]當(dāng)前現(xiàn)場(chǎng)可編程門陣列(Field Programmable Gate Array,簡(jiǎn)稱FPGA)芯片的容量越來(lái)越大,完成的功能越來(lái)越強(qiáng)。另外,隨著外掛存儲(chǔ)器的規(guī)模越來(lái)越大,外掛存儲(chǔ)器失效概率也在增加,外掛存儲(chǔ)器的失效對(duì)上述FPGA的功能影響越來(lái)越嚴(yán)重,隨著大規(guī)模FPGA的發(fā)展,越來(lái)越多的應(yīng)用開始關(guān)注FPGA的外掛存儲(chǔ)器的應(yīng)用可靠性。
[0003]現(xiàn)有技術(shù)中,對(duì)FPGA的外掛存儲(chǔ)器的校驗(yàn)方法主要是對(duì)該外掛存儲(chǔ)器的數(shù)據(jù)進(jìn)行校驗(yàn),具體地,可以是根據(jù)校驗(yàn)命令中的起始地址、結(jié)束地址以及啟動(dòng)標(biāo)識(shí)對(duì)存儲(chǔ)器中的數(shù)據(jù)讀取并校驗(yàn),校驗(yàn)完成后將校驗(yàn)結(jié)果保存。
[0004]但是,采用現(xiàn)有技術(shù),如果地址線出現(xiàn)錯(cuò)誤時(shí),無(wú)法進(jìn)行校驗(yàn)。
【發(fā)明內(nèi)容】
[0005]本發(fā)明實(shí)施例提供一種FPGA外掛存儲(chǔ)器校驗(yàn)方法及裝置,用于解決現(xiàn)有技術(shù)中地址線出錯(cuò)時(shí),無(wú)法校驗(yàn)的問(wèn)題。
[0006]本發(fā)明實(shí)施例第一方面提供一種FPGA外掛存儲(chǔ)器校驗(yàn)方法,包括:
[0007]A、現(xiàn)場(chǎng)可編程門陣列FPGA獲取寫入所述FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和所述第一數(shù)據(jù)對(duì)應(yīng)的第一地址;
[0008]B、所述FPGA根據(jù)所述第一地址獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址;
[0009]C、所述FPGA將所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址進(jìn)行異或,獲取第一異或結(jié)果;
[0010]D、所述FPGA將所述第一異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,獲取第一校驗(yàn)值;
[0011]E、所述FPGA將所述第一校驗(yàn)值作為所述初始校驗(yàn)值,執(zhí)行A-D,直到校驗(yàn)結(jié)束。
[0012]結(jié)合第一方面,在第一方面的第一種可能的實(shí)施方式中,所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址按照編號(hào)順序排列,所述初始校驗(yàn)值和所述第一校驗(yàn)值按照編號(hào)逆序排列。
[0013]結(jié)合第一方面,在第一方面的第二種可能的實(shí)施方式中,所述FPGA根據(jù)所述第一地址獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址,包括:
[0014]所述FPGA判斷所述第一地址的位數(shù)是否和所述第一數(shù)據(jù)的位數(shù)相同;
[0015]若所述第一地址的位數(shù)與所述第一數(shù)據(jù)的位數(shù)相同,則將所述第一地址作為第一待校驗(yàn)地址;
[0016]若所述第一地址的位數(shù)小于所述第一數(shù)據(jù)的位數(shù),則將所述地址進(jìn)行補(bǔ)齊,獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址。
[0017]結(jié)合第一方面,在第一方面的第三種可能的實(shí)施方式中,所述FPGA獲取寫入所述FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和所述第一數(shù)據(jù)對(duì)應(yīng)的第一地址之前,還包括:[0018]所述FPGA獲取寫入所述FPGA的外掛存儲(chǔ)器的初始數(shù)據(jù)和所述初始數(shù)據(jù)對(duì)應(yīng)的初始地址;
[0019]所述FPGA根據(jù)所述初始地址獲取與所述初始數(shù)據(jù)的位數(shù)相同的初始待校驗(yàn)地址;
[0020]所述FPGA將所述初始數(shù)據(jù)和所述初始待校驗(yàn)地址進(jìn)行異或,獲取初始異或結(jié)果;
[0021]所述FPGA將所述初始異或結(jié)果作為初始校驗(yàn)值。
[0022]結(jié)合第一方面,在第一方面的第四種可能的實(shí)施方式中,所述校驗(yàn)結(jié)束之后,還包括:
[0023]所述FPGA生成讀地址;
[0024]所述FPGA根據(jù)所述讀地址從所述FPGA的外掛存儲(chǔ)器中讀取數(shù)據(jù)以及所述數(shù)據(jù)對(duì)應(yīng)的校驗(yàn)值;
[0025]所述FPGA根據(jù)所述校驗(yàn)值進(jìn)行解異或校驗(yàn),根據(jù)所述解異或校驗(yàn)結(jié)果判斷所述FPGA的外掛存儲(chǔ)器中地址和/或數(shù)據(jù)是否故障。
[0026]結(jié)合第一方面的第四種可能的實(shí)施方式,在第一方面的第五種可能的實(shí)施方式中,若所述校驗(yàn)值按照編號(hào)逆序排列,
[0027]所述FPGA根據(jù)所述校驗(yàn)值進(jìn)行解異或校驗(yàn)之前,還包括:
[0028]所述FPGA根據(jù)讀取所述校驗(yàn)值的順序,將讀出的校驗(yàn)值進(jìn)行逆序。
[0029]本發(fā)明實(shí)施例第二方面提供一種FPGA外掛存儲(chǔ)器校驗(yàn)裝置,包括:
[0030]獲取模塊,用于獲取寫入現(xiàn)場(chǎng)可編程門陣列FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和所述第一數(shù)據(jù)對(duì)應(yīng)的第一地址;根據(jù)所述第一地址獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址;
[0031]校驗(yàn)?zāi)K,用于將所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址進(jìn)行異或,獲取第一異或結(jié)果;將所述第一異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,獲取第一校驗(yàn)值;將所述第一校驗(yàn)值作為所述初始校驗(yàn)值。
[0032]結(jié)合第二方面,在第二方面的第一種可能的實(shí)施方式中,所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址按照編號(hào)順序排列,所述初始校驗(yàn)值和所述第一校驗(yàn)值按照編號(hào)逆序排列。
[0033]結(jié)合第二方面,在第二方面的第二種可能的實(shí)施方式中,所述獲取模塊,具體用于判斷所述第一地址的位數(shù)是否和所述第一數(shù)據(jù)的位數(shù)相同;若所述第一地址的位數(shù)與所述第一數(shù)據(jù)的位數(shù)相同,則將所述第一地址作為第一待校驗(yàn)地址;若所述第一地址的位數(shù)小于所述第一數(shù)據(jù)的位數(shù),則將所述地址進(jìn)行補(bǔ)齊,獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址。
[0034]結(jié)合第二方面,在第二方面的第三種可能的實(shí)施方式中,所述獲取模塊,還用于獲取寫入所述FPGA的外掛存儲(chǔ)器的初始數(shù)據(jù)和所述初始數(shù)據(jù)對(duì)應(yīng)的初始地址;根據(jù)所述初始地址獲取與所述初始數(shù)據(jù)的位數(shù)相同的初始待校驗(yàn)地址;
[0035]所述校驗(yàn)?zāi)K,還用于將所述初始數(shù)據(jù)和所述初始待校驗(yàn)地址進(jìn)行異或,獲取初始異或結(jié)果;將所述初始異或結(jié)果作為初始校驗(yàn)值。
[0036]結(jié)合第二方面,在第二方面的第四種可能的實(shí)施方式中,所述裝置還包括:
[0037]解校驗(yàn)?zāi)K,用于生成讀地址;根據(jù)所述讀地址從所述FPGA的外掛存儲(chǔ)器中讀取數(shù)據(jù)以及所述數(shù)據(jù)對(duì)應(yīng)的校驗(yàn)值;根據(jù)所述校驗(yàn)值進(jìn)行解異或校驗(yàn),根據(jù)所述解異或校驗(yàn)結(jié)果判斷所述FPGA的外掛存儲(chǔ)器中地址和/或數(shù)據(jù)是否故障。
[0038]結(jié)合第二方面的第四種可能的實(shí)施方式,在第二方面的第五種可能的實(shí)施方式中,所述解校驗(yàn)?zāi)K,用于當(dāng)所述校驗(yàn)值按照編號(hào)逆序排列時(shí),在根據(jù)所述校驗(yàn)值進(jìn)行解異或校驗(yàn)之前,根據(jù)讀取所述校驗(yàn)值的順序,將讀出的校驗(yàn)值進(jìn)行逆序。
[0039]本發(fā)明實(shí)施例中,第一數(shù)據(jù)和第一待校驗(yàn)地址進(jìn)行異或,并將異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,來(lái)獲取校驗(yàn)值,實(shí)現(xiàn)了對(duì)FPGA外掛存儲(chǔ)器寫入的地址和數(shù)據(jù)的混合校驗(yàn),即不僅完成了對(duì)數(shù)據(jù)的校驗(yàn),也完成了對(duì)地址的校驗(yàn),可以及時(shí)發(fā)現(xiàn)地址的錯(cuò)誤。
【專利附圖】
【附圖說(shuō)明】
[0040]為了更清楚地說(shuō)明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作一簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0041]圖1為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)方法實(shí)施例一的應(yīng)用場(chǎng)景示意圖;
[0042]圖2為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)方法實(shí)施例二的流程示意圖;
[0043]圖3為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)方法實(shí)施例三的流程示意圖;
[0044]圖4為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)方法實(shí)施例三的流程示意圖;
[0045]圖5為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)裝置實(shí)施例一的結(jié)構(gòu)示意圖;
[0046]圖6為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)裝置實(shí)施例二的結(jié)構(gòu)示意圖;
[0047]圖7為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)裝置實(shí)施例三的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0048]為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;诒景l(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。
[0049]圖1為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)方法實(shí)施例一的應(yīng)用場(chǎng)景示意圖,該方法應(yīng)用與FPGA中,如圖1所示,該FPGA包括:FPGA用戶側(cè)裝置01、控制器02以及外掛存儲(chǔ)器03,其中:FPGA用戶側(cè)裝置01通過(guò)控制器02和外掛存儲(chǔ)器03連接。
[0050]本發(fā)明實(shí)施例中,具體地,F(xiàn)PGA用戶側(cè)裝置01向外掛存儲(chǔ)器03進(jìn)行寫訪問(wèn)時(shí),F(xiàn)PGA對(duì)預(yù)設(shè)時(shí)間段內(nèi)的寫數(shù)據(jù)和寫地址進(jìn)行異或校驗(yàn)。該預(yù)設(shè)時(shí)間可以是一個(gè)計(jì)算機(jī)時(shí)鐘,即一拍。
[0051]圖2為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)方法實(shí)施例二的流程示意圖,如圖2所示,該方法包括:
[0052]S201、FPGA獲取寫入該FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和該第一數(shù)據(jù)對(duì)應(yīng)的第一地址。
[0053]一般地,F(xiàn)PGA會(huì)獲取預(yù)設(shè)時(shí)間內(nèi)寫入該FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和該第一數(shù)據(jù)對(duì)應(yīng)的第一地址,該預(yù)設(shè)時(shí)間可以是一個(gè)計(jì)算機(jī)時(shí)鐘,即一拍。需要說(shuō)明的是,F(xiàn)PGA外掛存儲(chǔ)器中有多根數(shù)據(jù)線,假設(shè)FPGA外掛存儲(chǔ)器數(shù)據(jù)總線位寬為16比特(bit),即有16根數(shù)據(jù)線,則一拍寫入16位(16bit)數(shù)據(jù),即每根數(shù)據(jù)線在每一拍寫入一個(gè)數(shù)據(jù),那么上述第一數(shù)據(jù)就是16位。
[0054]S202、FPGA根據(jù)該第一地址獲取與該第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址。
[0055]具體實(shí)現(xiàn)過(guò)程中,可以是,F(xiàn)PGA判斷第一地址的位數(shù)是否和上述第一數(shù)據(jù)的位數(shù)相同;若第一地址的位數(shù)與上述第一數(shù)據(jù)的位數(shù)相同,則將上述第一地址作為第一待校驗(yàn)地址;若第一地址的位數(shù)小于上述第一數(shù)據(jù)的位數(shù),則將上述地址進(jìn)行補(bǔ)齊,獲取與上述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址。
[0056]S203、FPGA將上述第一數(shù)據(jù)和上述第一數(shù)據(jù)對(duì)應(yīng)的第一待校驗(yàn)地址進(jìn)行異或,獲取第一異或結(jié)果。
[0057]由于第一數(shù)據(jù)和第一待校驗(yàn)地址的位數(shù)相同,就可以一一對(duì)應(yīng)進(jìn)行異或,例如第一數(shù)據(jù)的第一位和第一待校驗(yàn)地址的第一位進(jìn)行異或,第一數(shù)據(jù)的第二位和第一待校驗(yàn)地址的第二位進(jìn)行異或,以此類推。這樣獲取的異或結(jié)果也與第一數(shù)據(jù)的位數(shù)相同。
[0058]S204、FPGA將上述第一異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,獲取第一校驗(yàn)值。
[0059]S205、FPGA將上述第一校驗(yàn)值作為初始校驗(yàn)值,執(zhí)行上述S201~S204,直到校驗(yàn)結(jié)束。即循環(huán)執(zhí)行前述步驟,每次新獲取的第一校驗(yàn)值作為初始校驗(yàn)值帶入下一次循環(huán)中進(jìn)行校驗(yàn),即不斷地累計(jì)進(jìn)行異或校驗(yàn)。一般地,以校驗(yàn)完一個(gè)數(shù)據(jù)包的數(shù)據(jù)為結(jié)束。
[0060]其中,獲取的校驗(yàn)值也存儲(chǔ)在該FPGA的外掛存儲(chǔ)器中。
[0061]本實(shí)施例中,第一數(shù)據(jù)和第一待校驗(yàn)地址進(jìn)行異或,并將異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,來(lái)獲取校驗(yàn)值,實(shí)現(xiàn)了對(duì)FPGA外掛存儲(chǔ)器寫入的地址和數(shù)據(jù)的混合校驗(yàn),即不僅完成了對(duì)數(shù)據(jù)的校驗(yàn),也完成了對(duì)地址的校驗(yàn),可以及時(shí)發(fā)現(xiàn)地址的錯(cuò)誤。
[0062]圖3為本發(fā)明提供的FPGA外掛存儲(chǔ)器校驗(yàn)方法實(shí)施例三的流程示意圖,需要說(shuō)明的是,上述初始校驗(yàn)地址也是FPGA根據(jù)寫入FPGA外掛存儲(chǔ)器的數(shù)據(jù)以及對(duì)應(yīng)地址獲取的。具體地,如圖3所示,上述FPGA獲取寫入該FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和該第一數(shù)據(jù)對(duì)應(yīng)的第一地址之前,還包括:
[0063]S301、FPGA獲取寫入該FPGA的外掛存儲(chǔ)器的初始數(shù)據(jù)和該初始數(shù)據(jù)對(duì)應(yīng)的初始地址。
[0064]S302、FPGA根據(jù)該初始地址獲取與該初始數(shù)據(jù)的位數(shù)相同的初始待校驗(yàn)地址。
[0065]具體地,可參見前述方法實(shí)施例,若初始地址的位數(shù)與上述初始數(shù)據(jù)的位數(shù)相同,則將上述初始地址作為初始待校驗(yàn)地址;若初始地址的位數(shù)小于上述初始數(shù)據(jù)的位數(shù),則將上述地址進(jìn)行補(bǔ)齊,獲取與上述初始數(shù)據(jù)的位數(shù)相同的初始待校驗(yàn)地址。
[0066]S303、FPGA將初始數(shù)據(jù)和該初始待校驗(yàn)地址進(jìn)行異或,獲取初始異或結(jié)果。
[0067]S304、FPGA將該初始異或結(jié)果作為初始校驗(yàn)值。
[0068]即該初始校驗(yàn)值是根據(jù)最初寫入FPGA外掛存儲(chǔ)器的數(shù)據(jù)以及對(duì)應(yīng)地址獲得的。
[0069]舉例說(shuō)明,以預(yù)設(shè)時(shí)間內(nèi)(一拍內(nèi))向外掛存儲(chǔ)器寫16bit的數(shù)據(jù),對(duì)應(yīng)一個(gè)IObit的地址為例。如表1所示,其中,Dn表示第n bit的數(shù)據(jù),Amn表示地址m的第nbit:地址I(作為初始地址)的第O~9bit (Al0~Al9)對(duì)應(yīng)數(shù)據(jù)I (作為初始數(shù)據(jù))的第O~15bit(D0~D15),為FPGA在第I拍獲取到的寫入FPGA外掛存儲(chǔ)器的數(shù)據(jù),由于地址I只有10比特,所以在高位補(bǔ)充6bit的O和數(shù)據(jù)位寬對(duì)齊,獲取初始待校驗(yàn)地址,進(jìn)而,初始待校驗(yàn)地址和數(shù)據(jù)I進(jìn)行異或,獲取初始校驗(yàn)值。地址2的第O~gbitU〗。~A29)對(duì)應(yīng)數(shù)據(jù)2的第16~31bit (D16~D31)為FPGA的控制器在第2拍獲取到的數(shù)據(jù),同樣,對(duì)地址在高位補(bǔ)充6bit的O和數(shù)據(jù)位寬對(duì)齊,獲取待校驗(yàn)地址2,進(jìn)而,將待校驗(yàn)地址2與數(shù)據(jù)2進(jìn)行異或,獲取第一異或結(jié)果,再將第一異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,獲取第一校驗(yàn)值,并依照前述方法依次累積校驗(yàn)。地址3的第O~9bit (A3。~A39)對(duì)應(yīng)數(shù)據(jù)3的第32~47bit (D32~D47)為FPGA的控制器在第3拍獲取到的數(shù)據(jù),同樣,對(duì)地址在高位補(bǔ)充6bit的O和數(shù)據(jù)位寬對(duì)齊,獲取待校驗(yàn)地址3,進(jìn)而,數(shù)據(jù)3與待校驗(yàn)地址3進(jìn)行異或,獲取第二異或結(jié)果,該第二異或結(jié)果與前述第一校驗(yàn)值進(jìn)一步異或,獲取第二校驗(yàn)值,不斷累積進(jìn)行校驗(yàn),最后獲取最終校驗(yàn)值,以使FPGA用戶側(cè)裝置讀數(shù)據(jù)的時(shí)候?qū)⒃撟罱K校驗(yàn)值讀出。
[0070]具體地,以其中一根數(shù)據(jù)線的校驗(yàn)為例,Dtl與Altl的異或結(jié)果作為初始校驗(yàn)值的第一位Po ;然后D16與M0進(jìn)行異或,獲取第一異或結(jié)果的第一位,該第一異或結(jié)果的第一位與P0進(jìn)行異或,獲取第一校驗(yàn)值,即更新后的Ptl ;接下來(lái)D32與A3。進(jìn)行異或,獲取第二異或結(jié)果的第一位,該第二異或結(jié)果的第一位與進(jìn)行Ptl異或,獲取的新校驗(yàn)值作為更新后的Ptl,以此類推累計(jì)進(jìn)行校驗(yàn)。
[0071]表1
[0072]
【權(quán)利要求】
1.一種FPGA外掛存儲(chǔ)器校驗(yàn)方法,其特征在于,包括: A、現(xiàn)場(chǎng)可編程門陣列FPGA獲取寫入所述FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和所述第一數(shù)據(jù)對(duì)應(yīng)的第一地址; B、所述FPGA根據(jù)所述第一地址獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址; C、所述FPGA將所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址進(jìn)行異或,獲取第一異或結(jié)果; D、所述FPGA將所述第一異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,獲取第一校驗(yàn)值; E、所述FPGA將所述第一校驗(yàn)值作為所述初始校驗(yàn)值,執(zhí)行A-D,直到校驗(yàn)結(jié)束。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址按照編號(hào)順序排列,所述初始校驗(yàn)值和所述第一校驗(yàn)值按照編號(hào)逆序排列。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述FPGA根據(jù)所述第一地址獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址,包括: 所述FPGA判斷所述第一地址的位數(shù)是否和所述第一數(shù)據(jù)的位數(shù)相同; 若所述第一地址的位數(shù)與所述第一數(shù)據(jù)的位數(shù)相同,則將所述第一地址作為第一待校驗(yàn)地址; 若所述第一地址的位數(shù)小于所述第一數(shù)據(jù)的位數(shù),則將所述地址進(jìn)行補(bǔ)齊,獲取與所述第一數(shù)據(jù)的位數(shù)相同的第 一待校驗(yàn)地址。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述FPGA獲取寫入所述FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和所述第一數(shù)據(jù)對(duì)應(yīng)的第一地址之前,還包括: 所述FPGA獲取寫入所述FPGA的外掛存儲(chǔ)器的初始數(shù)據(jù)和所述初始數(shù)據(jù)對(duì)應(yīng)的初始地址; 所述FPGA根據(jù)所述初始地址獲取與所述初始數(shù)據(jù)的位數(shù)相同的初始待校驗(yàn)地址; 所述FPGA將所述初始數(shù)據(jù)和所述初始待校驗(yàn)地址進(jìn)行異或,獲取初始異或結(jié)果; 所述FPGA將所述初始異或結(jié)果作為初始校驗(yàn)值。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述校驗(yàn)結(jié)束之后,還包括: 所述FPGA生成讀地址; 所述FPGA根據(jù)所述讀地址從所述FPGA的外掛存儲(chǔ)器中讀取數(shù)據(jù)以及所述數(shù)據(jù)對(duì)應(yīng)的校驗(yàn)值; 所述FPGA根據(jù)所述校驗(yàn)值進(jìn)行解異或校驗(yàn),根據(jù)所述解異或校驗(yàn)結(jié)果判斷所述FPGA的外掛存儲(chǔ)器中地址和/或數(shù)據(jù)是否故障。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,若所述校驗(yàn)值按照編號(hào)逆序排列, 所述FPGA根據(jù)所述校驗(yàn)值進(jìn)行解異或校驗(yàn)之前,還包括: 所述FPGA根據(jù)讀取所述校驗(yàn)值的順序,將讀出的校驗(yàn)值進(jìn)行逆序。
7.—種FPGA外掛存儲(chǔ)器校驗(yàn)裝置,其特征在于,包括: 獲取模塊,用于獲取寫入現(xiàn)場(chǎng)可編程門陣列FPGA的外掛存儲(chǔ)器的第一數(shù)據(jù)和所述第一數(shù)據(jù)對(duì)應(yīng)的第一地址;根據(jù)所述第一地址獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址; 校驗(yàn)?zāi)K,用于將所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址進(jìn)行異或,獲取第一異或結(jié)果;將所述第一異或結(jié)果與初始校驗(yàn)值進(jìn)行異或,獲取第一校驗(yàn)值;將所述第一校驗(yàn)值作為所述初始校驗(yàn)值。
8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述第一數(shù)據(jù)和所述第一待校驗(yàn)地址按照編號(hào)順序排列,所述初始校驗(yàn)值和所述第一校驗(yàn)值按照編號(hào)逆序排列。
9.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊,具體用于判斷所述第一地址的位數(shù)是否和所述第一數(shù)據(jù)的位數(shù)相同;若所述第一地址的位數(shù)與所述第一數(shù)據(jù)的位數(shù)相同,則將所述第一地址作為第一待校驗(yàn)地址;若所述第一地址的位數(shù)小于所述第一數(shù)據(jù)的位數(shù),則將所述地址進(jìn)行補(bǔ)齊,獲取與所述第一數(shù)據(jù)的位數(shù)相同的第一待校驗(yàn)地址。
10.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述獲取模塊,還用于獲取寫入所述FPGA的外掛存儲(chǔ)器的初始數(shù)據(jù)和所述初始數(shù)據(jù)對(duì)應(yīng)的初始地址;根據(jù)所述初始地址獲取與所述初始數(shù)據(jù)的位數(shù)相同的初始待校驗(yàn)地址; 所述校驗(yàn)?zāi)K,還用于將所述初始數(shù)據(jù)和所述初始待校驗(yàn)地址進(jìn)行異或,獲取初始異或結(jié)果;將所述初始異或結(jié)果作為初始校驗(yàn)值。
11.根據(jù)權(quán)利要求7所述的裝置,其特征在于,還包括: 解校驗(yàn)?zāi)K,用于生成讀地址;根據(jù)所述讀地址從所述FPGA的外掛存儲(chǔ)器中讀取數(shù)據(jù)以及所述數(shù)據(jù)對(duì)應(yīng)的校驗(yàn)值;根據(jù)所述校驗(yàn)值進(jìn)行解異或校驗(yàn),根據(jù)所述解異或校驗(yàn)結(jié)果判斷所述FPGA的外掛存儲(chǔ)器中地址和/或數(shù)據(jù)是否故障。
12.根據(jù)權(quán)利要求11所述的裝置,其特征在于,所述解校驗(yàn)?zāi)K,用于當(dāng)所述校驗(yàn)值按照編號(hào)逆序排列時(shí),在根據(jù)所述校驗(yàn)值進(jìn)行解異或校驗(yàn)之前,根據(jù)讀取所述校驗(yàn)值的順序,將讀出的校驗(yàn)值進(jìn)行逆序。
【文檔編號(hào)】G06F11/10GK103838638SQ201410105880
【公開日】2014年6月4日 申請(qǐng)日期:2014年3月20日 優(yōu)先權(quán)日:2014年3月20日
【發(fā)明者】石仔良, 王 琦, 張璐娜 申請(qǐng)人:華為技術(shù)有限公司