欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

嵌入式信號(hào)處理器模擬器的制作方法

文檔序號(hào):6437197閱讀:192來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):嵌入式信號(hào)處理器模擬器的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及本發(fā)明涉及微處理器及計(jì)算機(jī)系統(tǒng),更具體地說(shuō),本發(fā)明涉及一種能夠完成對(duì)DSP核的功能驗(yàn)證,并使DSP處理器具有實(shí)時(shí)仿真驗(yàn)證功能的嵌入式信號(hào)處理器模擬器。
背景技術(shù)
隨著集成電路系統(tǒng)復(fù)雜性的提高、芯片面積的增大,電路測(cè)試的復(fù)雜度呈指數(shù)增大。另一方面隨著芯片封裝技術(shù)的提高,也使傳統(tǒng)的針床測(cè)試方法變得不現(xiàn)實(shí)。為了減少芯片的測(cè)試花費(fèi)和所設(shè)計(jì)的芯片能盡快的推向市場(chǎng),采用合理的仿真驗(yàn)證方法或?qū)π酒捎每蓽y(cè)性設(shè)計(jì)已成為芯片設(shè)計(jì)的研究熱點(diǎn)。
現(xiàn)在研究人員通常采用形式驗(yàn)證的方法或基于仿真驗(yàn)證的方法對(duì)被測(cè)處理器核進(jìn)行仿真驗(yàn)證。由于采用形式驗(yàn)證的方法對(duì)被測(cè)處理器進(jìn)行驗(yàn)證時(shí),只能通過(guò)對(duì)處理器的某一部分進(jìn)行建模分析,很難應(yīng)用于整個(gè)處理器的驗(yàn)證工作,所以基于仿真的驗(yàn)證方法被越來(lái)越多地采用。基于仿真的驗(yàn)證方法又可分為基于軟件仿真器的仿真方法和基于硬件仿真器的方法?;谲浖抡嫫鞯姆抡娣椒▋?yōu)點(diǎn)是仿真設(shè)計(jì)簡(jiǎn)單、調(diào)試方便,便于發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤等優(yōu)點(diǎn)。然而這種的缺點(diǎn)是仿真速度太慢,適合于設(shè)計(jì)初期的仿真驗(yàn)證。而基于硬件仿真器的仿真方法其優(yōu)點(diǎn)為速度快,但其缺點(diǎn)也同樣明顯就是缺乏仿真調(diào)試手段,只能觀察有限的信號(hào)進(jìn)行觀察。

發(fā)明內(nèi)容
本發(fā)明的主要目的在于克服現(xiàn)有技術(shù)中的不足,提供一種新的能夠完成對(duì)DSP核的功能驗(yàn)證,并使DSP處理器具有實(shí)時(shí)仿真驗(yàn)證功能的嵌入式信號(hào)處理器模擬器。
為了解決上述技術(shù)問(wèn)題,本發(fā)明是通過(guò)以下技術(shù)方案實(shí)現(xiàn)的
本發(fā)明提供了一種嵌入式信號(hào)處理器模擬器,包括標(biāo)準(zhǔn)TAP模塊控制器20、指令寄存器31、掃描鏈寄存器32、旁路寄存器33、譯碼邏輯模塊34和IDCODE寄存器35,其特征在于還包括串并轉(zhuǎn)換電路模塊40、包裝電路模塊Wrapper70、和調(diào)試模塊Debugger50,所述標(biāo)準(zhǔn)TAP模塊控制器20、指令寄存器31、譯碼邏輯模塊34順序連接,掃描鏈寄存器32、調(diào)試模塊Debugger50、旁路寄存器33和IDCODE寄存器35并聯(lián)連接,一端與數(shù)據(jù)輸入TDI引腳3連接,另一端與多路開(kāi)關(guān)1連接。
本發(fā)明所述指令寄存器31包含掃描鏈選擇指令和調(diào)試指令。
本發(fā)明所述調(diào)試模塊Debugger50包括一個(gè)1K字的FIFO存儲(chǔ)空間和32個(gè)調(diào)試寄存器。
本發(fā)明所述調(diào)試模塊Debugger50包括4個(gè)斷點(diǎn)寄存器、1個(gè)斷點(diǎn)使能寄存器、1個(gè)單步寄存器、3個(gè)跟蹤寄存器、PC寄存器、當(dāng)前指令寄存器和DSP狀態(tài)寄存器。
本發(fā)明所述串并轉(zhuǎn)換電路模塊40包括DEBUG掃描鏈及串并轉(zhuǎn)換電路模塊41、Trace掃描鏈模塊及串并轉(zhuǎn)換電路模塊42、邊界掃描鏈模塊43、存儲(chǔ)器掃描鏈模塊及串并轉(zhuǎn)換電路模塊44和寄存器掃描鏈模塊及串并轉(zhuǎn)換電路模塊45,均以并聯(lián)方式連接,一端與數(shù)據(jù)輸入TDI引腳3連接,另一端與多路開(kāi)關(guān)2連接。
本發(fā)明所述調(diào)試模塊Debugger50包括斷點(diǎn)檢測(cè)單元模塊51、單步控制單元模塊52和跟蹤控制單元模塊53,均與串并轉(zhuǎn)換電路模塊40連接,其中斷點(diǎn)檢測(cè)單元模塊51、跟蹤控制單元模塊53還與多路開(kāi)關(guān)連接。
本發(fā)明所述調(diào)試模塊50還與被測(cè)處理器核10的數(shù)據(jù)通道模塊17以PC信號(hào)連接,調(diào)試模塊50與被測(cè)處理器核10以核停頓信號(hào)連接。
本發(fā)明所述包裝電路模塊Wrapper70包括分別與被測(cè)處理器核10的片上程序存儲(chǔ)器模塊11、片上數(shù)據(jù)存儲(chǔ)器模塊12和寄存器文件模塊13對(duì)應(yīng)的包裝電路14、15、16,均通過(guò)總線接口分別與存儲(chǔ)器掃描鏈及串并轉(zhuǎn)換電路44、寄存器掃描鏈及串并轉(zhuǎn)換電路45連接。
與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果是通過(guò)把調(diào)試模塊嵌入到被測(cè)處理器核中,在基于硬件仿真器上對(duì)其進(jìn)行仿真驗(yàn)證,從而解決了基于仿真器仿真方法速度慢的缺點(diǎn),同時(shí)又解決了基于硬件仿真器仿真方法缺乏調(diào)試手段的缺點(diǎn)。把調(diào)試模塊嵌入到被測(cè)DSP核中,使該模塊成為微處理器調(diào)試系統(tǒng)中關(guān)鍵的部分,同時(shí)使被測(cè)處理器具有實(shí)時(shí)仿真和調(diào)試功能。采用這種調(diào)試方法時(shí),調(diào)試中所獲得系統(tǒng)狀態(tài)和故障是系統(tǒng)真實(shí)工作的充分反映,能夠達(dá)到最大的調(diào)試準(zhǔn)確性和調(diào)試效率。


圖1為本發(fā)明實(shí)例EICM的結(jié)構(gòu)框圖;圖2為本發(fā)明實(shí)例EICM與處理器連接圖;圖3為本發(fā)明實(shí)例的串并轉(zhuǎn)換電路;圖4為本發(fā)明實(shí)例被測(cè)單元的Wrapper電路;圖5為本發(fā)明實(shí)例斷點(diǎn)檢測(cè)電路圖;圖6為本發(fā)明實(shí)例跟蹤電路圖;圖7為本發(fā)明實(shí)例TAP狀態(tài)轉(zhuǎn)換圖。
具體實(shí)施例方式
本發(fā)明提出對(duì)標(biāo)準(zhǔn)的JTAG協(xié)議進(jìn)行了部分修改和擴(kuò)充,完成了適用于DSP處理器的嵌入式模擬模塊(EICM)設(shè)計(jì)。這樣做的優(yōu)點(diǎn)在于能夠充分地利用JTAG接口提供的TAP控制器和指令寄存器,只需要簡(jiǎn)單地對(duì)DSP處理器內(nèi)核、內(nèi)存管理單元和JTAG接口進(jìn)行很少的修改,且不用進(jìn)行對(duì)處理器內(nèi)部寄存器替換,就能完成DSP處理器的實(shí)時(shí)仿真功能,而且完全保持與JTAG協(xié)議兼容性。
在設(shè)計(jì)EICM時(shí),采用了如圖1所示的結(jié)構(gòu),其與被測(cè)處理器核的連接電路如圖2。本EICM模擬器除了采用IEEE1149.1的標(biāo)準(zhǔn)TAP模塊和邊界掃描鏈控制模塊外,分別對(duì)JTAG指令寄存器的指令、串并轉(zhuǎn)換電路、包裝電路(Wrapper)進(jìn)行了設(shè)計(jì)。
增加的指令在EICM的JTAG指令寄存器中,實(shí)現(xiàn)了JTAG標(biāo)準(zhǔn)協(xié)議規(guī)定的旁路(BYBASS)、采樣(SAMPLE\PRELOAD)和外部測(cè)試(EXTEST)指令,及建議實(shí)現(xiàn)的內(nèi)部測(cè)試(INTEST)、鉗位(CLAMP)等指令。除了這些指令,為了有效地仿真驗(yàn)證被測(cè)處理器,還增加了掃描鏈選擇指令(CHAIN_SELECT)和調(diào)試指令(DEBUG)。
CHAIN_SELECT指令用來(lái)選擇特定的掃描鏈,當(dāng)指令寄存器為該指令時(shí),經(jīng)過(guò)一個(gè)數(shù)據(jù)周期移入移位寄存器的數(shù)據(jù)用來(lái)選擇掃描鏈。
DEBUG指令用來(lái)表示EICM和處理器處于調(diào)試模式。當(dāng)EICM接收到調(diào)試命令后,可以對(duì)選定的掃描鏈進(jìn)行不同的操作。
串并轉(zhuǎn)換電路為了解決基于掃描鏈的方法隨著測(cè)試單元的增加,測(cè)試時(shí)間和關(guān)鍵路徑時(shí)延也跟著增加的缺點(diǎn),在本文中使用了串并轉(zhuǎn)換電路,把串行的測(cè)試向量轉(zhuǎn)換成并行的測(cè)試向量,以并行訪問(wèn)的方式訪問(wèn)被測(cè)單元。為了實(shí)現(xiàn)把串行信號(hào)轉(zhuǎn)換成并行轉(zhuǎn)換信號(hào),在EICM中設(shè)置了3個(gè)串并轉(zhuǎn)換寄存器地址寄存器、數(shù)據(jù)寄存器和讀寫(xiě)控制寄存器。
包裝電路(Wrapper)設(shè)計(jì)EICM通過(guò)訪問(wèn)片外存儲(chǔ)器、片上數(shù)據(jù)存儲(chǔ)器、片上程序存儲(chǔ)器和片上寄存器觀察被測(cè)處理器核的運(yùn)行情況,同時(shí)由于EICM需對(duì)Debugger進(jìn)行設(shè)置和觀察,所以需對(duì)這些單元進(jìn)行包裝設(shè)計(jì)(Wrapper)。
通過(guò)仔細(xì)分析DSP處理器和Debugger工作情況,我們?cè)O(shè)計(jì)的DSP處理器和Debugger具有5種工作模式DSP處理器運(yùn)行而Debugger處于休眠狀態(tài)、DSP處理器運(yùn)行而Debugger處于監(jiān)視狀態(tài)、DSP處理器停頓而Debugger處于斷點(diǎn)等狀態(tài)、DSP處理器處于休眠而Debugger處于設(shè)置狀態(tài)和DSP處理器、Debugger都處于休眠狀態(tài)。從DSP處理器和Debugger的工作模式得到,DSP處理器和EICM控制器可以分時(shí)地訪問(wèn)存儲(chǔ)器、寄存器。在DSP處理休眠和DSP處理器處于停頓時(shí),EICM控制器可以訪問(wèn)存儲(chǔ)器和寄存器,而在DSP處理器的其它狀態(tài),EICM控制器不能訪問(wèn)存儲(chǔ)器和寄存器。因此,我們可以通過(guò)Debugger發(fā)出的核停頓信號(hào)控制多路開(kāi)關(guān)的選擇端,實(shí)現(xiàn)存儲(chǔ)器和寄存器的Wrapper設(shè)計(jì),其電路如圖4。采用并行訪問(wèn)方法,不會(huì)隨著被測(cè)單元的增加,關(guān)鍵路徑時(shí)延也隨著增大,只在原來(lái)的關(guān)鍵路徑中增加了一些邏輯選擇的時(shí)延。
參考附圖1~7,下面將對(duì)本發(fā)明具體實(shí)施例1進(jìn)行詳細(xì)描述。
本具體實(shí)施例1提供了一種嵌入式信號(hào)處理器模擬器,包括標(biāo)準(zhǔn)TAP模塊控制器20、指令寄存器31、掃描鏈寄存器32、旁路寄存器33、譯碼邏輯模塊34和IDCODE寄存器35,其特征在于還包括串并轉(zhuǎn)換電路模塊40、包裝電路模塊Wrapper70、和調(diào)試模塊Debugger50,所述標(biāo)準(zhǔn)TAP模塊控制器20、指令寄存器31、譯碼邏輯模塊34順序連接,掃描鏈寄存器32、調(diào)試模塊Debugger50、旁路寄存器33和IDCODE寄存器35并聯(lián)連接,一端與數(shù)據(jù)輸入TDI引腳3連接,另一端與多路開(kāi)關(guān)1連接。
其中指令寄存器31包含掃描鏈選擇指令和調(diào)試指令。
其中調(diào)試模塊Debugger50包括一個(gè)1K字的FIFO存儲(chǔ)空間和32個(gè)調(diào)試寄存器。
其中調(diào)試模塊Debugger50包括4個(gè)斷點(diǎn)寄存器、1個(gè)斷點(diǎn)使能寄存器、1個(gè)單步寄存器、3個(gè)跟蹤寄存器、PC寄存器、當(dāng)前指令寄存器和DSP狀態(tài)寄存器。
其中串并轉(zhuǎn)換電路模塊40包括DEBUG掃描鏈及串并轉(zhuǎn)換電路模塊41、Trace掃描鏈模塊及串并轉(zhuǎn)換電路模塊42、邊界掃描鏈模塊43、存儲(chǔ)器掃描鏈模塊及串并轉(zhuǎn)換電路模塊44和寄存器掃描鏈模塊及串并轉(zhuǎn)換電路模塊45,均以并聯(lián)方式連接,一端與數(shù)據(jù)輸入TDI引腳3連接,另一端與多路開(kāi)關(guān)2連接。
其中調(diào)試模塊Debugger50包括斷點(diǎn)檢測(cè)單元模塊51、單步控制單元模塊52和跟蹤控制單元模塊53,均與串并轉(zhuǎn)換電路模塊40連接,其中斷點(diǎn)檢測(cè)單元模塊51、跟蹤控制單元模塊53還與多路開(kāi)關(guān)連接。
其中調(diào)試模塊50還與被測(cè)處理器核10的數(shù)據(jù)通道模塊17以PC信號(hào)連接,調(diào)試模塊50與被測(cè)處理器核10以核停頓信號(hào)連接。
其中包裝電路模塊Wrapper70包括分別與被測(cè)處理器核10的片上程序存儲(chǔ)器模塊11、片上數(shù)據(jù)存儲(chǔ)器模塊12和寄存器文件模塊13對(duì)應(yīng)的包裝電路14、15、16,均通過(guò)總線接口分別與存儲(chǔ)器掃描鏈及串并轉(zhuǎn)換電路44、寄存器掃描鏈及串并轉(zhuǎn)換電路45連接。
為了實(shí)現(xiàn)對(duì)DSP的實(shí)時(shí)調(diào)試及測(cè)試功能,我們?cè)O(shè)計(jì)了基于JTAG的嵌入式調(diào)試模塊EICM。該模塊經(jīng)通信網(wǎng)絡(luò)70與測(cè)試裝置60進(jìn)行通信,傳遞芯片內(nèi)部數(shù)據(jù)和測(cè)試裝置60控制指令和數(shù)據(jù)。整個(gè)模塊主要有以下幾個(gè)子模塊組成(1)標(biāo)準(zhǔn)TAP模塊控制器20、指令寄存器31、掃描鏈寄存器32、旁路寄存器33、譯碼邏輯模塊34和IDCODE寄存器35,實(shí)現(xiàn)IEEE1149.1協(xié)議規(guī)定的標(biāo)準(zhǔn)JTAG接口功能;(2)串并轉(zhuǎn)換電路模塊40把串行的測(cè)試向量轉(zhuǎn)換成并行訪問(wèn)信號(hào),產(chǎn)生被測(cè)試單元的地址、數(shù)據(jù)和讀寫(xiě)控制信息對(duì)其進(jìn)行訪問(wèn),從而解決了基于掃描鏈測(cè)試方法中隨著被測(cè)信號(hào)的增加,測(cè)試速度也隨著減慢的缺點(diǎn);(3)包裝電路模塊Wrapper70為EICM模塊訪問(wèn)片上存儲(chǔ)器和寄存器提供了通道;(4)調(diào)試模塊Debugger50為EICM對(duì)被測(cè)處理器進(jìn)行調(diào)試提供了調(diào)試手段,如斷點(diǎn)、單步、跟蹤等調(diào)式方法。
EICM的結(jié)構(gòu)框圖如圖1所示。圖中的標(biāo)準(zhǔn)TAP模塊控制器20根據(jù)測(cè)試模式選擇信號(hào)(TMS)和測(cè)試時(shí)鐘(TCK)進(jìn)行狀態(tài)轉(zhuǎn)換,輸出狀態(tài)信息控制指令寄存器31、掃描鏈寄存器32、旁路寄存器33和IDCODE寄存器35的工作。通過(guò)標(biāo)準(zhǔn)TAP模塊控制器20就可以向指令寄存器31、掃描鏈寄存器32、旁路寄存器33和IDCODE寄存器35中移入和移出數(shù)據(jù)。然后根據(jù)指令寄存器31中的當(dāng)前指令和掃描鏈選擇寄存器32中的掃描鏈號(hào)選擇特定的掃描鏈,通過(guò)向該掃描鏈移入移出數(shù)據(jù)完成諸如斷點(diǎn)、單步、讀取DSP內(nèi)部寄存器、讀取內(nèi)部存儲(chǔ)器等各種操作。
TAP模塊控制器20TAP模塊控制器20實(shí)現(xiàn)IEEE1149.1協(xié)議所定義的測(cè)試接入口的功能,采用有限狀態(tài)機(jī)的方式實(shí)現(xiàn)。其狀態(tài)轉(zhuǎn)移圖如圖7所示,和IEEE 1149.1協(xié)議規(guī)定的狀態(tài)轉(zhuǎn)移圖一致。
圖7中,共定義了16個(gè)狀態(tài)。在每個(gè)TCK上升沿,狀態(tài)機(jī)根據(jù)當(dāng)前狀態(tài)和TMS的值進(jìn)行狀態(tài)轉(zhuǎn)換。當(dāng)TRST有效時(shí),狀態(tài)機(jī)處于復(fù)位(Test-Logic-Reset)態(tài),當(dāng)狀態(tài)機(jī)處于其他任何狀態(tài)時(shí),只要經(jīng)過(guò)5個(gè)以上周期TMS為1,狀態(tài)機(jī)也將回到復(fù)位態(tài)。數(shù)據(jù)周期開(kāi)始于Select-DR-Scan,在Capture-DR時(shí)將數(shù)據(jù)采集進(jìn)數(shù)據(jù)寄存器,Shift-DR態(tài)將數(shù)據(jù)寄存器串行移位進(jìn)行數(shù)據(jù)的輸入輸出,在Update-DR態(tài)將移入的數(shù)據(jù)鎖存并更新到電路結(jié)點(diǎn)中。指令周期和數(shù)據(jù)周期相似,從Select-IR-Scan開(kāi)始,Shift-IR態(tài)移入新的指令,Update-IR態(tài)用移入的指令更新當(dāng)前指令寄存器。
指令寄存器31指令寄存器31用于存放指令,分為移位級(jí)和鎖存級(jí)兩個(gè)寄存器。移位級(jí)寄存器在Shift-IR態(tài)時(shí)從TDI移入數(shù)據(jù),在Update-IR態(tài)時(shí),移位級(jí)寄存器中移入的數(shù)據(jù)被鎖存入鎖存級(jí)寄存器中,鎖存級(jí)寄存器中存放的就是當(dāng)前指令。根據(jù)當(dāng)前指令對(duì)數(shù)據(jù)寄存器進(jìn)行相應(yīng)的操作,就可以完成各種調(diào)試功能。
IEEE1149.1協(xié)議規(guī)定了必須實(shí)現(xiàn)的BYPASS、SAMPLE/PRELOAD和EXTEST指令,及建議實(shí)現(xiàn)的IDCODE、INTEST、CLAMP、CLAMPZ、HIGHZ等指令。除了這些指令,本文設(shè)計(jì)的EICM還進(jìn)行了擴(kuò)展,增加了CHAIN_SELECT指令和DEBUG指令,指令寄存器采用4位編碼,如表1所示。
表1指令編碼

CHAIN_SELECT指令用來(lái)選擇特定的掃描鏈,當(dāng)指令寄存器為該指令時(shí),經(jīng)過(guò)一個(gè)數(shù)據(jù)周期移入移位寄存器的數(shù)據(jù)用來(lái)選擇掃描鏈。在這個(gè)EICM中共設(shè)計(jì)了邊界掃描鏈(GLOBAL_BS_CHAIN)、調(diào)試掃描鏈(DEBUG_CHAIN)、寄存器掃描鏈(REGISTER_CHAIN)、跟蹤掃描鏈(TRACE_CHAIN)、片上程序存儲(chǔ)器掃描鏈(PROGRAM_CHAIN)和片上數(shù)據(jù)存儲(chǔ)器掃描鏈(DATA_CHAIN)。掃描鏈采用3位編碼,如表2所示。
表2掃描鏈編碼

DEBUG指令用來(lái)表示EICM和處理器處于調(diào)試模式。當(dāng)EICM接收到調(diào)試命令后,可以對(duì)選定的掃描鏈進(jìn)行不同的操作。如需設(shè)置調(diào)試寄存器,在調(diào)試掃描鏈選定的條件下,當(dāng)EICM接收到調(diào)試指令時(shí),使調(diào)試移位寄存器和調(diào)試掃描鏈處于使能狀態(tài),把串行的測(cè)試向量轉(zhuǎn)換成訪問(wèn)調(diào)試寄存器的并行向量,完成對(duì)調(diào)試寄存器的讀寫(xiě)操作。
串并轉(zhuǎn)換電路模塊40為了解決基于掃描鏈的方法隨著測(cè)試單元的增加,測(cè)試時(shí)間和關(guān)鍵路徑時(shí)延也跟著增加的缺點(diǎn),在本文中使用了DEBUG掃描鏈及串并轉(zhuǎn)換電路模塊41、Trace掃描鏈模塊及串并轉(zhuǎn)換電路模塊42、存儲(chǔ)器掃描鏈模塊及串并轉(zhuǎn)換電路模塊44和寄存器掃描鏈模塊及串并轉(zhuǎn)換電路模塊45,把串行的測(cè)試向量轉(zhuǎn)換成并行的測(cè)試向量,以并行訪問(wèn)的方式訪問(wèn)被測(cè)單元。為了實(shí)現(xiàn)把串行信號(hào)轉(zhuǎn)換成并行轉(zhuǎn)換信號(hào),在EICM中設(shè)置了3個(gè)串并轉(zhuǎn)換寄存器地址寄存器、數(shù)據(jù)寄存器和讀寫(xiě)控制寄存器。
當(dāng)進(jìn)行讀操作時(shí),在移位寄存器捕捉態(tài)時(shí),把從寄存器、存儲(chǔ)器或調(diào)試寄存器中讀出的數(shù)據(jù)裝入掃描鏈的最高位,同時(shí)在低位裝入由0/1代碼組成的測(cè)試代碼,在移位寄存器的移位態(tài),把移位寄存器中的數(shù)據(jù)移至測(cè)試裝置60;當(dāng)進(jìn)行寫(xiě)操作時(shí),在移位寄存器的移位態(tài),把數(shù)據(jù)從測(cè)試裝置60移至移位寄存器,在移位寄存器的更新態(tài),把移位的地址、讀寫(xiě)控制位和數(shù)據(jù)存入相應(yīng)的寄存器,在掃描鏈選擇信號(hào)的作用下對(duì)相應(yīng)的單元進(jìn)行寫(xiě)操作,其電路圖見(jiàn)圖3。
在對(duì)片上存儲(chǔ)器進(jìn)行操作時(shí),設(shè)存儲(chǔ)器的地址寬度為N位,數(shù)據(jù)寬度為M位,則完成對(duì)某個(gè)地址單元的讀或?qū)懶枰猅M(公式1)個(gè)時(shí)鐘周期。在對(duì)寄存器進(jìn)行操作時(shí),設(shè)處理器有I個(gè)寄存器,且其為J位。則基于串行訪問(wèn)的方法需TSR(公式2)個(gè)時(shí)鐘周期,而基于并行訪問(wèn)的方法需TPR(公式3)個(gè)時(shí)鐘周期。其中INT()函數(shù)為向上取整函數(shù)。
TM=N+M+1(1)TSR=I*J (2)TPR=INT(Log2I)+J+1---(3)]]>Wrapper實(shí)現(xiàn)(14,15,16)
EICM通過(guò)訪問(wèn)片外存儲(chǔ)器、片上數(shù)據(jù)存儲(chǔ)器、片上程序存儲(chǔ)器和片上寄存器觀察被測(cè)處理器核的運(yùn)行情況,同時(shí)由于EICM需對(duì)Debugger進(jìn)行設(shè)置和觀察,所以需對(duì)這些單元進(jìn)行包裝設(shè)計(jì)(Wrapper)。
如采用基于串行訪問(wèn)的方法進(jìn)行Wrapper設(shè)計(jì)時(shí),通常采用寄存器替換的方法把處理器核內(nèi)部的寄存器替換成由移位級(jí)寄存器和鎖存級(jí)寄存器組成的寄存器組,然后把這些被測(cè)單元串成掃描鏈,這樣隨著被測(cè)單元的增加,關(guān)鍵路徑也隨著增加,最終勢(shì)必影響處理器的性能。通過(guò)仔細(xì)分析DSP處理器和Debugger工作情況,我們?cè)O(shè)計(jì)的DSP處理器和Debugger具有5種工作模式DSP處理器運(yùn)行而Debugger處于休眠狀態(tài)、DSP處理器運(yùn)行而Debugger處于監(jiān)視狀態(tài)、DSP處理器停頓而Debugger處于斷點(diǎn)等狀態(tài)、DSP處理器處于休眠而Debugger處于設(shè)置狀態(tài)和DSP處理器、Debugger都處于休眠狀態(tài)。從DSP處理器和Debugger的工作模式得到,DSP處理器和EICM控制器可以分時(shí)地訪問(wèn)存儲(chǔ)器、寄存器。在DSP處理休眠和DSP處理器處于停頓時(shí),EICM控制器可以訪問(wèn)存儲(chǔ)器和寄存器,而在DSP處理器的其它狀態(tài),EICM控制器不能訪問(wèn)存儲(chǔ)器和寄存器。因此,我們可以通過(guò)Debugger發(fā)出的核停頓信號(hào)控制多路開(kāi)關(guān)的選擇端,實(shí)現(xiàn)存儲(chǔ)器和寄存器的Wrapper包裝電路14、15、16設(shè)計(jì),其電路如圖4。采用并行訪問(wèn)方法,不會(huì)隨著被測(cè)單元的增加,關(guān)鍵路徑時(shí)延也隨著增大,只在原來(lái)的關(guān)鍵路徑中增加了一些邏輯選擇的時(shí)延。在0.18微米工藝下,這些電路的時(shí)延為0.4納秒,這就是增加了EICM后對(duì)DSP處理器原來(lái)關(guān)鍵路經(jīng)時(shí)延的影響。
調(diào)試模塊Debugger50實(shí)現(xiàn)在設(shè)計(jì)調(diào)試模塊Debugger50時(shí),開(kāi)辟了1K字的FIFO存儲(chǔ)空間和32個(gè)調(diào)試寄存器,這些寄存器包括4個(gè)斷點(diǎn)寄存器、1個(gè)斷點(diǎn)使能寄存器、1個(gè)單步寄存器、3個(gè)跟蹤寄存器、PC(Program Counter)寄存器、當(dāng)前指令寄存器和DSP狀態(tài)寄存器等寄存器。
在Debugger中,設(shè)置了4個(gè)斷點(diǎn)寄存器和1個(gè)斷點(diǎn)使能寄存器斷點(diǎn)寄存器。斷點(diǎn)使能寄存器的低4位有效,用于使能4個(gè)斷點(diǎn)寄存器,其余位為保留位。斷點(diǎn)寄存器存放斷點(diǎn)指令地址,如指令地址的寬度不足32位,則高于指令地址寬度的空間被設(shè)置為零。當(dāng)斷點(diǎn)寄存器被使能時(shí),其值與PC值進(jìn)行比較,相等時(shí)給出CPUStall信號(hào)將DSP核流水線停頓下來(lái),其電路圖如圖5。單步寄存器用來(lái)控制DSP進(jìn)行單步操作,其最高位是使能位,用于使能單步調(diào)試功能,低31位用于存放執(zhí)行步數(shù)。當(dāng)單步寄存器使能時(shí),低位存入的步數(shù)在處理器運(yùn)行時(shí)每周期遞減,當(dāng)遞減到0時(shí)給出CPUStall信號(hào)停頓DSP流水線。單步執(zhí)行需要根據(jù)DSP處理器的流水線狀態(tài)進(jìn)行操作,只有當(dāng)流水線處于運(yùn)行狀態(tài)時(shí)才能將單步寄存器遞減。跟蹤寄存器用于設(shè)置存入跟蹤存儲(chǔ)器的信息、觸發(fā)條件和跟蹤方式。存入跟蹤存儲(chǔ)器的信息可以選擇,如PC值或指令值等。觸發(fā)條件可以設(shè)置為斷點(diǎn)觸發(fā)、指定異常觸發(fā)和計(jì)數(shù)器觸發(fā)等方式。跟蹤方式?jīng)Q定存儲(chǔ)器存滿后暫停DSP處理器還是覆蓋寫(xiě)入存儲(chǔ)器或停止跟蹤的設(shè)定,如圖6所示。
通過(guò)把EICM集成到被測(cè)處理器,在增加5個(gè)測(cè)試引腳和1萬(wàn)門(mén)左右(標(biāo)準(zhǔn)單元)的情況下,使被測(cè)處理器具有實(shí)時(shí)的仿真驗(yàn)證功能。
綜上,本發(fā)明實(shí)現(xiàn)的過(guò)程可以簡(jiǎn)單描述如下通過(guò)EICM模塊把測(cè)試裝置輸出60經(jīng)過(guò)通信網(wǎng)絡(luò)70的串行測(cè)試向量轉(zhuǎn)換成并行測(cè)試向量,以并行訪問(wèn)的方式訪問(wèn)被測(cè)DSP的片上程序存儲(chǔ)器模塊11、片上數(shù)據(jù)存儲(chǔ)器模塊12和寄存器文件模塊13等單元,然后再把測(cè)試結(jié)果以串行的方式輸出到測(cè)試裝置60,而測(cè)試裝置60通過(guò)監(jiān)視這些值與理論值比較,確定被測(cè)處理器核10的工作狀態(tài);同時(shí)EICM通過(guò)調(diào)試模塊Debugger50提供斷點(diǎn)、單步等調(diào)試手段對(duì)被測(cè)DSP核10進(jìn)行功能驗(yàn)證。
根據(jù)權(quán)利要求1所述的EICM模塊,其特征是測(cè)試裝置60通過(guò)標(biāo)準(zhǔn)的JTAG連接線中的模式選擇(TMS)和測(cè)試時(shí)鐘(TCK)引腳,經(jīng)測(cè)試訪問(wèn)端標(biāo)準(zhǔn)TAP模塊控制器20的狀態(tài)機(jī)控制,把測(cè)試指令存入測(cè)試指令寄存器31,指令寄存器31中的指令經(jīng)譯碼邏輯34譯碼后控制EICM的動(dòng)作行為。
測(cè)試裝置60通過(guò)標(biāo)準(zhǔn)的JTAG連接線中的數(shù)據(jù)輸入(TDI)和測(cè)試時(shí)鐘(TCK)引腳,把掃描鏈信息或旁路信息分別送入掃描鏈寄存器32或旁路寄存器33。
如果掃描鏈信息為調(diào)試掃描鏈信息,則測(cè)試裝置通過(guò)數(shù)據(jù)輸入(TDI)和測(cè)試時(shí)鐘(TCK)引腳把斷點(diǎn)、跟蹤和單步等信息分別經(jīng)調(diào)試掃描鏈及其串并轉(zhuǎn)換電路41送入斷點(diǎn)檢測(cè)單元模塊51、單步監(jiān)測(cè)單元模塊52和跟蹤監(jiān)測(cè)單元模塊53。如果掃描鏈信息為其它掃描鏈信息,則測(cè)試裝置通過(guò)數(shù)據(jù)輸入(TDI)和測(cè)試時(shí)鐘(TCK)引腳把測(cè)試信息傳輸?shù)较鄳?yīng)的Trace掃描鏈模塊及串并轉(zhuǎn)換電路模塊42、邊界掃描鏈模塊43、存儲(chǔ)器掃描鏈模塊及串并轉(zhuǎn)換電路模塊44和寄存器掃描鏈模塊及串并轉(zhuǎn)換電路模塊45。
然后,選定的掃描鏈及其串并轉(zhuǎn)換電路42、44、45以并行訪問(wèn)方式訪問(wèn)寄存器文件11、片上數(shù)據(jù)存儲(chǔ)器12、片上程序存儲(chǔ)器13和邊緣掃描鏈寄存器14。
在仿真驗(yàn)證過(guò)程中,斷點(diǎn)檢測(cè)單元模塊51與被測(cè)處理器核10的PC值比較,如相等則輸出核停頓信號(hào)給被測(cè)處理器核10;單步監(jiān)測(cè)單元模塊52根據(jù)輸入的單步信息,使處理器核10運(yùn)行一個(gè)時(shí)鐘給出核停頓信號(hào);跟蹤監(jiān)測(cè)單元模塊52根據(jù)輸入的跟蹤設(shè)置信息,把需記錄的信息存入FIFO中,起到一個(gè)嵌入式的邏輯分析儀作用。
數(shù)據(jù)輸出(TDO)和測(cè)試時(shí)鐘(TCK)引腳輸出測(cè)試結(jié)果,測(cè)試裝置60根據(jù)測(cè)試結(jié)果判斷被測(cè)處理器核10的狀態(tài)。
最后,還需要注意的是,以上列舉的僅是本發(fā)明的具體實(shí)施例。顯然,本發(fā)明不限于以上實(shí)施例,還可以有許多變形。本領(lǐng)域的普通技術(shù)人員能從本發(fā)明公開(kāi)的內(nèi)容直接導(dǎo)出或聯(lián)想到的所有變形,均應(yīng)認(rèn)為是本發(fā)明的保護(hù)范圍。
權(quán)利要求
1.一種嵌入式信號(hào)處理器模擬器,包括標(biāo)準(zhǔn)TAP模塊控制器(20)、指令寄存器(31)、掃描鏈寄存器(32)、旁路寄存器(33)、譯碼邏輯模塊(34)和IDCODE寄存器(35),其特征在于還包括串并轉(zhuǎn)換電路模塊(40)、包裝電路模塊Wrapper(70)、和調(diào)試模塊Debugger(50),所述標(biāo)準(zhǔn)TAP模塊控制器(20)、指令寄存器(31)、譯碼邏輯模塊(34)順序連接,掃描鏈寄存器(32)、調(diào)試模塊Debugger(50)、旁路寄存器(33)和IDCODE寄存器(35)并聯(lián)連接,一端與數(shù)據(jù)輸入TDI引腳(3)連接,另一端與多路開(kāi)關(guān)(1)連接。
2.根據(jù)權(quán)利要求1所述的嵌入式信號(hào)處理器模擬器,其特征在于所述指令寄存器(31)包含掃描鏈選擇指令和調(diào)試指令。
3.根據(jù)權(quán)利要求1所述的嵌入式信號(hào)處理器模擬器,其特征在于所述調(diào)試模塊Debugger(50)包括一個(gè)1K字的FIFO存儲(chǔ)空間和32個(gè)調(diào)試寄存器。
4.根據(jù)權(quán)利要求1所述的嵌入式信號(hào)處理器模擬器,其特征在于所述調(diào)試模塊Debugger(50)包括4個(gè)斷點(diǎn)寄存器、1個(gè)斷點(diǎn)使能寄存器、1個(gè)單步寄存器、3個(gè)跟蹤寄存器、PC寄存器、當(dāng)前指令寄存器和DSP狀態(tài)寄存器。
5.根據(jù)權(quán)利要求1所述的嵌入式信號(hào)處理器模擬器,其特征在于,所述串并轉(zhuǎn)換電路模塊(40)包括DEBUG掃描鏈及串并轉(zhuǎn)換電路模塊(41)、Trace掃描鏈模塊及串并轉(zhuǎn)換電路模塊(42)、邊界掃描鏈模塊(43)、存儲(chǔ)器掃描鏈模塊及串并轉(zhuǎn)換電路模塊(44)和寄存器掃描鏈模塊及串并轉(zhuǎn)換電路模塊(45),均以并聯(lián)方式連接,一端與數(shù)據(jù)輸入TDI引腳(3)連接,另一端與多路開(kāi)關(guān)(2)連接。
6.根據(jù)權(quán)利要求1所述的嵌入式信號(hào)處理器模擬器,其特征在于,所述調(diào)試模塊Debugger(50)包括斷點(diǎn)檢測(cè)單元模塊(51)、單步控制單元模塊(52)和跟蹤控制單元模塊(53),均與串并轉(zhuǎn)換電路模塊(40)連接,其中斷點(diǎn)檢測(cè)單元模塊(51)、跟蹤控制單元模塊(53)還與多路開(kāi)關(guān)連接。
7.根據(jù)權(quán)利要求1所述的嵌入式信號(hào)處理器模擬器,其特征在于,所述調(diào)試模塊(50)還與被測(cè)處理器核(10)的數(shù)據(jù)通道模塊(17)以PC信號(hào)連接,調(diào)試模塊(50)與被測(cè)處理器核(10)以核停頓信號(hào)連接。
8.根據(jù)權(quán)利要求1所述的嵌入式信號(hào)處理器模擬器,其特征在于,所述包裝電路模塊Wrapper(70)包括分別與被測(cè)處理器核(10)的片上程序存儲(chǔ)器模塊(11)、片上數(shù)據(jù)存儲(chǔ)器模塊(12)和寄存器文件模塊(13)對(duì)應(yīng)的包裝電路(14)、(15)、(16),均通過(guò)總線接口分別與存儲(chǔ)器掃描鏈及串并轉(zhuǎn)換電路(44)、寄存器掃描鏈及串并轉(zhuǎn)換電路(45)連接。
全文摘要
本發(fā)明公開(kāi)了一種微處理器及計(jì)算機(jī)系統(tǒng),旨在提供一種能夠完成對(duì)DSP核的功能驗(yàn)證,并使DSP處理器具有實(shí)時(shí)仿真驗(yàn)證功能的嵌入式信號(hào)處理器模擬器。本發(fā)明提供了一種嵌入式信號(hào)處理器模擬器,包括標(biāo)準(zhǔn)TAP模塊控制器,還包括串并轉(zhuǎn)換電路模塊、包裝電路模塊Wrapper、和調(diào)試模塊Debugger,所述標(biāo)準(zhǔn)TAP模塊控制器、指令寄存器、譯碼邏輯模塊順序連接,掃描鏈寄存器、調(diào)試模塊Debugger、旁路寄存器和IDCODE寄存器并聯(lián)連接,一端與數(shù)據(jù)輸入TDI引腳連接,另一端與多路開(kāi)關(guān)連接。本發(fā)明在基于硬件仿真器上對(duì)其進(jìn)行仿真驗(yàn)證,解決了基于仿真器仿真方法速度慢的缺點(diǎn),同時(shí)又解決了基于硬件仿真器仿真方法缺乏調(diào)試手段的缺點(diǎn)。
文檔編號(hào)G06F11/36GK1622052SQ20041008958
公開(kāi)日2005年6月1日 申請(qǐng)日期2004年12月15日 優(yōu)先權(quán)日2004年12月15日
發(fā)明者鄭德春, 劉鵬, 王維東, 姚慶棟 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
九江市| 页游| 望城县| 佳木斯市| 蛟河市| 洛浦县| 灵璧县| 崇左市| 大荔县| 新河县| 菏泽市| 邵阳县| 泰和县| 郯城县| 山东省| 泗洪县| 抚远县| 凤冈县| 漳浦县| 伊宁市| 奉节县| 山阴县| 咸宁市| 大邑县| 上思县| 元阳县| 独山县| 普定县| 饶阳县| 尼勒克县| 汉中市| 商河县| 北川| 桐柏县| 广灵县| 淮南市| 许昌市| 图片| 健康| 沂南县| 平乐县|