本發(fā)明涉及fpga芯片測試,尤其涉及一種clb模塊的功能測試故障定位方法、系統(tǒng)及設(shè)備。
背景技術(shù):
1、fpga(field?programmable?gate?array,現(xiàn)場可編程邏輯門陣列)芯片廣泛應(yīng)用于集成電路設(shè)計(jì)中,主要由輸入輸出單元、clb(configurable?logic?block,可配置邏輯模塊)模塊、嵌入式塊ram、互連線資源、底層內(nèi)嵌功能單元、內(nèi)嵌專用硬核組成,其中clb是fpga芯片中最基本的邏輯架構(gòu),絕大多數(shù)的邏輯功能都由clb模塊實(shí)現(xiàn),因此fpga中的clb模塊的測試極其重要。
2、clb模塊的常規(guī)測試方法主要是將clb模塊陣列進(jìn)行對等分,每等分中clb模塊同行并行,同列串行配置,通過輸出數(shù)據(jù)與輸入數(shù)據(jù)對比,逐一對clb模塊進(jìn)行自測試。該種測試方式能夠?qū)崿F(xiàn)clb模塊資源的全覆蓋測試,并且如果clb模塊出錯(cuò),能夠定位到具體位置。然而,由于fpga芯片中clb資源通常較多,該種測試方式fpga代碼的編譯、運(yùn)行時(shí)間過長,對于批量化的fpga測試,測試工作過于繁瑣。本發(fā)明專利提出一種fpga芯片clb模塊的功能測試及故障定位方法,以提高測試效率為目標(biāo),在fpga中clb?模塊功能測試中增加了快速性測試,若快速性測試通過,則clb模塊測試通過,若快速性測試未通過,則引入故障定位測試,快速性測試能夠簡化測試流程,其中分區(qū)流程也能夠大幅度縮小故障范圍,此方法能夠大幅度縮短fpga編譯時(shí)間,clb模塊測試時(shí)間,提升測試效率,適用于量產(chǎn)fpga批量化測試。
技術(shù)實(shí)現(xiàn)思路
1、本發(fā)明旨在至少解決相關(guān)技術(shù)中存在的技術(shù)問題之一。為此,本發(fā)明提供一種clb模塊的功能測試故障定位方法、系統(tǒng)及設(shè)備,實(shí)現(xiàn)fpga的clb模塊快速、規(guī)模化測試。
2、本發(fā)明提供一種clb模塊的功能測試故障定位方法,包括:
3、s1:將主控板卡與測試板卡連接,將主控板卡與上位機(jī)連接,所述測試板卡搭載被測試的fpga芯片;
4、s2:將所述fpga芯片按照測試需求劃分clb區(qū)塊;
5、s3:對所述clb區(qū)塊進(jìn)行快速性測試,并將測試結(jié)果發(fā)送至上位機(jī);
6、s4:判斷所述clb區(qū)塊是否通過所述快速性測試,若所述快速性測試沒有通過,確定故障所在的故障區(qū)塊,執(zhí)行步驟s5;
7、s5:對所述故障所在的故障區(qū)塊的大小進(jìn)行判定,若所述故障區(qū)塊的大小小于精查找閾值執(zhí)行步驟s6,若所述故障區(qū)塊的大小大于或等于精查找閾值,將所述故障區(qū)塊進(jìn)行劃分,得到分割后的故障區(qū)塊,返回步驟s3;
8、s6:將所述故障區(qū)塊進(jìn)行故障精查找,確定故障點(diǎn)坐標(biāo)。
9、根據(jù)本發(fā)明提供的一種clb模塊的功能測試故障定位方法,步驟s2包括:
10、s21:將所述fpga芯片按照測試需求劃分clb區(qū)塊,設(shè)置覆蓋閾值;
11、s22:燒寫測試板卡程序,建立上位機(jī)和主控板卡、主控板卡和測試板卡之間的通信;
12、s23:上位機(jī)向測試板卡下發(fā)測試指令;
13、s24:調(diào)用所述fpga芯片中的fifo(first?in?first?out,先入先出)的ip核(intellectual?property?core,知識產(chǎn)權(quán)核),將所述clb區(qū)塊配置成fifo模式,上位機(jī)生成隨機(jī)輸入數(shù)據(jù);
14、s25:將所述隨機(jī)輸入數(shù)據(jù)輸入至所述clb區(qū)塊;若所述clb區(qū)塊的輸出數(shù)據(jù)與所述隨機(jī)輸入數(shù)據(jù)相同,則生成clb正確信號;若clb區(qū)塊的輸出數(shù)據(jù)與所述隨機(jī)輸入數(shù)據(jù)不同,則clb錯(cuò)誤信號;
15、s26:檢測測試覆蓋率是否達(dá)到所述覆蓋閾值,若達(dá)到則生成覆蓋成功信號;若未達(dá)到,則生成覆蓋失敗信號;
16、s27:所述測試結(jié)果包括clb正確信號、clb錯(cuò)誤信號、覆蓋成功信號和覆蓋失敗信號,將所述測試結(jié)果發(fā)送至上位機(jī)。
17、根據(jù)本發(fā)明提供的一種clb模塊的功能測試故障定位方法,步驟s4包括:所述測試結(jié)果為clb正確信號和覆蓋成功信號時(shí),所述快速性測試通過,否則,所述快速性測試沒有通過。
18、根據(jù)本發(fā)明提供的一種clb模塊的功能測試故障定位方法,步驟s6包括:
19、s61:所述故障區(qū)塊的每行的clb單元串聯(lián)使用,所述上位機(jī)向所述每行的clb單元從起始輸入精查找隨機(jī)數(shù)據(jù),從所述每行的clb單元結(jié)尾輸出精查找數(shù)據(jù),對所述精查找隨機(jī)數(shù)據(jù)與所述精查找數(shù)據(jù)進(jìn)行比較;對所述精查找隨機(jī)數(shù)據(jù)與所述精查找數(shù)據(jù)進(jìn)行比較,若一致,則此行clb單元正常,若不一致,則記錄當(dāng)前的行坐標(biāo);
20、s62:所述故障區(qū)塊的每列的clb單元串聯(lián)使用,所述上位機(jī)向所述每列的clb單元從起始輸入精查找隨機(jī)數(shù)據(jù),從所述每列的clb單元結(jié)尾輸出精查找數(shù)據(jù),對所述精查找隨機(jī)數(shù)據(jù)與所述精查找數(shù)據(jù)進(jìn)行比較;對所述精查找隨機(jī)數(shù)據(jù)與所述精查找數(shù)據(jù)進(jìn)行比較,若一致,則此列clb單元正常,若不一致,則記錄當(dāng)前的列坐標(biāo);
21、s63:根據(jù)所述行坐標(biāo)和列坐標(biāo),結(jié)合所述故障區(qū)塊的分區(qū)情況,即可得出clb故障具體坐標(biāo)。
22、根據(jù)本發(fā)明提供的一種clb模塊的功能測試故障定位方法,燒寫測試板卡例程包括:
23、通過fpga仿真器連接所述測試板卡燒寫軟件、fpga以及測試板卡的flash芯片。
24、根據(jù)本發(fā)明提供的一種clb模塊的功能測試故障定位方法,所述上位機(jī)下發(fā)測試指令程序,包括當(dāng)前測試分區(qū)、測試次數(shù)。
25、本發(fā)明還提供一種伺服系統(tǒng)電機(jī)換相零位自動標(biāo)定系統(tǒng),包括:
26、準(zhǔn)備模塊:將主控板卡與測試板卡連接,將主控板卡與上位機(jī)連接,所述測試板卡搭載被測試的fpga芯片;
27、快速性測試模塊:將所述fpga芯片按照測試需求進(jìn)行劃分為clb區(qū)塊,對所述clb區(qū)塊進(jìn)行快速性測試,并將測試結(jié)果發(fā)送至上位機(jī)判斷所述clb區(qū)塊是否通過所述快速性測試,若所述快速性測試通過,測試結(jié)束,若所述快速性測試沒有通過,確定故障所在的故障區(qū)塊,執(zhí)行分割區(qū)塊模塊;
28、分割區(qū)塊模塊:對所述故障所在的故障區(qū)塊的大小進(jìn)行判定,若所述故障區(qū)塊的大小小于精查找閾值執(zhí)行精查找模塊,若所述故障區(qū)塊的大小大于或等于精查找閾值返回快速性測試模塊;
29、精查找模塊:將所述分割后的故障區(qū)塊進(jìn)行故障精查找,確定故障點(diǎn)坐標(biāo)。
30、本發(fā)明還提供一種電子設(shè)備,包括存儲器、處理器及存儲在存儲器上并可在處理器上運(yùn)行的計(jì)算機(jī)程序,所述處理器執(zhí)行所述程序時(shí)實(shí)現(xiàn)如上述任一種所述一種clb模塊的功能測試故障定位方法的步驟。
31、本發(fā)明實(shí)施例中的上述一個(gè)或多個(gè)技術(shù)方案,至少具有如下技術(shù)效果之一:
32、本發(fā)明提供的一種clb模塊的功能測試故障定位方法、系統(tǒng)及設(shè)備,通過使用fifo的ip核對clb模塊進(jìn)行檢測,提升測試效率,適用于量產(chǎn)fpga批量化測試。
33、本發(fā)明的附加方面和優(yōu)點(diǎn)將在下面的描述中部分給出,部分將從下面的描述中變得明顯,或通過本發(fā)明的實(shí)踐了解到。