]具體地,將第二配置文件所在的用戶設備(User Equipment, UE)和FPGA芯片相連接,通過下載線將第二配置文件下載到FPGA芯片中,FPGA芯片內部預先配置有解碼器電路或者FPGA芯片的擴展接口上連接有解碼器電路,解碼器對第二配置文件進行解碼,解碼完成后,獲取到第一配置文件,根據第一配置文件,FPGA芯片可以完成相關配置,比如,完成FPGA芯片的下載啟動流程。
[0043]具體地,在解碼時,可以先獲取到第二配置文件中的查找表,通過讀取查找表,恢復出相同的子文件,將恢復后的相同子文件和沒有做處理的單獨子文件,進行組合,生成第一配置文件。
[0044]需要說明的是,也可以利用游程編碼算法或游程編碼算法的變種對第一配置文件進行壓縮,生成第二配置文件。
[0045]也可以利用LZ77、LZ78、LZSS、LZff 算法、所述 LZ77、LZ78、LZSS、LZff 的變種算法、
基于字典和滑動窗口的算法中的任意一種對第一配置文件進行壓縮,生成第二配置文件。
[0046]也可以利用統計概率的壓縮算法,如Shanno-Fano算法、霍夫曼編碼、算術編碼及基于所述Shanno-Fano算法、霍夫曼編碼、算術編碼的類似算法對第一配置文件進行壓縮,生成第二配置文件。
[0047]也可以基于本申請的算法和上述三類算法,以任意順序組合成新的算法。
[0048]通過應用本發明實施例提供的FPGA配置文件的加載方法,接收處理器發送的壓縮指令;對進行寄存器傳輸級RTL編碼、綜合、布局布線時現場可編程邏輯門陣列FPGA芯片的第一配置文件進行分割,生成多個子文件;當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表;刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件,使得配置文件的尺寸大幅度減小,從而在將配置文件加載到FPGA芯片時,減少了加載時間,從而增加了 FPGA芯片的配置效率。
[0049]需要說明的是,也可以利用LZ77、LZ78、LZSS、LZW算法、所述LZ77、LZ78、LZSS、LZff的變種算法、基于字典和滑動窗口的算法中的任意一種對第一配置文件進行壓縮,生成第二配置文件。
[0050]圖3為本發明實施例二提供的FPGA配置文件的壓縮裝置示意圖。如圖3所示,該壓縮裝置包括:接收單元310,分割單元320,獲取單元330,刪除單元340。
[0051]所述接收單元310,用于接收處理器發送的壓縮指令;
[0052]所述分割單元320,用于對進行RTL編碼、綜合、布局布線時FPGA的第一配置文件進行分割,生成多個子文件;
[0053]所述獲取單元330,用于當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表;
[0054]所述刪除單元340,用于刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件。
[0055]可選地,所述獲取單元330具體用于,遍歷所述子文件,以所述多個子文件中沒有出現過的組合字符作為標識符。
[0056]可選地,所述分割單元320具體用于,根據將所述第一配置文件的容量對所述第一配置文件進行分割。
[0057]專業人員應該還可以進一步意識到,結合本文中所公開的實施例描述的各示例的單元及算法步驟,能夠以電子硬件、計算機軟件或者二者的結合來實現,為了清楚地說明硬件和軟件的可互換性,在上述說明中已經按照功能一般性地描述了各示例的組成及步驟。這些功能究竟以硬件還是軟件方式來執行,取決于技術方案的特定應用和設計約束條件。專業技術人員可以對每個特定的應用來使用不同方法來實現所描述的功能,但是這種實現不應認為超出本發明的范圍。
[0058]結合本文中所公開的實施例描述的方法或算法的步驟可以用硬件、處理器執行的軟件模塊,或者二者的結合來實施。軟件模塊可以置于隨機存儲器(RAM)、內存、只讀存儲器(ROM)、電可編程ROM、電可擦除可編程ROM、寄存器、硬盤、可移動磁盤、CD-ROM、或技術領域內所公知的任意其它形式的存儲介質中。
[0059]以上所述的【具體實施方式】,對本發明的目的、技術方案和有益效果進行了進一步詳細說明,所應理解的是,以上所述僅為本發明的【具體實施方式】而已,并不用于限定本發明的保護范圍,凡在本發明的精神和原則之內,所做的任何修改、等同替換、改進等,均應包含在本發明的保護范圍之內。
【主權項】
1.一種FPGA配置文件的壓縮方法,其特征在于,所述方法包括: 接收處理器發送的壓縮指令; 對進行寄存器傳輸級RTL編碼、綜合、布局布線時現場可編程邏輯門陣列FPGA芯片的第一配置文件進行分割,生成多個子文件; 當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表; 刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件單獨子文件。2.根據權利要求1所述的方法,其特征在于,遍歷所述子文件,以所述多個子文件中沒有出現過的組合字符作為標識符。3.根據權利要求1所述的方法,其特征在于,所述對進行RTL編碼、綜合、布局布線時FPGA芯片的第一配置文件進行分割,生成多個子文件具體包括: 根據所述第一配置文件的容量對所述第一配置文件進行分割。4.根據權利要求1所述的方法,其特征在于,所述方法還包括: 將所述第二配置文件加載到FPGA芯片,以配置所述FPGA芯片。5.根據權利要求1所述的方法,其特征在于,所述方法之后還包括:對所述加載到FPGA芯片的第二配置文件解碼,以生成第一配置文件。6.一種FPGA配置文件的壓縮裝置,其特征在于,所述裝置包括:接收單元,分割單元,獲取單元,刪除單元; 所述接收單元,用于接收處理器發送的壓縮指令; 所述分割單元,用于對進行RTL編碼、綜合、布局布線時FPGA的第一配置文件進行分害I],生成多個子文件; 所述獲取單元,用于當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表; 所述刪除單元,用于刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件。7.根據權利要求6所述的裝置,其特征在于,所述獲取單元具體用于,遍歷所述子文件,以所述多個子文件中沒有出現過的組合字符作為標識符。8.根據權利要求6所述的裝置,其特征在于,所述分割單元具體用于,根據將所述第一配置文件的容量對所述第一配置文件進行分割。
【專利摘要】本發明涉及一種FPGA配置文件的壓縮方法和裝置,所述方法包括:接收處理器發送的壓縮指令;對進行RTL編碼、綜合、布局布線時FPGA芯片的第一配置文件進行分割,生成多個子文件;當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表;刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件單獨子文件。
【IPC分類】G06F17/30
【公開號】CN105574053
【申請號】CN201410635537
【發明人】何軻
【申請人】京微雅格(北京)科技有限公司
【公開日】2016年5月11日
【申請日】2014年11月5日