• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      利用CPLD提高FPGA加載速度

      2013-12-30 09:48:52李春雨張麗霞
      電子器件 2013年4期
      關(guān)鍵詞:管腳字節(jié)寄存器

      李春雨,張麗霞

      (1.浙江機(jī)電職業(yè)技術(shù)學(xué)院電氣電子工程學(xué)院,杭州310053;2.諾基亞西門子通信有限公司,杭州310053)

      現(xiàn)場(chǎng)可編程門陣列FPGA常用來(lái)進(jìn)行大數(shù)據(jù)量的處理,并且可以根據(jù)設(shè)計(jì)的需要靈活實(shí)現(xiàn)各種接口或者總線的輸出,在設(shè)備端的通信產(chǎn)品中使用越來(lái)越廣泛[1]。FPGA是基于SRAM結(jié)構(gòu)的,每次上電時(shí)都需要重新加載程序,且隨著FPGA規(guī)模的升級(jí),加載程序的容量也越來(lái)越大,因此提高其加載速度是產(chǎn)品設(shè)計(jì)必須妥善解決的一個(gè)問(wèn)題。本文介紹了通過(guò)CPLD對(duì)FPGA的加載方式的串行改進(jìn)方式,滿足通信系統(tǒng)的加載速度快,占用資源少的要求。并用Verilog HDL實(shí)現(xiàn),在Modelsim中進(jìn)行仿真和驗(yàn)證結(jié)果,在自行設(shè)計(jì)的時(shí)鐘板上驗(yàn)證通過(guò),而且可以擴(kuò)展到所有類似系統(tǒng)中[2]。

      1 配置方式介紹

      FPGA的加載配置,大部分是將配置數(shù)據(jù)存放在FPGA組成系統(tǒng)的存儲(chǔ)器件上,系統(tǒng)上電時(shí)由控制器讀出配置數(shù)據(jù)再傳送給FPGA進(jìn)行配置[3]。

      FPGA的配置方式最常用的有JTAG,從并,從串[4]3種,不同廠家叫法不同,但實(shí)現(xiàn)方式基本都是一樣的。單板調(diào)試階段常用JTAG模式,單板正式工作時(shí)通常采用從串或者從并方式。從并和從串模式各有優(yōu)點(diǎn),從并加載模式一個(gè)DCLK傳送一個(gè)字節(jié)(8 bit),因此速度快,但是占用FPGA管腳多,以Altera公司CycloneⅢ系列為例,從并模式(FPP)占用23個(gè)FPGA專用管腳,且這些管腳在不同的邏輯Bank內(nèi),當(dāng)各Bank之間接口電平不同時(shí),即連接到控制器的23個(gè)管腳電平就要各不相同,對(duì)控制器來(lái)說(shuō)通常是難以實(shí)現(xiàn)的,在這種情況下從串就成為唯一的選擇。

      以Altera公司CycloneⅢ系列FPGA為例,與從串加載相關(guān)的管腳見(jiàn)表1[5]。

      表1

      加載流程圖如圖1所示。

      圖1 CycloneⅢ從串加載流程

      各種型號(hào)的FPGA從串加載英文名稱雖然有些差異,但是加載流程基本如圖1,每種型號(hào)的FPGA配置文件大小是固定的,和使用的邏輯資源多少無(wú)關(guān),以CycloneⅢ系列的EP3C120為例,其大小是14.3 Mbit[5]。

      2 從串加載方式的實(shí)現(xiàn)

      2.1 以CPU作為FPGA加載控制器

      CPU可以采用嵌入式微處理器[6]的GPIO口和FPGA的加載配置接口連接,框圖如圖2所示。

      其缺點(diǎn)是DCLK也要由CPU GPIO口模擬,GPIO口的速度較慢,以RMI公司的XLS408為例,GPIO口模擬最大時(shí)鐘2 MHz,如前面說(shuō)EP3C120配置文件14.3 Mbit,加載時(shí)間為7.15 s。如果基于主頻較低的ARM7處理器,對(duì)于CycloneⅡ系列中的EP2C35,配置文件大小 1.16 Mbyte,加載時(shí)間需要 1.5 min 30 s[7],對(duì)于時(shí)間比較敏感的通信產(chǎn)品來(lái)說(shuō),用戶的體驗(yàn)就會(huì)很差,通常該加載時(shí)間要求小于2 s。

      圖2 XLS408從串加載流程

      3 基于CPLD作為FPGA加載控制器的改進(jìn)方案

      3.1 改進(jìn)方案介紹

      采用基于DDR顆粒的CPLD作為控制器的方案,CPLD的IO管腳都可以約束到時(shí)鐘信號(hào)上,只要CPLD內(nèi)部的布線資源足夠,輸出的加載時(shí)鐘可以跑到上百兆,寫(xiě)入CPLD的數(shù)據(jù)采用并行接口,大大提高FPGA加載速度。加載方案如下:

      圖3 基于CPLD加載數(shù)據(jù)流向圖

      本方案中CPU采用RMI公司的XLS408,CPLD采用 Lattice公司的 LCMXO1200,F(xiàn)PGA采用ALTERA公司的 CycloneⅢ EP3C120,DDR采用9片Hynix DDR2顆粒。

      1號(hào)線表示,CPU通過(guò)16 bit localbus總線讀取存儲(chǔ)在Flash里的FPGA文件,并搬運(yùn)到DDR里,這一步可以在加載前先做,不占用加載時(shí)間。

      2號(hào)線表示,CPU讀取DDR數(shù)據(jù)搬移到CPU內(nèi)部緩存中,DDR接口速度較快,DDR2時(shí)鐘266 MHz,數(shù)據(jù)位寬64 bit,幾乎不占用加載時(shí)間。

      3號(hào)線表示,CPU通過(guò)8 bit localbus總線寫(xiě)到CPLD內(nèi)部寄存器,而localbus總線是異歩并行總線,以MIPS系列CPU XLS408為例,XLS408工作時(shí)鐘66.7 MHz,寫(xiě)總線周期最快需要10個(gè)工作時(shí)鐘周期,即6.67 MHz,這一步受localbus總線速度限制。

      4號(hào)線表示通過(guò)CPLD和FPGA之間的串行接口,寫(xiě)加載配置數(shù)據(jù)到FPGA中,寫(xiě)FPGA的速度決定于串行接口的DCLK頻率。

      本方案的優(yōu)點(diǎn),1,2兩條路徑可以在加載之前處理,且運(yùn)行速度快,不占用加載時(shí)間。加載時(shí)間只受3,4步限制,3步是并行總線,位寬8 bit,速度相對(duì)串行總線已經(jīng)大為提高,4步受限點(diǎn)是CPLD輸出的DCLK頻率限制,CPLD輸出時(shí)鐘可以高達(dá)上百兆,加載時(shí)間會(huì)大為縮短。

      3.2 程序?qū)崿F(xiàn)

      CPLD 程序采用 Verilog[8]語(yǔ)言實(shí)現(xiàn),該加載模塊接口定義如下:

      程序?qū)崿F(xiàn)流圖如圖4所示。

      DCLK和FPGA加載串行數(shù)據(jù)輸出部分代碼如下:

      在FPGA加載環(huán)節(jié),CPU通過(guò)8 bit的Localbus總線先是寫(xiě)CPLD數(shù)據(jù)寄存器,一字節(jié)寫(xiě)完后,CPU會(huì)將標(biāo)志寄存器cpu_cpld_flag翻轉(zhuǎn),CPLD檢測(cè)到寄存器cpu_cpld_flag的雙沿變化后,計(jì)數(shù)器cnt_fpga_prog[4:0]開(kāi)始計(jì)數(shù),其中 cnt_fpga_prog[0]是 CPLD工作時(shí)鐘的二分頻,該時(shí)鐘送給FPGA加載接口,做為DCLK,利用cnt_fpga_prog[3:1]的變化范圍實(shí)現(xiàn)并行數(shù)據(jù)到數(shù)據(jù)的變化,因?yàn)槎际峭ㄟ^(guò)同一計(jì)數(shù)器實(shí)現(xiàn),因此能方便的實(shí)現(xiàn)數(shù)據(jù)和DCLK的同步,當(dāng)cnt_fpga_prog[4]計(jì)數(shù)到1 后,cnt_fpga_prog[4]上升沿有效,代表一字節(jié)數(shù)據(jù)已經(jīng)成功加載到FPGA,CPU就開(kāi)始通過(guò)localbus總線寫(xiě)下一字節(jié)數(shù)據(jù)。

      圖4 基于CPLD從串加載FPGA的程序流程圖

      圖5 程序仿真波形

      4 仿真及改進(jìn)結(jié)果分析

      基于modelsim 6.5SE仿真波形如圖5所示。

      由上面波形可以看出CPU每加載一字節(jié)數(shù)據(jù)需要寫(xiě)兩次CPLD寄存器,一次寫(xiě)加載數(shù)據(jù),一次寫(xiě)標(biāo)志寄存器,讀一次CPLD寄存器,讀cnt_fpga_prog[4]上升沿,共3個(gè)localbus總線周期,localbus頻率最快6.67 MHz。因此 CPU加載 14.3 Mbit,亦即1.787 5 Mbyte數(shù)據(jù)到CPLD共需時(shí)間:

      CPLD需要8個(gè)DCLK周期寫(xiě)一字節(jié)數(shù)據(jù)到FPGA,CPLD工作時(shí)鐘33M時(shí),DCLK 16.7 MHz,因此加載14.3 Mbit數(shù)據(jù)到FPGA,共需時(shí)間:

      因此當(dāng)FPGA使用EP3C120時(shí),采用基于CPLD的從串加載方式,共需要加載時(shí)間1.65 s,滿足通信產(chǎn)品FPGA加載時(shí)間小于2 s的要求。

      從上述分析可以得出結(jié)論,如果提高CPLD的工作時(shí)鐘,CPLD加載FPGA的時(shí)間就會(huì)進(jìn)一步縮短,當(dāng)CPLD工作時(shí)鐘100 MHz時(shí),DCLK達(dá)到50 MHz,CPLD加載配置數(shù)據(jù)到FPGA時(shí)間可以縮短到0.29 s,加載速度會(huì)更快。

      5 結(jié)束語(yǔ)

      使用基于 CPLD的 FPGA加載方案,相對(duì)于CPU直接加載方案,加載時(shí)間只有原先的十分之一,且有進(jìn)一步提高空間,滿足通信系統(tǒng)快速啟動(dòng)的要求,且該方案并不局限于本文所提到的器件,可以應(yīng)用于各廠家的FPGA中,具有很高的實(shí)用價(jià)值。

      [1]關(guān)珊珊,周潔敏.基于Xilinx FPGA的SPI Flash控制器設(shè)計(jì)與驗(yàn)證[J].電子器件,2012,35(2):216-220.

      [2]王小峰,周吉鵬.一種FPGA在線配置Flash的方法[J].電子器件,2006,29(3):902-904.

      [3]董宏成,魏楊.基于ARM和NAND Flash的FPGA加載配置在TD—LTE 中的實(shí)現(xiàn)[J].電子技術(shù)應(yīng)用,2012,38(07):26-30.

      [4]Xilinx,Spartan3e,Xapp502,Using a Microprocessor to Configure Xilinx FPGAs via Slave Serial or SelectMAP Mode[S].2009.

      [5]Altera,cyclone Ⅲ,Configuration altera FPGAs[S].2010.

      [6]葛立明,范多旺,陳光武.基于ARM的FPGA加載配置實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,1(2):244-245.

      [7]胡啟道,張福洪,戴紹港.基于MCU的FPGA在線配置[J].電子器件,2007,30(3):1049-1056.

      [8]王靜霞.FPGA/CPLD應(yīng)用技術(shù)(Verilog語(yǔ)言版)[M].北京:電子工業(yè)出版社,2011.

      猜你喜歡
      管腳字節(jié)寄存器
      No.8 字節(jié)跳動(dòng)將推出獨(dú)立出口電商APP
      Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
      No.10 “字節(jié)跳動(dòng)手機(jī)”要來(lái)了?
      簡(jiǎn)談MC7字節(jié)碼
      分簇結(jié)構(gòu)向量寄存器分配策略研究*
      基于圖像處理的異型電子元器件管腳偏移誤差檢測(cè)方法研究
      CMOS數(shù)字IC管腳電容的估算與測(cè)量
      HC08芯片JVT測(cè)試方法的探究
      高速數(shù)模轉(zhuǎn)換器AD9779/AD9788的應(yīng)用
      一種可重構(gòu)線性反饋移位寄存器設(shè)計(jì)
      天等县| 怀仁县| 贵阳市| 石城县| 驻马店市| 黄陵县| 松滋市| 武安市| 新兴县| 连平县| 高要市| 绵阳市| 修文县| 邹城市| 阳信县| 方正县| 咸宁市| 绵阳市| 盘山县| 海原县| 阳信县| 澳门| 保康县| 长沙县| 海淀区| 安化县| 金川县| 阜新| 东丰县| 江陵县| 阜新| 黔江区| 江油市| 保定市| 三河市| 琼结县| 米易县| 上蔡县| 新巴尔虎右旗| 星子县| 乐亭县|