每一個(gè)客戶端,并把客戶端的請(qǐng)求放入消息隊(duì)列中。如果當(dāng)前消息隊(duì)列非空,發(fā)送消息給客戶端提示用戶等待。
[0094]管理模塊22按照先到先處理(FIFO)的方式處理消息隊(duì)列中的消息,解析消息包(圖8所示的報(bào)文),獲取操作對(duì)象、操作命令和業(yè)務(wù)數(shù)據(jù),并對(duì)消息包進(jìn)行校驗(yàn),然后根據(jù)不同的操作命令調(diào)用不同的方法,通過(guò)驅(qū)動(dòng)模塊24下發(fā)請(qǐng)求給FPGA硬件模塊。管理模塊22通過(guò)驅(qū)動(dòng)模塊24獲取硬件FPGA調(diào)試數(shù)據(jù),然后調(diào)用存儲(chǔ)模塊23的接口方法將數(shù)據(jù)保存在數(shù)據(jù)庫(kù)中,最后把FPGA調(diào)試數(shù)據(jù)封裝后通過(guò)通信模塊21發(fā)送給客戶端。
[0095]存儲(chǔ)模塊23實(shí)現(xiàn)數(shù)據(jù)庫(kù)和管理模塊22之間的數(shù)據(jù)讀取和保存功能。
[0096]驅(qū)動(dòng)模塊24實(shí)現(xiàn)常用的通信接口標(biāo)準(zhǔn),例如USB、并口、RJ-45、RS-232,實(shí)現(xiàn)與FPGA硬件通信。
[0097]3、FPGA 硬件
[0098]FPGA硬件3主要是利用客戶端將用戶網(wǎng)表和特定IP核完成插核,生成位流文件后,將位流文件下載到FPGA芯片中運(yùn)行,F(xiàn)PGA將需要捕獲的數(shù)據(jù)存儲(chǔ)在RAM中,并將存儲(chǔ)數(shù)據(jù)按照特定格式傳送到服務(wù)端。
[0099]如圖7所示,F(xiàn)PGA硬件3包括:硬件接口 31、IP調(diào)試核32、內(nèi)部RAM33和用戶網(wǎng)表數(shù)據(jù)34。其中,
[0100]硬件接口 31是FPGA硬件物理接口,與服務(wù)端的驅(qū)動(dòng)模塊24通過(guò)硬件連線連接。
[0101]IP調(diào)試核32是專用IP Core,實(shí)現(xiàn)類似邏輯分析儀的功能,它是用戶在客戶端通過(guò)插核模塊生成的插核后網(wǎng)表,生成位流文件,最后在FPGA內(nèi)運(yùn)行的邏輯。IP調(diào)試核32與硬件接口 31通過(guò)FPGA全局技術(shù)算子(GTP)相連接,實(shí)現(xiàn)數(shù)據(jù)的讀寫(xiě)交互。
[0102]IP調(diào)試核32將按照用戶設(shè)置的參數(shù),抓取用戶網(wǎng)表數(shù)據(jù)34的調(diào)試數(shù)據(jù),并存儲(chǔ)在內(nèi)部RAM33中,當(dāng)內(nèi)部RAM33中的數(shù)據(jù)達(dá)到采樣點(diǎn)數(shù),IP調(diào)試核32讀取RAM中的數(shù)據(jù),并發(fā)送給服務(wù)端。
[0103]用戶網(wǎng)表數(shù)據(jù)34是用戶設(shè)計(jì)網(wǎng)表在FPGA內(nèi)部執(zhí)行的動(dòng)態(tài)數(shù)據(jù)。
[0104]本實(shí)施例提供的基于CS架構(gòu)的在線調(diào)試方法,通過(guò)客戶端接入到服務(wù)端實(shí)現(xiàn)遠(yuǎn)程調(diào)試,同時(shí)實(shí)現(xiàn)多個(gè)用戶分時(shí)調(diào)試的目的,驅(qū)動(dòng)端口豐富,同時(shí)兼顧調(diào)試的靈活性、簡(jiǎn)易性和實(shí)時(shí)性的目的,提尚調(diào)試的效率。
[0105]綜上可知,通過(guò)本發(fā)明的實(shí)施,至少存在以下有益效果:
[0106]本發(fā)明提供的PLD調(diào)試系統(tǒng)包括客戶端及服務(wù)端,這樣用戶就可以在客戶端發(fā)起調(diào)試,并通過(guò)服務(wù)端完成調(diào)試及調(diào)試數(shù)據(jù)的接收,實(shí)現(xiàn)了基于CS框架的PLD遠(yuǎn)程調(diào)試,解決了現(xiàn)有PLD調(diào)試技術(shù)受制于JTAG電纜長(zhǎng)度而無(wú)法進(jìn)行遠(yuǎn)程調(diào)試的問(wèn)題,增加了用戶的使用體驗(yàn);
[0107]進(jìn)一步的,CS結(jié)構(gòu)的客戶端可以根據(jù)需要設(shè)置多個(gè),解決了現(xiàn)有調(diào)試方法不能多用戶分時(shí)調(diào)試的缺陷,同時(shí)兼顧調(diào)試的靈活性、簡(jiǎn)易性和實(shí)時(shí)性的目的,提高調(diào)試的效率;
[0108]進(jìn)一步的,服務(wù)端與FPGA硬件基于硬件接口通信,解決了現(xiàn)有調(diào)試方法連接接口單一的問(wèn)題。
[0109]以上僅是本發(fā)明的【具體實(shí)施方式】而已,并非對(duì)本發(fā)明做任何形式上的限制,凡是依據(jù)本發(fā)明的技術(shù)實(shí)質(zhì)對(duì)以上實(shí)施方式所做的任意簡(jiǎn)單修改、等同變化、結(jié)合或修飾,均仍屬于本發(fā)明技術(shù)方案的保護(hù)范圍。
【主權(quán)項(xiàng)】
1.一種可編程邏輯器件PLD調(diào)試系統(tǒng),其特征在于,包括: 客戶端,用于根據(jù)用戶操作發(fā)送PLD調(diào)試請(qǐng)求至服務(wù)端,接收所述服務(wù)端返回的調(diào)試數(shù)據(jù); 服務(wù)端,用于接收并轉(zhuǎn)發(fā)所述PLD調(diào)試請(qǐng)求至FPGA硬件,接收并轉(zhuǎn)發(fā)所述FPGA硬件抓取的調(diào)試數(shù)據(jù)至所述客戶端; FPGA硬件,用于執(zhí)行所述PLD調(diào)試請(qǐng)求,并抓取所述調(diào)試數(shù)據(jù)。2.如權(quán)利要求1所述的可編程邏輯器件PLD調(diào)試系統(tǒng),其特征在于,所述客戶端還用于對(duì)所述調(diào)試數(shù)據(jù)進(jìn)行過(guò)濾篩選、組合、對(duì)比處理,通過(guò)波形、二進(jìn)制數(shù)據(jù)和曲線方式展示處理后的調(diào)試數(shù)據(jù)。3.如權(quán)利要求1所述的可編程邏輯器件PLD調(diào)試系統(tǒng),其特征在于,所述客戶端還用于用戶網(wǎng)表和特定IP核綁定,生成新的網(wǎng)表文件,并通過(guò)所述PLD調(diào)試請(qǐng)求發(fā)送出去。4.如權(quán)利要求3所述的可編程邏輯器件PLD調(diào)試系統(tǒng),其特征在于,所述客戶端還用于根據(jù)用戶操作設(shè)置觸發(fā)條件、選擇查看的端口和線網(wǎng)的數(shù)據(jù)、捕獲數(shù)據(jù)的采樣點(diǎn)數(shù),并通過(guò)所述PLD調(diào)試請(qǐng)求發(fā)送出去。5.如權(quán)利要求1所述的可編程邏輯器件PLD調(diào)試系統(tǒng),其特征在于,所述服務(wù)端還用于存儲(chǔ)所述調(diào)試數(shù)據(jù),當(dāng)接收到所述客戶端查詢請(qǐng)求時(shí),向所述客戶端展示。6.如權(quán)利要求1至5任一項(xiàng)所述的可編程邏輯器件PLD調(diào)試系統(tǒng),其特征在于,當(dāng)所述客戶端為多個(gè)時(shí),所述服務(wù)端在接收所述PLD調(diào)試請(qǐng)求至FPGA硬件之后,還用于判斷所述FPGA硬件是否正在執(zhí)行PLD調(diào)試請(qǐng)求,若是,則通知所述客戶端需要等待,若否,則通過(guò)驅(qū)動(dòng)模塊下發(fā)到所述FPGA硬件。7.如權(quán)利要求1至5任一項(xiàng)所述的可編程邏輯器件PLD調(diào)試系統(tǒng),其特征在于,所述客戶端與所述服務(wù)端通過(guò)TCP/IP嵌套字Socket建立連接,所述服務(wù)端與所述FPGA硬件通過(guò)硬件接口建立連接。8.一種可編程邏輯器件PLD調(diào)試方法,其特征在于,包括: 客戶端根據(jù)用戶操作發(fā)送PLD調(diào)試請(qǐng)求至服務(wù)端; 服務(wù)端接收并轉(zhuǎn)發(fā)所述PLD調(diào)試請(qǐng)求至FPGA硬件; FPGA硬件執(zhí)行所述PLD調(diào)試請(qǐng)求,并抓取所述調(diào)試數(shù)據(jù); 所述服務(wù)端接收并轉(zhuǎn)發(fā)所述FPGA硬件抓取的調(diào)試數(shù)據(jù)至所述客戶端; 所述客戶端接收所述服務(wù)端返回的調(diào)試數(shù)據(jù)。9.如權(quán)利要求8所述的可編程邏輯器件PLD調(diào)試方法,其特征在于,還包括:所述客戶端對(duì)所述調(diào)試數(shù)據(jù)進(jìn)行過(guò)濾篩選、組合、對(duì)比處理,通過(guò)波形、二進(jìn)制數(shù)據(jù)和曲線方式展示處理后的調(diào)試數(shù)據(jù)。10.如權(quán)利要求8所述的可編程邏輯器件PLD調(diào)試方法,其特征在于,還包括:所述客戶端用戶網(wǎng)表和特定IP核綁定,生成新的網(wǎng)表文件,并通過(guò)所述PLD調(diào)試請(qǐng)求發(fā)送出去。11.如權(quán)利要求10所述的可編程邏輯器件PLD調(diào)試方法,其特征在于,還包括:所述客戶端根據(jù)用戶操作設(shè)置觸發(fā)條件、選擇查看的端口和線網(wǎng)的數(shù)據(jù)、捕獲數(shù)據(jù)的采樣點(diǎn)數(shù),并通過(guò)所述PLD調(diào)試請(qǐng)求發(fā)送出去。12.如權(quán)利要求8所述的可編程邏輯器件PLD調(diào)試方法,其特征在于,還包括:所述服務(wù)端存儲(chǔ)所述調(diào)試數(shù)據(jù),當(dāng)接收到所述客戶端查詢請(qǐng)求時(shí),向所述客戶端展示。13.如權(quán)利要求8至12任一項(xiàng)所述的可編程邏輯器件PLD調(diào)試方法,其特征在于,當(dāng)所述客戶端為多個(gè)時(shí),所述服務(wù)端在接收所述PLD調(diào)試請(qǐng)求至FPGA硬件之后,還包括:判斷所述FPGA硬件是否正在執(zhí)行PLD調(diào)試請(qǐng)求,若是,則通知所述客戶端需要等待,若否,則通過(guò)驅(qū)動(dòng)模塊下發(fā)到所述FPGA硬件。14.如權(quán)利要求8至12任一項(xiàng)所述的可編程邏輯器件PLD調(diào)試方法,其特征在于,所述客戶端與所述服務(wù)端通過(guò)TCP/IP嵌套字建立連接,所述服務(wù)端與所述FPGA硬件通過(guò)硬件接口建立連接。
【專利摘要】本發(fā)明提供了一種可編程邏輯器件PLD調(diào)試系統(tǒng)及方法,該方法包括:客戶端根據(jù)用戶操作發(fā)送PLD調(diào)試請(qǐng)求至服務(wù)端;服務(wù)端接收并轉(zhuǎn)發(fā)PLD調(diào)試請(qǐng)求至FPGA硬件;FPGA硬件執(zhí)行PLD調(diào)試請(qǐng)求,并抓取調(diào)試數(shù)據(jù);服務(wù)端接收并轉(zhuǎn)發(fā)FPGA硬件抓取的調(diào)試數(shù)據(jù)至客戶端;客戶端接收服務(wù)端返回的調(diào)試數(shù)據(jù)。通過(guò)本發(fā)明的實(shí)施,用戶就可以在客戶端發(fā)起調(diào)試,并通過(guò)服務(wù)端完成調(diào)試及調(diào)試數(shù)據(jù)的接收,實(shí)現(xiàn)了基于CS框架的PLD遠(yuǎn)程調(diào)試,解決了現(xiàn)有PLD調(diào)試技術(shù)受制于JTAG電纜長(zhǎng)度而無(wú)法進(jìn)行遠(yuǎn)程調(diào)試的問(wèn)題,增加了用戶的使用體驗(yàn)。
【IPC分類】H04L12/26
【公開(kāi)號(hào)】CN105024884
【申請(qǐng)?zhí)枴緾N201510452634
【發(fā)明人】劉銳銳
【申請(qǐng)人】深圳市同創(chuàng)國(guó)芯電子有限公司
【公開(kāi)日】2015年11月4日
【申請(qǐng)日】2015年7月28日