專利名稱:一種加載現場可編程門陣列的方法、裝置及系統的制作方法
技術領域:
本發明涉及通信技術領域,尤其涉及一種加栽現場可編程門陣列的方法、 裝置及系統。
背景技術:
無線通信系統設備通常對整個系統冷啟動時間有要求,通常單板上FPGA(Field-Programmable Gate Array,現場可編程門陣列)代碼文件大小有數 兆位之多,FPGA代碼在單板啟動時由CPU ( Central Processing Unit,中央處 理器)加載到FPGA,加載的時間根據CPU加栽端口速度,以及FPGA規模 大小不同, 一般需要幾秒至幾十秒長的時間,這段時間會成為單板底層軟件 啟動時間的關鍵瓶頸。現有技術中,FPGA的加栽可參見
圖1, FPGA加栽接口信號包括數據、 時鐘、控制信號,這些信號由EPLD ( Electrically Programmable Logic Device, 電可編程邏輯器件)提供,CPU通過8位異步通信端口來操作控制EPLD中 的加栽數據、時鐘、控制信號寄存器,來實現加載信號的輸入采集與輸出模擬。在對現有技術的研究和實踐過程中,發明人發現現有技術至少存在以下 問題每加載一個字節,需要至少CPU3次訪問外設才能完成,同時CPU訪 問一次外設需要消耗至少兩個總線周期,而外設總線速率一般為50MHz或者 100MHz,因此加載速度慢,耗時時間長。例如,CPU對FPGA加栽一個字節 的文件,首先CPU要對EPLD加載數據寄存器寫一個加載文件字節,EPLD 送出這個字節到FPGA加載端口,然后CPU對加載時鐘寄存器寫一次O,再 寫一次l,這樣EPLD才能給出一個加載時鐘上升沿,因此模擬一次時鐘上升 沿需要操作EPLD寄存器兩次, 一個字節才被加栽到FPGA。發明內容本發明實施例要解決的技術問題是提供一種加載現場可編程門陣列的方法、裝置及系統,能夠在加栽FPGA代碼時,提高加載的速度。為解決上述技術問題,本發明實施例是通過以下技術方案實現的本發明實施例一方面提供了 一種加栽現場可編程門陣列的方法,包括接收預設位寬的數據,該預設位寬的數據位寬為現場可編程門陣列FPGA 數據加載端口位寬的整數N倍;將接收的預設位寬的數據劃分成整數N個數據,其中每個數據的位寬為 FPAG數據加栽端口的位寬;將劃分后的數據分整數N次加載到FPGA。本發明實施例另 一方面還提供了 一種加栽現場可編程門陣列的裝置,包括接收單元,用于接收預設位寬的數據,該預設位寬的數據位寬為FPGA 數據加載端口位寬的整數N倍;劃分單元,用于將接收的預設位寬的數據劃分成整數N個數據,其中每 個數據的位寬為FPAG數據加載端口的位寬;加栽單元,用于將劃分后的數據分整數N次加載到FPGA。 本發明實施例還提供了 一種加載現場可編程門陣列的系統,包括中央處理單元,用于發送預設位寬的數據,該預設位寬的數據位寬為 FPGA數據加載端口位寬的整數N倍;電可編程邏輯單元,用于接收中央處理單元發送的預設位寬的數據并將 該預設位寬的數據劃分成整數N個數據,將劃分后的數據分整數N次加栽到 FPGA邏輯單元;FPGA邏輯單元,用于接收電可編程邏輯單元加載的數據。以上技術方案可以看出,CPU加載FPGA時,CPU訪問FPGA數據的位 寬由FPGA數據加載端口位寬變為FPGA數據加栽端口位寬的預設整數N倍, 因此FPGA加栽占用CPU訪問外設次數減少到預設整數N分之一,縮短了加栽FPGA的時間。 附困說明圖1為本發明現有技術提供的FPGA并行加載原理圖; 圖2為本發明實施例一提供的方法流程圖; 圖3為本發明實施例二提供的裝置示意圖; 圖4為本發明實施例三提供的系統示意圖。務體實施方式本發明實施例提供了 一種加栽現場可編程門陣列的方法、裝置及系統, 用于FPGA代碼在單板啟動時由CPU加栽到FPGA的過程中,提高加栽FPGA 的速度,并且避免加栽數據的丟失。為了使本發明的技術方案更加清楚明白,下面列舉實施例進行詳細說明參見圖2,為本發明實施例一提供的方法流程圖,包括S101: EPLD接收預設位寬的數據。本實施例中,該預設位寬為CPU與 EPLD之間所支持的最大訪問端口位寬,且該預設位寬為FPGA數據加載端口 位寬的整數N倍,例如CPU與EPLD之間所支持的最大訪問端口位寬為16 位,FPGA數據加栽端口位寬為8位,則預設位寬為16位。S102: EPLD將接收的預設位寬的數據劃分成整數N個數據。預設位寬 是FPGA數據加載端口位寬的整數N倍,劃分后每個數據的位寬是FPGA數 據加載端口的位寬。例如,EPLD將步驟S101接收的16位寬的數據劃分成2 個8位寬的數據。S103:將劃分后的數據分整數N次加載到FPGA。例如,EPLD在接收下 一個16位寬的數據之前,EPLD將步驟S102所得的2個8位寬的數據分兩次 時鐘加載到FPGA。本實施例中,在CPU連續兩次加栽^t據的間隔內,FPGA加載時^l中由 EPLD自動提供,在每個時鐘周期內將一個劃分后的數據加栽到FPGA。實施例一可以看出,由于CPU加載FPGA時,CPU對EPLD加栽數據寄存器的操作的位寬增加了,比如由原來的8位改為16位訪問,這樣加栽時間減少 為二分之一;FPGA加栽時鐘由EPLD自動給出,減少了 FPGA加栽占用的CPU 訪問外設的次數,由3次減少到1次,因此加栽時間減少為三分之一;并且, 在CPU兩次寫加栽數據的間隔內,EPLD要把上次CPU送過來的16比特數據加 栽進FPGA,這樣才能保證加載數據不被覆蓋丟失,CPU兩次寫數據寄存器的 時間間隔最短時間至少需要CPU 8個機器周期,而EPLD完成2次加栽時鐘上升 沿只需要2個EPLD工作時鐘周期,因此可以避免加載數據的丟失。參見圖3,為本發明實施例二提供的裝置示意圖,包括接收單元201,用于接收預設位寬的數據,該預設位寬為接收單元201所 能接收數據的最大位寬,且該預設位寬的數據位寬為FPGA數據加栽端口位 寬的整數N倍。例如,接收單元201所能接收數據的最大位寬為16位,FPGA 數據加載端口位寬為8位,則預設位寬為16位。劃分單元202,用于將接收單元201接收的預設位寬的數據劃分成整數N 個數據,其中每個數據的位寬為FPAG加載數據端口的位寬。例如,EPLD將 接收單元201接收的16位寬的數據劃分成2個8位寬的數據。加載單元203,用于將劃分單元202劃分后的數據分整數N次加載到 FPGA。例如,EPLD在4矣收下一個16位寬的數據之前,EPLD將劃分單元202 所得的2個8位寬的數據分兩次時鐘加載到FPGA。其中,所述裝置還包括時鐘單元204,用于提供加載劃分單元202劃分后的數據的時鐘,在每個 時鐘周期內加栽單元203將劃分后的一個數據加載到FPGA。參見圖4,為本發明實施例三提供的系統示意圖,包括中央處理單元 301、電可編程邏輯單元302、 FPGA邏輯單元303。中央處理單元301,用于發送預設位寬的數據,該預設位寬為中央處理單 元301與電可編程邏輯單元302之間所支持的最大訪問端口位寬,且該預設 位寬為FPGA邏輯單元303加載數據端口位寬的整數N倍,例如中央處理單元301與電可編程邏輯單元302之間所支持的最大訪問端口位寬為16位, FPGA邏輯單元303加栽數據端口位寬為8位,則預設位寬為16位。電可編程邏輯單元302,用于接收中央處理單元301發送的預設位寬的數 據并將接收的預設位寬的數據劃分成整數N個數據,將劃分后的數據分整數 N次加載到FPGA邏輯單元303。FPGA邏輯單元303,用于接收電可編程邏輯單元302加載的數據。其中,所述系統還包括時鐘單元,用于提供電可編程邏輯單元加栽數據的時鐘,在每個時鐘周 期內電可編程邏輯單元302將劃分后的一個數據加載到FPGA,該時鐘單元可 與所述電可編程邏輯單元302集成在一起。本實施例中,所述中央處理單元301與所述電可編程邏輯單元302之間 的端口位寬為16位,FPGA邏輯單元303加載數據端口的位寬為8位。以上實施例可以看出,CPU加載FPGA時,CPU對FPGA數據加栽寄存 器的操作變為預設整數進行訪問,并且FPGA加栽時鐘由EPLD自動供給, 而不再由CPU操作EPLD的時鐘寄存器來實現,因此減少了加載FPGA時 CPU訪問外設的次數,縮短了加栽FPGA的時間。.貝可。是可以通過程序來指令相關的硬件完成,該程序可以存儲于一種計算機可讀 存儲介質中。上述提到的存儲介質可以是只讀存儲器,磁盤或光盤等。以上對本發明所提供的一種加栽現場可編程門陣列的方法、裝置及系統 進行了詳細介紹,對于本領域的一般技術人員,依據本發明實施例的思想, 在具體實施方式
及應用范圍上均會有改變之處,綜上所述,本說明書內容不 應理解為對本發明的限制。
權利要求
1、一種加載現場可編程門陣列的方法,其特征在于,包括接收預設位寬的數據,所述預設位寬的數據位寬為現場可編程門陣列FPGA數據加載端口位寬的整數N倍;將接收的所述預設位寬的數據劃分成整數N個數據,其中每個數據的位寬為所述FPAG數據加載端口的位寬;將劃分后的數據分整數N次加載到FPGA。
2、 根據權利要求1所述的方法,其特征在于,所述將劃分后的數據分整 數N次加栽到FPGA,包括提供時鐘,在每個時鐘周期內將劃分后的一個 數據加載到FPGA。
3、 根據權利要求1所示的方法,其特征在于,所述預設位寬為16位, 所述FPGA數椐加栽端口位寬為8位。
4、 一種加栽現場可編程門陣列的裝置,其特征在于,包括接收單元,用于接收預設位寬的數據,所述預設位寬的數據位寬為FPGA 數據加栽端口位寬的整數N倍;劃分單元,用于將接收的所述預設位寬的數據劃分成整數N個數據,其 中每個數據的位寬為所述FPAG數據加載端口的位寬;加栽單元,用于將劃分后的所述數據分整數N次加栽到FPGA。
5、 根據權利要求4所述的裝置,其特征在于,所述裝置還包括時鐘單元,用于提供加載所述劃分單元劃分后的數據的時鐘,在每個時 鐘周期內所述加載單元將劃分后的一個數據加栽到FPGA。
6、 一種加栽現場可編程門陣列的系統,其特征在于,包括中央處理單元,用于發送預設位寬的數據,所述預設位寬的數據位寬為 FPGA數據加載端口位寬的整數N倍;電可編程邏輯單元,用于接收所述中央處理單元發送的預設位寬的數據 并將所述預設位寬的數據劃分成整數N個數據,將劃分后的所述數據分整數N次加載到FPGA邏輯單元;FPGA邏輯單元,用于接收所述電可編程邏輯單元加載的數據。
7、 根據權利要求6所述的系統,其特征在于,所述系統還包括時鐘單元,用于提供所述電可編程邏輯單元加載數據的時鐘,在每個時 鐘周期內所述電可編程邏輯單元將劃分后的一個數據加栽到FPGA。
8、 根據權利要求6所述的系統,其特征在于,所述中央處理單元與所述 電可編程邏輯單元之間的端口位寬為16位,所述FPGA邏輯單元數據加栽端 口的位寬為8位。
全文摘要
本發明公開了一種加載現場可編程門陣列的方法、裝置及系統。本發明方法包括接收預設位寬的數據,所述預設位寬的數據位寬為現場可編程門陣列FPGA數據加載端口位寬的整數N倍;將接收的所述預設位寬的數據劃分成整數N個數據,其中每個數據的位寬為所述FPAG數據加載端口的位寬;將劃分后的數據分整數N次加載到FPGA。通過本發明,減少了加載FPGA時CPU訪問外設次數,縮短了加載FPGA的時間。
文檔編號G06F9/445GK101226481SQ200810033550
公開日2008年7月23日 申請日期2008年2月2日 優先權日2008年2月2日
發明者董永強 申請人:上海華為技術有限公司