Fpga配置文件的壓縮方法和裝置的制造方法
【技術領域】
[0001]本發明涉及通信領域,尤其涉及一種現場可編程邏輯門陣列(FieldProgrammable Gate Array, FPGA)配置文件的壓縮方法和裝置。
【背景技術】
[0002]現有技術中對FPGA配置文件進行加載時,當配置文件的容量較大時,往往需要花費較長的時間進行配置文件的傳輸,導致配置文件加載的速率較慢,從而影響了 FPGA芯片的配置速度。
【發明內容】
[0003]本發明的目的是解決現有技術中在進行FPGA配置文件加載時,需要花費較長的時間進行配置文件的傳輸,配置文件加載的速率較慢,FPGA芯片的配置速度慢的問題。
[0004]第一方面,本發明實施例提供了一種FPGA配置文件的壓縮方法,所述方法包括:
[0005]接收處理器發送的壓縮指令;
[0006]對進行寄存器傳輸級RTL編碼、綜合、布局布線時現場可編程邏輯門陣列FPGA芯片的第一配置文件進行分割,生成多個子文件;
[0007]當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表;
[0008]刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件單獨子文件。
[0009]可選地,遍歷所述子文件,以所述多個子文件中沒有出現過的組合字符作為標識符。
[0010]可選地,所述對進行RTL編碼、綜合、布局布線時FPGA芯片的第一配置文件進行分害I],生成多個子文件具體包括:
[0011]根據所述第一配置文件的容量對所述第一配置文件進行分割。
[0012]可選地,所述方法還包括:
[0013]將所述第二配置文件加載到FPGA芯片,以配置所述FPGA芯片。
[0014]可選地,所述方法之后還包括:對所述加載到FPGA芯片的第二配置文件解碼,以生成第一配置文件。
[0015]第二方面,本發明實施例提供了一種FPGA配置文件的壓縮裝置,所述裝置包括:接收單元,分割單元,獲取單元,刪除單元;
[0016]所述接收單元,用于接收處理器發送的壓縮指令;
[0017]所述分割單元,用于對進行RTL編碼、綜合、布局布線時FPGA的第一配置文件進行分割,生成多個子文件;
[0018]所述獲取單元,用于當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表;
[0019]所述刪除單元,用于刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件。
[0020]可選地,所述獲取單元具體用于,遍歷所述子文件,以所述多個子文件中沒有出現過的組合字符作為標識符。
[0021]可選地,所述分割單元具體用于,根據將所述第一配置文件的容量對所述第一配置文件進行分割。
[0022]本發明通過對FPGA配置文件在加載時,接收處理器發送的壓縮指令;對進行RTL編碼、綜合、布局布線時FPGA芯片的第一配置文件進行分割,生成多個子文件;當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表;刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件單獨子文件進行壓縮,減少了配置文件的傳輸時間,從而進一步解決了配置文件加載的速率較慢,FPGA芯片的配置速度慢的問題。
【附圖說明】
[0023]圖1為本發明實施例一提供的FPGA配置文件的壓縮方法流程圖;
[0024]圖2為本發明實施例一提供的FPGA配置文件加載的架構圖;
[0025]圖3為本發明實施例二提供的FPGA配置文件的壓縮裝置示意圖。
【具體實施方式】
[0026]為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0027]為便于對本發明實施例的理解,下面將結合附圖以具體實施例做進一步的解釋說明,實施例并不構成對本發明實施例的限定。
[0028]本發明應用于將FPGA配置文件加載到FPGA芯片時的場景,通過對FPGA配置文件進行壓縮,加快了配置文件的加載速度。
[0029]圖1為本發明實施例一提供的FPGA配置文件的加載方法流程圖。如圖1所示,本實施例包括以下步驟:
[0030]S110,接收處理器發送的壓縮指令。
[0031]S120,對進行RTL編碼、綜合、布局布線時FPGA芯片的第一配置文件進行分割,生成多個子文件。
[0032]具體地,如圖2所示,圖2為本發明的FPGA配置文件加載的架構圖。圖2中的壓縮后的比特流即為第二配置文件,比特流解碼器也可以簡稱為解碼器,配置存儲器可以作為FPGA芯片中的字典的載體。
[0033]利用電子設計自動化(Electronic Design Automat1n, EDA)工具,在經過寄存器傳輸級(register-transfer level,RTL)編碼,綜合,布局布線后,生成第一配置文件,當該第一配置文件較大時,加載到FPGA芯片時的加載速率不高,為了減小配置文件的大小,提高FPGA芯片的配置速度,可以通過按壓EDA軟件的“壓縮”按鍵,向處理器發送壓縮指令,處理器接收到壓縮指令后,將第一配置文件進行壓縮。
[0034]其中,該EDA工具為我司自主研發,該EDA工具的界面上有如上所述可以進行觸發處理器進行壓縮的按鍵。
[0035]在對第一配置文件壓縮時,可以先對第一配置文件進行分割時,在對第一配置文件進行分割時,可以根據第一配置文件的容量對所述第一配置文件進行分割,將第一配置文件分割為多個子文件。示例而非限定,可以按照Sbit —個子文件對第一配置文件進行分害I],在另一個實施例中,也可以以16bit —個子文件對第一配置文件進行分割。
[0036]S130,當所述多個子文件中存在相同子文件時,獲取所述相同子文件的相同值以及所述相同值的長度,并添加標識符,所述相同值、長度和標識符構成查找表。
[0037]當多個子文件中的至少兩個子文件相同時,可以獲取該至少兩個子文件中的任一子文件的相同值,并且獲取該相同值的長度,并給該相同值和相同值的長度添加標識符,該相同值、相同值的長度和標識符構成查找表。其中,在添加標識符時,可以遍歷全部子文件,以所述多個子文件中沒有出現過的組合字符作為標識符。
[0038]在將相同的子文件做上述處理后,對于剩余的單獨子文件,可以不做處理。
[0039]S140,刪除所述第一配置文件中的相同子文件,將所述查找表和單獨子文件構成第二配置文件。
[0040]對所有子文件中的相同子文件進行S120-130的處理,對于子文件中的單獨的子文件,其和查找表一起,構成第二配置文件。其中,所述單獨子文件為所述多個子文件中不存在相同子文件的子文件。
[0041]可選地,在對FPGA芯片的第一配置文件進行壓縮后,將生成的第二配置文件加載到FPGA芯片,以配置所述FPGA芯片。
[0042