• 
    <ul id="o6k0g"></ul>
    <ul id="o6k0g"></ul>

    對微處理器進行功能驗證的方法及服務器技術

    技術編號:14277630 閱讀:166 留言:0更新日期:2016-12-24 20:27
    本發明專利技術提供一種對微處理器進行功能驗證的方法及服務器,包括:生成至少一條隨機指令、各隨機指令對應的期望運行結果,以及初始化數據;根據微處理器的原始寄存器傳輸級RTL代碼,生成比特流文件;將比特流文件加載至硬件仿真加速器中,并將至少一條隨機指令和初始化數據加載至模擬微處理器的內存和用戶可見寄存器中,模擬微處理器通過將微處理器燒入硬件仿真加速器形成;控制硬件仿真加速器運行至少一條隨機指令;根據硬件仿真加速器對至少一條隨機指令的運行結果和各隨機指令對應的期望運行結果,驗證微處理器的功能。采用本發明專利技術實施例提供的技術方案,可以提高對微處理器的功能驗證的準確性和可調試性。

    【技術實現步驟摘要】

    本專利技術涉及計算機技術,尤其涉及一種對微處理器進行功能驗證的方法及服務器
    技術介紹
    微處理器是用一片或少數幾片大規模集成電路組成的中央處理器。這些電路執行控制部件和算術邏輯部件的功能。微處理器能完成取指令、執行指令,以及與外界存儲器和邏輯部件交換信息等操作,是微型計算機的運算控制部分。通常對微處理器進行功能驗證的方法有三種:基于軟件仿真器的仿真驗證、基于現場可編程門陣列(Field Programmable Gates Array,簡稱FPGA)原型驗證系統的仿真驗證和基于硬件仿真加速器的仿真驗證。基于FPGA原型驗證系統的仿真驗證是在FPGA上實現一個主控電路,通過主控電路將隨機指令和其對應的期望運行結果下載到FPGA系統仿真板的內部寄存器中,并在完成FPGA原型驗證系統主板的初始化后進入仿真工作狀態,即將被驗證微處理器在FPGA原型驗證系統主板上運行并輸出結果,然后在仿真結束后將內部寄存器與上述期望運行結果進行比較,以確定被驗證微處理器的輸出是否有錯;基于硬件仿真加速器的仿真驗證首先用硬件仿真加速器將被驗證微處理器的寄存器傳輸級(Register Transfer Level,簡稱RTL)代碼綜合為可以燒入到硬件仿真加速器上的網表文件,并將操作系統和應用程序軟件的可執行文件轉換為可以寫入到硬件加速器中的格式,然后將上述網表文件燒入到硬件仿真加速器中,再將經過上述經格式處理后的可執行文件寫入硬件仿真加速器的內存中,然后啟動硬件仿真加速器開始仿真,并運行操作系統和應用程序進行驗證。然而,基于FPGA原型驗證系統進行仿真驗證時,由于內部寄存器與期望結果的比較是在整個仿真結束時進行的,并非實時比較,而最終結果出錯在大部分情況下是由于之前已經出錯了,但由于該方案在出錯時并沒有比較
    機制,因而不能確定具體錯誤地方,因而準確性較低;并且,由于在FPGA上實現時,可以抓取的信號有限且很難定根據抓取的信號定位出具體出錯的地方,因而其調試性也較差。此外,使用現有的基于硬件仿真加速器的仿真驗證方法只能對操作系統和應用程序軟件進行驗證,而并不能對微處理器的功能進行指令級驗證,驗證結果也不夠準確。
    技術實現思路
    本專利技術提供一種對微處理器進行功能驗證的方法及服務器,用以解決現有技術中基于FPGA原型驗證系統的仿真驗證的準確性低,調試性差,以及基于硬件仿真加速器的仿真驗證不能支持指令級驗證等問題。本專利技術的第一方面,提供一種對微處理器進行功能驗證的方法,包括:生成至少一條隨機指令、各所述隨機指令對應的期望運行結果,以及初始化數據,所述初始化數據用于初始化微處理器的內存和用戶可見寄存器;根據所述微處理器的原始寄存器傳輸級RTL代碼,生成比特流文件;將所述比特流文件加載至硬件仿真加速器中,并將所述至少一條隨機指令和所述初始化數據加載至模擬微處理器的內存和所述用戶可見寄存器中,所述模擬微處理器通過將所述微處理器燒入所述硬件仿真加速器形成;控制所述硬件仿真加速器運行所述至少一條隨機指令;根據所述硬件仿真加速器對所述至少一條隨機指令的運行結果和各所述隨機指令對應的期望運行結果,驗證所述微處理器的功能。在第一種可能的實現方式中,根據第一方面,所述生成至少一條隨機指令、各所述隨機指令對應的期望運行結果,以及初始化數據,具體包括:根據所述微處理器的結構,生成所述至少一條隨機指令、各所述隨機指令對應的期望結果以及所述初始化數據;對所述至少一條隨機指令及所述初始化數據進行處理,以使所述至少一條隨機指令的格式和所述初始化數據的格式,與所述模擬微處理器的內存和所述用戶可見寄存器中所存儲的數據格式匹配。在第二種可能的實現方式中,結合第一方面和第一種可能的實現方式,所述根據微處理器的原始寄存器傳輸級RTL代碼,生成比特流文件,具體包括:對所述原始RTL代碼中不可綜合的代碼和所述硬件仿真加速器中不能處理的代碼進行替換,生成替換RTL代碼;在所述替換RTL代碼中增加用于初始化所述模擬微處理器的用戶可見寄存器的第一邏輯代碼,生成被驗證RTL代碼;生成所述期望運行結果對應的第二邏輯代碼;對所述被驗證RTL代碼和所述第二邏輯代碼進行綜合布局,生成所述比特流文件。本專利技術的第二方面,提供一種對微處理器進行功能驗證的服務器,包括:第一生成模塊,用于生成至少一條隨機指令、各所述隨機指令對應的期望結果,以及初始化數據,所述初始化數據用于初始化微處理器的內存和用戶可見寄存器;第二生成模塊,用于根據所述微處理器的原始寄存器傳輸級RTL代碼,生成比特流文件;加載模塊,用于將所述第二生成模塊生成的所述比特流文件加載至硬件仿真加速器中,并將所述第一生成模塊生成的所述至少一條隨機指令和所述初始化數據加載至模擬微處理器的內存和所述用戶可見寄存器中,所述模擬微處理器通過將所述微處理器燒入所述硬件仿真加速器形成;控制模塊,用于控制所述硬件仿真加速器運行所述第一生成模塊生成的所述至少一條隨機指令;驗證模塊,用于根據所述硬件仿真加速器對所述至少一條隨機指令的運行結果和所述第一生成模塊生成的各所述隨機指令對應的期望運行結果,驗證所述微處理器的功能。在第一種可能的實現方式中,根據第二方面,所述第一生成模塊具體包括:第一生成單元,用于根據所述微處理器的結構,生成所述至少一條隨機指令、各所述隨機指令對應的期望結果以所述初始化數據;處理單元,用于對所述第一生成單元生成的所述至少一條隨機指令及所述初始化數據進行處理,以使所述至少一條隨機指令的格式和所述初始化數
    據的格式,與所述模擬微處理器的內存和用戶可見寄存器中所存儲的數據格式匹配。在第二種可能的實現方式中,結合第二方面和第一種可能的實現方式,所述第二生成模塊具體包括:第二生成單元,用于對所述原始RTL代碼中不可綜合的代碼和所述硬件仿真加速器中不能處理的代碼進行替換,生成替換RTL代碼;并在生成的所述替換RTL代碼中增加用于初始化所述用戶可見寄存器的第一邏輯代碼,生成被驗證RTL代碼;生成所述第一生成模塊生成的所述期望運行結果對應的第二邏輯代碼;以及對所述生成的所述被驗證RTL代碼和所述生成的所述第二邏輯代碼進行綜合布局,生成所述比特流文件。本專利技術實施例提供的對微處理器進行功能驗證的方法,首先生成至少一條隨機指令,各隨機指令對應的期望運行結果,以及初始化數據,初始化數據用于初始化微處理器的內存和用戶可見寄存器,然后根據微處理器的RTL代碼,生成比特流文件,接著將比特流文件加載至硬件仿真加速器中,并將隨機指令和初始化數據加載至模擬微處理器的內存和用戶可見寄存器中,最后控制硬件仿真加速器運行隨機指令,并根據硬件仿真加速器對隨機指令的運行結果和期望運行結果,驗證微處理器的功能。本專利技術實施例提供的技術方案,實現了基于硬件仿真加速器對微處理器的功能進行指令級驗證,可以提高對微處理器的功能驗證的準確性和可調試性。附圖說明為了更清楚地說明本專利技術實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖做一簡單地介紹,顯而易見地,下面描述中的附圖是本專利技術的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些附圖獲得其他的附圖。圖1為本專利技術實施例提供的一種對微處理器進行功能驗證的方法的流程圖;圖本文檔來自技高網
    ...
    對微處理器進行功能驗證的方法及服務器

    【技術保護點】
    一種對微處理器進行功能驗證的方法,其特征在于,包括:生成至少一條隨機指令、各所述隨機指令對應的期望運行結果,以及初始化數據,所述初始化數據用于初始化微處理器的內存和用戶可見寄存器;根據所述微處理器的原始寄存器傳輸級RTL代碼,生成比特流文件;將所述比特流文件加載至硬件仿真加速器中,并將所述至少一條隨機指令和所述初始化數據加載至模擬微處理器的內存和所述用戶可見寄存器中,所述模擬微處理器通過將所述微處理器燒入所述硬件仿真加速器形成;控制所述硬件仿真加速器運行所述至少一條隨機指令;根據所述硬件仿真加速器對所述至少一條隨機指令的運行結果和各所述隨機指令對應的期望運行結果,驗證所述微處理器的功能。

    【技術特征摘要】
    1.一種對微處理器進行功能驗證的方法,其特征在于,包括:生成至少一條隨機指令、各所述隨機指令對應的期望運行結果,以及初始化數據,所述初始化數據用于初始化微處理器的內存和用戶可見寄存器;根據所述微處理器的原始寄存器傳輸級RTL代碼,生成比特流文件;將所述比特流文件加載至硬件仿真加速器中,并將所述至少一條隨機指令和所述初始化數據加載至模擬微處理器的內存和所述用戶可見寄存器中,所述模擬微處理器通過將所述微處理器燒入所述硬件仿真加速器形成;控制所述硬件仿真加速器運行所述至少一條隨機指令;根據所述硬件仿真加速器對所述至少一條隨機指令的運行結果和各所述隨機指令對應的期望運行結果,驗證所述微處理器的功能。2.根據權利要求1所述的方法,其特征在于,所述生成至少一條隨機指令、各所述隨機指令對應的期望運行結果,以及初始化數據,具體包括:根據所述微處理器的結構,生成所述至少一條隨機指令、各所述隨機指令對應的期望結果以及所述初始化數據;對所述至少一條隨機指令及所述初始化數據進行處理,以使所述至少一條隨機指令的格式和所述初始化數據的格式,與所述模擬微處理器的內存和用戶可見寄存器中所存儲的數據格式匹配中。3.根據權利要求1或2所述的方法,其特征在于,所述根據微處理器的原始寄存器傳輸級RTL代碼,生成比特流文件,具體包括:對所述原始RTL代碼中不可綜合的代碼和所述硬件仿真加速器中不能處理的代碼進行替換,生成替換RTL代碼;在所述替換RTL代碼中增加用于初始化所述用戶可見寄存器的第一邏輯代碼,生成被驗證RTL代碼;生成所述期望運行結果對應的第二邏輯代碼;對所述被驗證RTL代碼和所述第二邏輯代碼進行綜合布局,生成所述比特流文件。4.根據權利要求3所述的方法,其特征在于,所述根據所述硬件仿真加速器對所述至少一條隨機指令的運行結果和各所述隨機指令對應的期望運
    \t行結果,驗證所述微處理器的功能之后,還包括:若任意一條隨機指令的運行結果與其對應的期望運行結果不同,則重新運行該隨機指令,并采用調試波形文件對該隨機指令進行調試。5.根據權利要求2所述的方法,其特征在于,所述初始化數據包括:第一文件、虛頁號和第二文件,所述第一文件包括所述模擬微處理器的內存的初始化值,所述第二文件包括所述至少一條隨機指令的程序地址PC。6.根據權利要求5所述的方法,其特征在于,所述對所述至少一條隨機指令及所述初始化數據進行處理,具體包括:為每個虛頁號分配一個實頁號,并生成頁表,所述頁表用于保存所述虛頁號與所述實頁號之間的對應關系;根據所述頁表,把每條所述隨機指令的PC轉換為第一物理地址,并將每條第一物理地址對應的隨機指令合并至第三文件,所述第一物理地址為所述隨機指令的16進制編碼;根據所述頁表,把所述微處理器的內存的虛地址轉換為第二物理地址,并將每條第二物理地址對應的所述微處理器的內存的初始化值合并至第四文件,所述第二物理地址為所述微處理器的內存的虛地址的初始化值。7.根據權利要求3所述的方法,其特征在于,所述在所述替換RTL代碼中增加用于初始化所述用戶可見寄存器的第一邏輯代碼,生成被驗證RTL代碼包括:在所述替換RTL代碼中增加寄存器數組;在所述替換RTL代碼中增加所述第一邏輯代碼,生成所述被驗證RTL代碼,所述第一邏輯代碼用于讀取所述寄存器數組內每個寄存器的數值,并將所述每個寄存器的數...

    【專利技術屬性】
    技術研發人員:王朋宇尹夕振
    申請(專利權)人:龍芯中科技術有限公司
    類型:發明
    國別省市:北京;11

    網友詢問留言 已有0條評論
    • 還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。

    1
    主站蜘蛛池模板: 亚洲AV无码国产精品永久一区| 亚洲人成网亚洲欧洲无码久久| 国产拍拍拍无码视频免费| 亚洲中文字幕久久精品无码APP | 久久人妻少妇嫩草AV无码蜜桃| 内射人妻无码色AV天堂| 人妻少妇伦在线无码| 人妻aⅴ无码一区二区三区| 免费无码黄十八禁网站在线观看 | 黄A无码片内射无码视频| 日韩人妻无码一区二区三区久久| 天堂一区人妻无码| 无码精品人妻一区二区三区免费看| 无码人妻丰满熟妇区毛片18| 亚洲Av综合色区无码专区桃色| 好爽毛片一区二区三区四无码三飞| 亚洲日韩精品无码专区网址| 免费看国产成年无码AV片| 亚洲AV无码一区二区乱孑伦AS| 亚洲6080yy久久无码产自国产| 久久久久亚洲av无码专区蜜芽| 国产精品一级毛片无码视频| 亚洲AV无码一区二区三区网址| 无码无遮挡又大又爽又黄的视频| 亚欧无码精品无码有性视频| 色欲aⅴ亚洲情无码AV| 久久精品无码一区二区WWW| 亚洲AV人无码综合在线观看| 日本爆乳j罩杯无码视频| 人妻无码一区二区三区四区| 本道久久综合无码中文字幕| 国产精品无码无卡在线观看久| 无码av人妻一区二区三区四区| 日韩精品无码熟人妻视频| 亚洲日产无码中文字幕| 亚洲日韩中文无码久久| 一区二区三区无码视频免费福利| 亚洲国产精品成人AV无码久久综合影院 | 亚洲综合无码AV一区二区| 国产V片在线播放免费无码| 亚洲高清无码专区视频|