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