本發(fā)明涉及芯片設(shè)計(jì),特別是涉及一種基于硬件仿真的調(diào)試系統(tǒng)。
背景技術(shù):
1、目前基于布爾處理單元(boolean?processor,bp)的硬件仿真系統(tǒng)中,為了實(shí)現(xiàn)全可視調(diào)試,一般采用的方法是捕獲部分節(jié)點(diǎn)(例如網(wǎng)表中所有觸發(fā)器)的運(yùn)算結(jié)果并上傳給host,再由host基于這些部分節(jié)點(diǎn)的狀態(tài)對待測設(shè)備(device?under?test,dut)的門級網(wǎng)表進(jìn)行軟件仿真,從而得到門級網(wǎng)表全部節(jié)點(diǎn)的波形。捕獲部分節(jié)點(diǎn)的運(yùn)算結(jié)果是通過動態(tài)配置一組mux來選取部分bp的輸出實(shí)現(xiàn)的。比如一個集群中有64個處理單元,從中選取8個處理單元的輸出進(jìn)行捕獲來得到部分節(jié)點(diǎn)的狀態(tài)。那么硬件設(shè)計(jì)就需要部署8個64選1的mux,并且這些mux的輸入選擇是通過指令實(shí)時控制的。這樣的設(shè)計(jì)會帶來的問題包括:
2、第一,由于mux的數(shù)量和選擇機(jī)制,無論控制信號如何變化,同一時刻只能有8個處理單元的輸出被選中并捕獲。當(dāng)一個集群中有大于8個處理單元的輸出需要被捕獲時,就會導(dǎo)致部分信息捕獲失敗。為了避免這種情況,就需要對用戶設(shè)計(jì)進(jìn)行重新編譯,并且給處理單元編譯器帶來額外的約束,進(jìn)而降低處理單元指令的執(zhí)行效率。例如,要插入更多的等待指令來避免所需捕獲的運(yùn)算在同一設(shè)備周期執(zhí)行。
3、第二,當(dāng)用戶需要選擇不同的節(jié)點(diǎn)信號進(jìn)行捕獲時,需要重新進(jìn)行編譯生成新的指令。
技術(shù)實(shí)現(xiàn)思路
1、針對上述技術(shù)問題,本發(fā)明采用的技術(shù)方案為:一種基于硬件仿真的調(diào)試系統(tǒng),所述系統(tǒng)包括:m個目標(biāo)模塊,其中,第j個目標(biāo)模塊包括k個處理單元bpcj和一個捕獲模塊probj,每個處理單元包括至少一個節(jié)點(diǎn),其中probj包括:掩碼模塊maskj,用于獲取用戶指定的目標(biāo)節(jié)點(diǎn)。k個過濾器filterj,分別與所述maskj連接,且每個過濾器連接一個處理單元;其中,第r個過濾器filterj,r連接所述bpcj中的第r個處理單元bpcj,r,用于獲取bpcj,r連續(xù)輸出的數(shù)據(jù)流并篩選所述bpcj,r中所述目標(biāo)節(jié)點(diǎn)的數(shù)據(jù)流,得到目標(biāo)數(shù)據(jù)。打包模塊packj,與filterj中的所有過濾器連接,用于接收目標(biāo)數(shù)據(jù)并進(jìn)行打包。數(shù)據(jù)緩存模塊pbufferj,與所述packj連接,用于緩存目標(biāo)數(shù)據(jù),且每個設(shè)備周期將所述pbufferj中的目標(biāo)數(shù)據(jù)移送至內(nèi)存,所述內(nèi)存中的目標(biāo)數(shù)據(jù)用于呈現(xiàn)可視化波形。
2、本發(fā)明至少具有以下有益效果:
3、本發(fā)明實(shí)施例一提供的一種基于硬件仿真的調(diào)試系統(tǒng),其通過為每組k個處理單元配置一個過濾器,并通過掩碼模塊將用戶指定的目標(biāo)節(jié)點(diǎn)發(fā)送給每個過濾器,每個過濾器篩選出目標(biāo)節(jié)點(diǎn)的目標(biāo)數(shù)據(jù),并打包發(fā)送給內(nèi)存。其中用戶指定的目標(biāo)節(jié)點(diǎn)的數(shù)量不受硬件限制,當(dāng)用戶需要指定大于預(yù)設(shè)數(shù)量的處理單元或者變更目標(biāo)節(jié)點(diǎn)時,不需要重新編譯,提高了調(diào)試效率。
1.一種基于硬件仿真的調(diào)試系統(tǒng),其特征在于,所述系統(tǒng)包括:m個目標(biāo)模塊,其中,第j個目標(biāo)模塊包括k個處理單元bpcj和一個捕獲模塊probj,每個處理單元包括至少一個節(jié)點(diǎn),其中probj包括:
2.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述打包模塊和filterj中每個過濾器之間還連接有變化檢測模塊;
3.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述changej,r還用于生成變化標(biāo)志位的狀態(tài)信息,當(dāng)所述目標(biāo)數(shù)據(jù)發(fā)生變化時,將目標(biāo)數(shù)據(jù)所屬的數(shù)據(jù)塊的變化標(biāo)志位的狀態(tài)信息置為有效;否則,置為無效。
4.根據(jù)權(quán)利要求3所述的系統(tǒng),其特征在于,所述第j個目標(biāo)模塊還包括:
5.根據(jù)權(quán)利要求2所述的系統(tǒng),其特征在于,所述changej,r還包括:
6.根據(jù)權(quán)利要求4所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括:
7.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述處理器為布爾處理器。
8.根據(jù)權(quán)利要求1所述的系統(tǒng),其特征在于,所述節(jié)點(diǎn)為電路中產(chǎn)生可觀察信號的任何邏輯元素。