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

一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng)與方法

文檔序號(hào):6427790閱讀:172來(lái)源:國(guó)知局
專利名稱:一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng)與方法
技術(shù)領(lǐng)域
本發(fā)明涉及一種SoC的監(jiān)測(cè)調(diào)試系統(tǒng)與方法,尤其涉及一種基于串口的多層AHB 總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng)與方法。
背景技術(shù)
在傳統(tǒng)的單層AHB (Advanced High-performance Bus,先進(jìn)高性能總線)總線架構(gòu)SoC (System on Chip,片上系統(tǒng))中,多個(gè)AHB主設(shè)備連接在一條AHB總線上,同一時(shí)刻只能有一個(gè)AHB主設(shè)備占有總線,制約了整個(gè)系統(tǒng)的數(shù)據(jù)傳輸帶寬。在高端通信及高性能多媒體應(yīng)用領(lǐng)域,往往需要很強(qiáng)的實(shí)時(shí)數(shù)據(jù)處理能力,因此系統(tǒng)中的多個(gè)AHB主設(shè)備需要同時(shí)訪問(wèn)總線。這種情況下,可以采用多層AHB總線架構(gòu)SoC,其典型的結(jié)構(gòu)如圖1所示,這里以含有三條AHB總線的結(jié)構(gòu)為例進(jìn)行說(shuō)明。AHB總線之間通過(guò)AHB-AHB橋相連,各條AHB 總線上連接有AHB主設(shè)備與AHB從設(shè)備,還可連接AHB-APB橋以訪問(wèn)APB從設(shè)備。這樣,不同AHB總線上的AHB主設(shè)備可以同時(shí)占有各自的AHB總線,同時(shí)處理數(shù)據(jù),提高了系統(tǒng)的整體效率。隨著SoC系統(tǒng)結(jié)構(gòu)越來(lái)越復(fù)雜,模塊與模塊之間、總線層與層之間出現(xiàn)問(wèn)題的可能性也越來(lái)越大,如何在開發(fā)階段有效地測(cè)試系統(tǒng)逐漸成為一個(gè)關(guān)鍵問(wèn)題。中國(guó)專利(申請(qǐng)?zhí)?0101(^64838. 3,公開號(hào)CN101930394)公開了一種基于USB 的AHB總線跟蹤測(cè)試方法與系統(tǒng),其方法如下使用一個(gè)帶USB接口或串口接口的AHB主設(shè)備對(duì)AHB總線施加激勵(lì),以達(dá)到測(cè)試目的;使用一個(gè)AHB從設(shè)備記錄處理器對(duì)某個(gè)從設(shè)備的操作,以達(dá)到跟蹤目的。若將該中國(guó)專利申請(qǐng)所述方法用于多層AHB總線架構(gòu),則存在如下不足一、只能跨層進(jìn)行所有AHB總線的測(cè)試,則頂層AHB-AHB橋會(huì)占用很大地址范圍,從而縮小頂層AHB 總線能容納的從設(shè)備數(shù)目;二、每條AHB總線都帶有一個(gè)用于跟蹤的從設(shè)備,其緩存會(huì)占用大量的芯片內(nèi)部資源。因此,有必要設(shè)計(jì)一種專用于多層AHB總線架構(gòu)SoC的監(jiān)測(cè)調(diào)試系統(tǒng)與方法。

發(fā)明內(nèi)容
本發(fā)明的目的是克服現(xiàn)有技術(shù)的不足,提供一種基于串口的多層AHB總線架構(gòu) SoC監(jiān)測(cè)調(diào)試系統(tǒng)與方法,以相對(duì)較小的芯片內(nèi)部資源實(shí)現(xiàn)對(duì)多層AHB總線架構(gòu)SoC的有效監(jiān)測(cè)與調(diào)試。本發(fā)明提供了一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng),包括有N條 AHB總線的待監(jiān)測(cè)調(diào)試SoC以及與該SoC中N條AHB總線相連的串口監(jiān)測(cè)調(diào)試模塊,該串口監(jiān)測(cè)調(diào)試模塊同時(shí)與SoC外的上位機(jī)串口相連。所述的N是大于1的自然數(shù)。所述的串口監(jiān)測(cè)調(diào)試模塊包含四個(gè)子模塊串口子模塊、可配置寄存器、調(diào)試子模塊、監(jiān)測(cè)子模塊,其中
所述的串口子模塊接收上位機(jī)的配置信息,并存于可配置寄存器中。所述的可配置寄存器分別與調(diào)試子模塊、監(jiān)測(cè)子模塊相連,其中存儲(chǔ)的配置信息用于控制這兩個(gè)子模塊如何工作。所述的調(diào)試子模塊與N條總線相連,與串口子模塊相連。其在多層AHB總線架構(gòu) SoC中的地位相當(dāng)于AHB主設(shè)備,能根據(jù)配置信息對(duì)N條總線中的某一條總線進(jìn)行調(diào)試,并將調(diào)試信息通過(guò)串口子模塊送回上位機(jī)。所述的監(jiān)測(cè)子模塊與N條總線相連,與串口子模塊相連。其在多層AHB總線架構(gòu) SoC中的地位相當(dāng)于AHB從設(shè)備,能根據(jù)配置信息同時(shí)監(jiān)測(cè)N條總線中的M條總線,并將監(jiān)測(cè)信息通過(guò)串口子模塊送回上位機(jī)。所述的M是大于或等于1且小于N的自然數(shù)。進(jìn)一步地,上述基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng)還具有以下特點(diǎn) 串口子模塊包含一個(gè)串口發(fā)送單元、一個(gè)串口接收單元、一個(gè)調(diào)試子模塊接口、一個(gè)監(jiān)測(cè)子模塊接口、一個(gè)調(diào)試/監(jiān)測(cè)切換單元,其中
所述的串口發(fā)送單元將調(diào)試監(jiān)測(cè)信息發(fā)送給上位機(jī)。所述的串口接收單元接收從上位機(jī)傳來(lái)的配置信息,并存入可配置寄存器。所述的調(diào)試子模塊接口從調(diào)試子模塊讀取調(diào)試信息。所述的監(jiān)測(cè)子模塊接口從監(jiān)測(cè)子模塊讀取監(jiān)測(cè)信息。所述的調(diào)試/監(jiān)測(cè)切換單元根據(jù)配置信息,決定當(dāng)前整個(gè)串口監(jiān)測(cè)調(diào)試模塊處于調(diào)試模式或監(jiān)測(cè)模式。若處于調(diào)試模式,則將調(diào)試子模塊的調(diào)試信息傳送給串口發(fā)送單元; 若處于監(jiān)測(cè)模式,則將監(jiān)測(cè)子模塊的監(jiān)測(cè)信息傳送給串口發(fā)送單元。進(jìn)一步地,上述基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng)還具有以下特點(diǎn) 調(diào)試子模塊包含一個(gè)AHB主設(shè)備接口、一個(gè)FIFO緩存,其中
所述的AHB主設(shè)備接口同時(shí)與N條總線相連,不同于普通的AHB主設(shè)備接口,具體為 HBUSREQ, HGRANT, HRDATA[31:0]、HRESP [1:0]、HREADY 這 6 種總線信號(hào)需要 N 組,分別與 N 條總線相連;但其余的總線信號(hào)是N條總線共用的,只用一組。所述的FIFO緩存接收從AHB主設(shè)備接口傳來(lái)的數(shù)據(jù),當(dāng)其非空時(shí),將通知串口子模塊把調(diào)試信息從FIFO緩存中取走。進(jìn)一步地,上述基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng)還具有以下特點(diǎn) 監(jiān)測(cè)子模塊包含N個(gè)AHB從設(shè)備接口、一個(gè)監(jiān)測(cè)通道選擇單元、一個(gè)監(jiān)測(cè)處理單元、M個(gè)通道緩存、一個(gè)通道切換單元,其中
所述的N個(gè)AHB從設(shè)備接口的結(jié)構(gòu)與普通AHB從設(shè)備接口相同,分別與N條總線相連, 并都連接到監(jiān)測(cè)通道選擇單元。所述的監(jiān)測(cè)通道選擇單元根據(jù)配置信息,從N條總線中選擇M條總線的地址、數(shù)據(jù)、控制信號(hào)作為后續(xù)M條并行監(jiān)測(cè)通道的輸入。所述的監(jiān)測(cè)處理單元根據(jù)配置信息,分別對(duì)M條并行監(jiān)測(cè)通道的地址、數(shù)據(jù)、控制信號(hào)進(jìn)行監(jiān)測(cè),得到符合條件要求且經(jīng)過(guò)壓縮的監(jiān)測(cè)信息,并傳給相應(yīng)通道的緩存。所述的M個(gè)通道緩存接收各自通道的監(jiān)測(cè)信息,當(dāng)任何一個(gè)緩存滿時(shí),向通道切換單元發(fā)送緩存滿信號(hào),請(qǐng)求串口子模塊讀取監(jiān)測(cè)信息。
所述的通道切換單元選擇M個(gè)通道緩存中的一個(gè)與串口子模塊通信,串口子模塊從被選中的通道緩存中讀取監(jiān)測(cè)信息。進(jìn)一步地,上述的監(jiān)測(cè)子模塊還具有以下特點(diǎn)監(jiān)測(cè)處理單元包含M個(gè)通道觸發(fā)控制單元、M個(gè)通道監(jiān)測(cè)模式選擇單元、M個(gè)信息壓縮單元,其中
所述的通道觸發(fā)控制單元根據(jù)配置信息,當(dāng)通道地址、通道控制信號(hào)滿足監(jiān)測(cè)條件時(shí), 產(chǎn)生通道觸發(fā)使能。所述的通道監(jiān)測(cè)模式選擇單元根據(jù)配置信息,工作于不同監(jiān)測(cè)粒度的監(jiān)測(cè)模式, 產(chǎn)生通道地址監(jiān)測(cè)使能、通道數(shù)據(jù)監(jiān)測(cè)使能、通道控制信號(hào)監(jiān)測(cè)使能。所述的信息壓縮單元根據(jù)上述兩個(gè)模塊所給出的使能信號(hào)的組合情況,對(duì)通道地址、通道數(shù)據(jù)、通道控制信號(hào)進(jìn)行有選擇的壓縮,并送出通道監(jiān)測(cè)信息。本發(fā)明還提供了一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)方法,包括以下步驟
(1)串口監(jiān)測(cè)調(diào)試模塊接收上位機(jī)的配置信息,決定是否進(jìn)入監(jiān)測(cè)模式。在監(jiān)測(cè)模式下,監(jiān)測(cè)子模塊處于工作狀態(tài),而調(diào)試子模塊處于非工作狀態(tài)。(2)監(jiān)測(cè)子模塊中的監(jiān)測(cè)通道選擇單元根據(jù)配置信息,從N條總線中選擇M條總線的地址、數(shù)據(jù)、控制信號(hào),并將它們傳給監(jiān)測(cè)處理單元。(3)監(jiān)測(cè)處理單元中從以下6種不同粒度的監(jiān)測(cè)模式中選擇一種,從而有選擇地對(duì)每個(gè)通道的地址、數(shù)據(jù)、控制信號(hào)進(jìn)行監(jiān)測(cè)
①每個(gè)時(shí)鐘周期記錄符合監(jiān)測(cè)條件的通道地址、數(shù)據(jù)、控制信號(hào);
②每個(gè)時(shí)鐘周期記錄符合監(jiān)測(cè)條件的通道地址、數(shù)據(jù);
③每個(gè)時(shí)鐘周期記錄符合監(jiān)測(cè)條件的通道數(shù)據(jù)、控制信號(hào);
④當(dāng)控制信號(hào)發(fā)生變化時(shí),記錄符合監(jiān)測(cè)條件的通道地址、數(shù)據(jù)、控制信號(hào);
⑤當(dāng)控制信號(hào)發(fā)生變化時(shí),記錄符合監(jiān)測(cè)條件的通道地址、數(shù)據(jù);
⑥當(dāng)控制信號(hào)發(fā)生變化時(shí),記錄符合監(jiān)測(cè)條件的通道數(shù)據(jù)、控制信號(hào); (4)監(jiān)測(cè)處理單元中對(duì)記錄的監(jiān)測(cè)信息進(jìn)行壓縮,壓縮方法為 ①通道地址只記錄Non-sequential地址,不記錄Sequential地址。②通道數(shù)據(jù)將當(dāng)前監(jiān)測(cè)數(shù)據(jù)與前一次監(jiān)測(cè)數(shù)據(jù)相減。③通道控制信號(hào)由于在一次AHB總線數(shù)據(jù)傳輸過(guò)程中,控制信號(hào)不會(huì)變化,因此采用基于CAM (Content-addressable memory,內(nèi)容可尋址存儲(chǔ)器)字典的壓縮方法,減少監(jiān)測(cè)數(shù)據(jù)的位數(shù),具體為
使用8個(gè)9位寬的寄存器構(gòu)成字典,則字典的索引只有3位; 若當(dāng)前控制信號(hào)存在于字典中,則將對(duì)應(yīng)的字典索引作為監(jiān)測(cè)數(shù)據(jù)(3位); 若當(dāng)前控制信號(hào)不存在于字典中,則將原控制信號(hào)作為監(jiān)測(cè)數(shù)據(jù)(9位),并將該控制信號(hào)加入字典。(5)各自通道的監(jiān)測(cè)信息存入各自通道的緩存,當(dāng)任何一個(gè)緩存滿時(shí),向通道切換單元發(fā)送緩存滿信號(hào),請(qǐng)求串口子模塊讀取監(jiān)測(cè)信息。通道切換單元選擇M個(gè)通道緩存中的一個(gè)與串口子模塊通信。其切換遵循如下所述的優(yōu)先級(jí)仲裁策略
①通道序號(hào)越小,優(yōu)先級(jí)越高;
②多條通道同時(shí)滿,且無(wú)通道正與串口子模塊通信時(shí),序號(hào)小的通道取得與串口子模塊的通信權(quán);
③當(dāng)有通道正與串口子模塊通信時(shí),必須等當(dāng)前通道傳輸結(jié)束后,才允許其他通道與串口子模塊通信。(6)串口子模塊從被通道切換單元選中的通道緩存讀取監(jiān)測(cè)信息,發(fā)送給上位機(jī)。(7)當(dāng)所有M條通道的監(jiān)測(cè)都發(fā)送給上位機(jī)后,本次監(jiān)測(cè)結(jié)束,如需開始另一次監(jiān)測(cè),重新由第(1)步開始。本發(fā)明還提供了一種基于串口的多層AHB總線架構(gòu)SoC調(diào)試方法,包括以下步驟
(1)串口監(jiān)測(cè)調(diào)試模塊接收上位機(jī)的配置信息,決定是否進(jìn)入調(diào)試模式。在調(diào)試模式下,調(diào)試子模塊處于工作狀態(tài),而監(jiān)測(cè)子模塊處于非工作狀態(tài)。(2)調(diào)試子模塊中的AHB主設(shè)備接口根據(jù)配置信息,對(duì)N條總線中的某一條總線進(jìn)行調(diào)試。如果當(dāng)前調(diào)試是讀操作,則把讀回的數(shù)據(jù)送入FIFO緩存;如果當(dāng)前調(diào)試是寫操作,則無(wú)需返回調(diào)試信息,直接跳到第(4)步。(3)串口子模塊從調(diào)試子模塊的FIFO緩存讀取調(diào)試信息,發(fā)送給上位機(jī)。(4)根據(jù)配置信息,當(dāng)完成預(yù)定次數(shù)的讀/寫操作后,本次調(diào)試結(jié)束,如需開始另一次調(diào)試,重新由第(1)步開始。 采用本發(fā)明的技術(shù)方案后,對(duì)于監(jiān)測(cè),N條AHB總線的監(jiān)測(cè)可以共用M個(gè)通道緩存, 并采用不同粒度的監(jiān)測(cè)模式和壓縮方法,在保留有效監(jiān)測(cè)信息的同時(shí)減小了芯片內(nèi)部資源使用;對(duì)于調(diào)試,則無(wú)需跨層進(jìn)行,頂層AHB-AHB橋只需占用原系統(tǒng)本身必要的地址范圍, 從而增大了頂層AHB總線能容納的從設(shè)備數(shù)目。


圖1是現(xiàn)有技術(shù)中常見的多層AHB總線架構(gòu)SoC ; 圖2是本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)模塊圖3是串口監(jiān)測(cè)調(diào)試模塊中串口子模塊的結(jié)構(gòu)與連接關(guān)系圖; 圖4是串口監(jiān)測(cè)調(diào)試模塊中調(diào)試子模塊的結(jié)構(gòu)與連接關(guān)系圖; 圖5是串口監(jiān)測(cè)調(diào)試模塊中監(jiān)測(cè)子模塊的結(jié)構(gòu)與連接關(guān)系圖; 圖6是監(jiān)測(cè)子模塊中監(jiān)測(cè)處理單元的結(jié)構(gòu)與連接關(guān)系圖; 圖7是本發(fā)明實(shí)施例監(jiān)測(cè)與調(diào)試方法的流程圖。
具體實(shí)施例方式以下結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明做進(jìn)一步的詳細(xì)說(shuō)明。圖2是本發(fā)明的一個(gè)實(shí)施例的系統(tǒng)模塊圖。如圖所示,以N=3為例說(shuō)明情況,一個(gè)串口監(jiān)測(cè)調(diào)試模塊同時(shí)連接到N條AHB總線,并與SoC外的上位機(jī)串口相連。圖2中還示出了串口監(jiān)測(cè)調(diào)試模塊的結(jié)構(gòu),包括四個(gè)子模塊串口子模塊、可配置寄存器、調(diào)試子模塊、監(jiān)測(cè)子模塊,其中
串口子模塊接收上位機(jī)的配置信息,并存于可配置寄存器中??膳渲眉拇嫫鞣謩e與調(diào)試子模塊、監(jiān)測(cè)子模塊相連,其中存儲(chǔ)的配置信息用于控制這兩個(gè)子模塊如何工作。
調(diào)試子模塊與N條總線相連,與串口子模塊相連。其在多層AHB總線架構(gòu)SoC中的地位相當(dāng)于AHB主設(shè)備,能根據(jù)配置信息對(duì)N條總線中的某一條總線施加激勵(lì),并將調(diào)試信息通過(guò)串口子模塊送回上位機(jī)。監(jiān)測(cè)子模塊與N條總線相連,與串口子模塊相連。其在多層AHB總線架構(gòu)SoC中的地位相當(dāng)于AHB從設(shè)備,能根據(jù)配置信息同時(shí)監(jiān)測(cè)N條總線中的M條總線,并將監(jiān)測(cè)信息通過(guò)串口子模塊送回上位機(jī)。圖3是串口監(jiān)測(cè)調(diào)試模塊中串口子模塊的結(jié)構(gòu)與連接關(guān)系圖,串口子模塊包含一個(gè)串口發(fā)送單元、一個(gè)串口接收單元、一個(gè)調(diào)試子模塊接口、一個(gè)監(jiān)測(cè)子模塊接口、一個(gè)調(diào)試/監(jiān)測(cè)切換單元,其中
串口發(fā)送單元將調(diào)試監(jiān)測(cè)信息發(fā)送給上位機(jī)。串口接收單元接收從上位機(jī)傳來(lái)的配置信息,并存入可配置寄存器。
調(diào)試子模塊接口從調(diào)試子模塊讀取調(diào)試信息。監(jiān)測(cè)子模塊接口從監(jiān)測(cè)子模塊讀取調(diào)試信息。調(diào)試/監(jiān)測(cè)切換單元根據(jù)配置信息,決定當(dāng)前整個(gè)串口監(jiān)測(cè)調(diào)試模塊處于調(diào)試模式或監(jiān)測(cè)模式。若處于調(diào)試模式,則將調(diào)試子模塊的調(diào)試信息傳送給串口發(fā)送單元;若處于監(jiān)測(cè)模式,則將監(jiān)測(cè)子模塊的監(jiān)測(cè)信息傳送給串口發(fā)送單元。圖4是串口監(jiān)測(cè)調(diào)試模塊中調(diào)試子模塊的結(jié)構(gòu)與連接關(guān)系圖,調(diào)試子模塊包含一個(gè)AHB主設(shè)備接口、一個(gè)FIFO緩存,其中
AHB主設(shè)備接口同時(shí)與N條總線相連,不同于普通的AHB主設(shè)備接口,具體為 HBUSREQ, HGRANT, HRDATA[31:0]、HRESP [1:0]、HREADY 這 6 種總線信號(hào)需要 N 組,分別與 N 條總線相連;但其余的 6 種總線信號(hào) HTRANS[1:0]、HBURST[2:0]、HADDR[31:0]、HWRITE、 HSIZE[2:0]、HWDATA[31:0]都是N條總線共用的,只用一組。FIFO緩存接收從AHB主設(shè)備接口傳來(lái)的某條總線上的讀數(shù)據(jù)HRDATA,當(dāng)其非空時(shí),將通知串口子模塊發(fā)出讀使能,把調(diào)試信息從FIFO緩存中取走。圖5是串口監(jiān)測(cè)調(diào)試模塊中監(jiān)測(cè)子模塊的結(jié)構(gòu)與連接關(guān)系圖,監(jiān)測(cè)子模塊包含N 個(gè)AHB從設(shè)備接口、一個(gè)監(jiān)測(cè)通道選擇單元、一個(gè)監(jiān)測(cè)處理單元、M個(gè)通道緩存、一個(gè)通道切換單元,其中
N個(gè)AHB從設(shè)備接口分別與N條總線相連,并都連接到監(jiān)測(cè)通道選擇單元,其結(jié)構(gòu)與普通的AHB從設(shè)備接口相同。監(jiān)測(cè)通道選擇單元根據(jù)配置信息,從N條總線中選擇M條總線的地址、數(shù)據(jù)、 控制信號(hào)作為后續(xù)M條并行監(jiān)測(cè)通道的輸入。這里,地址是指HADDR[31:0],數(shù)據(jù)是指 HWDATA [31:0]禾口 HRDATA [31:0],控制信號(hào)是指 HTRANS [1 0]、HBURST [2:0]、HWRITE, HSIZE [2:0](共 9 位)。監(jiān)測(cè)處理單元根據(jù)配置信息,分別對(duì)M條并行監(jiān)測(cè)通道的地址、數(shù)據(jù)、控制信號(hào)進(jìn)行監(jiān)測(cè),得到符合條件要求且經(jīng)過(guò)壓縮的監(jiān)測(cè)信息,并傳給相應(yīng)通道的緩存。M個(gè)通道緩存接收各自通道的監(jiān)測(cè)信息,當(dāng)任何一個(gè)緩存滿時(shí),向通道切換單元發(fā)送緩存滿信號(hào),請(qǐng)求串口子模塊讀取監(jiān)測(cè)信息。通道切換單元選擇M個(gè)通道緩存中的一個(gè)與串口子模塊通信。其切換遵循如下所述的優(yōu)先級(jí)仲裁策略①通道序號(hào)越小,優(yōu)先級(jí)越高;
②多條通道同時(shí)滿,且無(wú)通道正與串口子模塊通信時(shí),序號(hào)小的通道取得與串口子模塊的通信權(quán);
③當(dāng)有通道正與串口子模塊通信時(shí),必須等當(dāng)前通道傳輸結(jié)束后,才允許其他通道與串口子模塊通信。串口子模塊從被通道切換單元選中的通道緩存讀取監(jiān)測(cè)信息,發(fā)送給上位機(jī)。圖6是監(jiān)測(cè)子模塊中監(jiān)測(cè)處理單元的結(jié)構(gòu)與連接關(guān)系圖,監(jiān)測(cè)處理單元包含M個(gè)通道觸發(fā)控制單元、M個(gè)通道監(jiān)測(cè)模式選擇單元、M個(gè)信息壓縮單元。圖中只給出了通道1 作為示例,對(duì)于其他通道,連接關(guān)系依此類推,其中
通道觸發(fā)控制單元根據(jù)配置信息,當(dāng)通道地址、通道控制信號(hào)滿足監(jiān)測(cè)條件時(shí),產(chǎn)生通道觸發(fā)使能。通道監(jiān)測(cè)模式選擇單元根據(jù)配置信息,從以下幾種不同粒度的監(jiān)測(cè)模式中選擇一種,產(chǎn)生通道地址監(jiān)測(cè)使能、通道數(shù)據(jù)監(jiān)測(cè)使能、通道控制信號(hào)監(jiān)測(cè)使能。①每個(gè)時(shí)鐘周期監(jiān)測(cè)通道地址、數(shù)據(jù)、控制信號(hào);
②每個(gè)時(shí)鐘周期監(jiān)測(cè)通道地址、數(shù)據(jù);
③每個(gè)時(shí)鐘周期監(jiān)測(cè)通道數(shù)據(jù)、控制信號(hào);
④當(dāng)控制信號(hào)發(fā)生變化時(shí),監(jiān)測(cè)通道地址、數(shù)據(jù)、控制信號(hào);
⑤當(dāng)控制信號(hào)發(fā)生變化時(shí),監(jiān)測(cè)通道地址、數(shù)據(jù);
⑥當(dāng)控制信號(hào)發(fā)生變化時(shí),監(jiān)測(cè)通道數(shù)據(jù)、控制信號(hào);
信息壓縮單元根據(jù)上述兩個(gè)模塊所給出的使能信號(hào)的組合情況,對(duì)通道地址、通道數(shù)據(jù)、通道控制信號(hào)進(jìn)行有選擇的壓縮,并送出通道監(jiān)測(cè)信息。具體為
當(dāng)觸發(fā)使能、地址監(jiān)測(cè)使能同時(shí)有效時(shí),才壓縮通道地址,并將其加入監(jiān)測(cè)信息;壓縮方法為Non-sequential iiktlt^id^ Sequential jfttlt。當(dāng)觸發(fā)使能、數(shù)據(jù)監(jiān)測(cè)使能同時(shí)有效時(shí),才壓縮通道數(shù)據(jù),并將其加入監(jiān)測(cè)信息; 壓縮方法為將當(dāng)前監(jiān)測(cè)數(shù)據(jù)與前一次監(jiān)測(cè)數(shù)據(jù)相減。當(dāng)觸發(fā)使能、控制信號(hào)監(jiān)測(cè)使能同時(shí)有效時(shí),才壓縮通道控制信號(hào),并將其加入監(jiān)測(cè)信息;壓縮方法為采用基于CAM (Content-addressable memory,內(nèi)容可尋址存儲(chǔ)器)字典的壓縮方法,具體為
使用8個(gè)9位寬的寄存器構(gòu)成字典,則字典的索引只有3位; 若當(dāng)前控制信號(hào)存在于字典中,則將對(duì)應(yīng)的字典索引作為監(jiān)測(cè)數(shù)據(jù)(3位); 若當(dāng)前控制信號(hào)不存在于字典中,則將原控制信號(hào)作為監(jiān)測(cè)數(shù)據(jù)(9位),并將該控制信號(hào)加入字典。圖7是本發(fā)明實(shí)施例監(jiān)測(cè)與調(diào)試方法的流程圖,包括如下步驟
(1)上位機(jī)向串口監(jiān)測(cè)調(diào)試模塊發(fā)送配置信息,串口監(jiān)測(cè)調(diào)試模塊決定進(jìn)入調(diào)試模式或是監(jiān)測(cè)模式。若是監(jiān)測(cè)模式,則從步驟2執(zhí)行到步驟7 ;若是調(diào)試模式,則從步驟8執(zhí)行到步驟12。(2)監(jiān)測(cè)子模塊開始工作,調(diào)試子模塊停止工作。( 3)監(jiān)測(cè)子模塊中的監(jiān)測(cè)通道選擇單元根據(jù)配置信息,從N條總線中選擇M條總線的地址、數(shù)據(jù)、控制信號(hào)。
(4)監(jiān)測(cè)處理單元根據(jù)觸發(fā)條件、監(jiān)測(cè)模式對(duì)地址、數(shù)據(jù)、控制信號(hào)進(jìn)行監(jiān)測(cè)并壓縮。(5)監(jiān)測(cè)信息進(jìn)入緩存,當(dāng)任何一個(gè)緩存滿時(shí),向通道切換單元發(fā)送緩存滿信號(hào), 請(qǐng)求串口子模塊讀取監(jiān)測(cè)信息。通道切換單元選擇M個(gè)通道緩存中的一個(gè)與串口子模塊通(6)串口子模塊從緩存讀出監(jiān)測(cè)信息,發(fā)送給上位機(jī)。(7)完成本次監(jiān)測(cè)。(8)調(diào)試子模塊開始工作,監(jiān)測(cè)子模塊停止工作。(9)調(diào)試子模塊中的AHB主設(shè)備接口對(duì)N條總線中的某一條進(jìn)行預(yù)調(diào)試,調(diào)試次數(shù) (即讀/寫次數(shù))由配置信息決定。如果當(dāng)前調(diào)試是讀操作,則從步驟10繼續(xù)執(zhí)行;如果當(dāng)前調(diào)試是寫操作,則直接跳到第12步。(10)把讀回的數(shù)據(jù)送入FIFO緩存。(11)串口子模塊從調(diào)試子模塊的FIFO緩存讀取調(diào)試信息,發(fā)送給上位機(jī)。(12)完成本次調(diào)試。以上所述僅為本發(fā)明的具體實(shí)施方式
,并不用以限制本發(fā)明,任何本發(fā)明所屬領(lǐng)域內(nèi)的技術(shù)人員,在本發(fā)明揭露的技術(shù)范圍內(nèi),所作的修改或替換,都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng),包括串口子模塊、可配置寄存器、調(diào)試子模塊和監(jiān)測(cè)子模塊,其特征在于所述的串口子模塊接收上位機(jī)的配置信息,并存于可配置寄存器中; 所述的可配置寄存器分別與調(diào)試子模塊、監(jiān)測(cè)子模塊相連,其中存儲(chǔ)的配置信息用于控制這兩個(gè)子模塊如何工作;所述的調(diào)試子模塊一端與N條總線相連、另一端與串口子模塊相連;其在多層AHB總線架構(gòu)SoC中的地位相當(dāng)于AHB主設(shè)備,能根據(jù)配置信息對(duì)N條總線中的某一條總線進(jìn)行調(diào)試,并將調(diào)試信息通過(guò)串口子模塊送回上位機(jī);所述的監(jiān)測(cè)子模塊一端與N條總線相連、另一端與串口子模塊相連;其在多層AHB總線架構(gòu)SoC中的地位相當(dāng)于AHB從設(shè)備,能根據(jù)配置信息同時(shí)監(jiān)測(cè)N條總線中的M條總線,并將監(jiān)測(cè)信息通過(guò)串口子模塊送回上位機(jī);所述的M是大于或等于1且小于N的自然數(shù)。
2.根據(jù)權(quán)利要求1所述的一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng),其特征在于所述的串口子模塊包含一個(gè)串口發(fā)送單元、一個(gè)串口接收單元、一個(gè)調(diào)試子模塊接口、一個(gè)監(jiān)測(cè)子模塊接口、一個(gè)調(diào)試/監(jiān)測(cè)切換單元,其中所述的串口發(fā)送單元將調(diào)試監(jiān)測(cè)信息發(fā)送給上位機(jī);所述的串口接收單元接收從上位機(jī)傳來(lái)的配置信息,并存入可配置寄存器;所述的調(diào)試子模塊接口從調(diào)試子模塊讀取調(diào)試信息;所述的監(jiān)測(cè)子模塊接口從監(jiān)測(cè)子模塊讀取監(jiān)測(cè)信息;所述的調(diào)試/監(jiān)測(cè)切換單元根據(jù)配置信息,決定當(dāng)前整個(gè)串口監(jiān)測(cè)調(diào)試模塊處于調(diào)試模式或監(jiān)測(cè)模式;若處于調(diào)試模式,則將調(diào)試子模塊的調(diào)試信息傳送給串口發(fā)送單元;若處于監(jiān)測(cè)模式,則將監(jiān)測(cè)子模塊的監(jiān)測(cè)信息傳送給串口發(fā)送單元。
3.根據(jù)權(quán)利要求1所述的一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng),其特征在于所述的調(diào)試子模塊包含一個(gè)AHB主設(shè)備接口、一個(gè)FIFO緩存,其中所述的AHB主設(shè)備接口同時(shí)與N條總線相連,不同于普通的AHB主設(shè)備接口,具體為 HBUSREQ, HGRANT, HRDATA[31:0]、HRESP [1:0]、HREADY 這 6 種總線信號(hào)需要 N 組,分別與 N 條總線相連;但其余的總線信號(hào)是N條總線共用的,只用一組;所述的FIFO緩存接收從AHB主設(shè)備接口傳來(lái)的數(shù)據(jù),當(dāng)其非空時(shí),將通知串口子模塊把調(diào)試信息從FIFO緩存中取走。
4.根據(jù)權(quán)利要求1所述的一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng),其特征在于所述的監(jiān)測(cè)子模塊包含N個(gè)AHB從設(shè)備接口、一個(gè)監(jiān)測(cè)通道選擇單元、一個(gè)監(jiān)測(cè)處理單元、M個(gè)通道緩存、一個(gè)通道切換單元,其中所述的N個(gè)AHB從設(shè)備接口的結(jié)構(gòu)與普通AHB從設(shè)備接口相同,分別與N條總線相連, 并都連接到監(jiān)測(cè)通道選擇單元;所述的監(jiān)測(cè)通道選擇單元根據(jù)配置信息,從N條總線中選擇M條總線的地址、數(shù)據(jù)、控制信號(hào)作為后續(xù)M條并行監(jiān)測(cè)通道的輸入;所述的監(jiān)測(cè)處理單元根據(jù)配置信息,分別對(duì)M條并行監(jiān)測(cè)通道的地址、數(shù)據(jù)、控制信號(hào)進(jìn)行監(jiān)測(cè),得到符合條件要求且經(jīng)過(guò)壓縮的監(jiān)測(cè)信息,并傳給相應(yīng)通道的緩存;所述的M個(gè)通道緩存接收各自通道的監(jiān)測(cè)信息,當(dāng)任何一個(gè)緩存滿時(shí),向通道切換單元發(fā)送緩存滿信號(hào),請(qǐng)求串口子模塊讀取監(jiān)測(cè)信息;所述的通道切換單元選擇M個(gè)通道緩存中的一個(gè)與串口子模塊通信,串口子模塊從被選中的通道緩存中讀取監(jiān)測(cè)信息。
5.根據(jù)權(quán)利要求4所述的一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng),其特征在于所述的監(jiān)測(cè)處理單元包含M個(gè)通道觸發(fā)控制單元、M個(gè)通道監(jiān)測(cè)模式選擇單元、M個(gè)信息壓縮單元,其中所述的通道觸發(fā)控制單元根據(jù)配置信息,當(dāng)通道地址、通道控制信號(hào)滿足監(jiān)測(cè)條件時(shí), 產(chǎn)生通道觸發(fā)使能;所述的通道監(jiān)測(cè)模式選擇單元根據(jù)配置信息,工作于不同監(jiān)測(cè)粒度的監(jiān)測(cè)模式,產(chǎn)生通道地址監(jiān)測(cè)使能、通道數(shù)據(jù)監(jiān)測(cè)使能、通道控制信號(hào)監(jiān)測(cè)使能;所述的信息壓縮單元根據(jù)上述兩個(gè)模塊所給出的使能信號(hào)的組合情況,對(duì)通道地址、 通道數(shù)據(jù)、通道控制信號(hào)進(jìn)行有選擇的壓縮,并送出通道監(jiān)測(cè)信息。
6.根據(jù)權(quán)利要求1所述的一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng),其特征在于該監(jiān)測(cè)調(diào)試系統(tǒng)的監(jiān)測(cè)方法具體包括以下步驟6-1.串口監(jiān)測(cè)調(diào)試模塊接收上位機(jī)的配置信息,決定是否進(jìn)入監(jiān)測(cè)模式;在監(jiān)測(cè)模式下,監(jiān)測(cè)子模塊處于工作狀態(tài),而調(diào)試子模塊處于非工作狀態(tài);6-2.監(jiān)測(cè)子模塊中的監(jiān)測(cè)通道選擇單元根據(jù)配置信息,從N條總線中選擇M條總線的地址、數(shù)據(jù)、控制信號(hào),并將它們傳給監(jiān)測(cè)處理單元;6-3.監(jiān)測(cè)處理單元中從以下6種不同粒度的監(jiān)測(cè)模式中選擇一種,從而有選擇地對(duì)每個(gè)通道的地址、數(shù)據(jù)、控制信號(hào)進(jìn)行監(jiān)測(cè)①每個(gè)時(shí)鐘周期記錄符合監(jiān)測(cè)條件的通道地址、數(shù)據(jù)、控制信號(hào);②每個(gè)時(shí)鐘周期記錄符合監(jiān)測(cè)條件的通道地址、數(shù)據(jù);③每個(gè)時(shí)鐘周期記錄符合監(jiān)測(cè)條件的通道數(shù)據(jù)、控制信號(hào);④當(dāng)控制信號(hào)發(fā)生變化時(shí),記錄符合監(jiān)測(cè)條件的通道地址、數(shù)據(jù)、控制信號(hào);⑤當(dāng)控制信號(hào)發(fā)生變化時(shí),記錄符合監(jiān)測(cè)條件的通道地址、數(shù)據(jù);⑥當(dāng)控制信號(hào)發(fā)生變化時(shí),記錄符合監(jiān)測(cè)條件的通道數(shù)據(jù)、控制信號(hào); 6-4.監(jiān)測(cè)處理單元中對(duì)記錄的監(jiān)測(cè)信息進(jìn)行壓縮,壓縮方法為①通道地址只記錄Non-sequential地址,不記錄kquential地址;②通道數(shù)據(jù)將當(dāng)前監(jiān)測(cè)數(shù)據(jù)與前一次監(jiān)測(cè)數(shù)據(jù)相減;③通道控制信號(hào)采用基于CAM字典的壓縮方法,減少監(jiān)測(cè)數(shù)據(jù)的位數(shù),具體為 使用8個(gè)9位寬的寄存器構(gòu)成字典,則字典的索引只有3位;若當(dāng)前控制信號(hào)存在于字典中,則將對(duì)應(yīng)的字典索引作為監(jiān)測(cè)數(shù)據(jù); 若當(dāng)前控制信號(hào)不存在于字典中,則將原控制信號(hào)作為監(jiān)測(cè)數(shù)據(jù),并將該控制信號(hào)加入字典;6-5.各自通道的監(jiān)測(cè)信息存入各自通道的緩存,當(dāng)任何一個(gè)緩存滿時(shí),向通道切換單元發(fā)送緩存滿信號(hào),請(qǐng)求串口子模塊讀取監(jiān)測(cè)信息;通道切換單元選擇M個(gè)通道緩存中的一個(gè)與串口子模塊通信,其切換遵循如下所述的優(yōu)先級(jí)仲裁策略①通道序號(hào)越小,優(yōu)先級(jí)越高;②多條通道同時(shí)滿,且無(wú)通道正與串口子模塊通信時(shí),序號(hào)小的通道取得與串口子模塊的通信權(quán);③當(dāng)有通道正與串口子模塊通信時(shí),必須等當(dāng)前通道傳輸結(jié)束后,才允許其他通道與串口子模塊通信;6-6.串口子模塊從被通道切換單元選中的通道緩存讀取監(jiān)測(cè)信息,發(fā)送給上位機(jī);6-7.當(dāng)所有M條通道的監(jiān)測(cè)都發(fā)送給上位機(jī)后,本次監(jiān)測(cè)結(jié)束,如需開始另一次監(jiān)測(cè), 重新由6-1開始。
7.根據(jù)權(quán)利要求1所述的一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng),其特征在于該監(jiān)測(cè)調(diào)試系統(tǒng)的調(diào)試方法具體包括以下步驟7-1.串口監(jiān)測(cè)調(diào)試模塊接收上位機(jī)的配置信息,決定是否進(jìn)入調(diào)試模式;在調(diào)試模式下,調(diào)試子模塊處于工作狀態(tài),而監(jiān)測(cè)子模塊處于非工作狀態(tài);7-2.調(diào)試子模塊中的AHB主設(shè)備接口根據(jù)配置信息,對(duì)N條總線中的某一條總線進(jìn)行調(diào)試;如果當(dāng)前調(diào)試是讀操作,則把讀回的數(shù)據(jù)送入FIFO緩存;如果當(dāng)前調(diào)試是寫操作,則無(wú)需返回調(diào)試信息,直接跳到7-4 ;7-3.串口子模塊從調(diào)試子模塊的FIFO緩存讀取調(diào)試信息,發(fā)送給上位機(jī);7-4.根據(jù)配置信息,當(dāng)完成預(yù)定次數(shù)的讀/寫操作后,本次調(diào)試結(jié)束,如需開始另一次調(diào)試,重新由7-1開始。
全文摘要
本發(fā)明公開了一種基于串口的多層AHB總線架構(gòu)SoC監(jiān)測(cè)調(diào)試系統(tǒng)與方法。本發(fā)明中的串口子模塊接收上位機(jī)的配置信息,并存于可配置寄存器中??膳渲眉拇嫫鞣謩e與調(diào)試子模塊、監(jiān)測(cè)子模塊相連,其中存儲(chǔ)的配置信息用于控制這兩個(gè)子模塊如何工作。調(diào)試子模塊一端與N條總線相連、另一端與串口子模塊相連,能根據(jù)配置信息對(duì)N條總線中的某一條總線進(jìn)行調(diào)試,并將調(diào)試信息通過(guò)串口子模塊送回上位機(jī)。監(jiān)測(cè)子模塊一端與N條總線相連、另一端與串口子模塊相連;能根據(jù)配置信息同時(shí)監(jiān)測(cè)N條總線中的M條總線,并將監(jiān)測(cè)信息通過(guò)串口子模塊送回上位機(jī)。本發(fā)明減小了芯片內(nèi)部資源使用,增大了頂層AHB總線能容納的從設(shè)備數(shù)目。
文檔編號(hào)G06F11/267GK102231129SQ20111018482
公開日2011年11月2日 申請(qǐng)日期2011年7月4日 優(yōu)先權(quán)日2011年7月4日
發(fā)明者徐時(shí)偉, 沈海斌, 賴英超 申請(qǐng)人:浙江大學(xué)
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
社旗县| 云安县| 德令哈市| 江陵县| 辉县市| 咸阳市| 阿克| 寿宁县| 余江县| 贵州省| 高要市| 和静县| 五原县| 柳林县| 锡林郭勒盟| 扎赉特旗| 临江市| 历史| 社会| 龙陵县| 海宁市| 曲靖市| 兰考县| 宜兰县| 五莲县| 新昌县| 拉孜县| 缙云县| 安溪县| 安仁县| 城固县| 镇原县| 榆林市| 高州市| 榆中县| 肇东市| 嘉黎县| 噶尔县| 玛纳斯县| 永德县| 陇西县|