潘吉華(貴州航天天馬機(jī)電科技有限公司,貴州遵義,563000)
對FPGA加載速度提升的方法研究
潘吉華
(貴州航天天馬機(jī)電科技有限公司,貴州遵義,563000)
由于當(dāng)前FPGA技術(shù)呈現(xiàn)出迅猛發(fā)展的態(tài)勢,這也就會存在更多的繼承FPGA邏輯資源,相應(yīng)也就會存在更大的配置FPGA文件。從這就能夠了解到,在當(dāng)前科學(xué)技術(shù)背景下,相應(yīng)也就會存在更大的高端配置FPGA文件,相應(yīng)也會使得極大的增加加載FPGA時間,導(dǎo)致啟動單板時間縮短,必須提升FPGA加載速度。本文在此背景下,通過對FPGA加載過程的分析,提到方法能夠?qū)PGA加載速度加快,另外憑借相應(yīng)工程實(shí)踐實(shí)施的證明,借助這一描述方法能夠做到縮減加載速度為優(yōu)化和之前的五分之一以下。
邏輯資源;FPGA技術(shù);加載速度
根據(jù)當(dāng)前相對來說使用比較廣泛的Xilinx這種 FPGA芯片選擇的加載模式往往是Slave SelectMAP (parallel,x8) 配置模式,將這一過程具體化,這也就是憑借著相應(yīng)所具備的CPU當(dāng)中的GPIO模擬localbus總線,從而可以做到有效的讀寫EPLD當(dāng)中的城鄉(xiāng)定義的寄存器,通常EPLD引腳上面映射部分寄存器的Bit,以便能夠讓這些引腳與相關(guān)FPGA配置引腳相連接,針對這樣的情況,這也就能夠憑借著CPU對EPLD的寄存器讀寫,從而可以將相關(guān)FPGA配置引腳進(jìn)行控制,使得滿足配置FPGA的目的。
根據(jù)對某個單板實(shí)施分析就能夠發(fā)現(xiàn),其中存在著多塊的FPGA芯片,憑借這種方法的使用加載一塊FPGA,往往從時間上必須達(dá)到三十秒左右的時間,那么如果是加載四塊FPGA的時間則累積達(dá)到兩分鐘以上,要想做到將加載速度提升,這就應(yīng)該做出一系列的分析討論,從而提出三個層次優(yōu)化。
根據(jù)對FPGA實(shí)施加載的EPLD寄存器實(shí)施控制主要存在著兩種類型,第一種類型是做好數(shù)據(jù)寄存器FPGA_CFGDATA_REG的配置,CPU能夠做到將這一寄存器當(dāng)中寫入所有的配置數(shù)據(jù),立足于此基礎(chǔ),這一寄存器的數(shù)值則是在所有配置時鐘的上升寫入FPGA。另外的一個寄存器則是做好寄存器FPGA_CFG_REG的控制配置,在這一寄存器當(dāng)中存在著五個Bits。那么在這一單板當(dāng)中,進(jìn)行FPGA配置數(shù)據(jù)時序的加載則為以下兩步:第一個步驟是通過CPU向FPGA_CFGDATA_REG寫入配置數(shù)據(jù);第二個步驟則是憑借著三次讀寫FPGA_CFG_REG,以便能夠做到讓FPGA_ CFGCLK從低到高再到底的順序?qū)嵤瑢?dǎo)致FPGA_CFGCLK面臨上升沿,這也就會導(dǎo)致相應(yīng)的配置數(shù)據(jù)在FPGA_CFGCLK的上升沿寫入FPGA。。從這就能夠了解到,將一個配置數(shù)據(jù)寫入到FPGA當(dāng)中,這就應(yīng)該讓CPU針對EPLD寄存器執(zhí)行三個讀操作與四個寫操作,其中總共耗費(fèi)的時間大致是3018ns,型號XC6VLX240T的FPGA配置數(shù)據(jù)為9232444字節(jié),則加載一塊FPGA時間大約為3018ns*9232444=27.8s。在這里需要值得重點(diǎn)關(guān)注的問題是,全部耗費(fèi)的時間數(shù)值則是出于仿真的環(huán)境下,憑借著TSC計數(shù)器進(jìn)行測量獲得,在進(jìn)行編譯代碼的過程當(dāng)中,選擇出的是03優(yōu)化。
根據(jù)以上所進(jìn)行的分析就能夠了解到,將一個配置數(shù)據(jù)寫入到AFPGA,這必須借助于CPU對于EPLD寄存器執(zhí)行三個讀操作與四個寫操作,在這一環(huán)節(jié)當(dāng)中,后面的三次寫操作與三次讀操作知識為了產(chǎn)生一個配置時鐘的上升沿。黨在CPU將一個配置數(shù)據(jù)寫入到EPLD的時候,EPLD可以自動產(chǎn)生出一個周期的配置時鐘,那么一個配置數(shù)據(jù)價值只是需要CPU針對EPLD及尋求執(zhí)行一個寫操作就可以了,這也就可以將加載FPGA的時間最大限度的縮短。根據(jù)這樣的思路,如果CPU寫入一個數(shù)據(jù)到EPLD的時候,那么EPLD則是會做到一個配置時鐘的自動產(chǎn)生。如果CPU寫入數(shù)據(jù)到EPLD的時候,這也就會導(dǎo)致呈現(xiàn)一個WR的低脈沖,相應(yīng)的時鐘配置則是屬于一個高脈沖,除此之外,還處于WR低脈沖的基礎(chǔ)的后面,針對這樣的情況,那么就能夠考慮取反WR,另外還對其實(shí)施延時。根據(jù)對某單板進(jìn)行分析,這也就會存在著四塊FPGA,每個FPGA配置時鐘FPGA_CFGCLK和片選FPGA_CFGCS保持著獨(dú)立的狀態(tài),在進(jìn)行數(shù)據(jù)的配置過程當(dāng)中則會存在著八條數(shù)據(jù)線。要想在實(shí)際應(yīng)用環(huán)節(jié)當(dāng)中做到分開四個FPGA_CFGCLK,在這里必須做到把WR取反另外延時之后的信號與CFGCS取反后的信號相與。憑借著現(xiàn)實(shí)環(huán)節(jié)當(dāng)中進(jìn)行的測試結(jié)果現(xiàn)實(shí),一個配置數(shù)據(jù)寫入從時間上則是從3018ns縮短至633ns,加載XC6VLX240T型號的FPGA時的加載總時間則是從之前的27.8秒減少到5.85秒。
從XC6VLX240T型號的FPGA角度進(jìn)行分析就能夠發(fā)現(xiàn),那么所配置的數(shù)據(jù)字節(jié)數(shù)是9232444個,CPU則是做到在EPLD的同一個寄存器當(dāng)中寫入全部的配置數(shù)據(jù),也就是FPGA_CFGDATA_ REG。那么在進(jìn)行這一寄存器的寫入的過程當(dāng)中,CPU往往是率先將這一寄存器的地址寫入,基于此基礎(chǔ)隨后將數(shù)據(jù)進(jìn)行寫入。通常來說,寄存器是存在著固定的地址,針對這樣的情況,我們能夠考慮只是在第一次寫FPGA_CFGDATA_REG的過程當(dāng)中提供相應(yīng)的寄存器地址,EPLD寄存地址,隨后CPU在進(jìn)行這一寄存器的寫入過程并不提供地址,只是在比較低的WR的過程當(dāng)中,將有效數(shù)據(jù)提供給EPLD就行。如果使用這一方式,那么一塊FPDA加載的時間是3.01秒,而一個配置數(shù)據(jù)加載的時間則是325ns。
根據(jù)對FPDA配置數(shù)據(jù)進(jìn)行觀察就能夠了解到,大量的連續(xù)值存在于數(shù)據(jù)當(dāng)中,比如連續(xù)1000個0x00。在這里則是將某一個單板下行FPDA當(dāng)成例子,處于050d這一版本之下,那么在下行FPDA代碼當(dāng)中的0x00的連續(xù)個數(shù)超過512的就有31處之多,最多一處為連續(xù)1215388個字節(jié)0x00;在某單板上,下行FPGA連通性測試代碼中,0x00連續(xù)個數(shù)超過512的也有271處之多,最多一處為2428942個字節(jié)0x00。根據(jù)這樣的i情況,我們能夠考慮通過CPU對某個數(shù)值連續(xù)個數(shù)進(jìn)行統(tǒng)計,立足于此基礎(chǔ),向EPLD告訴這一數(shù)值與連續(xù)個數(shù),那么EPLD則存在著不變的配置數(shù)據(jù),那么隨后就會呈現(xiàn)N個配置時鐘,也就是將加載N個配置數(shù)據(jù)完成。憑借著以上所提到的方法優(yōu)化實(shí)施測試之后,那么下行FPDA加載的時間則是減少至0.75秒。
根據(jù)相應(yīng)的理論分析與實(shí)際測試,那么以上所提到的三個層次優(yōu)化方法顯得十分有效。通過對比以上的三種優(yōu)化方式,其特征為:
第一種方式能夠?qū)PU部分代碼進(jìn)行簡化,僅僅只是做到把配置數(shù)據(jù)順序?qū)懭氲紼PLD配置數(shù)據(jù)寄存器,EPLD能夠增加自動檢測WR,另外還會導(dǎo)致產(chǎn)生CCLK邏輯,相對來說,要想實(shí)現(xiàn)這一方式顯得比較簡單,提升加載速度則是大致五倍。
第二種方式則是立足于第一章方式的基礎(chǔ)之上,稍微改動CPU代碼,確保EPLD代碼不變,相對來說實(shí)現(xiàn)這一方式也比較簡單,可以進(jìn)一步提升加載速度大致是兩倍。
第三種方式比較大幅度的改動CPU與EPLD代碼,除此之外,在進(jìn)行FPDA版本的制作過程當(dāng)中,應(yīng)該進(jìn)行相應(yīng)的處理,相對來說實(shí)現(xiàn)這一方式比較復(fù)雜,能夠進(jìn)一步提升一倍至十五倍的加載速度。
[1]劉遠(yuǎn)華.極大規(guī)模集成電路測試技術(shù)發(fā)展[J].電子與封裝.2014(07)
[2]王高峰,趙文生.三維集成電路中的關(guān)鍵技術(shù)問題綜述[J].杭州電子科技大學(xué)學(xué)報.2014(02)
[3] 樊麗春,李群.模擬集成電路設(shè)計的自動化綜合流程研究[J].科技資訊.2013(07)
Study on the method of loading speed of FPGA
Pan Jihua
(Guizhou Aerospace Tianma Electromechanical Technology Co.Ltd.Guizhou Zunyi 563000)
Due to the current FPGA technology showing a rapid development trend,it will also exist more inherited FPGA logical resources,accordingly there will be a larger configuration FPGA file.From this can be learned,under the background of the current science and technology,there will be more high-end FPGA configuration file,the corresponding will also make great FPGA loading time increases,resulting in start single board time relationship,it is necessary to improve the loading speed of FPGA.Under this background,this paper,through on FPGA loading process analysis,mentioned method can to accelerate FPGA loading speed,also with the corresponding engineering practice implementation of proof,with the aid of this method can do reduce the load speed optimization and before a fifth of the following.
logical resources;FPGA technology;loading speed