【SoC FPGA學習】一、AC501-SOC FPGA開發板介紹
少一些功利主義的追求,多一些不為什么的堅持。
【SoC FPGA開發常見問題合集】SoC FPGA開發過程中常見問題
本系列學習筆記基于小梅哥SOC Cyclone V SoC開發板。
一、什么是SoC FPGA
隨著信息技術的高速發展,各行各業趨向于通過資源整合,并購的方式來獲得更強更穩固的競爭力,芯片架構亦是如此。單“芯”SoC方案(System on Chip)擁有的低功耗、低成本、低布線面積以及高整合、高性能、高帶寬(內部互聯)的優勢正推動其引領電子系統設計潮流。
在傳統的芯片架構中,處理器、DSP、FPGA往往都各自獨立,互不相干。當一個系統需要用到處理器、DSP、FPGA中的多個元件時,則采用板級繼承的方式,在一個電路板上設計復雜的電路,將他們通過PCB板走線連接到一起。此種方式設計的系統,不僅設計生成成本高,而且受限于PCB走線和I/O管腳性能的影響,無法實現高帶寬的數據通信。設計師們都期待著有那么一種芯片,能同時擁有處理器、DSP、FPGA的特點,各個架構的優勢強強聯合,提升電子系統設計的便利性。
順應時代的發展,亦如當年麻雀雖小,功能俱全的“單”片機出世,各大傳統FPGA廠家都順勢推出了帶有嵌入式硬核處理器的SoC FPGA。如Intel FPGA部門基于不同應用推出的帶有Cortex-A9、Cortex-A53、志強CPU等一系列涵蓋低、中、高端的SoC FPGA器件,Xilinx推出的帶有Cortex-A9、Cortex-A53處理器的ZYNQ系列FPGA。
同時集成處理器和FPGA的器件具劃時代意義。自此ARM和FPGA的優勢共存一體,ARM的順序控制、豐富外設、開源驅動,FPGA的并行運算、高速接口、靈活定制的特性交錯相融,相得益彰。再加上其內部多條告訴橋接總線,使其數據交互鏈路暢行無阻。
無論是Xilinx的ZYNQ全可編程系列FPGA,還是Intel的SoC FPGA,其基本架構都是在同一個硅片上集成FPGA和CPU,并通過高速、高帶寬的互聯架構連接起來。本質相同,架構和性能也都非常相似。熟悉一種器件的使用和開發思路,掌握其開發流程,即可很快速的過渡到另一種器件上。
二、關于小梅哥SOC Cyclone V SoC開發板
AC501-SOC是一款高性能SOC FPGA開發平臺,也是國內為數不多的基于Intel Cyclone V SoC FPGA器件的開發平臺。
開發板使用了Intel Cyclone V SoC FPGA 器件,該器件是一款在同一晶片上高度整合了ARM Cortex-A9雙硬核處理器和現場可編程邏輯門陣列(FPGA)的新型異構計算芯片。
Cortex-A9處理器可以運行嵌入式Linux操作系統,FPGA可以設計專用硬件邏輯加速電路,并與A9處理器使用偏上總帶寬高達128Gbps的總線進行數據交互
要知道,我們之間學習的IMX6ULL不過是Cortex-A7架構!
主控:Intel CycloneV SoC FPGA芯片,型號為5CSEBA2U19I7
內存:鎂光512MB DDR3內存
網絡:千兆以太網接口
FLASH:128Mbit QSPI FLASH
電源:Intel原廠FPGA專用電源系列
USB:USB2.0 OTG
三、Intel SoC FPGA產品線
針對不同的應用領域,Intel PSG部門設計開發了各種邏輯資源容量和性能的SoC FPGA器件,如下圖所示。
Cyclone V SoC FPGA基于臺積電28納米工藝,可提供非常低的系統成本和功耗,其性能和成本優勢適合大批量應用。FPGA部分和前幾代相比,其總功耗降低了40%。具有高效的邏輯集成功能,提供可選的集成收發器。并且支持經度可調的DSP模塊,數字信號處理性能高達150GMACS和100GFLOPS(什么概念?戳這里)。
Cyclone V SoC FPGA提供3大類可選的類型,分別是:
具有基于ARM的HPS的Cyclone V SE SoC FPGA
具有基于ARM的HSP和3.125-Gbps收發器的Cyclone V SX SoC FPGA
具有基于ARM的HSP和5-Gbps收發器的Cyclone V ST SoC FPGA
雙核Cortex-A9處理器,高達925MHz運行頻率。
看起來是ARM - 標準的ARM Cortex-A9架構
用起來是ARM - 可運行標準的ARM Linux系統
開發起來是ARM - 使用標準的ARM開發工具鏈開發
Cyclone V E FPGA標準架構,基于SRAM的查找表典型架構。
看起來是FPGA - LUT、觸發器、PLL、RAM、乘法器、IO
用起來是FPGA - 使用Quartus 軟件直接編程,流程不變
開發起來是FPGA - HDL編程,Qsys系統,時序約束分析
獨立性:
FPGA和ARM均可獨立啟動,獨立運行、獨立開發
Xilinx的ZYNQ7000系列芯片,僅支持ARM先啟動,而后FPGA才能啟動
Intel SoC FPGA,ARM和FPGA均可獨立啟動,互不干涉
Intel SoC FPGA,甚至一方不上電,另一方都能正常工作
該特性對于工控系統中一些對可靠性要求比較高的應用具有非凡的意義,將一些重要的功能配置在FPGA側,即使ARM部分工作異常,FPGA也能繼續運行,保證系統的安全。
關聯性:
FPGA和ARM可以通過偏上告訴總線聯合工作,高速數據交互
FPGA可以通過標準的AXI總線連接到ARM上,與ARM進行高速數據交互
ARM可以通過標準的AXI總線控制FPGA側的IP,并進行高速數據交互
ARM可以直接對FPGA進行配置(相當于下載器下載sof文件到FPGA)
四、小梅哥寄語
1、這是一款集合了FPGA和ARM-Linux嵌入式處理器架構的SoC FPGA混合型器件,合理高效的使用它需要較為扎實的FPGA編程功底、一定的QSYS/SOPC使用經驗、扎實的C語言基礎功底。FPGA還沒入門,沒有使用過Qsys、C語言水平在2級以下的,不建議貿然嘗試。
2、開發SoC FPGA器件對電腦性能要求較高,需要安裝Quartus 17.1版本軟件,需要安裝Ubuntu虛擬機,根據經驗,i5的2.6G CPU,8G內存,固態系統盤的情況下,完成一次Quartus工程分析和綜合需要7分鐘,全編譯需要約22分鐘,i7-4核2.8G主頻CPU、16G內存,全固態硬盤的情況下,完成一次分析和綜合需要4分鐘,全編譯需要10分鐘。內存太小,CPU主頻太低、低壓版CPU可能開發較為吃力。
3、開發SoC FPGA需要有較強的心理承受能力,很多問題和知識點都是第一次接觸,各種報錯可能之前見所未見。如無較強的心理承受能力,很可能第一步就跨不出去。
4、開發SoC FPGA需要有踏實的學習態度,例如跟著推薦的教材仔細的學習,勤動手練習。
對于Intel Cyclone V SoC,由于發布時正值Altera被Intel收購,各方面調整,因此導致并未在市場上獲得廣泛的應用。現如今市場占有率相對于友商Xilinx的Zynq系列,也并不十分高,所以學習這個可能并不能幫你找到好工作。學習之后也不一定能夠投入公司項目應用。
本產品當前主要適合科研院校進行創新項目的開發。請各位網友認清自己的心態,確實有興趣的,再考慮學習。
AC501-SoC開發板初期提供的資料多為實驗例程加視頻講解,講解內容也主要是操作和開發過程,并不會非常系統的去講解每一個細節,雖然這些在以后會做,但是等做了再說,當前計劃僅依靠兩個綜合性項目展開,將該項目涉及到的知識點做重點講解。兩個項目,一個是基于SoC圖像采集顯示的,一個是數字示波器的。這兩個項目里面幾乎包含了大部分的SoC開發知識:Qsys搭建,HPS配置,UBOOT生成更新,內核編譯更新,驅動編寫編譯,應用編寫,程序調試等。所以,暫時不要對教程有太高的期望。
以上是小梅哥總結的學習和開發SoC技術的必備條件。作為指導是否有必要選擇學習和使用SoC FPGA的一個衡量標尺。
FPGA 嵌入式 硬件開發
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。