Fpga配置文件的加載方法和解碼器的制造方法
【技術領域】
[0001] 本發明涉及微電子領域中的集成電路設計技術領域,特別是現場可編程邏輯口陣 列(Field Programm油le Gate Array, FPGA)配置文件的加載方法和解碼器。
【背景技術】
[0002] 現有技術中對FPGA配置文件進行加載時,當配置文件的容量較大時,往往需要花 費較長的時間進行配置文件的傳輸,導致配置文件加載的速率較慢,從而影響了 FPGA芯片 的配置速度。
【發明內容】
[0003] 本發明的目的是解決現有技術中在進行FPGA配置文件加載時,需要花費較長的 時間進行配置文件的傳輸,配置文件加載的速率較慢,FPGA芯片的配置速度慢的問題。
[0004] 第一方面,本發明實施例提供了一種FPGA配置文件的加載方法,所述方法包括:
[0005] 接收壓縮指令;
[0006] 將采用邸A工具進行RTL編碼、綜合、布局布線生成的第一配置文件的字符串和預 設的第一字典的字符串進行匹配,獲取匹配字符串及匹配字符串的長度值并添加標志位, 生成第二配置文件;
[0007] 將所述第二配置文件加載到FPGA芯片,利用解碼器對所述第二配置文件進行解 壓縮,W將所述第二配置文件還原成第一配置文件。
[0008] 優選地,所述將采用邸A工具進行RTL編碼、綜合、布局布線生成的第一配置文件 的字符串和預設的第一字典的字符串進行匹配,獲取匹配字符串及匹配字符串的長度值并 添加標志位,生成第二配置文件具體包括:
[0009] 接收處理器發送的壓縮指令,將所述第一配置文件的字符串和預設的第一字典的 字符串進行匹配;
[0010] 當所述第一配置文件的第一字符串和所述第一字典的第一字符串匹配時,獲取所 述第一字符串;
[0011] 獲取所述第一字符串的第一絕對位移量和所述第一字符串的第一長度,并給所述 第一字符串添加第一標志位,將所述第一標志位,第一絕對位移量和第一長度,生成第一 Η 元組,并用該第一Η元組替換所述第一配置文件的第一字符串;
[0012] 對所述第一字典進行更新。
[0013] 優選地,所述解碼器在所述FPGA芯片內;或者,
[0014] 所述解碼器通過擴展接口連接至所述FPGA芯片。
[0015] 優選地,所述利用解碼器對所述第二配置文件進行解壓縮具體包括:
[0016] 接收所述第二配置文件的第一部分,判斷所述第一部分是否存在Η元組;
[0017] 當所述Η元組存在第一標志位時,確定所述第一部分存在第一 Η元組,獲取所述 第一Η元組的第一絕對位移量和第一長度;
[0018] 根據所述第一 Η元組的第一絕對位移量和第一長度,獲取預設的第二字典的第一 字符串,并將所述第二字典的第一字符串輸出。
[0019] 優選地,所述方法還包括;當所述第一部分不存在Η元組時,將所述第二配置文件 的第一部分輸出。
[0020] 優選地,所述方法之后還包括:
[0021] 對所述第二字典進行更新。
[0022] 優選地,所述接收壓縮指令,將采用邸A工具進行RTL編碼、綜合、布局布線生成的 第一配置文件進行壓縮,生成第二配置文件具體包括:
[0023] 接收處理器發送的壓縮指令,利用LZ77、LZ78、LZSS、LZW算法、所述LZ77、LZ78、 LZSS、LZW的變種算法、基于字典和滑動窗口的算法中的任意一種對第一配置文件進行壓 縮,生成第二配置文件。
[0024] 第二方面,本發明實施例提供了一種解碼器,所述解碼器應用于FPGA配置文件的 加載,所述解碼器包括:輸入緩存,輸出緩存,第二字典;
[0025] 輸入緩存,用于接收所述第二配置文件的第一部分,判斷所述第一部分是否存在 Η元組;
[0026] 當所述Η元組存在第一標志位時,確定所述第一部分存在第一Η元組,獲取所述 第一Η元組的第一絕對位移量和第一長度;
[0027] 根據所述第一 Η元組的第一絕對位移量和第一長度,獲取預設的第二字典的第一 字符串,并將所述第二字典的第一字符串輸出至輸出緩存。
[0028] 優選地,所述輸入緩存還用于,當所述第一部分不存在Η元組時,將所述第二配置 文件的第一部分輸出至輸出緩存。
[0029] 優選地,所述輸入緩存還用于,對所述第二字典進行更新。
[0030] 本發明通過接收壓縮指令,將采用邸A工具進行寄存器傳輸級RTL編碼、綜合、布 局布線生成的第一配置文件進行壓縮,生成第二配置文件;將第二配置文件加載到現場可 編程邏輯口陣列FPGA芯片,利用解碼器對第二配置文件進行解壓縮,W將第二配置文件還 原成第一配置文件,減少了配置文件的傳輸時間,提高了配置文件加載的速率,提高了 FPGA 芯片的配置速率。而且,在進行FPGA配置文件的加載時,通過自主研發的邸A工具,采用標 志位和絕對位移量進行配置文件的編碼,在解碼時,通過硬件解碼器進行解碼,不需要進行 任何復雜的運算,極大簡化了硬件解碼器的結構,加快解碼的速度。
【附圖說明】
[0031] 圖1為本發明實施例一提供的FPGA配置文件的加載方法流程圖;
[003引圖2為本發明實施例一提供的FPGA配置文件加載的架構圖;
[0033] 圖3為本發明實施例一提供的FPGA配置文件加載時的編碼方法流程圖;
[0034] 圖4為本發明實施例一提供的FPGA配置文件加載時的解碼方法流程圖;
[0035] 圖5為本發明實施例二提供的解碼器結構示意圖。
【具體實施方式】
[0036] 為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例 中的附圖,對本發明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例是 本發明一部分實施例,而不是全部的實施例。基于本發明中的實施例,本領域普通技術人員 在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
[0037] 為便于對本發明實施例的理解,下面將結合附圖W具體實施例做進一步的解釋說 明,實施例并不構成對本發明實施例的限定。
[003引圖1為本發明實施例一提供的FPGA配置文件的加載方法流程圖。如圖1所示,本 實施例包括W下步驟:
[0039] S110,接收壓縮指令;
[0040] S120,將采用邸A工具進寄存器傳輸級RTL編碼、綜合、布局布線生成的第一配置 文件的字符串和預設的第一字典的字符串進行匹配,獲取匹配字符串及匹配字符串的長度 值并添加標志位,,生成第二配置文件。
[00川具體地,如圖2所示,圖2為本發明的FPGA配置文件加載的架構圖。圖2中的壓 縮后的比特流即為第二配置文件,比特流解碼器也可W簡稱為解碼器,配置存儲器可W作 為FPGA芯片中的字典的載體。
[0042] 利用電子設計自動化巧lectronic Desi即Automation,EDA)工具,在經過寄存器 傳輸級(register-transfer level,RTL)編碼,綜合,布局布線后,生成第一配置文件,當該 第一配置文件較大時,加載到FPGA芯片時的加載速率不高,為了減小配置文件的大小,提 高FPGA芯片的配置速度,可W通過按壓邸A軟件的"壓縮"按鍵,向處理器發送壓縮指令, 處理器接收到壓縮指令后,將第一配置文件進行壓縮,生成第二配置文件。
[0043] 其中,該邸A工具為我司自主研發,該邸A工具的界面上有如上所