基于SRAM結構的FPGA器件實現(xiàn)快速高效的PPA數(shù)據(jù)配置_第1頁
基于SRAM結構的FPGA器件實現(xiàn)快速高效的PPA數(shù)據(jù)配置_第2頁
基于SRAM結構的FPGA器件實現(xiàn)快速高效的PPA數(shù)據(jù)配置_第3頁
基于SRAM結構的FPGA器件實現(xiàn)快速高效的PPA數(shù)據(jù)配置_第4頁
基于SRAM結構的FPGA器件實現(xiàn)快速高效的PPA數(shù)據(jù)配置_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

基于SRAM結構的FPGA器件實現(xiàn)快速高效的PPA數(shù)據(jù)配置(來源:微計算機信息,方耀湘,黎福海,胡躍輝)在當今變化的市場環(huán)境中,產(chǎn)品是否便于現(xiàn)場升級、便于靈活使用,已成為產(chǎn)品進入市場的關鍵因素。而基于SRAM結構的FPGA器件的出現(xiàn),為系統(tǒng)設計者動態(tài)改變運行電路中的邏輯功能創(chuàng)造了條件,也為現(xiàn)場升級等奠定了基礎。但由于SRAM的掉電易失性,系統(tǒng)每次上電時,必須重新配置數(shù)據(jù),只有在數(shù)據(jù)配置正確的情況下系統(tǒng)才能正常工作。在實際項目應用中,采用SST89V564微處理器對FPGA進行快速高效的PPA數(shù)據(jù)配置,不僅可以完成對FPGA的上電啟動配置,同時利用其IAP技術還可以在FPGA配置完以后,通過修改微處理器中的配置數(shù)據(jù)和參數(shù)來實現(xiàn)系統(tǒng)的在線升級。1.FPGA的PPA配置過程FPGA的在線配置方式一般有兩類:一是通過下載電纜由計算機直接對其進行配置;二是通過微處理器對其進行配置。前者調試時非常方便,在應用現(xiàn)場是很不現(xiàn)實的,只適合產(chǎn)品的調試,而一般實際產(chǎn)品中采用微處理器對FPGA進行配置。FPGA器件PPA配置時序如圖1所示,其中nCS和CS兩個片選信號只需用一個,當選用nCS作為片選信號控制配置,CS接高電平。其配置過程為微處理器在nCONFIG引腳上產(chǎn)生一個最少21μs的低脈沖,等待直至nSTATUS和CONF_DONE變低。此時將nCONFIG置高,nSTATUS會在nCONFIG跳高后4μs內(nèi)跳高,則表示FPGA可以配置了。配置成功時,F(xiàn)PGA器件釋放CONF_DONE信號,由外部將其拉高。如果微處理器檢測到該信號為高,則表明配置成功;否則,要對其重新配置。2.基本硬件組成2.1SST89V564RD及接口設計SST89V564RD是SST公司的8位集成SUPERFLASH存儲器的51兼容MCU,帶有1K字節(jié)片內(nèi)RAM和72K字節(jié)片內(nèi)SUPERFLASH。其片內(nèi)Flash分成Block0(64K字節(jié))和Block1(8K字節(jié))兩塊,Block0和Block1低8K地址相同,程序運行時,可通過設置特功能寄存器SFCF對低8K字節(jié)的Flash程序存儲塊進行切換,以使程序運行在Block0或Block1。微處理器與FPGA的接口電路如圖2所示。2.2SST89V564RD微處理器片內(nèi)Flash應用劃分SST89V564RD微處理器片內(nèi)Flash兩塊(64K+8K)中,Block1分成64個扇區(qū),每個扇區(qū)包括128個字節(jié),總共8K字節(jié);Block0分成512個扇區(qū),每個扇區(qū)包括128個字節(jié),總共64K字節(jié)[2]。微處理器兩塊Flash地址應用劃分為:Block0中,低地址段0x0000~0x1FFF存放對Block1進行擦寫的IAP程序,高地址段0x2000~0xFFFF存放FPGA配置數(shù)據(jù)。Block1的所有空間用來存放上電啟動時對FPGA進行配置以及配置完后的IAP操作程序。微處理器默認下從Block1啟動。當程序運行在IAP命令狀態(tài)時,可以通過設置特功能寄存器SFCF使程序運行在Block0或Block1,來對另一Flash塊進行擦寫或升級。由于Block0和Block1的低8K字節(jié)的地址相同,因此在編程應用程序到Flash中時,編程器將Block1的地址定義在0x10000~0x11FFF地址段,在編譯程序時需要將Block1的程序定位在0x10000~0x11FFF之間才能正確燒寫。3.軟件設計微處理器狀態(tài)流程如圖3所示,在上電啟動時,微處理器從Block1啟動,讀取Block1中0x2000開始的配置數(shù)據(jù),完成對FPGA的配置。配置完成以后,微處理器處于IAP狀態(tài),既可以通過串口IAP指令來對Block0高地址段的FPGA配置數(shù)據(jù)進行擦寫或升級,也可以通過串口IAP指令切換微處理器跳到Block0中低地址段運行,來對Block1中的程序進行擦寫或升級。由于Block0中低地址段存放的只是對Block1進行擦寫的IAP程序,因此無需擦寫或升級該部分程序。升級只限于當更改FPGA邏輯功能時升級Block0高地址段的配置數(shù)據(jù),或者更改了FPGA芯片時更改Block1中的配置數(shù)據(jù)參數(shù)以及Block0中高地址段的配置數(shù)據(jù)。當程序運行在Block0中,要切換到Block1運行重新配置FPGA時,將產(chǎn)生復位信號,復位微處理器和FPGA使微處理器重新對FPGA進行配置。硬件電路的設計只提供了接口工作的內(nèi)核和基礎,只有在軟件的控制下,接口才能發(fā)揮作用,硬件電路與軟件程序是緊密相關的。本設計中FPGA采用Altera公司的EPF10K10ATC144-3,含有576個邏輯單元和6144個RAM位,其配置數(shù)據(jù)大小為15000Bytes,微處理器給EPF10K10ATC144-3的配置程序如下:unsignedcharFpgaConfig(void){unsignedintiConfigDataByteCount;unsignedcharcode*pConfigDataAddress;pConfigDataAddress=0x2000;//FPGA配置數(shù)據(jù)的起始地址nCONFIG=0;while((nSTATUS==1)||(CONFIG_DONE==1));nCONFIG=1;while((nSTATUS==0);iConfigDataByteCount=0;CFG_CS_=0;while(CONFIG_DONE==0){while(RDYnBUSY==0);FPGA_CFG_ADDRESS=*pConfigDataAddress;pConfigDataAddress++;iConfigDataByteCount++;if((iConfigDataByteCount》0x3A98)||(nSTATUS==0))//EPF10K10ATC144-3配置數(shù)據(jù)為0x3A98(15000)字節(jié),升級成相同封裝和引腳的//EPF10K30ATC144-3時,只需將0x3A98改成0xC63E(50750)即可{CFG_CS_=1;returnERROR;}}CFG_CS_=1;returnSUCCESS;}在不更改硬件板的條件下,若更改FPGA芯片升級系統(tǒng),升級成含有1728個邏輯單元和12288個RAM位的EPF10K30ATC144-3芯片時,由于與EPF10K10ATC144-3具有相同的封裝和引腳排列[3],因此硬件上可以直接更換FPGA芯片來升級,而軟件上只需將Block1程序中對FPGA配置的數(shù)據(jù)大小參數(shù)15000改成50750(見上程序注釋)。而升級芯片的配置數(shù)據(jù),則直接通過串口IAP將配置數(shù)據(jù)寫入Block0高地址段即可。因此,能非常方便的在線完成FPGA內(nèi)部邏輯甚至更換FPGA芯片時的系統(tǒng)升級。4.結論本文給出了基于SST89V564R

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論