《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 業界動態 > 解決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。
主站蜘蛛池模板: 国产真**女人特级毛片| 恸哭の女教师大桥未久| 国产在线高清视频无码| 中文字幕av一区| 欧美高清视频一区| 动漫人物差差差动漫网站| 观看国产色欲色欲色欲www| 天天操天天干天天舔| 久久精品无码一区二区日韩av| 精品国产亚洲一区二区三区| 国产精品主播叶子闺蜜| 97人洗澡从澡人人爽人人模| 女警骆冰被黑人调教免费阅读小说 | 免费视频www| 婷婷色香五月综合激激情| 亚洲国产成a人v在线| 美女的尿口视频网站| 国产午夜手机精彩视频| 91视频一区二区| 字幕网免费高清观看电影| 两个人看的WWW在线观看| 欧美a级成人淫片免费看| 亚洲精品国产精品乱码视色| 阿娇囗交全套高清视频| 国产美女精品久久久久久久免费 | 女人把私人部位扒开视频在线看| 中国一级特黄的片子免费 | 小蝌蚪视频网站| 久久精品久噜噜噜久久| 波多野结衣伦理片bd高清在线| 国产一有一级毛片视频| 门卫老董趴在我两腿之间| 国产在线精品国自产拍影院同性| 91无套极品外围在线播放| 成年人黄色毛片| 亚洲AV无码久久久久网站蜜桃| 免费成人在线观看| 西西人体大胆扒开瓣| 国产又大又粗又长免费视频| 麻豆国产精品一二三在线观看| 国产网站在线播放|