專利名稱:加載現(xiàn)場可編程門陣列fpga的方法、裝置與系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明關(guān)于通信領(lǐng)域,特別關(guān)于一種加載現(xiàn)場可編程門陣列FPGA的方 法、裝置與系統(tǒng)。
背景技術(shù):
當(dāng)前主流的FPGA (現(xiàn)場可編程門陣列)是易失性的,即下電后內(nèi)容就丟 失了,所以在系統(tǒng)設(shè)計時要充分考慮如何去加載FPGA。 一種加載方法是單 板上電后,通過CPU將配置文件加載到FPGA上,該方法的缺點是系統(tǒng)初始化 時間長。另一種加載方法是將配置文件提前存放在單板的FLASH (閃存) 里,這樣上電后通過CPLD (Complex Programmable Logical Device,復(fù)雜可 編程邏輯器件)將FLASH里面的配置文件加載到FPGA上,實現(xiàn)了自動加載。
第二種加載方式的CPLD無需配置,直接從FLASH中讀取配置文件加載到 FPGA上,幫助FPGA上電后即進入工作狀態(tài)。隨著硬件設(shè)計模塊化、平臺化 概念的提出,出現(xiàn)了新的應(yīng)用場景,加載技術(shù)也需要進一步創(chuàng)新。比如,在 硬件設(shè)計模塊化、平臺化概念下設(shè)計出來的單板A,可以通過加載FPGA以不 同的配置文件而實現(xiàn)多個功能。如果采用傳統(tǒng)的加載技術(shù),單板A需要根據(jù)不 同的功能需求加載對應(yīng)的配置文件后才投入市場,這樣無論是生產(chǎn)加工、庫 存?zhèn)湄洝}庫管理,還是在售后服務(wù)等環(huán)節(jié)都要區(qū)別對待單板A,這些環(huán)節(jié)的 效率并沒有隨著硬件設(shè)計模塊化、平臺化而得到提高。
發(fā)明人在實現(xiàn)本發(fā)明的過程中,發(fā)現(xiàn)現(xiàn)有技術(shù)存在以下問題現(xiàn)有技術(shù) 在一塊單板上存儲一個配置文件,能夠?qū)崿F(xiàn)配置文件對應(yīng)的功能。當(dāng)出現(xiàn)多 個應(yīng)用場景下需要該單板實現(xiàn)不同功能的時候,現(xiàn)有技術(shù)只能根據(jù)不同的應(yīng) 用場景有區(qū)別的進行生產(chǎn)加工、庫存?zhèn)湄浐褪酆蠓?wù),這種生產(chǎn)方式導(dǎo)致效 率低下。本發(fā)明實施例提供一種加載現(xiàn)場可編程門陣列的方法、裝置與系統(tǒng),
為實現(xiàn)以上發(fā)明目的,本發(fā)明實施例提供一種加載現(xiàn)場可編程門陣列的 方法,所述方法包括接收現(xiàn)場可編程門陣列的配置文件加載參數(shù);根據(jù)所 述配置文件加載參數(shù)從多個配置文件中選擇一個配置文件;將選擇的配置文 件加載至所述現(xiàn)場可編程門陣列。
為實現(xiàn)以上發(fā)明目的,本發(fā)明實施例還提供一種加載現(xiàn)場可編程門陣列 的裝置,所述裝置包括加載參數(shù)接收單元,用于接收現(xiàn)場可編程門陣列的 配置文件加載參數(shù);配置文件選擇單元,用于根據(jù)所述配置文件加載參數(shù)從 多個配置文件中選擇一個配置文件;配置文件加載單元,用于將選擇的配置 文件加載至所述現(xiàn)場可編程門陣列。
為實現(xiàn)以上發(fā)明目的,本發(fā)明實施例還提供一種加載現(xiàn)場可編程門陣列 的系統(tǒng),所述系統(tǒng)包括非易失性存儲器,用于存儲對應(yīng)于不同功能的多個 配置文件;加載現(xiàn)場可編程門陣列的裝置,連接所述非易失性存儲器,用于 接收現(xiàn)場可編程門陣列的配置文件加載參數(shù),根據(jù)所述配置文件加載參數(shù)從 多個配置文件中選擇一個配置文件,將選擇的配置文件加載至所述現(xiàn)場可編 程門陣列;現(xiàn)場可編程門陣列,連接所述加載現(xiàn)場可編程門陣列的裝置,用 于接收所述配置文件并啟動所述配置文件對應(yīng)的功能。
本發(fā)明實施例的方法、裝置與系統(tǒng)通過預(yù)先存儲多個配置文件,根據(jù)不 同的功能選擇相應(yīng)的配置文件加載至FPGA,實現(xiàn)了在生產(chǎn)加工、庫存?zhèn)湄浀?環(huán)節(jié)的歸一化處理,提高了這些環(huán)節(jié)的效率。
圖l為本發(fā)明實施例加載現(xiàn)場可編程門陣列的裝置原理圖; 圖2為本發(fā)明實施例的系統(tǒng)原理圖3為當(dāng)選擇功能C的配置文件時圖2所示系統(tǒng)的工作原理示意圖; 圖4為本發(fā)明實施例系統(tǒng)的另一原理5圖5為當(dāng)選擇功能C的配置文件時圖4所示系統(tǒng)的工作原理示意圖6為本發(fā)明實施例加載FPGA的流程圖; 圖7為釆用本發(fā)明實施例的系統(tǒng)加載FPGA的詳細流程圖。
具體實施例方式
以下結(jié)合附圖對本發(fā)明具體實施方式
進行詳細說明。
圖1為本發(fā)明實施例加載FPGA的裝置原理圖。如圖所示本發(fā)明實施例 一種加載FPGA的裝置包括加載參數(shù)接收單元101,用于接收現(xiàn)場可編程門 陣列的配置文件加載參數(shù);配置文件選擇單元102,用于根據(jù)所述配置文件加 載參數(shù)從多個配置文件中選擇一個配置文件;配置文件加載單元103,用于將 選擇的配置文件加載至所述現(xiàn)場可編程門陣列。加載FPGA的裝置還可以用于 存儲對應(yīng)于不同功能的所述多個配置文件。
本發(fā)明實施例的裝置通過預(yù)先存儲多個配置文件,當(dāng)出現(xiàn)多個應(yīng)用場景 下需要該單板實現(xiàn)不同功能的時候,可通過配置加載電路以不同的參數(shù),將 不同功能對應(yīng)的配置文件加載至FPGA上。本發(fā)明改善了目前根據(jù)不同的應(yīng)用 場景有區(qū)別的進行生產(chǎn)加工、庫存?zhèn)湄浐褪酆蠓?wù)的現(xiàn)狀,使得一塊單板可 以用于多個場合,充分發(fā)揮了硬件設(shè)計模塊化和平臺化的優(yōu)點,實現(xiàn)了單板 在生產(chǎn)加工、庫存?zhèn)湄浀拳h(huán)節(jié)的歸一化處理,提高了這些環(huán)節(jié)的效率。
圖2為本發(fā)明實施例的系統(tǒng)原理圖。如圖2所示,該系統(tǒng)包括加載FPGA 的裝置IO,本實施例加載FPGA的裝置10采用CPLD實現(xiàn),該系統(tǒng)還包括非 易失性存儲器20、FPGA30以及CPU40。其中非易失性存儲器20可以是FLASH 或CF (Compact Fash)存儲卡,該存儲器20中預(yù)先存儲了對應(yīng)于不同功能的 多個配置文件。CPLD10連接所述非易失性存儲器20和FPGA30,用于接收 FPGA30的配置文件加載參數(shù),根據(jù)所述配置文件加載參數(shù)從多個配置文件中 選擇一個配置文件,將選擇的配置文件加載至所述FPGA30中。FPGA30連接 所述CPLDIO,用于接收所述配置文件并啟動所述配置文件對應(yīng)的功能。此外, FPGA30還連接CPU40,用于和CPU40之間進行加載之后的數(shù)據(jù)交互。
6圖2的系統(tǒng)能夠?qū)崿F(xiàn)可選擇地加載FPGA的功能,在實際的單板上可以自 帶CPU或者具有與其它單板CPU相連的配置接口,根據(jù)不同的應(yīng)用場景,CPU 下發(fā)相應(yīng)的參數(shù)給CPLD,由CPLD從存儲的多個配置文件中選擇一個配置文 件發(fā)送給FPGA進行加載,以實現(xiàn)不同的功能。
圖3為當(dāng)選擇功能C的配置文件時圖2所示系統(tǒng)的工作原理示意圖。首先, CPU40向加載FPGA的裝置10發(fā)送對應(yīng)于功能C的配置文件加載參數(shù);加載 FPGA的裝置10根據(jù)接收的參數(shù)讀取功能C的配置文件并發(fā)送給FPGA30, FPGA30接收該配置文件并啟動功能C。同時本發(fā)明實施例的系統(tǒng)還支持在線 升級功能,當(dāng)系統(tǒng)運行功能C的時候,可以通過CPU40向加載FPGA的裝置10 發(fā)送對應(yīng)于功能D的配置文件加載參數(shù);加載FPGA的裝置10根據(jù)接收的參數(shù) 讀取功能D的配置文件并發(fā)送給FPGA30,F(xiàn)PGA30接收該配置文件并啟動功能 D,實現(xiàn)了在線升級。
圖4為本發(fā)明實施例系統(tǒng)的另一原理圖。加載FPGA配置文件的選擇控制 命令除來自CPU外,也可以來自板內(nèi)的撥碼開關(guān)和/或板外的控制電路,CPLD 根據(jù)上述的控制電路輸出的信號,選擇存儲器中的相應(yīng)的配置文件加載到 FPGA上,實現(xiàn)了可選擇地加載FPGA功能。該系統(tǒng)在加載階段并不需要CPU 的參與,只需簡單的撥碼開關(guān)和/或控制電路就能實現(xiàn)。
如圖4所示,該系統(tǒng)包括加載FPGA的裝置10',本實施例加載FPGA的 裝置10'采用CPLD實現(xiàn),該系統(tǒng)還包括非易失性存儲器20' 、 FPGA30,以 及控制電路50。其中非易失性存儲器20,可以是FLASH或CF (Compact Flash)存儲卡,該存儲器20'中預(yù)先存儲了對應(yīng)于不同功能的多個配置文件。 加載FPGA的裝置IO,連接所述非易失性存儲器20'和FPGA30',用于接收 FPGA的配置文件加載參數(shù),根據(jù)所述配置文件加載參數(shù)從多個配置文件中選 擇一個配置文件,將選擇的配置文件加載至所述FPGA30'中。FPGA30'連接所 述加載FPGA的裝置10',用于接收所述配置文件,并啟動所述配置文件對應(yīng)的 功能。
7圖5為當(dāng)選擇功能C的配置文件時圖4系統(tǒng)的工作原理示意圖。首先,控制
電路50向加載FPGA的裝置10'發(fā)送對應(yīng)于功能C的配置文件加載參數(shù);加載 FPGA的裝置10,根據(jù)接收的參數(shù)讀取功能C的配置文件并發(fā)送給FPGA30', FPGA30'接收該配置文件并啟動功能C。同時本發(fā)明實施例的系統(tǒng)還支持在線 升級功能,當(dāng)系統(tǒng)運行功能C的時候,可以通過控制電路50向加載FPGA的裝 置10'發(fā)送對應(yīng)于功能D的配置文件加載參數(shù);加載FPGA的裝置10'根據(jù)接收 的參數(shù)讀取功能D的配置文件并發(fā)送給FPGA30, , FPGA30,接收該配置文件并 啟動功能D,實現(xiàn)了在線升級。
本實施例的系統(tǒng)應(yīng)用于一塊單板上時,需要在單板上存儲多個功能的配 置文件(功能A、功能B、功能C、功能D等),單板上電復(fù)位后,通過CPLD 將存儲器中不同的配置文件加載到FPGA上,實現(xiàn)可選擇地加載FPGA。該系 統(tǒng)支持自動加載和在線加載功能,實現(xiàn)了在生產(chǎn)加工、庫存?zhèn)湄浀拳h(huán)節(jié)的歸 一化處理,提高了這些環(huán)節(jié)的效率。
圖6為本發(fā)明實施例加載FPGA的流程圖。如圖6所示 歩驟S601,接收現(xiàn)場可編程門陣列的配置文件加載參數(shù); 步驟S602,根據(jù)所述配置文件加載參數(shù)從多個配置文件中選擇一個配置 文件;
步驟S603,將選擇的配置文件加載至所述現(xiàn)場可編程門陣列。
圖7為采用圖2或4的系統(tǒng)加載FPGA的詳細流程圖。如圖7所示
步驟S701,存儲多個配置文件,所述多個配置文件存儲于非易失性存儲 器中,如FLASH、 CF卡等;
步驟S702,從CPU、撥碼開關(guān)和/或控制電路接收配置文件加載參數(shù),該 參數(shù)指名了需要加載的配置文件;
步驟S703,根據(jù)所述加載參數(shù)選擇一個配置文件;
步驟S704,將所述配置文件發(fā)送給FPGA;
步驟S705, FPGA根據(jù)該配置文件實現(xiàn)相應(yīng)功能。以加載功能C的配置文件為例首先,CPU或撥碼開關(guān)和/或控制電路向 CPLD發(fā)送對應(yīng)于功能C的配置文件加載參數(shù);CPLD根據(jù)接收的參數(shù)讀取功能
C的配置文件并發(fā)送給FPGA, FPGA接收該配置文件并啟動功能C。同時本發(fā) 明實施例的系統(tǒng)還支持在線升級功能,當(dāng)系統(tǒng)運行功能C的時候,可以通過 CPU或撥碼開關(guān)和/或控制電路向CPLD發(fā)送對應(yīng)于功能D的配置文件加載參 數(shù);CPLD根據(jù)接收的參數(shù)讀取功能D的配置文件并發(fā)送給FPGA, FPGA接收 該配置文件并啟動功能D,實現(xiàn)了在線升級。
本發(fā)明實施例將具有不同功能的多個配置文件存儲在單板的非易失性存 儲器中,這塊單板選擇不同的配置文件加載FPGA,從而實現(xiàn)了不同的功能。 這樣,同一塊單板可以在不同的應(yīng)用場景下,通過配置來實現(xiàn)該場景所需的 邏輯功能,達到通用化的效果。大大改善了當(dāng)前根據(jù)場景區(qū)別進行生產(chǎn)加工、 庫存?zhèn)湄洝⑹酆蠓?wù)的現(xiàn)狀。極大地提高了生產(chǎn)加工、庫存?zhèn)湄洝⑹酆蠓?wù) 等環(huán)節(jié)的效率,充分發(fā)揮了硬件設(shè)計模塊化、平臺化的優(yōu)勢。
以上具體實施方式
僅用于說明本發(fā)明,而非用于限定本發(fā)明。
權(quán)利要求
1、一種加載現(xiàn)場可編程門陣列的方法,其特征在于,所述方法包括接收現(xiàn)場可編程門陣列的配置文件加載參數(shù);根據(jù)所述配置文件加載參數(shù)從多個配置文件中選擇一個配置文件;將選擇的配置文件加載至所述現(xiàn)場可編程門陣列。
2、 根據(jù)權(quán)利要求l所述的方法,其特征在于,所述方法還包括 在非易失性存儲器中預(yù)先存儲對應(yīng)于不同功能的所述多個配置文件。
3、 根據(jù)權(quán)利要求l所述的方法,其特征在于,接收現(xiàn)場可編程門陣列的 配置文件加載參數(shù),包括接收CPU發(fā)送的現(xiàn)場可編程門陣列的配置文件加載參數(shù);和/或 接收撥碼開關(guān)發(fā)送的現(xiàn)場可編程門陣列的配置文件加載參數(shù);和/或 接收控制電路發(fā)送的現(xiàn)場可編程門陣列的配置文件加載參數(shù)。
4、 一種加載現(xiàn)場可編程門陣列的裝置,其特征在于,所述裝置包括 加載參數(shù)接收單元,用于接收現(xiàn)場可編程門陣列的配置文件加載參數(shù); 配置文件選擇單元,用于根據(jù)所述配置文件加載參數(shù)從多個配置文件中選擇一個配置文件;配置文件加載單元,用于將選擇的配置文件加載至所述現(xiàn)場可編程門陣列。
5、 根據(jù)權(quán)利要求4所述的裝置,其特征在于,所述加載參數(shù)接收單元,用于接收CPU、撥碼開關(guān)和/或控制電路發(fā)送的 現(xiàn)場可編程門陣列的配置文件加載參數(shù)。
6、 一種加載現(xiàn)場可編程門陣列的系統(tǒng),其特征在于,所述系統(tǒng)包括 非易失性存儲器,用于存儲對應(yīng)于不同功能的多個配置文件; 加載現(xiàn)場可編程門陣列的裝置,連接所述非易失性存儲器,用于接收現(xiàn)場可編程門陣列的配置文件加載參數(shù),根據(jù)所述配置文件加載參數(shù)從多個配置文 件中選擇一個配置文件,將選擇的配置文件加載至所述現(xiàn)場可編程門陣列; 現(xiàn)場可編程門陣列,連接所述加載現(xiàn)場可編程門陣列的裝置,用于接收所述配置文件并啟動所述配置文件對應(yīng)的功能。
7、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括CPU,連接所述加載現(xiàn)場可編程門陣列的裝置,用于下發(fā)所述現(xiàn)場可編 程門陣列的配置文件加載參數(shù)。
8、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括撥碼開關(guān),連接所述加載現(xiàn)場可編程門陣列的裝置,用于下發(fā)所述現(xiàn)場 可編程門陣列的配置文件加載參數(shù)。
9、 根據(jù)權(quán)利要求6所述的系統(tǒng),其特征在于,所述系統(tǒng)還包括 控制電路,連接所述加載現(xiàn)場可編程門陣列的裝置,用于下發(fā)所述現(xiàn)場可編程門陣列的配置文件加載參數(shù)。
10、 根據(jù)權(quán)利要求6-9中任一項權(quán)利要求所述的系統(tǒng),其特征在于,所述加載現(xiàn)場可編程門陣列的裝置包括復(fù)雜可編程邏輯器件。
全文摘要
本發(fā)明實施例提供一種加載現(xiàn)場可編程門陣列的方法、裝置與系統(tǒng),所述方法包括接收現(xiàn)場可編程門陣列的配置文件加載參數(shù);根據(jù)所述配置文件加載參數(shù)從多個配置文件中選擇一個配置文件;將選擇的配置文件加載至所述現(xiàn)場可編程門陣列。本發(fā)明實施例的方法、裝置與系統(tǒng)通過預(yù)先存儲多個配置文件,根據(jù)不同的功能選擇相應(yīng)的配置文件加載至FPGA,實現(xiàn)了在生產(chǎn)加工、庫存?zhèn)湄浀拳h(huán)節(jié)的歸一化處理,提高了這些環(huán)節(jié)的效率。
文檔編號G06F17/50GK101452502SQ20081024702
公開日2009年6月10日 申請日期2008年12月30日 優(yōu)先權(quán)日2008年12月30日
發(fā)明者健 王, 蔡邦忠 申請人:華為技術(shù)有限公司