[發(fā)明專利]一種基于差異測試的FPGA綜合工具缺陷檢測方法有效
| 申請?zhí)枺?/td> | 202110251720.5 | 申請日: | 2021-03-08 |
| 公開(公告)號: | CN112948193B | 公開(公告)日: | 2023-10-17 |
| 發(fā)明(設(shè)計)人: | 江賀;張漪;施重陽;劉輝 | 申請(專利權(quán))人: | 北京理工大學 |
| 主分類號: | G06F11/22 | 分類號: | G06F11/22;G06F11/36 |
| 代理公司: | 北京正陽理工知識產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11639 | 代理人: | 王民盛 |
| 地址: | 100081 *** | 國省代碼: | 北京;11 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 差異 測試 fpga 綜合 工具 缺陷 檢測 方法 | ||
本發(fā)明涉及一種基于差異測試的FPGA綜合工具缺陷檢測方法,屬于計算機軟件測試技術(shù)領(lǐng)域。本發(fā)明通過使用可供比較的參考FPGA綜合工具,給定一個測試代碼,將測試代碼生成與其等價的變異代碼,這些參考的FPGA綜合工具和待測工具將對其執(zhí)行編譯得到各自的執(zhí)行結(jié)果。由于參考綜合工具和待測的FPGA綜合工具在差異測試中遵循相同規(guī)約,其執(zhí)行結(jié)果相同。因此,通過比較待測工具與參考工具的執(zhí)行結(jié)果的一致,能夠有效判斷待測工具是否存在缺陷。本發(fā)明方法對比現(xiàn)有技術(shù),通過變異產(chǎn)生有效的FPGA綜合工具測試的測試種子用例,能夠有效檢測綜合工具中存在的缺陷,并將其缺陷報告進行保存,可供開發(fā)人員快速的修復Bug。
技術(shù)領(lǐng)域
本發(fā)明涉及一種FPGA綜合工具的缺陷檢測方法,具體涉及一種基于差異測試的FPGA綜合工具缺陷檢測方法,屬于計算機軟件測試技術(shù)領(lǐng)域。
背景技術(shù)
近年來,軟件的正常運行越來越依賴于硬件。幾乎所有的數(shù)字計算都以這樣或那樣的方式依賴于邏輯綜合工具,越來越多的領(lǐng)域使用FPGA(Field Programmable GateArray)來加速服務(wù)器上的應(yīng)用程序。此外,硬件的日益復雜也導致對自動化有很大的需求,這意味著綜合工具的正確性對硬件的可靠性至關(guān)重要。因此,對FPGA綜合工具進行嚴格測試,十分必要。
為了測試FPGA綜合工具的正確性,有人提出通過構(gòu)造生成隨機、有效、確定的或者不確定的Verilog設(shè)計并傳遞給綜合工具,綜合工具會產(chǎn)生一個可以與原始設(shè)計進行比較的等效的nestlist網(wǎng)表,然后基于Verilog設(shè)計的輸出與合成的網(wǎng)表在時鐘邊緣應(yīng)該總是相等的原則,對綜合工具是否存在缺陷進行判斷。
盡管現(xiàn)有的方法能夠很好地為FPGA綜合工具缺陷進行檢測,但是,隨機構(gòu)造行為良好的Verilog不太可能窮盡測試許多不同的Verilog構(gòu)造組合。同時,如果使用不確定的Verilog設(shè)計,需要考慮測試的代價,因為生成不確定的Verilog需要執(zhí)行額外的模擬步驟來避免誤報。這些將導致FPGA綜合工具bug檢測效率欠佳。
發(fā)明內(nèi)容
本發(fā)明的目的是針對現(xiàn)有的FPGA綜合工具缺陷檢測方法效果不佳的技術(shù)問題,提出一種基于差異測試的FPGA綜合工具缺陷檢測方法。
本發(fā)明方法的創(chuàng)新點在于:通過使用兩個或者更多的可供比較的參考FPGA綜合工具,給定一個測試代碼,將測試代碼生成與其等價的變異代碼,這些參考的FPGA綜合工具和待測工具將對其執(zhí)行編譯得到各自的執(zhí)行結(jié)果。由于參考綜合工具和待測的FPGA綜合工具在差異測試中遵循相同規(guī)約,其執(zhí)行結(jié)果相同。因此,通過比較待測工具與參考工具的執(zhí)行結(jié)果的一致,能夠有效判斷待測工具是否存在缺陷。
本發(fā)明采用以下技術(shù)方案實現(xiàn)。
一種基于差異測試的FPGA綜合工具缺陷檢測方法,包括以下步驟:
步驟1:構(gòu)建FPGA綜合工具測試用例種子庫。
具體地,可以從測試人員輸入的綜合設(shè)計實例中,獲取所需測試用例。例如,可以從現(xiàn)有的高級綜合工具官網(wǎng)、開源社區(qū)的有效鏈接中,爬取、解析獲得高級語言文件。
步驟2:基于遺傳算法,對測試種子用例按照測試效果的優(yōu)先從高到低進行排序,并依次執(zhí)行。可降低測試的時間,提高測試效率。
具體地,對測試用例優(yōu)先排序問題的一般性描述為:測試用例集T,測試用例的全排列集PT,排序目標函數(shù)f(x):PT→R。尋找T'∈PT,使得對任意T″∈PT(T″≠T'),有f(T')≥f(T″)。其中,T'、T″表示在測試用例的全排列集中任意選取的測試用例序列,T″≠T'。
在FPGA和軟件系統(tǒng)的在測試中,在檢測HDL時,不僅要根據(jù)信號流圖對邏輯進行檢測,還要依據(jù)時序圖,對時變信號的一致性進行檢測。針對以上的測試需求設(shè)計測試點,在測試用例集中,每一個測試用例可能對應(yīng)一個或者多個測試點。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于北京理工大學,未經(jīng)北京理工大學許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110251720.5/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。





