[發明專利]軟硬件協同仿真方法有效
| 申請號: | 202110584450.X | 申請日: | 2021-05-27 |
| 公開(公告)號: | CN113343617B | 公開(公告)日: | 2022-07-22 |
| 發明(設計)人: | 張玉安;丁杰;郝志杰;谷佳華;李春雷;劉亮亮 | 申請(專利權)人: | 長沙金維信息技術有限公司 |
| 主分類號: | G06F30/33 | 分類號: | G06F30/33;G06F119/02 |
| 代理公司: | 長沙知行亦創知識產權代理事務所(普通合伙) 43240 | 代理人: | 皮尚慧 |
| 地址: | 410000 湖南省長沙市長沙高新開*** | 國省代碼: | 湖南;43 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 軟硬件 協同 仿真 方法 | ||
1.一種軟硬件協同仿真方法,其特征在于包括軟件測試代碼、硬件測試平臺和硬件仿真平臺;將軟件測試代碼加載到FPGA或芯片上,并設置狀態標志位用于判斷軟件測試代碼的運行狀態;硬件測試平臺用于運行軟件測試代碼,同時提供讀取內部存儲單元的手段;硬件仿真平臺用于獲取軟件測試代碼在運行時產生的狀態標志,從而判斷軟件測試代碼的運行狀態;
所述的硬件仿真平臺包括現有的硬件仿真工具,以及與FPGA或者芯片外圍功能相同的仿真模型;硬件仿真工具用于在進行功能設計時進行仿真;與FPGA或者芯片外圍功能相同的仿真模型與硬件測試平臺的硬件功能一致,用于獲取軟件測試代碼在運行過程中的狀態標志;
軟硬件協同仿真方法,包括如下步驟:
S1. 針對測試項進行測試程序編寫;
S2. 將步驟S1編寫得到程序進行編譯生成二進制文件,保證所述二進制文件能夠運行在FPGA或芯片上;
S3. 將步驟S2生成的二進制文件加載到硬件測試平臺上,并通過運行的狀態標志判斷對應的驗證項是否通過:
若通過,則返回步驟S1,并進行下一個測試項的測試;
若不通過,則進行后續的步驟;
S4. 對步驟S1編寫的程序進行修改,保證程序適配硬件仿真平臺,并將修改后的程序編譯為二進制代碼;
S5. 將步驟S4得到的二進制代碼加載到硬件仿真平臺,進行仿真,并查看程序是否運行正確:
若正確,則進行下一步驟S6;
若不正確,則返回步驟S4,重新修改編寫的程序;
S6. 對硬件測試平臺和硬件仿真平臺的運行結果進行對比:
若對比一致,則進行步驟S7;
若對比不一致,則返回步驟S1;
S7. 硬件設計人員進行問題分析。
2.根據權利要求1所述的軟硬件協同仿真方法,其特征在于所述的軟件測試代碼,通過編譯工具轉換為二進制文件,并加載到FPGA或芯片上;同時設置狀態標志位,用于判斷軟件測試代碼的運行狀態。
3.根據權利要求1所述的軟硬件協同仿真方法,其特征在于所述的軟件測試代碼,不包括用于輸出的打印字符和延時,從而提高協同仿真的效率。
4.根據權利要求3所述的軟硬件協同仿真方法,其特征在于所述的軟硬件協同仿真方法,軟件工程師在編寫軟件測試代碼時,每完成一項功能點測試,就向存儲空間寫一個狀態標志;若存儲空間能夠找到這些標識,則代表這一個功能點測試完成;若沒有某狀態標志,則代表該狀態標志所對應的功能點測試失敗;當某一個功能測試點的狀態標識沒有被讀到時,軟件工程師需要檢查測試流程是否正常:通過CPU的指針進行比對;軟件工程師檢查完測試流程,確認是由于功能問題導致,指令執行失敗,或者是指令執行未完成,導致狀態標志未被寫入到內部存儲單元;然后,軟件工程師修改軟件測試代碼,刪除打印指令和延時指令,同時保證刪除打印指令和延時指令后的軟件測試代碼能夠在硬件測試平臺執行,而且程序運行狀態和狀態標志寫入狀態與修改前的軟件測試代碼相同;至此,第一輪軟件測試完成;
在第一輪測試完成后,問題集中在一個測試點,但是無法定位CPU執行出錯的指令;則進行第二輪軟件測試:第二輪軟件測試的起點為第一輪軟件測試時最后一次正確寫狀態標志的位置,在該位置之后再插入更多的寫狀態標志指令,再檢查第二輪的寫狀態失敗指令流程是否正確;然后,軟件工程師再次修改代碼,用于硬件仿真平臺;
重復上述步驟,直至達到設定的要求。
5.根據權利要求4所述的軟硬件協同仿真方法,其特征在于所述的軟硬件協同仿真方法,若狀態標志出現未寫入的錯誤,但是與測試代碼在硬件測試平臺上不一致,則軟件工程師檢查代碼在測試平臺執行過程是否和仿真平臺執行過程相同,同時硬件工程師檢查這種錯誤是否是配置或者不期望的操作造成,并通知軟件工程師進行修改;軟件工程師再次確認代碼的正確性,修改并提供給硬件工程師;如果是硬件功能出現錯誤,則斷定是流程不同造成或者配置錯誤造成;此時完成軟硬件第一次交互;
若硬件仿真平臺正確的復現測試平臺上出現的問題,硬件工程師則檢查邏輯功能,此時完成軟硬件的第二次交互;
在FPGA平臺中,通過若干次軟硬件交互,發現軟件測試代碼問題,同時發現硬件邏輯功能問題,并通過修改軟件代碼或者硬件代碼完成;
在芯片測試平臺,發現了相同的錯誤狀態標志,而硬件工程師又確認配置或者使用沒有問題,則確定芯片邏輯功能出現問題。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于長沙金維信息技術有限公司,未經長沙金維信息技術有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202110584450.X/1.html,轉載請聲明來源鉆瓜專利網。





