一種可編程邏輯器件配置方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及可編程邏輯器件領(lǐng)域,尤其涉及一種可編程邏輯器件配置方法及系統(tǒng)。
【背景技術(shù)】
[0002]普通的編程下載與配置FPGA(Field_programmable Gate Array,現(xiàn)場(chǎng)可編程門陣列)包含多種方式:主動(dòng)與被動(dòng)、串行與并行等多種組合方式。傳統(tǒng)的主動(dòng)串行配置方式通過并口下載線纜將配置信息下載到存儲(chǔ)器件中,上電時(shí)FPGA讀取存儲(chǔ)器件中的配置信息;這種方式需要專用的下載器及專用的軟件,不能直接遠(yuǎn)程配置使用,并行的方式會(huì)增加資源開銷和下載編程的復(fù)雜程度。
[0003]針對(duì)并行方式存在的缺點(diǎn),現(xiàn)有技術(shù)提供了基于串口的JTAG(JointTest Act1nGroup,聯(lián)合測(cè)試工作組)調(diào)試方法,通過JTAG電纜連接FPGA來配置下載信息,但是由于JTAG電纜的長(zhǎng)度有限,無法進(jìn)行遠(yuǎn)程配置下載,同時(shí),上位機(jī)軟件獨(dú)占JTAG通道,不能實(shí)現(xiàn)多客戶端分時(shí)進(jìn)行配置和對(duì)FPGA進(jìn)行操作來充分利用通道資源;并且配置終端與PLD(programmable logic device,可編程邏輯器件)的通信接口不支持USB芯片,不能使用USB線纜。
[0004]因此,本領(lǐng)域技術(shù)人員亟待提供一種PLD配置方法,以解決現(xiàn)有PLD配置技術(shù)不能遠(yuǎn)程配置使用的技術(shù)問題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明提供了一種PLD配置方法及系統(tǒng),以解決現(xiàn)有PLD配置技術(shù)不能遠(yuǎn)程配置使用的技術(shù)問題。
[0006]本發(fā)明提供了一種PLD配置方法,其包括:
[0007]客戶端與服務(wù)端通過tcp socket協(xié)議連接,服務(wù)端通過編程器與PLD連接;
[0008]服務(wù)端在接收到客戶端的通信數(shù)據(jù)時(shí),通過編程器將通信數(shù)據(jù)發(fā)送至PLD;
[0009]PLD執(zhí)行通信數(shù)據(jù),將執(zhí)行結(jié)果通過編程器、服務(wù)端發(fā)送至客戶端;
[0010]客戶端對(duì)執(zhí)行結(jié)果進(jìn)行處理并輸出。
[0011]進(jìn)一步的,服務(wù)端在接收到客戶端的通信數(shù)據(jù)后,還包括:判斷PLD是否在執(zhí)行其他客戶端的通信數(shù)據(jù),若是,則等待。
[0012]進(jìn)一步的,還包括:客戶端進(jìn)行文件檢查、信息核驗(yàn)、操作記錄中的至少一個(gè)操作。
[0013]進(jìn)一步的,客戶端對(duì)執(zhí)行結(jié)果進(jìn)行處理并輸出包括:對(duì)執(zhí)行結(jié)果進(jìn)行可視化顯示處理,以文本數(shù)據(jù)輸出。
[0014]進(jìn)一步的,編程器包括:USB編程器和并口編程器,USB編程器包括JTAG通道和SPI通道,服務(wù)端與PLD通過JTAG通道和/或SPI通道通信。
[0015]本發(fā)明提供了一種PLD配置系統(tǒng),其包括客戶端、服務(wù)端、編程器及PLD連接,客戶端與服務(wù)端通過tcp socket協(xié)議連接,服務(wù)端通過編程器與PLD連接;其中,
[0016]服務(wù)端用于在接收到客戶端的通信數(shù)據(jù)時(shí),通過編程器將通信數(shù)據(jù)發(fā)送至PLD;
[0017]PLD用于執(zhí)行通信數(shù)據(jù),將執(zhí)行結(jié)果通過編程器、服務(wù)端發(fā)送至客戶端;
[0018]客戶端用于對(duì)執(zhí)行結(jié)果進(jìn)行處理并輸出。
[0019]進(jìn)一步的,服務(wù)端在接收到客戶端的通信數(shù)據(jù)后,還用于:判斷PLD是否在執(zhí)行其他客戶端的通信數(shù)據(jù),若是,則等待。
[0020]進(jìn)一步的,客戶端還用于:進(jìn)行文件檢查、信息核驗(yàn)、操作記錄中的至少一個(gè)操作。[0021 ]進(jìn)一步的,客戶端用于對(duì)執(zhí)行結(jié)果進(jìn)行可視化顯示處理,以文本數(shù)據(jù)輸出。
[0022]進(jìn)一步的,編程器包括:USB編程器和并口編程器,USB編程器包括JTAG通道和SPI通道,服務(wù)端與PLD通過JTAG通道和/或SPI通道通信。
[0023]本發(fā)明的有益效果:
[0024]本發(fā)明提供了一種PLD配置方法,客戶端通過tcp socket協(xié)議接入到服務(wù)端實(shí)現(xiàn)遠(yuǎn)程編程下載,實(shí)現(xiàn)多個(gè)用戶分時(shí)在線調(diào)試配置的目的,解決了現(xiàn)有PLD配置技術(shù)不能遠(yuǎn)程配置使用的技術(shù)問題。進(jìn)一步的,編程器的驅(qū)動(dòng)端口豐富,將USB芯片中的雙通路應(yīng)用到PLD下載配置中,同時(shí)兼顧配置下載的靈活性、簡(jiǎn)易性、實(shí)時(shí)性和充分利用資源的目的,提高配置下載的效率。
【附圖說明】
[0025]圖1為本發(fā)明第一實(shí)施例提供的PLD配置系統(tǒng)的結(jié)構(gòu)示意圖;
[0026]圖2為本發(fā)明第二實(shí)施例提供的PLD配置方法的流程圖;
[0027]圖3為本發(fā)明第三實(shí)施例提供的PLD配置系統(tǒng)的結(jié)構(gòu)示意圖;
[0028]圖4為本發(fā)明第三實(shí)施例中USB編程器與PLD連接示意圖。
【具體實(shí)施方式】
[0029]現(xiàn)通過【具體實(shí)施方式】結(jié)合附圖的方式對(duì)本發(fā)明做出進(jìn)一步的詮釋說明。
[0030]第一實(shí)施例:
[0031]圖1為本發(fā)明第一實(shí)施例提供的PLD配置系統(tǒng)的結(jié)構(gòu)示意圖,由圖1可知,在本實(shí)施例中,本發(fā)明提供的PLD配置系統(tǒng)包括:客戶端1、服務(wù)端2、編程器3及PLD4連接,客戶端I與服務(wù)端2通過tcp socket協(xié)議連接,服務(wù)端2通過編程器3與PLD4連接;其中,
[0032]服務(wù)端2用于在接收到客戶端I的通信數(shù)據(jù)時(shí),通過編程器3將通信數(shù)據(jù)發(fā)送至PLD4;
[0033]PLD4用于執(zhí)行通信數(shù)據(jù),將執(zhí)行結(jié)果通過編程器3、服務(wù)端2發(fā)送至客戶端I;
[0034]客戶端I用于對(duì)執(zhí)行結(jié)果進(jìn)行處理并輸出。
[0035]在一些實(shí)施例中,上述實(shí)施例中的服務(wù)端2在接收到客戶端的通信數(shù)據(jù)后,還用于:判斷PLD是否在執(zhí)行其他客戶端的通信數(shù)據(jù),若是,則等待。
[0036]在一些實(shí)施例中,上述實(shí)施例中的客戶端I還用于:進(jìn)行文件檢查、信息核驗(yàn)、操作記錄中的至少一個(gè)操作。
[0037]在一些實(shí)施例中,上述實(shí)施例中的客戶端I用于對(duì)執(zhí)行結(jié)果進(jìn)行可視化顯示處理,以文本數(shù)據(jù)輸出。
[0038]在一些實(shí)施例中,上述實(shí)施例中的編程器3包括:USB編程器和并口編程器,USB編程器包括JTAG通道和SPI通道,服務(wù)端與PLD通過JTAG通道和/或SPI通道通信。
[0039]第二實(shí)施例:
[0040]圖2為本發(fā)明第二實(shí)施例提供的PLD配置方法的流程圖,由圖2可知,在本實(shí)施例中,本發(fā)明提供的PLD配置方法包括:
[0041 ] S201:客戶端與服務(wù)端通過tcp socket協(xié)議連接,服務(wù)端通過編程器與PLD連接;
[0042]S202:服務(wù)端在接收到客戶端的通信數(shù)據(jù)時(shí),通過編程器將通信數(shù)據(jù)發(fā)送至PLD;
[0043]S203:PLD執(zhí)行通信數(shù)據(jù),將執(zhí)行結(jié)果通過編程器、服務(wù)端發(fā)送至客戶端;
[0044]S204:客戶端對(duì)執(zhí)行結(jié)果進(jìn)行處理并輸出。
[0045]在一些實(shí)施例中,上述實(shí)施例中的服務(wù)端在接收到客戶端的通信數(shù)據(jù)后,還包括:判斷PLD是否在執(zhí)行其他客戶端的通信數(shù)據(jù),若是,則等待。
[0046]在一些實(shí)施例中,上述實(shí)施例中的方法還包括:客戶端進(jìn)行文件檢查、信息核驗(yàn)、操作記錄中的至少一個(gè)操作。
[0047]在一些實(shí)施例中,上述實(shí)施例中的客戶端對(duì)執(zhí)行結(jié)果進(jìn)行處理并輸出包括:對(duì)執(zhí)行結(jié)果進(jìn)行可視化顯示處理,以文本數(shù)據(jù)輸出。
[0048]在一些實(shí)施例中,上述實(shí)施例中的編程器包括:USB編程器和并口編程器,USB編程器包括JTAG通道和SPI通道,服務(wù)端與PLD通過JTAG通道和/或SPI通道通信。
[0049]現(xiàn)結(jié)合具體應(yīng)用場(chǎng)景對(duì)本發(fā)明做進(jìn)一步的詮釋說明。
[0050]第三實(shí)施例:
[0051 ]本實(shí)施例以FPGA為應(yīng)用場(chǎng)景對(duì)本發(fā)明進(jìn)行進(jìn)一步說明。
[0052]提供了一種高速配置PLD的方法和裝置,用以解決現(xiàn)有技術(shù)無法遠(yuǎn)程下載的問題,以及充分利用USB芯片資源,同時(shí)兼顧調(diào)試的靈活性、簡(jiǎn)易性和實(shí)時(shí)性的目的,提高配置下載的效率。
[0053]如圖3所示,客戶端I向服務(wù)端2發(fā)送數(shù)據(jù)或命令,服務(wù)端2收到客戶端I的數(shù)據(jù)和命令后,判斷此時(shí)服務(wù)端是2否正在處理其他客戶端的命令或數(shù)據(jù),如果此時(shí)空閑,則對(duì)命令和數(shù)據(jù)進(jìn)行處理,否則等待。服務(wù)端2發(fā)出信號(hào),在編程器3中進(jìn)行信號(hào)轉(zhuǎn)換,與PLD4進(jìn)行通信并傳輸數(shù)據(jù),并保存PLD4傳過來的數(shù)據(jù)進(jìn)行本地存儲(chǔ),然后進(jìn)行相應(yīng)的處理后,將數(shù)據(jù)傳送給客戶端I,客戶端I對(duì)數(shù)據(jù)進(jìn)行可視化顯示并進(jìn)行文本數(shù)據(jù)輸出。
[0054]在實(shí)際應(yīng)用中,客戶端I可以包括可視化圖形模塊、文本信息顯示模塊、編程下載功能模塊、通信模塊以及信息校驗(yàn)記錄模塊??梢暬瘓D形功能模塊包含下列主要功能:將PLD裝置中相應(yīng)的器件信息和配置信息以圖形化的方式顯示出來,提供可視化的操作界面,方便用戶進(jìn)行操作。文本信息顯示模塊包含下列主要功能:顯示可視化圖形模塊的器件信息和配置信息等文本信息,顯示編程下載模塊的相應(yīng)操作和操作結(jié)果等文本信息,顯示信息校驗(yàn)記錄模塊,在編程下載時(shí)對(duì)操作、文件和器件等校驗(yàn)信息,顯示通信模塊從JtagServer端得到返回信息。編程下載功能模塊包含下列主要功能:通過可視化圖形模塊提供的操作界面,可以對(duì)FPGA的可讀寄存器進(jìn)行讀取、對(duì)邏輯位流配置下載、回讀及校驗(yàn),在可視化圖形模塊下切換到Flash界面,對(duì)Flash器件進(jìn)行邏輯位流的配置下載,回讀和校驗(yàn),將用戶操作封裝成命令,交給通信功能模塊進(jìn)行處理。通信模塊包含下列主要功能:在可視化圖形功能模塊輸入服務(wù)端2的服務(wù)器地址和端口,通過Tcp socket建立與服務(wù)端2的連接,通過編程下載模塊,將用戶進(jìn)行的操作包裝成命令,然后把打包后的命令和數(shù)據(jù)通過通信模塊發(fā)送給服務(wù)端2;接收服務(wù)端2發(fā)送過來的數(shù)據(jù)并在可視化圖形功能模塊和文本信息顯示模塊進(jìn)行信息的顯示。信息校驗(yàn)記錄模塊包含下列主要功能:在編程下載模塊進(jìn)行相應(yīng)操作時(shí),對(duì)可視化圖形模塊中的配置文件和器件信息進(jìn)行文件檢查、信