本發明涉及仿真器領域,特別是涉及一種處理器芯片仿真器。
背景技術:
處理器芯片內有用戶開發的用戶程序,在用戶程序的編寫和調試中,所使用的工具一般是仿真器。仿真器內使用包含產品處理器芯片各項功能的仿真芯片,用于模擬產品處理器芯片的工作行為,仿真芯片與仿真器其他部件(存放用戶程序的程序存儲器、存放數據的數據存儲器,以及用戶電腦上的集成開發環境連接等)配合實現用戶程序的仿真運行和各項調試功能。
對于含有片內XRAM(on-chip expanded RAM,外部隨機存儲器)的處理器芯片,現有的仿真器設計中,以仿真芯片替代產品芯片,仿真芯片內包含了與產品芯片功能、性能基本一致的XRAM模塊。隨著應用需求的細分,以及對數據正確性、安全性要求越來越高,有些處理器芯片內的XRAM已經開始帶有校驗位,一般是以字節(Byte)為單位配屬1位(bit)的校驗位,即8位數據位加1位校驗位構成1個字節的XRAM數據。同時考慮硬件設計簡單和高效,較多采用奇偶檢驗類的校驗位。在執行用戶代碼讀取XRAM內數據時,處理器芯片在硬件上會自動先檢測要讀取的目標地址XRAM內數據與其校驗位是否匹配,如果不匹配硬件上就會產生一個異常(例如,數據錯誤中斷標志等),供用戶代碼了解到XRAM內的目標數據發送過異常,由 用戶代碼進行處理。如果檢測到要讀取的目標地址XRAM內數據與其校驗位是匹配的,則用戶代碼可以正常讀取XRAM數據,與不帶有校驗位的傳統處理器芯片表現完全一致。所述處理器芯片在硬件上自動先檢測要讀取的目標地址XRAM內數據與其校驗位是否匹配對用戶程序時不可見的。上述結構和應用方式可以有效地保證XRAM內數據異常被及時發現和處理,在金融智能卡等對數據安全有較高要求的處理器芯片中已得到廣泛應用。XRAM在物理特性上具有上電值隨機的特性,帶有校驗位的XRAM也是同樣的,如此,上電時XRAM內數據和校驗位都是隨機值,就會出現上電時校驗位與數據不匹配的情況。以奇偶校驗為例,上電后XRAM內數據和校驗位不匹配的概率就是50%,且因為上電值隨機的特性,不匹配位置的分布也是每次上電隨機的。芯片上電后用戶代碼必須先初始化過(一般為寫入一次)要讀取的目標XRAM地址,才能確保正確讀取到數據,不會產生數據異常錯誤。但產品芯片和對應現有仿真器上都是采用相同結構、特性的XRAM模塊,上電都是隨機值,有匹配的可能性且位置隨機。這樣,用戶代碼在仿真器上調試、測試時,如果存在上電后代碼對某XRAM地址未初始化就讀取的問題,而由于上電值的隨機性,目標XRAM地址上數據與校驗位是匹配的,以奇偶校驗為例概率達到50%,就會掩藏掉所述的代碼問題。
技術實現要素:
本發明要解決的技術問題是提供一種處理器芯片仿真器,能方便用戶程序的開發、調試和測試,提高代碼開發效率,發現所有潛藏問題。
為解決上述技術問題,本發明的處理器芯片仿真器,包括:一仿真芯 片,一監控模塊;所述仿真芯片包括:一處理器,一XRAM存儲器;所述處理器通過標準數據/地址總線與XRAM存儲器連接,所述標準數據/地址總線同時引出仿真芯片,并與監控模塊連接;所述監控模塊通過復位信號線與處理器連接;
所述監控模塊通過復位信號線控制處理器處于復位狀態或工作狀態;所述處理器處于工作狀態時,通過標準數據/地址總線對XRAM存儲器進行讀寫操作;所述處理器處于復位狀態時,不能通過標準數據/地址總線訪問XRAM存儲器;所述監控模塊通過標準數據/地址總線對XRAM存儲器所有數據和校驗位進行寫入操作。
采用本發明的處理器芯片仿真器,在真實模擬產品芯片XRAM模塊功能、性能的情況下,仿真器能主動造成上電后所有XRAM存儲器校驗位都是與數據不匹配,保證用戶能夠準確發現代碼中所有“上電后代碼對某XRAM地址未初始化就讀取”的問題。方便了用戶程序的開發、調試和測試,有助于提高代碼開發效率,發現所有所述潛藏問題。
附圖說明
下面結合附圖和具體實施方式對本發明作進一步詳細的說明:
附圖是所述處理器芯片仿真器的結構示意圖。
具體實施方式
如圖所示,所述處理器芯片仿真器1在下面的實施例中,包括仿真芯片5,監控模塊3。所述仿真芯片5內包括處理器2、XRAM存儲器4。所述仿真芯片5內的處理器2通過標準數據/地址總線6與仿真芯片5內的XRAM 存儲器4連接,所述標準數據/地址總線6同時引出仿真芯片5,并與監控模塊3連接。所述監控模塊3通過復位信號線7與所述仿真芯片5內的處理器2連接。
所述處理器芯片仿真器1上電后,所述監控模塊3通過復位信號線7控制仿真芯片5內的處理器2處于復位狀態,此時處理器2不能通過標準數據/地址總線6訪問XRAM存儲器4,監控模塊3通過所述標準數據/地址總線6對XRAM存儲器4所有數據和校驗位進行寫入操作,所有數據區域寫入隨機數值,對應校驗位寫入與數據不匹配的校驗值。寫入完成后,所述監控模塊3通過復位信號線7控制仿真芯片5內的處理器2退出復位狀態,此時處理器2進入正常執行用戶代碼的工作狀態,可以通過標準數據/地址總線6訪問XRAM存儲器4,同時,監控模塊3也不再操作所述標準數據/地址總線6。
這樣,就在所述處理器芯片仿真器1上電后,處理器2開始執行用戶代碼前,制造了XRAM存儲器4內所有校驗位都是與數據不匹配的情況。同時,寫入的數據也是隨機值,與產品芯片內XRAM上電后數據為隨機值特性一致,可以真實模擬產品芯片XRAM的功能、性能。進入工作狀態后,處理器2執行用戶代碼,只要代碼中存在“上電后代碼對某XRAM地址未初始化就讀取”的問題,就一定能夠被發現出來。
以上通過具體實施方式對本發明進行了詳細的說明,但這些并非構成對本發明的限制。在不脫離本發明原理的情況下,本領域的技術人員還可做出許多變形和改進,這些也應視為本發明的保護范圍。