<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于對(duì)EPCS在線編程的FPGA可重構(gòu)方法

          基于對(duì)EPCS在線編程的FPGA可重構(gòu)方法

          作者: 時(shí)間:2009-12-07 來(lái)源:網(wǎng)絡(luò) 收藏


          0 引言
          體系結(jié)構(gòu)已經(jīng)成為系統(tǒng)開(kāi)發(fā)的研究熱點(diǎn),并已有許多令人矚目的研究成果及產(chǎn)品應(yīng)用。的應(yīng)用為用戶提供了方便的系統(tǒng)升級(jí)模式,同時(shí)也實(shí)現(xiàn)了基于相同硬件系統(tǒng)的不同工作模式功能。在當(dāng)今快速發(fā)展的市場(chǎng)環(huán)境條件下,產(chǎn)品是否便于現(xiàn)場(chǎng)升級(jí),是否便于靈活使用無(wú)疑是產(chǎn)品能否進(jìn)入市場(chǎng)的關(guān)鍵因素,設(shè)計(jì)顯得尤為重要。
          目前,很多可重構(gòu)的設(shè)計(jì)方式都采用單片機(jī)、CPLD等器件直接對(duì)FPGA器件進(jìn)行配置,從而實(shí)現(xiàn)系統(tǒng)工作模式的可重構(gòu)。本設(shè)計(jì)則通過(guò)開(kāi)發(fā)CPLD先對(duì)FPGA的配置芯片進(jìn)行配置,然后再由FPGA從配置芯片下載配置程序來(lái)實(shí)現(xiàn)可重構(gòu),并通過(guò)用戶界面的簡(jiǎn)單操作來(lái)完成FPGA的工作方式重構(gòu),這種可重構(gòu)方式結(jié)構(gòu)簡(jiǎn)單,配置靈活,用戶操作更加方便。本文首先介紹了FPGA常用的配置方式,然后詳細(xì)闡述了基于對(duì)配置芯片在線的可重構(gòu)設(shè)計(jì)方案。

          本文引用地址:http://www.ex-cimer.com/article/191863.htm

          1 FPGA的常用配置方式
          FPGA器件有三類常用的配置下載方式。其中主動(dòng)配置方式(AS)是由FPGA器件引導(dǎo)配置操作過(guò)程。它控制著外部存儲(chǔ)器和初始化過(guò)程,可使用Altera串行配置器件來(lái)完成。期間FPGA器件處于主動(dòng)地位,配置器件處于從屬地位。配置數(shù)據(jù)通過(guò)DATA0引腳送入FPGA。配置數(shù)據(jù)被同步在DCLK輸入上,1個(gè)時(shí)鐘周期傳送1位數(shù)據(jù)。
          被動(dòng)配置方式(PS)則是由外部計(jì)算機(jī)或控制器控制配置過(guò)程。在PS配置期間,配置數(shù)據(jù)從外部?jī)?chǔ)存部件通過(guò)DATA0引腳送入FPGA。配置數(shù)據(jù)在DCLK上升沿鎖存,1個(gè)時(shí)鐘周期傳送1位數(shù)據(jù)。
          JTAG配置方式中的JTAG接口是一個(gè)業(yè)界標(biāo)準(zhǔn),主要用于芯片測(cè)試等功能,它使用IEEE Std1149.1聯(lián)合邊界掃描接口引腳,支持JAM STAPL標(biāo)準(zhǔn),可以使用Altera下載電纜或主控器來(lái)完成。FPGA在正常工作時(shí),它的配置數(shù)據(jù)存儲(chǔ)在SRAM中,關(guān)電后數(shù)據(jù)會(huì)消失,再次加電時(shí)必須重新下載配置程序。實(shí)驗(yàn)中通常用計(jì)算機(jī)或控制器進(jìn)行調(diào)試,因此,可以使用PS。而在實(shí)用系統(tǒng)中,多數(shù)情況下必須由FPGA主動(dòng)引導(dǎo)配置操作過(guò)程,這時(shí),F(xiàn)PGA將主動(dòng)從外圍專用存儲(chǔ)芯片中獲得配置數(shù)據(jù),而此芯片中的FPGA配置信息則用普通編程器將設(shè)計(jì)所得的pof格式文件燒錄進(jìn)去。
          在做FPGA實(shí)驗(yàn)板時(shí),通常采用AS+JTAG方式,這樣可以用JTAG方式進(jìn)行調(diào)試,而最后程序已經(jīng)調(diào)試無(wú)誤后,再用AS模式把程序燒到配置芯片中,這樣操作有一個(gè)明顯的優(yōu)點(diǎn),就是在AS模式不能下載的時(shí)候,可以利用Quartus自帶的工具生成JTAG模式下可以利用的文件來(lái)驗(yàn)證配置芯片是否工作正常。

          2 對(duì)EPCS在線編程的FPGA可重構(gòu)配置
          2.1 FPGA可重構(gòu)簡(jiǎn)介
          可重構(gòu)體系結(jié)構(gòu)指能夠利用可重用的硬件資源,根據(jù)不同的應(yīng)用要求,靈活改變自身的體系結(jié)構(gòu),以便為每個(gè)特定的應(yīng)用需求提供與之相匹配的體系結(jié)構(gòu)??芍貥?gòu)電路的設(shè)計(jì)可利用FPGA的可重配置特性。所謂可重配置,就是基于SRAM的FPGA在掉電后配置數(shù)據(jù)會(huì)自動(dòng)丟失,再次上電后必須重新配置FPGA,F(xiàn)PGA才能正常工作。這樣可以利用有限的硬件資源完成多種邏輯功能,這就是采用基于SRAM工藝的FPGA的可重構(gòu)系統(tǒng)的可重構(gòu)電路設(shè)計(jì)原理。
          設(shè)計(jì)時(shí),可以通過(guò)開(kāi)發(fā)單片機(jī)或CPLD器件來(lái)控制FPGA配置不同的邏輯功能以實(shí)現(xiàn)重構(gòu)系統(tǒng)。FPGA有一個(gè)專用的配置引腳nCONFIG,在FPGA正常工作過(guò)程中,如果此引腳上加一個(gè)低電平脈沖,那么,當(dāng)FPGA檢測(cè)到其上升沿后,F(xiàn)PAG將自動(dòng)清除其內(nèi)部的配置存儲(chǔ)器,并進(jìn)行重新配置,這樣,F(xiàn)PGA才能工作。利用這一特性,設(shè)計(jì)時(shí)便可通過(guò)用戶界面操作在FPGA的nCONFIG引腳上加一個(gè)低電平脈沖,隨后發(fā)送數(shù)據(jù),從而完成對(duì)FPGA的重新配置。
          本設(shè)計(jì)是通過(guò)DSP處理器來(lái)接收PC主機(jī)的FPGA配置數(shù)據(jù)流,并開(kāi)發(fā)CPLD器件以實(shí)現(xiàn)控制邏輯,最終把所需的FPGA配置數(shù)據(jù)流存儲(chǔ)到支持AS配置模式的EPCS配置芯片中,并實(shí)現(xiàn)FPGA配置數(shù)據(jù)流的更新,從而達(dá)到FPGA的重新配置,實(shí)現(xiàn)整個(gè)系統(tǒng)的可重構(gòu)。其可重構(gòu)電路由DSP與CPLD串行通訊電路、CPLD讀寫EPCS配置芯片電路和EPCS配置FPGA電路組成。
          2.2 EPCS配置器件
          FPGA的串行配置芯片主要包括EPCS1,EPCS4,EPCS16,EPCS64,EPCS128等。它們的主要區(qū)別是容量不同,分別為1 M,4 M,16 M,64 M,128 M Bits的容量,可配置的FPGA器件也有所不同,用戶可根據(jù)不同需求來(lái)選擇。EPCS配置芯片的擦除或編程次數(shù)可以達(dá)到十萬(wàn)次左右,一般情況下足以滿足用戶需求。EPCS器件電平的選擇包括3.3 V、2.5 V、1.8 V、1.5 V,主要可參考對(duì)應(yīng)的FPGA所用I/O bank的VCCIO引腳電平的選擇。


          上一頁(yè) 1 2 3 下一頁(yè)

          關(guān)鍵詞: EPCS FPGA 編程 可重構(gòu)

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();