《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 解決SoC FPGA設計難題

解決SoC FPGA設計難題

2015-10-15
關鍵詞: FPGA 設計難題

  主要FPGA供應商已經開始銷售集成了硬核處理器內核的低成本FPGA器件,SoC類FPGA器件最終會成為主流。為能夠充分發揮所有重要FPGA的靈活性,這些器件提供了FPGA設計人員和軟件工程師還不熟悉的新特性。設計人員需要考慮怎樣在FPGA和處理器之間初始化這些資源并進行分配,管理復雜的連接,以及處理器外設的各種設置。
  I/O限制
  您可能會說,“I/O有什么問題?FPGA有很多I/O!”然而,FPGA現在采用了功能強大的雙核Cortex-A9處理器,需要高性能存儲器系統。如果您不需要處理器,您不用購買器件,因此,連接DDR2/3存儲器來提高性能是最重要的。這需要72個專用引腳。這里不僅有功能強大的處理器,而且還有多種有用的標準外設(例如USB、以太網等)—這就需要更多的引腳。增加一系列電源和地引腳以實現良好的信號完整性,這會使得以前足夠用的BGA引腳開始顯得捉襟見肘。對于硬件外設,好在這些器件具有復用功能,因此,您可以簡單地選擇并引出您需要的外設。
  引腳配置
  對FPGA器件進行編程的比特流含有怎樣配置I/O引腳的信息。實際上,SoC FPGA器件的工作方式相似,但是有兩種不同的引腳配置過程—一種用于FPGA I/O,一種用于處理器專用I/O(這也包括配置硬件外設復用、I/O引腳和DDR控制器設置),如圖1。之所以需要DDR控制器設置,是因為需要為某些器件和電路板布局調整高性能存儲器控制器,以實現最優存儲器性能。在FPGA硬件開發工具中進行處理器專用I/O和存儲器控制器設置,其方式與FPGA引腳相似。如果您不對FPGA進行編程,所有這些配置數據是怎樣進入器件中的呢?

34.png

   圖1,Altera SoC FPGA系統,顯示了專用處理器和FPGA I/O引腳(右側)
  處理器啟動
  低成本微控制器簡化了從片內ROM的啟動,而高端處理器從外部ROM(例如x86 BIOS)啟動,然后,裝入第二個啟動加載程序。與微控制器相似,SoC FPGA器件有硬線片內啟動ROM,含有啟動處理器的啟動代碼,但是這些代碼也配置I/O引腳,這些引腳用于從FPGA、閃存或者SD卡中讀取數據。這樣,系統將第二個啟動加載程序鏡像裝入片內RAM。
  第二個啟動加載程序二進制代碼和專用I/O引腳配置設置內置在一個鏡像文件中,這一鏡像也含有FPGA配置數據、處理器軟件(操作系統(OS)啟動加載程序、OS以及應用軟件)。這一鏡像文件存儲在介質中,成為處理器的啟動源。當處理器從片內ROM啟動時,它讀取外部引腳的狀態,選擇啟動源,將第二個啟動加載程序裝入片內RAM,然后運行它。這些代碼設置處理器,配置外部存儲器控制器和專用外設I/O引腳,允許用戶應用程序代碼(可以是OS的啟動加載程序)從啟動源裝入到DDR存儲器中。在這一階段,配置處理器和所有處理器專用I/O—因此,OS啟動加載程序(例如U-Boot)甚至可以通過外設(例如通過以太網)來裝入OS二進制代碼。
 

35.png

  圖2,典型的SoC FPGA啟動過程
  軟外設
  最后,我們有經過全面配置的芯片,可以啟動OS或者應用程序—而有可能還沒有配置FPGA。OS/應用程序一般會在啟動時初始化所有外設,但是在這一例子中,可能還沒有外設!一種簡單的方法是,在出現這種情況之前對FPGA進行配置,但是,如果您需要軟件從一組不同的配置中進行選擇,會怎樣呢?您甚至可能希望隨時重新配置FPGA,改變外設。
  開發基于FPGA的外設系統相對簡單,FPGA供應商提供IP庫以及基于GUI的設計工具,使您很容易連接外設IP和硬核處理器。對此,設計流程與使用Nios II處理器等軟核CPU的流程完全相同。一般不能修改硬核處理器系統的特性,您需要做的是在基于GUI的工具中配置專用引腳復用功能,連接外設IP。
  FPGA設計工具以頭文件的形式實現了軟件開發工具鏈的所有硬件相關數據(基本地址等),這一頭文件可以用于生成預構建應用程序,從而匹配每一FPGA配置和外設。但是,如果您使用OS,這可能帶來問題,理想情況下,您需要外設驅動軟件應用程序。
  好在大部分OS支持動態驅動裝入和卸載,因此,可以讀取外設,讓OS裝入相應的驅動。如果您重新配置FPGA,只需要卸載驅動,然后重新裝入含有新配置的驅動。這看起來是一項很難的工作,但是,大部分OS支持這樣做,Linux甚至提供一種名為器件樹的功能,實際專門用于在Linux文件系統中存儲外設相關數據。每一FPGA配置會有一個匹配器件樹文件,因此,對于Linux,您需要做的是,裝入正確的器件樹,Linux就會裝入正確的驅動。圖2是一個典型的SoC FPGA啟動過程。
  結論
  由于處理器和FPGA緊密集成到一個器件中,與標準FPGA相比,開發這些新器件會稍微復雜一些,而SoCFPGA器件供應商提供支持工具流和機制,管理所需的功能要相對簡單—即使您以前從未使用過FPGA中的處理器。

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
主站蜘蛛池模板: 亚洲福利视频网 | 在线欧美亚洲 | 国产成人午夜性a一级毛片 国产成人午夜视频 | 日本一区二区三区免费观看 | 最新国产三级在线观看不卡 | 欧美free性秘书xxxxhd | 欧美视频一区二区三区精品 | 国产女同一区二区在线 | 欧美日韩三级在线 | 欧美婷婷| 久草久草久草久草 | 国产黄a三级三级看三级 | 成人免费国产欧美日韩你懂的 | 亚洲成人精品久久 | 91短视频在线高清hd | 羞羞视频在线观看视频 | 福利网站在线 | 一本大道香蕉在线 观看 | 在线日韩不卡 | 好吊色青青青国产在线播放 | 久草手机在线视频 | 婷婷色婷婷 | 天天舔天天摸 | 国产偷视频 | 欧美香蕉网| 老司机午夜精品视频你懂的 | 国产v综合v亚洲欧美大另类 | 欧美一级精品高清在线观看 | 欧洲亚洲一区 | 刺激一区仑乱 | 午夜影院免费入口 | 成人福利软件免费 | 色噜噜狠狠色综合日日 | 欧美日韩国产高清精卡 | 久久精品小视频 | 国产成人小视频在线观看 | 九九热九九热 | 蜜桃视频黄| 亚洲最大成人 | 国内外一级毛片 | 欧美日韩视频免费播放 |