999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種提高FPGA加載速度的方法

2011-12-31 00:00:00王征
考試周刊 2011年48期


  摘 要: 隨著FPGA技術(shù)的快速發(fā)展,F(xiàn)PGA集成的邏輯資源越來越多,隨之而來的是FPGA的配置文件越來越大。可以預(yù)見,隨著技術(shù)發(fā)展,以后高端FPGA配置文件會更大。配置文件的增大,直接導(dǎo)致FPGA加載時間的大量增加,因此縮短單板啟動時間,提高FPGA加載速度勢在必行。本文在分析其加載的過程基礎(chǔ)上,提出了數(shù)種可以加快FPGA加載速度的方法,并在工程實踐中證明,使用本文描述的方法可以使加載速度縮減到優(yōu)化前的1/5以下。
  關(guān)鍵詞: FPGA 加載速度 版本 提高方法
  
  對于目前廣泛使用的Xilinx FPGA芯片,加載模式一般選擇的是Slave SelectMAP (parallel,x8) 配置模式,具體是通過CPU的GPIO模擬localbus總線,對EPLD中程序所定義的寄存器進行讀寫,寄存器的某些Bit映射到EPLD的引腳上,而這些引腳連接FPGA的相關(guān)配置引腳,所以我們可以通過CPU讀寫EPLD的寄存器,來控制FPGA的相關(guān)配置引腳,進而達到對FPGA配置的目的。
  在某單板中,由于有多塊FPGA芯片,使用此方法加載一塊FPGA,需要用時30s左右,而4塊FPGA加載時間高達約2min以上。為提高加載速度,我們進行了一系列的理論分析,提出了3個層次的優(yōu)化。
  一、一般方法加載FPGA時序介紹
  控制FPGA加載的EPLD寄存器主要有兩類,一個是配置數(shù)據(jù)寄存器FPGA_CFGDATA_REG,CPU將每個配置數(shù)據(jù)寫入該寄存器,然后該寄存器的值在每個配置時鐘的上升沿寫入FPGA。另一個寄存器是配置控制寄存器FPGA_CFG_REG,該寄存器有5個Bits,定義如下表所示。
  在某單板上,加載FPGA配置數(shù)據(jù)時序為:
  1.首先由CPU向FPGA_CFGDATA_REG寫入配置數(shù)據(jù);
  2.然后通過3次讀和寫FPGA_CFG_REG,使得FPGA_ CFGCLK先為低,再為高,最后為低,即使得FPGA_CFGCLK出現(xiàn)一個上升沿,則配置數(shù)據(jù)將在FPGA_CFGCLK的上升沿寫入FPGA。
  具體流程可以參見圖2.4,由此可見,向FPGA寫入一個配置數(shù)據(jù),需要CPU對EPLD寄存器執(zhí)行4個寫操作,3個讀操作,共計大約3018ns,型號XC6VLX240T的FPGA配置數(shù)據(jù)為9232444字節(jié),則加載一塊FPGA時間大約為3018ns*9232444=27.8s。(注:本文中所有時間值都是在仿真環(huán)境下,利用TSC計數(shù)器測量得到,代碼編譯時,選擇了o3優(yōu)化)
  二、自動產(chǎn)出配置時鐘
  從上文可以看出,向FPGA寫入一個配置數(shù)據(jù),需要CPU對EPLD寄存器執(zhí)行4個寫操作,3個讀操作,其中后面的3次讀和3次寫操作僅僅是為了產(chǎn)生一個配置時鐘的上升沿。假如在CPU向EPLD寫入一個配置數(shù)據(jù)時,EPLD能自動產(chǎn)生一個周期的配置時鐘,則加載一個配置數(shù)據(jù)僅需要CPU對EPLD寄存器執(zhí)行1個寫操作即可,這樣將大大縮短FPGA加載時間。
  按照上述思路,加載FPGA時序?qū)⑷鐖D2所示,從圖2可見,當(dāng)CPU向EPLD寫入一個數(shù)據(jù)時,EPLD自動產(chǎn)生一個配置時鐘。
  由于CPU向EPLD寫入數(shù)據(jù)時,必有一個WR的低脈沖,而配置時鐘則為一個高脈沖,并在WR低脈沖之后,因此可以考慮將WR取反,并延時。
  在某單板上,有4塊FPGA,每個FPGA的配置時鐘FPGA_CFGCLK和片選FPGA_CFGCS都是獨立的,而配置數(shù)據(jù)是共用8條數(shù)據(jù)線。為了將4個FPGA_CFGCLK分開,在實際應(yīng)用中,我們可以將WR取反并延時后的信號和CFGCS取反后的信號相與。
  經(jīng)過實際測試,寫一個配置數(shù)據(jù)時間由3018 ns縮短到633ns,加載XC6VLX240T型號的FPGA時,加載總時間由27.8s減少到5.85s。
  三、CPU連續(xù)寫EPLD寄存器
  對于XC6VLX240T型號的FPGA來說,配置數(shù)據(jù)為9232444個字節(jié),CPU將所有的配置數(shù)據(jù)都寫入EPLD的同一個寄存器,即FPGA_CFGDATA_REG。在寫該寄存器時,CPU總是先寫入該寄存器地址,然后再寫入數(shù)據(jù)。由于寄存器地址固定,因此我們可以考慮僅在第一次寫FPGA_CFGDATA_REG時,提供寄存器地址,EPLD將地址寄存,然后在以后CPU寫該寄存器的時,不提供地址。僅在WR為低時,給EPLD提供有效的數(shù)據(jù)即可。
  按照該方式寫FPGA_CFGDATA_REG的時序如圖2.6所示。按照該方式,加載一個配置數(shù)據(jù)需要325ns,加載一塊FPGA時間為3.01s。
  四、壓縮FPGA配置數(shù)據(jù)
  我們仔細觀察FPGA的配置數(shù)據(jù),可以發(fā)現(xiàn),數(shù)據(jù)中有大量的連續(xù)的值,比如連續(xù)1000個0x00。以某單板下行FPGA為例,在050d版本里,下行FPGA代碼中0x00的連續(xù)個數(shù)超過512的就有31處之多,最多一處為連續(xù)1215388個字節(jié)0x00;在某單板上,下行FPGA連通性測試代碼中,0x00連續(xù)個數(shù)超過512的也有271處之多,最多一處為2428942個字節(jié)0x00。
 

主站蜘蛛池模板: 在线a视频免费观看| 青青草原国产| 在线播放国产一区| 99手机在线视频| 亚洲成a人片77777在线播放| 日本黄网在线观看| 日韩免费视频播播| 手机看片1024久久精品你懂的| 欧美一级在线播放| 欧美国产视频| 亚洲IV视频免费在线光看| 亚洲精品无码av中文字幕| 中文字幕无码电影| 日韩123欧美字幕| 亚洲va在线观看| 国产精品自在自线免费观看| 97久久超碰极品视觉盛宴| 亚洲欧美另类中文字幕| 性色一区| 亚洲欧洲日韩久久狠狠爱| 福利小视频在线播放| 亚洲天堂区| 婷婷综合色| 国产成人免费高清AⅤ| 亚洲三级网站| 免费观看精品视频999| 欧美一级在线| 亚洲一级色| 亚洲日韩精品综合在线一区二区| 亚洲av日韩av制服丝袜| 日韩无码精品人妻| 日日拍夜夜嗷嗷叫国产| 欧美日本在线观看| 欧美一区二区三区不卡免费| 国产v精品成人免费视频71pao| 亚洲国产中文在线二区三区免| 亚洲香蕉伊综合在人在线| 久草视频福利在线观看| 亚洲天堂在线免费| 91麻豆精品视频| 亚洲AV成人一区国产精品| 亚洲乱码精品久久久久..| 国产色爱av资源综合区| 日韩成人在线视频| 亚洲精品午夜无码电影网| 久久一级电影| 亚洲综合欧美在线一区在线播放| 四虎影视无码永久免费观看| 精品无码人妻一区二区| 精品小视频在线观看| 在线国产欧美| 亚洲最大情网站在线观看| 朝桐光一区二区| 亚洲综合经典在线一区二区| 久久久受www免费人成| 国产白浆在线| 久久久黄色片| 亚洲另类国产欧美一区二区| 日韩精品少妇无码受不了| 国产农村精品一级毛片视频| 91精品综合| 国产成人免费| 欧美综合在线观看| 中美日韩在线网免费毛片视频| 青青青视频蜜桃一区二区| 福利国产在线| 国产欧美日韩专区发布| 91麻豆精品视频| 国产日韩欧美精品区性色| 国产成人高清在线精品| 欧美亚洲一二三区| AV不卡无码免费一区二区三区| 中文成人在线| 久热中文字幕在线| 国产av无码日韩av无码网站| 99久久国产综合精品女同| 亚洲精品国产日韩无码AV永久免费网| 看看一级毛片| 全部免费特黄特色大片视频| 香蕉久久国产超碰青草| 日韩精品无码免费专网站| 国产成人无码Av在线播放无广告|