CPLD對FPGA從并快速加載的解決方案

發(fā)布時(shí)間:2015-11-10 13:30    發(fā)布者:designapp
關(guān)鍵詞: CPLD , FPGA , modelsim
  現場(chǎng)可編程門(mén)陣列(FPGA)作為專(zhuān)用集成電路(ASIC)領(lǐng)域的一種半定制電路,可以根據設計的需要靈活實(shí)現各種接口或者總線(xiàn)的輸出,在設備端的通信產(chǎn)品中已得到越來(lái)越廣泛的使用。FPGA是基于靜態(tài)隨機存儲器(SRAM)結構的,斷電后程序丟失后的每次上電都需要重新加載程序。且隨著(zhù)FPGA規模的升級,加載程序的容量也越來(lái)越大,如Xilinx公司的Spartan - 6系列中的6SLX150T,其加載容量最大可以達到4.125 MB.
  1 FPGA常用配置方式
  FPGA的配置數據通常存放在系統中的存儲器件中,上電后控制器讀取存儲器中的bit文件并加載到FPGA中,配置方式有JTAG、從并、從串、主從4種,不同廠(chǎng)家叫法不同,但實(shí)現方式基本都是一樣的。
  (1)邊界掃描JTAG方式。單板調試階段常用JTAG模式,該方式需要控制器,FPGA等芯片JTAG接口構成菊花鏈,且在該模式下,控制器其他功能不能使用。
  (2)從串方式。從串加載方式占用資源少,主要是和FPGA相連的I/O接口較少,但是一個(gè)配置時(shí)鐘只能傳輸一個(gè)bit數據,速度相對較低。
  (3)主從方式。該方式最主要的缺點(diǎn)是配套使用的FLASH存儲器必須是FPGA廠(chǎng)家指定的型號,且這個(gè)FLASH容量不大,不能和控制器的FLASH共用,使用這種方式,單板上就會(huì )有兩個(gè)FLASH,增加產(chǎn)品成本,因此該方案使用較少。
  (4)從并方式。即文章中探討的FPGA加載方案。
  2從并加載方式的實(shí)現
  以Xilinx公司Spartan - 6系列FPGA為例,與從并加載相關(guān)的管腳如表1所示。
  


  表1從并加載管腳名稱(chēng)
  由表1可以看出,從并加載接口占用的管腳資源是比較多的,即使加載數據總線(xiàn)使用8位,也要14個(gè)管腳,CPU一般沒(méi)有這么多通用輸入/輸出(GPIO)口,因此從并加載一般和CPLD配套使用。其加載流程如圖1所示。
  


  圖1 SPARTAN-6從并加載流程
  3基于CPLD的FPGA加載方案
  3.1方案介紹
  在設備端通信產(chǎn)品中,基于CPLD的FPGA從并加載框如圖2所示,配置數據存儲在FLASH中,且在加載數據之前,CPU通過(guò)局部總線(xiàn)和雙倍速內存(DDR)接口,將配置數據從FLASH中搬移到DDR顆粒;真正需要加載時(shí),再通過(guò)DDR2接口將配置數據搬移到CPU的緩存中,DDR2接口速度很快,其時(shí)鐘頻率可以達到266 MHz,因此①、②兩步加載時(shí)間可以忽略不計。
  


  圖2基于CPLD的FPGA從并加載框
                               
                                                               
                               
                  之后CPU通過(guò)和CPLD的接口③——8位的局部總線(xiàn)接口,將配置數據逐字節的寫(xiě)入CPLD的寄存器中。以MIPS系列CPU XLS408為例,XLS408工作時(shí)鐘頻率為66.7 MHz,寫(xiě)總線(xiàn)周期最快需要10個(gè)工作時(shí)鐘周期,即6.67 MHz,這一步受局部總線(xiàn)速度限制。
  數據寫(xiě)入到CPLD后,再通過(guò)接口④——CPLD與FPGA之間的從并接口,將數據加載到FPGA,從并接口是同步總線(xiàn),加載時(shí)間受限于總線(xiàn)時(shí)鐘CCLK頻率。
  本方案的優(yōu)點(diǎn)為:①、②兩條路徑可以在加載之前處理,且運行速度快,不占用加載時(shí)間。加載時(shí)間只受③、④的限制,而③受限于寫(xiě)總線(xiàn)周期間隔,④受限于從并接口的時(shí)鐘。
  3.2程序實(shí)現
  CPLD從并程序采用verilog語(yǔ)言實(shí)現,該加載模塊接口定義如下:
  程序實(shí)現流如圖3所示。
  


  


  圖3基于CPLD從并加載FPGA的程序流程
  



  FPGA加載片選和寫(xiě)信號產(chǎn)生部分代碼如下:
  

                               
                                                               
                               
                  4仿真及加載結果分析
  基于modelsim 6.5SE仿真波形可以看出CPU每加載1字節數據需要向CPLD寫(xiě)1次加載數據,這共需花費一個(gè)局部總線(xiàn)周期,局部總線(xiàn)頻率最快為6.67 MHz.因此CPU加載4.125 MB數據到CPLD共需時(shí)間為:
  


  CPLD需要1個(gè)CCLK周期寫(xiě)1字節數據到FPGA,CCLK則是利用CPU局部總線(xiàn)的寫(xiě)信號產(chǎn)生,可以實(shí)現CCLK和數據的同步,因此CCLK時(shí)鐘速率為6.67 MHz,因此加載4.125 MB數據到FPGA,共需時(shí)間為:
  


  FPGA上電需要1 ms,因此當FPGA使用SPARTAN-6系列最高端的6SLX150T時(shí),采用基于CPLD的從并加載方式,共需要的加載時(shí)間為1.221 s,滿(mǎn)足通信產(chǎn)品FPGA加載時(shí)間小于2 s的要求。而如果采用從串等加載方式,使用ARM7處理器作為控制器,對于CycloneII系列中的EP2C35,配置文件大小1.16 MB,加載時(shí)間需要1.30 min;采用基于CPLD的從串加載方式,加載同樣4.125 MB的FPGA數據,CPLD加載時(shí)鐘33MHz,則加載時(shí)間需要3.8 s,FPGA加載時(shí)間過(guò)長(cháng),則會(huì )影響系統的啟動(dòng)時(shí)間。
  表2是常用加載方式加載6SLX150T型號FPGA芯片數據所需時(shí)間比較。
  


  表2 FPGA加載時(shí)間對比
  從上述分析可以得出結論,如果提高CPU的局部總線(xiàn)寫(xiě)速度,加載FPGA的時(shí)間就會(huì )更快。
  5結束語(yǔ)
  使用基于CPLD的FPGA從并加載方案,相對于其它幾種加載方式,雖然加載管腳增多,但加載時(shí)間大大縮短,并且如果提高CPU局部總線(xiàn)的寫(xiě)速度,加載速度有進(jìn)一步提高空間,滿(mǎn)足通信系統快速啟動(dòng)的要求,具有很高的實(shí)用價(jià)值。
                               
                                                               
                               
               
本文地址:http://selenalain.com/thread-155864-1-1.html     【打印本頁(yè)】

本站部分文章為轉載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對其真實(shí)性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問(wèn)題,我們將根據著(zhù)作權人的要求,第一時(shí)間更正或刪除。
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

相關(guān)視頻

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页