[發明專利]微處理器指令集驗證方法有效
| 申請號: | 201210362231.8 | 申請日: | 2012-09-26 |
| 公開(公告)號: | CN102902906A | 公開(公告)日: | 2013-01-30 |
| 發明(設計)人: | 曹輝;楊靚;盧強;何衛強 | 申請(專利權)人: | 中國航天科技集團公司第九研究院第七七一研究所 |
| 主分類號: | G06F21/44 | 分類號: | G06F21/44;G06F9/46 |
| 代理公司: | 西北工業大學專利中心 61204 | 代理人: | 顧潮琪 |
| 地址: | 710000*** | 國省代碼: | 陜西;61 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 微處理器 指令 驗證 方法 | ||
技術領域
本發明涉及一種微處理器指令集的驗證方法,具體用于微處理器設計各階段的功能驗證。
背景技術
指令集驗證在微處理器設計中非常關鍵并貫穿于整個設計過程。指令集定義實現的功能越多,電路的集成復雜度的越高,指令集驗證工作的復雜度和工作量越大。設計一種自動化、可移植、驗證覆蓋率高的指令集驗證方法對設計正確性、可靠性和縮短芯片從設計到流片的時間非常重要。
傳統的功能驗證方法是:通過人工編寫大量的“指令序列”作為驗證激勵,施加到微處理器設計上,通過EDA軟件查看波形,檢查指令執行的正確性。這種驗證方法具有很大的“隨意性”,通常是設計者考慮到某一方面的指令集功能,就設計相應的指令序列,由微處理器執行該段序列來驗證設計的正確性。這樣就很難完全覆蓋到微處理器指令集定義的全部功能。隨著微處理器設計規模的增大,需要編寫用于驗證的指令序列數量成指數量級增長,自動化程度不高。而且當指令集定義發生改變時,需要針對微處理器重新設計驗證指令序列,之前的驗證代碼很難被移植到新設計的驗證上。
另一種方法是:利用高級語言,如C語言,編寫復雜的驗證程序,經過編譯器編譯成二進制碼,在微處理器上運行該二進制代碼對微處理器設計進行驗證。這種方法的缺點是,編譯器采用優化策略對二進制代碼經過優化后,產生的驗證代碼不能夠完全覆蓋到微處理器的設計,在一些路徑上會缺少對應的驗證激勵。
發明內容
為了克服現有技術的不足,本發明提供一種自動化、可移植的微處理器指令集驗證方法,以提高驗證的覆蓋率。
本發明解決其技術問題所采用的技術方案包括以下步驟:
步驟1、將監控程序加載到微處理器中,并啟動微處理器運行監控程序;
步驟2、對微處理器支持的指令集分類,每一類指令由一組參數確定,針對每一類指令,設計一個指令驗證的代碼框架,將需要驗證的指令或指令序列嵌入到這個代碼框架中;
步驟3、對每組參數按照取指范圍遍歷取值,根據每組參數值的組合,生成驗證的指令或指令序列,并將這個指令或指令序列嵌入到步驟2的驗證代碼框架中;
步驟4、將驗證代碼框架加載到微處理器中,并發送協議字給微處理器上的監控程序,使微處理器轉入到驗證代碼框架的執行;
步驟5、查詢微處理器驗證結束協議字,如果驗證代碼執行結束,將執行結果讀出;否則,繼續查詢;
步驟6、將步驟5的執行結果和指令執行的期望結果比較,結果正確,將比較結果記錄到日志文件中,轉步驟2,繼續遍歷驗證;否則,輸出錯誤信息,并記錄到日志文件。
所述的監控程序按以下步驟操作:
步驟1-1、查詢驗證代碼框架加載結束協議字,如果協議字有效,轉步驟1-2;否則繼續查詢;
步驟1-2、跳轉至驗證代碼框架,執行指令驗證代碼;
步驟1-3、驗證代碼執行結束,置驗證結束協議字,并跳轉到步驟1-2,繼續下一次驗證的查詢。
所述的指令驗證代碼框架按以下步驟設計:
步驟2-1、根據指令的分類,確定驗證該類指令所需要的參數,并根據參數,生成指令序列A,通過執行指令序列A準備好當前指令驗證的微處理器的狀態;
步驟2-2、根據參數生成當前被驗證的指令B,將指令B添加到序列A之后,生成序列A&B;
步驟2-3、在序列A&B之后添加一段保護指令B執行結果的指令序列C。
本發明的有益效果是:
本發明提出了一套微處理器指令集自動驗證的方法。通過將當前驗證的指令的各字段以參數化的形式進行配置,可以對參數進行遍歷組合,實現對微處理器設計中所有路徑的驗證覆蓋。驗證結果采用自動比對的形式,以文件記錄的形式輸出,避免了通過分析仿真波形才能判斷指令執行真確性的弊端,實現了自動、高效率的驗證。
發明中提出的驗證方法可以移植到在微處理器設計各階段的驗證平臺上,如仿真驗證階段的TestBench、時序驗證階段的功能驗證TestBench、FPGA驗證平臺、微處理器的系統驗證平臺上。
附圖說明
圖1:本發明主流程圖;
圖2:監控程序流程圖;
圖3:驗證代碼框架設計流程圖;
圖4:本發明的具體實施實例框圖;
圖5:具體實施實例程序存儲示意圖。
具體實施方式
本發明包括以下步驟:
步驟1、將監控程序加載到微處理器中,并啟動微處理器運行監控程序;
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于中國航天科技集團公司第九研究院第七七一研究所,未經中國航天科技集團公司第九研究院第七七一研究所許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201210362231.8/2.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:電機及其制造方法
- 下一篇:一種能量雙向流動的無線充電裝置





