微處理器功能驗證設(shè)備及微處理器功能驗證方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及集成電路開發(fā)技術(shù)領(lǐng)域,尤其涉及一種微處理器功能驗證設(shè)備及微處理器功能驗證方法。
【背景技術(shù)】
[0002]人類社會的信息化程度隨著電子信息技術(shù)的飛速發(fā)展而不斷提高,作為電子信息技術(shù)基礎(chǔ)的集成電路技術(shù),其指數(shù)級的增長趨勢是推動電子信息技術(shù)飛速增長的重要源動力之一。根據(jù)國際半導體技術(shù)路線藍圖的預測報告指出,從2013年到2026年,微處理器和高性能ASIC的集成度仍將以3年翻一番的速度增長。然而,本就嚴重滯后于設(shè)計和制造能力的集成電路驗證能力,將遇到前所未有的巨大挑戰(zhàn)。其中,功能驗證又是驗證中最為耗費人力和物力的階段??梢灶A計,功能驗證仍將是整個微處理器設(shè)計周期中的瓶頸環(huán)節(jié)。
[0003]功能驗證的目的是確保待驗證設(shè)計的行為與功能設(shè)計規(guī)范的一致。因此,待驗證設(shè)計的結(jié)果檢查機制是功能驗證中非常關(guān)鍵的環(huán)節(jié)。結(jié)果檢查機制包括貫穿整個測試程序的檢查,即實時檢查,也有直接在測試程序結(jié)束后的測試結(jié)束檢查。依靠人工觀察判斷需要耗費大量的專家時間,且容易出錯,特別是對于輸出結(jié)果眾多時,這種方法完全不能適用。目前,使用待驗證設(shè)計的參考模型檢查是最為便捷,且最接近功能完備的方法。但是目前參考模型復雜,則基于參考模型的功能驗證的工程量大,因此對待驗證設(shè)計的功能檢查效率低。
【發(fā)明內(nèi)容】
[0004]本發(fā)明實施例通過提供一種微處理器功能驗證設(shè)備及微處理器功能驗證方法,解決了現(xiàn)有技術(shù)對待驗證設(shè)計的功能檢查效率低的技術(shù)問題。
[0005]第一方面,本發(fā)明實施例提供了一種微處理器功能驗證設(shè)備,包括:指令集仿真器,比較器,監(jiān)視器,輸入接口,RTL模型;
[0006]所述指令集仿真器,用于執(zhí)行測試程序產(chǎn)生階段性參考數(shù)據(jù)文件;
[0007]所述比較器,用于從所述指令集仿真器中讀取所述階段性參考數(shù)據(jù)文件;
[0008]所述輸入接口,用于加載所述測試程序到待驗證設(shè)計的存儲單元;
[0009]所述監(jiān)視器,用于捕捉所述待驗證設(shè)計仿真中的待驗證信號輸出給所述比較器;
[0010]所述比較器,還用于將所述階段性參考數(shù)據(jù)文件中的參考數(shù)據(jù)與所述待驗證信號進行對比是否一致;
[0011]所述RTL模型,用于逐周期從所述待驗證設(shè)計讀取所述待驗證設(shè)計的部分內(nèi)部信號,以進行裁決所述待驗證設(shè)計的行為是否與所述RTL模型的行為一致。
[0012]優(yōu)選的,所述RTL模型包括:指令分發(fā)單元,執(zhí)行單元,寫回單元,異常產(chǎn)生單元,程序計數(shù)產(chǎn)生單元,旁路模型單元,寄存器-存儲器模型單元,裁決單元;
[0013]所述指令分發(fā)單元,用于將所述部分內(nèi)部信號中與指令讀取相關(guān)的信號處理成歸類指令碼輸出到所述執(zhí)行單元;
[0014]所述寄存器-存儲器模型單元,用于基于寫回信息模擬所述待驗證設(shè)計的寫回功能,將寫寄存器的流水級信息輸出到所述寄存器旁路模型單元,并將寫寄存器的值或?qū)懘鎯ζ鞯闹递敵龅剿鰣?zhí)行單元;
[0015]所述寄存器旁路模型單元,用于讀取寫讀寄存器的值按照流水級的約束輸出到所述執(zhí)行單元;
[0016]所述執(zhí)行單元,用于模擬所述待驗證設(shè)計的指令執(zhí)行過程,將指令執(zhí)行結(jié)果輸出到所述寫回單元、所述異常產(chǎn)生單元和所述程序計數(shù)產(chǎn)生單元;
[0017]所述寫回單元,用于基于寫寄存器的值或?qū)懘鎯ζ鞯闹?,輸出當前周期所需所述寫回信息到所述寄存?存儲器模型單元和所述裁決單元;
[0018]所述異常產(chǎn)生單元,用于根據(jù)所述指令執(zhí)行結(jié)果判斷當前是否應(yīng)該產(chǎn)生異常,并將異常判斷結(jié)果輸出到所述裁決單元;
[0019]所述程序計數(shù)產(chǎn)生單元,用于根據(jù)所述指令執(zhí)行結(jié)果判斷當前是否有跳轉(zhuǎn)發(fā)生,并將跳轉(zhuǎn)判斷結(jié)果輸出到所述裁決單元;
[0020]所述裁決單元,用于將所述寫回信息、所述異常判斷結(jié)果、所述跳轉(zhuǎn)判斷結(jié)果與所述部分內(nèi)部信號對比,從而裁決出所述待驗證設(shè)計的行為是否與所述RTL模型的行為一致。
[0021]第二方面,本發(fā)明實施例還提供了一種微處理器功能驗證方法,包括:
[0022]S1:通過指令集仿真器執(zhí)行測試程序產(chǎn)生階段性參考數(shù)據(jù)文件;
[0023]S2:啟動所述待驗證設(shè)計和RTL模型進行寄存器傳輸級仿真,通過監(jiān)視器捕捉所述待驗證設(shè)計仿真中的待驗證信號輸出到所述比較器;
[0024]S3:所述比較器從所述階段性參考數(shù)據(jù)文件中讀取當前組參考數(shù)據(jù);
[0025]S4:所述RTL模型逐周期從所述待驗證設(shè)計中讀取部分內(nèi)部信號,以進行裁決所述待驗證設(shè)計的行為是否與所述RTL模型的行為一致,若是則執(zhí)行S5,否則仿真結(jié)束;
[0026]S5:在到達比較器的階段性檢查點時,所述比較器比較所述當前組參考數(shù)據(jù)與當前捕捉到的所述待驗證信號是否一致,是則執(zhí)行S6,否則仿真結(jié)束;
[0027]S6:判斷仿真是否就此結(jié)束,若是則仿真結(jié)束,否則返回S3。
[0028]優(yōu)選的,在所述S4中,所述RTL模型逐周期從所述待驗證設(shè)計中讀取部分內(nèi)部信號,以進行裁決所述待驗證設(shè)計的行為是否與所述RTL模型的行為一致,包括:
[0029]所述RTL模型在每個仿真周期從所述待驗證設(shè)計中讀取所述部分內(nèi)部信號;
[0030]所述RTL模型將所述部分內(nèi)部信號與所述RTL模型內(nèi)部自身產(chǎn)生的數(shù)據(jù)進行對比;
[0031]RTL模型根據(jù)對比結(jié)果判斷所述待驗證設(shè)計的行為是否與所述RTL模型的行為一致。
[0032]優(yōu)選的,在所述SI中,所述通過指令集仿真器執(zhí)行測試程序產(chǎn)生階段性參考數(shù)據(jù)文件之后,還包括:
[0033]將所述階段性參考數(shù)據(jù)文件加載到所述比較器;
[0034]所述比較器按照是否包含指定格式對所述階段性參考數(shù)據(jù)文件進行劃分成多組參考數(shù)據(jù),其中,所述指定格式包括比較標識。
[0035]優(yōu)選的,在所述S5中,所述比較器比較所述當前組參考數(shù)據(jù)與當前捕捉到的所述待驗證信號是否一致,包括:
[0036]所述比較器判斷所述當前組參考數(shù)據(jù)中是否存在所述比較標識;
[0037]若所述當前組參考數(shù)據(jù)中存在所述比較標識,則表明到達所述階段性檢查點。
[0038]優(yōu)選的,在所述S6中,所述判斷仿真是否就此結(jié)束,具體為:
[0039]向所述待驗證設(shè)計輸入所述測試程序結(jié)束,則判斷為仿真需要就此結(jié)束。
[0040]本發(fā)明實施例中提供的一個或多個技術(shù)方案,至少具有如下技術(shù)效果或優(yōu)點:
[0041]1、由于采用了包括指令集仿真器,比較器,監(jiān)視器,輸入接口,RTL模型的微處理器功能驗證設(shè)備,減少了參考模型的復雜度,基于參考模型的功能驗證的工程量大大縮小,一方面:比較器在不到階段性檢測點就不進行比較操作,因此節(jié)省了比較器做一致檢查時耗費的仿真時間,另一方面:RTL模型每個仿真周期都從待驗證設(shè)計讀取部分內(nèi)部信號做實時比較,以及比較器逐個周期讀取一組待驗證信號與參考數(shù)據(jù)進行對比,均是在發(fā)現(xiàn)不一致時就會有反饋,因此這兩方面的結(jié)合有效保證了能夠快速發(fā)現(xiàn)待驗證設(shè)計中的錯誤,因此有效解決了現(xiàn)有技術(shù)中對待驗證設(shè)計的功能檢查效率低的技術(shù)問題,從而實現(xiàn)了高效快速的功能檢查,最終提尚了驗證效率。
[0042]2、由于RTL模型作實時比較與指令集仿真器提供參考數(shù)據(jù)用于比較器做一致檢查的雙重保障,從而保證了對待驗證設(shè)計所存在的錯誤定位的準確度。
【附圖說明】
[0043]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)提供的附圖獲得其他的附圖。
[0044]圖1為本發(fā)明實施例中微處理器功能驗證設(shè)備的總體框圖;
[0045]圖2為本發(fā)明實施例中RTL模型的