一種可編程邏輯器件pld調(diào)試系統(tǒng)及方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及可編程邏輯器件領(lǐng)域,尤其涉及一種可編程邏輯器件PLD調(diào)試系統(tǒng)及方法。
【背景技術(shù)】
[0002]可編程邏輯器件(programmable logic device,PLD)作為專用集成電路(Applicat1n Specific Integrated Circuit,ASIC)領(lǐng)域中的一種半定制電路,米用 PLD的優(yōu)點(diǎn)是在設(shè)計(jì)階段中客戶可根據(jù)需要修改電路,直到對(duì)設(shè)計(jì)工作感到滿意為止,一旦設(shè)計(jì)完成,客戶可立即投入生產(chǎn),只需要利用最終軟件設(shè)計(jì)文件簡(jiǎn)單地編程所需要數(shù)量的PLD就可以了 ;其中,上板調(diào)試是PLD開發(fā)過程中必不可少的階段,因此,為提高開發(fā)的效率和質(zhì)量,需要采用有效、方便、準(zhǔn)確的調(diào)試方法。
[0003]在現(xiàn)有技術(shù)中,為實(shí)現(xiàn)實(shí)時(shí)觀測(cè)數(shù)據(jù)的目的,通常在PLD中內(nèi)置邏輯分析儀,并通過聯(lián)合測(cè)試行動(dòng)小組(Joint Test Act1n Group,JTAG)電纜將調(diào)試終端的并口連接到該邏輯分析儀中,在調(diào)試終端上通過分析軟件來控制單板邏輯的調(diào)試過程,將調(diào)試數(shù)據(jù)傳輸?shù)秸{(diào)試終端上,利用分析軟件便可實(shí)時(shí)地看到邏輯內(nèi)的波形。
[0004]然而,現(xiàn)有調(diào)試方法需要使用JTAG電纜連接FPGA,JTAG電纜的長(zhǎng)度有限,無法進(jìn)行遠(yuǎn)程調(diào)試,其次,因?yàn)樯衔粰C(jī)軟件獨(dú)占JTAG通道,不能達(dá)到多用戶分時(shí)進(jìn)行調(diào)試;并且調(diào)試終端與PLD通信的接口單一;即現(xiàn)有PLD調(diào)試方法受制于JTAG電纜長(zhǎng)度而無法進(jìn)行遠(yuǎn)程調(diào)試,降低了用戶的使用體驗(yàn)。
[0005]因此,如何提供一種可以遠(yuǎn)程調(diào)試的可編程邏輯器件PLD調(diào)試方法,是本領(lǐng)域技術(shù)人員亟待解決的技術(shù)問題。
【發(fā)明內(nèi)容】
[0006]本發(fā)明提供了一種可編程邏輯器件PLD調(diào)試系統(tǒng)及方法,以解決現(xiàn)有PLD調(diào)試技術(shù)不能遠(yuǎn)程調(diào)試的問題。
[0007]本發(fā)明提供了一種可編程邏輯器件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ù)。
[0008]進(jìn)一步的,客戶端還用于對(duì)調(diào)試數(shù)據(jù)進(jìn)行過濾篩選、組合、對(duì)比處理,通過波形、二進(jìn)制數(shù)據(jù)和曲線方式展示處理后的調(diào)試數(shù)據(jù)。
[0009]進(jìn)一步的,客戶端還用于用戶網(wǎng)表和特定IP核綁定,生成新的網(wǎng)表文件,并通過PLD調(diào)試請(qǐng)求發(fā)送出去。
[0010]進(jìn)一步的,客戶端還用于根據(jù)用戶操作設(shè)置觸發(fā)條件、選擇查看的端口和線網(wǎng)的數(shù)據(jù)、捕獲數(shù)據(jù)的采樣點(diǎn)數(shù),并通過PLD調(diào)試請(qǐng)求發(fā)送出去。
[0011]進(jìn)一步的,服務(wù)端還用于存儲(chǔ)調(diào)試數(shù)據(jù),當(dāng)接收到客戶端查詢請(qǐng)求時(shí),向客戶端展不O
[0012]進(jìn)一步的,當(dāng)客戶端為多個(gè)時(shí),服務(wù)端在接收PLD調(diào)試請(qǐng)求至FPGA硬件之后,還用于判斷FPGA硬件是否正在執(zhí)行PLD調(diào)試請(qǐng)求,若是,則通知客戶端需要等待,若否,則通過驅(qū)動(dòng)模塊下發(fā)到FPGA硬件。
[0013]進(jìn)一步的,客戶端與服務(wù)端通過TCP/IP嵌套字Socket建立連接,服務(wù)端與FPGA硬件通過硬件接口建立連接。
[0014]本發(fā)明提供了一種可編程邏輯器件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ù)。
[0015]進(jìn)一步的,還包括:客戶端對(duì)調(diào)試數(shù)據(jù)進(jìn)行過濾篩選、組合、對(duì)比處理,通過波形、二進(jìn)制數(shù)據(jù)和曲線方式展示處理后的調(diào)試數(shù)據(jù)。
[0016]進(jìn)一步的,還包括:客戶端用戶網(wǎng)表和特定IP核綁定,生成新的網(wǎng)表文件,并通過PLD調(diào)試請(qǐng)求發(fā)送出去。
[0017]進(jìn)一步的,還包括:客戶端根據(jù)用戶操作設(shè)置觸發(fā)條件、選擇查看的端口和線網(wǎng)的數(shù)據(jù)、捕獲數(shù)據(jù)的采樣點(diǎn)數(shù),并通過PLD調(diào)試請(qǐng)求發(fā)送出去。
[0018]進(jìn)一步的,還包括:服務(wù)端存儲(chǔ)調(diào)試數(shù)據(jù),當(dāng)接收到客戶端查詢請(qǐng)求時(shí),向客戶端展示。
[0019]進(jìn)一步的,當(dāng)客戶端為多個(gè)時(shí),服務(wù)端在接收PLD調(diào)試請(qǐng)求至FPGA硬件之后,還包括:判斷FPGA硬件是否正在執(zhí)行PLD調(diào)試請(qǐng)求,若是,則通知客戶端需要等待,若否,則通過驅(qū)動(dòng)模塊下發(fā)到FPGA硬件。
[0020]進(jìn)一步的,客戶端與服務(wù)端通過TCP/IP嵌套字Socket建立連接,服務(wù)端與FPGA硬件通過硬件接口建立連接。
[0021]本發(fā)明的有益效果:
[0022]本發(fā)明提供了一種PLD調(diào)試方法,包括客戶端及服務(wù)端,這樣用戶就可以在客戶端發(fā)起調(diào)試,并通過服務(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)度而無法進(jìn)行遠(yuǎn)程調(diào)試的問題,增加了用戶的使用體驗(yàn)。
【附圖說明】
[0023]圖1為本發(fā)明第一實(shí)施例提供的PLD調(diào)試系統(tǒng)的結(jié)構(gòu)示意圖;
[0024]圖2為本發(fā)明第二實(shí)施例提供的PLD調(diào)試方法的流程圖;
[0025]圖3為本發(fā)明第三實(shí)施例提供的PLD調(diào)試方法的流程圖;
[0026]圖4為本發(fā)明第三實(shí)施例中客戶端的結(jié)構(gòu)示意圖;
[0027]圖5為本發(fā)明第三實(shí)施例中客戶端插核功能的流程圖;
[0028]圖6為本發(fā)明第三實(shí)施例中服務(wù)端的結(jié)構(gòu)示意圖;
[0029]圖7為本發(fā)明第三實(shí)施例中FPGA硬件的結(jié)構(gòu)示意圖;
[0030]圖8為本發(fā)明第三實(shí)施例中Socket報(bào)文的格式示意圖。
【具體實(shí)施方式】
[0031]現(xiàn)通過【具體實(shí)施方式】結(jié)合附圖的方式對(duì)本發(fā)明做出進(jìn)一步的詮釋說明。
[0032]第一實(shí)施例:
[0033]圖1為本發(fā)明第一實(shí)施例提供的PLD調(diào)試系統(tǒng)的結(jié)構(gòu)示意圖,由圖1可知,在本實(shí)施例中,本發(fā)明提供的PLD調(diào)試系統(tǒng)包括:
[0034]客戶端1,用于根據(jù)用戶操作發(fā)送PLD調(diào)試請(qǐng)求至服務(wù)端,接收服務(wù)端返回的調(diào)試數(shù)據(jù);
[0035]服務(wù)端2,用于接收并轉(zhuǎn)發(fā)PLD調(diào)試請(qǐng)求至FPGA硬件,接收并轉(zhuǎn)發(fā)FPGA硬件抓取的調(diào)試數(shù)據(jù)至客戶端;
[0036]FPGA硬件3,用于執(zhí)行PLD調(diào)試請(qǐng)求,并抓取調(diào)試數(shù)據(jù)。
[0037]在一些實(shí)施例中,上述實(shí)施例中的客戶端I還用于對(duì)調(diào)試數(shù)據(jù)進(jìn)行過濾篩選、組合、對(duì)比處理,通過波形、二進(jìn)制數(shù)據(jù)和曲線方式展示處理后的調(diào)試數(shù)據(jù)。
[0038]在一些實(shí)施例中,上述實(shí)施例中的客戶端I還用于用戶網(wǎng)表和特定IP核綁定,生成新的網(wǎng)表文件,并通過PLD調(diào)試請(qǐng)求發(fā)送出去。
[0039]在一些實(shí)施例中,上述實(shí)施例中的客戶端I還用于根據(jù)用戶操作設(shè)置觸發(fā)條件、選擇查看的端口和線網(wǎng)的數(shù)據(jù)、捕獲數(shù)據(jù)的采樣點(diǎn)數(shù),并通過PLD調(diào)試請(qǐng)求發(fā)送出去。
[0040]在一些實(shí)施例中,上述實(shí)施例中的服務(wù)端2還用于存儲(chǔ)調(diào)試數(shù)據(jù),當(dāng)接收到客戶端查詢請(qǐng)求時(shí),向客戶端展示。
[0041 ] 在一些實(shí)施例中,當(dāng)客戶端I為多個(gè)時(shí),上述實(shí)施例中的服務(wù)端2在接收PLD調(diào)試請(qǐng)求至FPGA硬件之后,還用于判斷FPGA硬件是否正在執(zhí)行PLD調(diào)試請(qǐng)求,若是,則通知客戶端需要等待,若否,則通過驅(qū)動(dòng)模塊下發(fā)到FPGA硬件。
[0042]在一些實(shí)施例中,上述實(shí)施例中的客戶端I與服務(wù)端2通過TCP/IP嵌套字Socket建立連接,服務(wù)端2與FPGA硬件3通過硬件接口建立連接。
[0043]第二實(shí)施例:
[0044]圖2為本發(fā)明第二實(shí)施例提供的PLD調(diào)試方法的流程圖,由圖2可知,在本實(shí)施例中,本發(fā)明提供的P