專利名稱:片上系統(tǒng)的片上調(diào)試器的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種片上系統(tǒng)的片上調(diào)試器,尤其涉及一種使用USB接口的片上調(diào)試器。
背景技術(shù):
集成電路芯片可分為4類1)CPU、2)存儲器(Memory)、3)硬化邏輯電路(Hard-wired Logic)和4)模擬電路。過去20年中,這4類芯片不但各自在復(fù)雜性和規(guī)模上不斷發(fā)展,并且互相滲透和結(jié)合,以致在世紀(jì)交替之際出現(xiàn)了所謂的片上系統(tǒng)(SoCSystem-On-Chip)。SoC的特征就是單芯片內(nèi)含有CPU、存儲器、硬化邏輯電路和模擬電路這4類電路,具有完整的系統(tǒng)功能。
SoC內(nèi)都有一個嵌入式CPU,而CPU必須有在它上面運(yùn)行的軟件(由CPU的指令所組成)才能工作,因此CPU上運(yùn)行的軟件的開發(fā)和調(diào)試是SoC開發(fā)和應(yīng)用的一個不可缺少的環(huán)節(jié)。為了有效地進(jìn)行SoC嵌入式CPU的軟件的開發(fā)和調(diào)試,SoC都有一個片上調(diào)試器(OCDOn-Chip-Debugger)。OCD可以逐條指令地控制CPU及SoC內(nèi)其他模塊的運(yùn)行,并把CPU及SoC內(nèi)其他模塊的運(yùn)行狀態(tài)(如寄存器和存儲器的內(nèi)容)通過一個外接端口送給SoC外的一個調(diào)試主機(jī)。OCD也能把調(diào)試主機(jī)上編譯好的軟件程序通過此外接端口下載到SoC上。
目前已公開的OCD的現(xiàn)有技術(shù)都是通過邊界掃描測試標(biāo)準(zhǔn)組織(JTAGJoint Test Action Group)串行口(serial port)、個人計算機(jī)的并行口(parallel port)和以太網(wǎng)(Ethernet)接口這樣的外接端口與調(diào)試主機(jī)相連的。圖1顯示了根據(jù)目前已有技術(shù)構(gòu)成的這樣一種片上調(diào)試系統(tǒng)。其中調(diào)試主機(jī)106包括有調(diào)試軟件107和并行口108。而待調(diào)試的SoC單芯片101包括嵌入式CPU、片上調(diào)試器(OCD)103以及JTAG端口104。調(diào)試主機(jī)106和SoC單芯片101通過JTAG-并行口轉(zhuǎn)換裝置105相互連接。
圖2所示的片上調(diào)試系統(tǒng)與圖1的技術(shù)方案相類似。不同點(diǎn)在于圖1中調(diào)試主機(jī)106中的并行口108用以太網(wǎng)口208替代,而JTAG-并行口轉(zhuǎn)換裝置105相應(yīng)地替換成JTAG-以太網(wǎng)口轉(zhuǎn)換裝置205。
與這些現(xiàn)有技術(shù)的相關(guān)專利和產(chǎn)品包括1)美國Advanced Micro Devices,Inc.公司的Parallel and serial debug port on aprocessor(美國專利第6,041,406號)。
2)美國Advanced Micro Devices,Inc.公司的Debug interface including operatingsystem access of a serial/parallel debug port(美國專利第5,978,902號)。
3)美國Macraigor公司的產(chǎn)品Wiggler、Raven、mpDemon。
在采用并行口接口的現(xiàn)有OCD技術(shù)中,由于受到并行口的速度限制,使得SoC芯片與調(diào)試主機(jī)之間的數(shù)據(jù)傳輸最高只能達(dá)到每秒幾兆比特的程度,遠(yuǎn)遠(yuǎn)不能適應(yīng)視頻圖象處理用SoC芯片的要求(每秒幾百兆比特)。采用以太網(wǎng)接口的現(xiàn)有OCD技術(shù)其數(shù)據(jù)傳輸速度雖然比并行口的速度高一些,但也只能達(dá)到每秒幾十兆比特的程度,依然不能適應(yīng)視頻圖象處理用SoC芯片的要求,而且以太網(wǎng)接口,特別是高速以太網(wǎng)接口的價格很高。
發(fā)明內(nèi)容
針對以上問題,本發(fā)明提出了一種用于對片上系統(tǒng)芯片進(jìn)行調(diào)試的片上調(diào)試器,包括片上調(diào)試器核,當(dāng)所述芯片的CPU工作在調(diào)試模式下時,所述片上調(diào)試器核逐條指令地控制所述CPU的運(yùn)行,并發(fā)送所述CPU以及所述芯片內(nèi)其他模塊的運(yùn)行狀態(tài)數(shù)據(jù);其中,所述片上調(diào)試器還包括USB核,所述USB核接收所述片上調(diào)試器核所發(fā)送的所述運(yùn)行狀態(tài)數(shù)據(jù),并以USB數(shù)據(jù)形式發(fā)送所述運(yùn)行狀態(tài)數(shù)據(jù);雙向fifo(first-in-first-out)緩沖器,所述fifo用來同步所述USB核與所述片上調(diào)試器核之間的數(shù)據(jù)傳輸;USB物理收發(fā)器,所述物理收發(fā)器完成從USB外部模擬信號到USB內(nèi)部數(shù)字信號的轉(zhuǎn)換、從USB內(nèi)部數(shù)字信號到USB外部模擬信號的轉(zhuǎn)換,以及USB時鐘信號的復(fù)原;USB連線,所述USB物理收發(fā)器的輸入和輸出USB模擬信號經(jīng)由所述USB連線與外部調(diào)試主機(jī)的USB接口進(jìn)行連接。
本發(fā)明還提出了一種用于含嵌入式CPU和其他電路的芯片設(shè)計和調(diào)試的調(diào)試系統(tǒng),包括安裝有調(diào)試軟件和連接端口的調(diào)試主機(jī);通過連線與所述調(diào)試主機(jī)相連接的待調(diào)試芯片,其中,所述芯片包括如上所述的片上調(diào)試器。
由于采用了數(shù)據(jù)傳輸速率更高且低成本的USB端口進(jìn)行數(shù)據(jù)傳輸,因此可以滿足視頻圖象處理用SoC芯片對高速率數(shù)據(jù)傳輸?shù)男枰?,且可以降低調(diào)試系統(tǒng)的成本。
通過以下結(jié)合附圖所進(jìn)行的詳細(xì)描述,本領(lǐng)域普通技術(shù)人員將會更加清楚本發(fā)明的特征、目的和優(yōu)點(diǎn)。其中,所附示圖包括圖1是現(xiàn)有技術(shù)中SoC片上調(diào)試系統(tǒng)的一種技術(shù)方案的示意圖;圖2是現(xiàn)有技術(shù)中SoC片上調(diào)試系統(tǒng)的另一種技術(shù)方案的示意圖;圖3是根據(jù)本發(fā)明的SoC片上調(diào)試系統(tǒng)的一種技術(shù)方案的示意圖;圖4顯示了根據(jù)本發(fā)明第一實(shí)施例的應(yīng)用于圖3所示片上調(diào)試系統(tǒng)的SoC片上調(diào)試器;圖5顯示了根據(jù)本發(fā)明第二實(shí)施例的應(yīng)用于圖3所示片上調(diào)試系統(tǒng)的SoC片上調(diào)試器;圖6顯示了根據(jù)本發(fā)明的第三實(shí)施例應(yīng)用于圖3所示片上調(diào)試系統(tǒng)的SoC片上調(diào)試器;具體實(shí)施方式
圖3顯示了根據(jù)本發(fā)明構(gòu)成的片上調(diào)試系統(tǒng)的一個實(shí)施例。除了用USB主機(jī)(USB host)308代替了圖1中的并行口108和圖2中的以太網(wǎng)口208、用USB核304代替了圖1和圖2中的JTAG模塊之外,其他與圖1和圖2的技術(shù)方案相類似。
整個SoC的片上調(diào)試器由5個部分組成1.OCD核103;2.雙向fifo(first-in-first-out)緩沖器3023.USB核304;4.USB物理收發(fā)器303;
5.USB 連線305。
根據(jù)SoC的實(shí)際需要,USB核可以放在SoC內(nèi)部,也可以放在SoC外部,USB物理收發(fā)器可以放在SoC內(nèi)部,也可以放在SoC外部,USB核,USB物理收發(fā)器與USB連線可以是片上調(diào)試器專用的,也可以除了用于片上調(diào)試器外,亦有其他用途,如把SoC與其他外圍設(shè)備連接起來。
實(shí)施例1圖4進(jìn)一步顯示了圖3中片上調(diào)試器的第一實(shí)施例構(gòu)成方塊圖。
其中,當(dāng)CPU工作在調(diào)試模式下時,OCD核103逐條指令地控制CPU的的運(yùn)行,并把CPU及SoC內(nèi)其他模塊的運(yùn)行狀態(tài)(如寄存器和存儲器的內(nèi)容)傳遞給USB端點(diǎn)(endpoints)。雖然圖中僅顯示了兩個USB端點(diǎn)402、403,但如同本領(lǐng)域普通技術(shù)人員所能夠理解的,也可以設(shè)置多于兩個USB端點(diǎn),其中至少一個USB端點(diǎn)是輸入(IN)端點(diǎn),至少一個USB端點(diǎn)是輸出(OUT)端點(diǎn)。這些USB端點(diǎn)402、USB端點(diǎn)403分別直接與一個單向fifo緩沖器406、407相連,這些緩沖器用于把數(shù)據(jù)傳輸于OCD核103與USB部件控制器404(USB devicecontroller)之間并對數(shù)據(jù)進(jìn)行緩沖。
USB部件控制器(USB device controller)404按照USB協(xié)議的Bulk或Isochronous模式,控制數(shù)據(jù)的傳輸。USB部件控制器需嚴(yán)格按照USB規(guī)范工作,是一個標(biāo)準(zhǔn)的模塊。
USB信息ROM408(Read-Only-Memory即只讀存儲器)用于存儲此USB設(shè)備的描述符。設(shè)備的描述符記錄了USB設(shè)備的一些通用信息和端點(diǎn)的配置信息,供USB部件控制器響應(yīng)主機(jī)來的設(shè)備請求時提取,然后送給主機(jī),以保證主機(jī)能識別此USB設(shè)備。設(shè)備的描述符包括配置描述符、接口描述符、端點(diǎn)描述符。端點(diǎn)描述符描述的端點(diǎn)配置如下
表1USB收發(fā)器405(USB transceiver)具有接收和發(fā)送兩個功能
1)接收來自外部的USB串行數(shù)據(jù)信號,對串行信號進(jìn)行NRZI反編碼,然后進(jìn)行串并轉(zhuǎn)換后,變?yōu)?bit的并行信號,送到USB部件控制器404。
2)把從USB部件控制器404來的8bit的并行信號轉(zhuǎn)換成串行信號,再進(jìn)行NRZI編碼后,發(fā)送到外部。
它具有一定的驅(qū)動能力,能夠在USB工作頻率下,完成USB數(shù)據(jù)的接收和發(fā)送。片上調(diào)試器與調(diào)試主機(jī)106通過USB連線305被連接起來。所述USB連線305較佳長度為1-3米。當(dāng)然根據(jù)實(shí)際應(yīng)用,也可以采用更長或更短的USB連線305。
在一種實(shí)施方式中,以上部件都被集成到SoC內(nèi)部。
實(shí)施例2圖5進(jìn)一步顯示了圖3中片上調(diào)試器的第二實(shí)施例構(gòu)成方塊圖。
為簡明起見,以下將省略圖5中與圖4相同部件的描述。與圖4所示的第一實(shí)施例所不同的是,在OCD核103與USB端點(diǎn)402、403之間,增加了JTAG電路502和JTAG-USB信號形式轉(zhuǎn)換電路503。這里的OCD核103具有與第一實(shí)施例相同的功能,但它能夠與傳統(tǒng)的JTAG接口相連。而JTAG電路502能夠按照J(rèn)TAG協(xié)議控制數(shù)據(jù)的傳輸。JTAG-USB信號形式轉(zhuǎn)換電路503則能夠把JTAG數(shù)據(jù)形式轉(zhuǎn)換成USB數(shù)據(jù)形式,或者把USB數(shù)據(jù)形式轉(zhuǎn)換成JTAG數(shù)據(jù)形式。
在一種實(shí)施方式中,以上的OCD核103與JTAG電路502部分被集成到SoC內(nèi)部,而其他部分則組成一個獨(dú)立的單元。
實(shí)施例3圖6進(jìn)一步顯示了圖3中片上調(diào)試器的第三實(shí)施例構(gòu)成方塊圖。
為簡明起見,以下將省略圖6中與圖4相同部件的描述。與圖4所示的第一實(shí)施例所不同的是,除了具有與第一實(shí)施例相同的功能之外,這里的USB部件控制器404還負(fù)責(zé)對片上調(diào)試器之外的USB端點(diǎn),如USB端點(diǎn)607,進(jìn)行控制。而這樣的USB端點(diǎn)607通過SoC內(nèi)部總線610與待調(diào)試芯片101中的其他處理部件進(jìn)行連接,如視頻處理器609和音頻處理器608。本實(shí)施例中,端點(diǎn)描述符描述的端點(diǎn)配置如下
表2在一種實(shí)施方式中,以上部件都集成到SoC內(nèi)部。在此實(shí)施方式中的USB端點(diǎn)不但在片上調(diào)試器中起到高速數(shù)據(jù)通道的作用,而且在此SoC中發(fā)揮非調(diào)試用高速輸入輸出的作用,例如把SoC中的所有其他部分(如視頻處理器、音頻處理器)與SoC外部的各種裝置和芯片連接起來。
權(quán)利要求
1.一種用于對片上系統(tǒng)芯片進(jìn)行調(diào)試的片上調(diào)試器,包括片上調(diào)試器核,當(dāng)所述芯片的CPU工作在調(diào)試模式下時,所述片上調(diào)試器核逐條指令地控制所述CPU的運(yùn)行,并發(fā)送所述CPU的運(yùn)行狀態(tài)數(shù)據(jù);其特征在于,所述片上調(diào)試器還包括USB核,所述USB核接收所述片上調(diào)試器核所發(fā)送的所述運(yùn)行狀態(tài)數(shù)據(jù),并以USB數(shù)據(jù)形式發(fā)送所述運(yùn)行狀態(tài)數(shù)據(jù);雙向FIFO緩沖器,所述FIFO緩沖器用來同步所述USB核與所述片上調(diào)試器核之間的數(shù)據(jù)傳輸;連接到所述USB核的USB物理收發(fā)器,所述USB物理收發(fā)器完成從USB外部模擬信號到USB內(nèi)部數(shù)字信號的轉(zhuǎn)換、從USB內(nèi)部數(shù)字信號到USB外部模擬信號的轉(zhuǎn)換,以及USB時鐘信號的復(fù)原;USB連線,所述USB物理收發(fā)器的輸入和輸出USB模擬信號經(jīng)由所述USB連線與外部調(diào)試主機(jī)的USB接口進(jìn)行連接。
2.如權(quán)利要求1所述的片上調(diào)試器,其特征在于,所述USB核進(jìn)一步包括與所述片上調(diào)試器核相連的至少兩個USB端點(diǎn),分別與所述至少兩個USB端點(diǎn)連接的至少兩個單向fifo緩沖器,所述單向fifo緩沖器用于把數(shù)據(jù)傳輸于所述OCD核與所述USB端點(diǎn)之間并對數(shù)據(jù)進(jìn)行緩沖;連接到所有所述USB端點(diǎn)的USB部件控制器,用于按照USB協(xié)議的數(shù)據(jù)傳輸形式對數(shù)據(jù)傳輸進(jìn)行控制;連接到所述USB部件控制器的USB收發(fā)器,用于在USB工作頻率下,完成USB數(shù)據(jù)的接收和發(fā)送;連接到所述USB部件控制器的USB信息ROM,用于存儲USB設(shè)備的描述符。
3.如權(quán)利要求1所述的片上調(diào)試器,其特征在于,所述USB核進(jìn)一步包括與所述片上調(diào)試器核相連的JTAG電路,用于按照J(rèn)TAG協(xié)議控制數(shù)據(jù)的傳輸;與所述JTAG電路相連的JTAG-USB信號形式轉(zhuǎn)換電路,用于把JTAG數(shù)據(jù)形式轉(zhuǎn)換成USB數(shù)據(jù)形式或者把USB數(shù)據(jù)形式轉(zhuǎn)換成JTAG數(shù)據(jù)形式;與所述JTAG-USB信號形式轉(zhuǎn)換電路相連的至少兩個USB端點(diǎn);分別與所述至少兩個USB端點(diǎn)連接的至少兩個單向fifo緩沖器,所述單向fifo緩沖器用于把數(shù)據(jù)傳輸于所述OCD核與所述USB端點(diǎn)之間并對數(shù)據(jù)進(jìn)行緩沖;連接到所有所述USB端點(diǎn)的USB部件控制器,用于按照USB協(xié)議的數(shù)據(jù)傳輸形式對數(shù)據(jù)傳輸進(jìn)行控制;連接到所述USB部件控制器的USB收發(fā)器,用于在USB工作頻率下,完成USB數(shù)據(jù)的接收和發(fā)送,連接到所述USB部件控制器的USB信息ROM,用于存儲USB設(shè)備的描述符。
4.如權(quán)利要求2所述的片上調(diào)試器,其特征在于,所述USB部件控制器還對所述USB核外的USB端點(diǎn)進(jìn)行控制。
5.如權(quán)利要求2或3所述的片上調(diào)試器,其特征在于,所述USB信息ROM用于存儲包括配置描述符、接口描述符、端點(diǎn)描述符在內(nèi)的USB設(shè)備的描述符。
6.如權(quán)利要求2-4中任一項(xiàng)所述的片上調(diào)試器,其特征在于,所述USB部件控制器按照USB協(xié)議的Bulk模式對數(shù)據(jù)傳輸進(jìn)行控制。
7.如權(quán)利要求2-4中任一項(xiàng)所述的片上調(diào)試器,其特征在于,所述USB部件控制器按照USB協(xié)議的Isochronous模式對數(shù)據(jù)傳輸進(jìn)行控制。
8.一種用于含嵌入式CPU和其他電路的芯片設(shè)計和調(diào)試的調(diào)試系統(tǒng),包括安裝有調(diào)試軟件和連接端口的調(diào)試主機(jī);通過連線與所述調(diào)試主機(jī)相連接的待調(diào)試芯片,其特征在于,所述芯片包括如權(quán)利要求1-4中任一項(xiàng)所述的片上調(diào)試器。
全文摘要
本發(fā)明提出一種適用于高速視頻圖象處理用SoC的片上調(diào)試器。這種片上調(diào)試器使用USB1.1或USB2.0作為外接端口與調(diào)試主機(jī)的USB接口相連,可以達(dá)到每秒4百兆比特的數(shù)據(jù)傳輸速度,滿足視頻圖象處理用SoC的要求。片上調(diào)試器的USB電路部分(稱為USB核)可以整合到SoC內(nèi),也可以放在SoC外。
文檔編號G06F13/38GK1779653SQ200410084598
公開日2006年5月31日 申請日期2004年11月26日 優(yōu)先權(quán)日2004年11月26日
發(fā)明者林濤, 林爭輝 申請人:上海芯華微電子有限公司