專利名稱:一種處理器芯片仿真器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種處理器芯片仿真器。
背景技術(shù):
處理器芯片內(nèi)有用戶開發(fā)的用戶程序,在用戶程序的編寫和調(diào)試中,所使用的工具一般是處理器芯片仿真器。仿真器內(nèi)使用包含產(chǎn)品處理器芯片各項(xiàng)功能的仿真芯片,用于模擬產(chǎn)品處理器芯片的工作行為,在功能和性能上均十分接近產(chǎn)品處理器芯片,仿真芯片與仿真器主機(jī)配合實(shí)現(xiàn)用戶程序的仿真運(yùn)行和各項(xiàng)調(diào)試功能。仿真芯片中除了包含產(chǎn)品處理器芯片的處理器核、功能模塊,以及所有寄存器、接口外,為了配合仿真器主機(jī)實(shí)現(xiàn)仿真調(diào)試功能還需要額外增加部分用于實(shí)現(xiàn)各項(xiàng)仿真調(diào)試功能的寄存器。例如實(shí)現(xiàn)斷點(diǎn)地址比較的特殊功能寄存器等,以及為了實(shí)現(xiàn)與仿真器主機(jī)進(jìn)行交互而增加的通信接口,及相應(yīng)的通過這個(gè)接口接收/發(fā)送數(shù)據(jù)的功能模塊。仿真器在工作時(shí)分為運(yùn)行模式和監(jiān)控模式。在運(yùn)行模式下完全模擬實(shí)際處理器芯片全速執(zhí)行用戶程序的狀態(tài),此時(shí),仿真芯片內(nèi)為實(shí)現(xiàn)調(diào)試功能而增加的寄存器,以及仿真芯片與仿真器主機(jī)間的通信接口對(duì)用戶程序而言都是不可見,也無法通過程序操作到。在停止執(zhí)行用戶程序,需要觀察、修改寄存器值時(shí),仿真器從運(yùn)行模式進(jìn)入監(jiān)控模式,仿真器主機(jī)通過與仿真芯片之間的通信接口可以訪問到仿真芯片內(nèi)的所有寄存器,此時(shí),仿真器主機(jī)也可以對(duì)仿真芯片內(nèi)用于實(shí)現(xiàn)各項(xiàng)仿真調(diào)試功能的寄存器進(jìn)行寫入和讀出的操作。從上述描述可以看至IJ,現(xiàn)有處理器芯片仿真器中,仿真芯片需要有一個(gè)額外的實(shí)現(xiàn)與仿真器主機(jī)通信的接口,以及通過這個(gè)接口接收/發(fā)送數(shù)據(jù)的額外功能模塊。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題提供一種處理器芯片仿真器,能簡(jiǎn)化仿真芯片接口,降低設(shè)計(jì)復(fù)雜度。為解決上述技術(shù)問題,本發(fā)明的處理器芯片仿真器,包括:仿真芯片,存儲(chǔ)器,管理模塊和監(jiān)控模塊;所述仿真芯片內(nèi)包含產(chǎn)品處理器芯片處理器核、功能模塊、所有寄存器和接口,以及用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器;所述管理模塊通過第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線與仿真芯片連接;所述管理模塊通過第二標(biāo)準(zhǔn)數(shù)據(jù)/地址總線與存儲(chǔ)器連接;所述管理模塊通過第三標(biāo)準(zhǔn)數(shù)據(jù)/地址總線與監(jiān)控模塊連接;所述仿真芯片在運(yùn)行模式和監(jiān)控模式下,都能讀寫除所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器以外的其所具有的所有寄存器,只有在監(jiān)控模式下,仿真芯片才能讀寫所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的多個(gè)寄存器;所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器的地址與產(chǎn)品處理器芯片寄存器地址不重疊,在監(jiān)控模式下,仿真芯片通過執(zhí)行與訪問產(chǎn)品處理器芯片寄存器相同,但目標(biāo)寄存器地址不同的程序語句來訪問所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器。
所述存儲(chǔ)器包含用戶程序區(qū)和用戶數(shù)據(jù)區(qū),分別用于存儲(chǔ)用戶程序和用戶數(shù)據(jù)。所述監(jiān)控模塊包含監(jiān)控程序區(qū)和監(jiān)控?cái)?shù)據(jù)區(qū),分別用于存儲(chǔ)監(jiān)控程序和監(jiān)控?cái)?shù)據(jù)。所述管理模塊,用于管理控制所述仿真器的工作;在運(yùn)行模式下,管理模塊內(nèi)與仿真芯片連接的第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線直接和管理模塊與存儲(chǔ)器連接的第二標(biāo)準(zhǔn)數(shù)據(jù)/地址總線對(duì)接;在監(jiān)控模式下,管理模塊內(nèi)與仿真芯片連接的第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線直接和管理模塊與監(jiān)控模塊連接的第三標(biāo)準(zhǔn)數(shù)據(jù)/地址總線對(duì)接。采用本發(fā)明的處理器芯片仿真器,仿真芯片中不再需要額外的實(shí)現(xiàn)與仿真器主機(jī)通信的接口(為具有較高通信效率,通常該接口為自定義的并口,至少需要10根以上信號(hào)線),及仿真芯片內(nèi)相應(yīng)的通過這個(gè)接口接收/發(fā)送數(shù)據(jù)的功能模塊,仿真器仍能在監(jiān)控模式下寫入和讀出仿真芯片內(nèi)的所有產(chǎn)品處理器芯片具有的寄存器,并仍可以對(duì)仿真芯片內(nèi)用于實(shí)現(xiàn)各項(xiàng)仿真調(diào)試功能額外增加的寄存器進(jìn)行寫入和讀出的操作。所需接口信號(hào)線的減少簡(jiǎn)化了仿真芯片的對(duì)外接口設(shè)計(jì),仿真芯片內(nèi)監(jiān)控模式下專用接收/發(fā)送數(shù)據(jù)功能模塊的裁剪,降低了仿真芯片設(shè)計(jì)復(fù)雜度。亦有助于提高仿真芯片和仿真器系統(tǒng)的穩(wěn)定性。
下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說明:附圖是所述處理器芯片仿真器一實(shí)施例結(jié)構(gòu)示意圖。
具體實(shí)施例方式在現(xiàn)有仿真器結(jié)構(gòu)中,存儲(chǔ)器通常都是放在仿真器主機(jī)中,而不在仿真芯片中,即存儲(chǔ)器相對(duì)于仿真芯片都是外掛的。存儲(chǔ)器內(nèi)有用戶程序區(qū)(CODE)和用戶數(shù)據(jù)區(qū)(DATA)。仿真芯片從存儲(chǔ)器的用戶程序區(qū)取程序語句執(zhí)行,對(duì)存儲(chǔ)器的用戶數(shù)據(jù)區(qū)可以寫入或讀取數(shù)據(jù)。仿真芯片與仿真器主機(jī)上的存儲(chǔ)器芯片通過標(biāo)準(zhǔn)數(shù)據(jù)/地址總線連接,仿真芯片在執(zhí)行用戶程序時(shí),通過所述數(shù)據(jù)/地址總線讀取存儲(chǔ)器中用戶程序區(qū)的用戶程序,讀取或?qū)懭氪鎯?chǔ)器中用戶數(shù)據(jù)區(qū)的用戶數(shù)據(jù)。如附圖所示,所述處理器芯片仿真器,包括:仿真芯片1,存儲(chǔ)器3,管理模塊2和監(jiān)控模塊4。仿真芯片I內(nèi)包含產(chǎn)品處理器芯片處理器核、功能模塊、所有寄存器和接口,以及用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的多個(gè)寄存器12、13等,所述仿真芯片I通過第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線5與管理模塊2連接。在運(yùn)行模式和監(jiān)控模式下,仿真芯片I都能讀寫所具有的除用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器以外的所有寄存器;只有在監(jiān)控模式下,仿真芯片I才能讀寫用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器12、13等。所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器12、13等的地址與產(chǎn)品處理器芯片寄存器地址不重疊。在監(jiān)控模式下,仿真芯片I通過執(zhí)行與訪問產(chǎn)品處理器芯片寄存器相同的程序語句(但語句中的目標(biāo)寄存器地址不同)來訪問所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器12、13等。管理模塊2包含三條標(biāo)準(zhǔn)數(shù)據(jù)/地址總線,通過第一數(shù)據(jù)/地址總線5實(shí)現(xiàn)管理模塊2與仿真芯片I連接,通過第三數(shù)據(jù)/地址總線7實(shí)現(xiàn)管理模塊2與監(jiān)控模塊4連接,通過第二數(shù)據(jù)/地址總線6實(shí)現(xiàn)管理模塊2與存儲(chǔ)器3連接。在運(yùn)行模式下,管理模塊2內(nèi)與仿真芯片I連接的第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線5直接和與存儲(chǔ)器3連接的第二標(biāo)準(zhǔn)數(shù)據(jù)/地址總線6對(duì)接;在監(jiān)控模式下,管理模塊2內(nèi)與仿真芯片I連接的第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線5直接和與監(jiān)控模塊4連接的第三標(biāo)準(zhǔn)數(shù)據(jù)/地址總線7對(duì)接。存儲(chǔ)器3包含用戶程序區(qū)8和用戶數(shù)據(jù)區(qū)9。監(jiān)控模塊4包含監(jiān)控程序區(qū)10和監(jiān)控?cái)?shù)據(jù)區(qū)11。這樣,在運(yùn)行模式下,管理模塊2內(nèi)與仿真芯片I連接的第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線5直接和與存儲(chǔ)器3連接的第二標(biāo)準(zhǔn)數(shù)據(jù)/地址總線6形成對(duì)接,仿真芯片I可以直接訪問存儲(chǔ)器3內(nèi)的用戶程序區(qū)8和用戶數(shù)據(jù)區(qū)9,與產(chǎn)品處理器芯片工作時(shí)訪問存儲(chǔ)器中用戶程序區(qū)和用戶數(shù)據(jù)區(qū)的狀態(tài)一致,達(dá)到了模擬產(chǎn)品處理器芯片工作狀態(tài)的效果。在監(jiān)控模式下,管理模塊4內(nèi)與仿真芯片I連接的第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線5直接和與監(jiān)控模塊4連接的第三標(biāo)準(zhǔn)數(shù)據(jù)/地址總線7對(duì)接,此時(shí),仿真芯片I通過讀取并執(zhí)行監(jiān)控模塊4內(nèi)監(jiān)控程序區(qū)10的寫寄存器程序語句,可以把目標(biāo)值寫入仿真芯片I內(nèi)所有地址的寄存器,包括產(chǎn)品處理器芯片有的寄存器以及用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器12、13等。仿真芯片I通過讀取并執(zhí)行監(jiān)控模塊4內(nèi)監(jiān)控程序區(qū)10的讀寄存器和寫數(shù)據(jù)區(qū)程序語句,仿真芯片I可以讀取到所有寄存器內(nèi)的數(shù)據(jù),并把讀取到的寄存器數(shù)據(jù)寫入到監(jiān)控模塊4內(nèi)的監(jiān)控?cái)?shù)據(jù)區(qū)11,包括產(chǎn)品處理器芯片有的寄存器以及用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器12、13等。這樣就實(shí)現(xiàn)了監(jiān)控模式下仿真器對(duì)仿真芯片I內(nèi)所有寄存器的寫入和讀出操作。以上通過具體實(shí)施方式
和實(shí)施例對(duì)本發(fā)明進(jìn)行了詳細(xì)的說明,但這些并非構(gòu)成對(duì)本發(fā)明的限制。在不脫離本發(fā)明原理的情況下,本領(lǐng)域的技術(shù)人員還可做出許多變形和改進(jìn),這些也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種處理器芯片仿真器,其特征在于,包括: 仿真芯片,存儲(chǔ)器,管理模塊和監(jiān)控模塊;所述仿真芯片內(nèi)包含產(chǎn)品處理器芯片的處理器核、功能模塊、所有寄存器和接口,以及用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的多個(gè)寄存器; 所述管理模塊通過第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線與仿真芯片連接;所述管理模塊通過第二標(biāo)準(zhǔn)數(shù)據(jù)/地址總線與存儲(chǔ)器連接;所述管理模塊通過第三標(biāo)準(zhǔn)數(shù)據(jù)/地址總線與監(jiān)控模塊連接; 所述仿真芯片在運(yùn)行模式和監(jiān)控模式下,能讀寫除所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器以外的其所具有的所有寄存器,只有在監(jiān)控模式下,仿真芯片才能讀寫所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的多個(gè)寄存器; 所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器的地址與產(chǎn)品處理器芯片寄存器地址不重疊,在監(jiān)控模式下,仿真芯片通過執(zhí)行與訪問產(chǎn)品處理器芯片寄存器相同,但目標(biāo)寄存器地址不同的程序語句來訪問所述用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器。
2.如權(quán)利要求1所述的仿真器,其特征在于:所述存儲(chǔ)器包含用戶程序區(qū)和用戶數(shù)據(jù)區(qū),分別用于存儲(chǔ)用戶程序和用戶數(shù)據(jù)。
3.如權(quán)利要求1所述的仿真器,其特征在于:所述監(jiān)控模塊包含監(jiān)控程序區(qū)和監(jiān)控?cái)?shù)據(jù)區(qū),分別用于存儲(chǔ)監(jiān)控程序和監(jiān)控?cái)?shù)據(jù)。
4.如權(quán)利要求1所述的仿真器,其特征在于:所述管理模塊,用于管理控制所述仿真器的工作;在運(yùn)行模式下,管理模塊內(nèi)與仿真芯片連接的第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線直接和管理模塊內(nèi)與存儲(chǔ)器連接的第二標(biāo)準(zhǔn)數(shù)據(jù)/地址總線對(duì)接;在監(jiān)控模式下,管理模塊內(nèi)與仿真芯片連接的第一標(biāo)準(zhǔn)數(shù)據(jù)/地址總線直接和管理模塊內(nèi)與監(jiān)控模塊連接的第三標(biāo)準(zhǔn)數(shù)據(jù)/地址總線對(duì)接。
全文摘要
本發(fā)明公開了一種處理器芯片仿真器,包括仿真芯片,存儲(chǔ)器,管理模塊和監(jiān)控模塊。仿真芯片內(nèi)包含用于實(shí)現(xiàn)仿真調(diào)試功能額外增加的寄存器,該寄存器僅在監(jiān)控模式下可以訪問,且地址與產(chǎn)品處理器芯片寄存器地址不重疊;在監(jiān)控模式下仿真芯片通過執(zhí)行與訪問產(chǎn)品處理器芯片寄存器相同的程序語句來訪問所述額外增加的寄存器。在運(yùn)行模式下管理模塊內(nèi)與仿真芯片連接的標(biāo)準(zhǔn)數(shù)據(jù)/地址總線和與存儲(chǔ)器連接的標(biāo)準(zhǔn)數(shù)據(jù)/地址總線對(duì)接;在監(jiān)控模式下管理模塊內(nèi)與仿真芯片連接的標(biāo)準(zhǔn)數(shù)據(jù)/地址總線和與監(jiān)控模塊連接的標(biāo)準(zhǔn)數(shù)據(jù)/地址總線對(duì)接。本發(fā)明簡(jiǎn)化了仿真芯片的對(duì)外接口設(shè)計(jì),降低了仿真芯片設(shè)計(jì)復(fù)雜度,亦有助于提高仿真芯片和仿真器系統(tǒng)的穩(wěn)定性。
文檔編號(hào)G06F11/26GK103207823SQ201210010278
公開日2013年7月17日 申請(qǐng)日期2012年1月13日 優(yōu)先權(quán)日2012年1月13日
發(fā)明者許國(guó)泰 申請(qǐng)人:上海華虹集成電路有限責(zé)任公司