軟核和硬核
內嵌處理器硬核的FPGA,即SoC FPGA,是在芯片設計之初,就在內部的硬件電路上添加了硬核處理器,是純硬件實現(xiàn)的,不會消耗FPGA的邏輯資源,硬核處理器和FPGA邏輯在一定程度上是相互獨立的,簡單的說,就是SoC FPGA就是把一塊ARM處理器和一塊FPGA芯片封裝成了一個芯片。
更多介紹可以查看:FPGA硬核和軟核處理器的區(qū)別
1.Xilinx的ZYNQ-7000系列
Xilinx發(fā)明的FPGA顛覆了半導體世界,創(chuàng)立了Fabless(無晶圓廠)的半導體模式。Zynq?-7000 系列集成了 ARM Cortex-A9 處理器,同時具有ARM軟件的可編程性和FPGA 的硬件可編程性,不僅可實現(xiàn)重要分析與硬件加速,同時還在單個器件上高度集成 CPU、DSP、ASSP 以及混合信號功能。
ZYNQ芯片內部框圖
準確的說,ZYNQ并不能說是一個嵌入式ARM硬核的FPGA,官方對其稱呼是可擴展處理平臺。Zynq-7000可擴展處理平臺是采用賽靈思新一代FPGA(Artix-7與Kintex-7FPGA)所采用的同一28nm可編程技術的最新產品系列??删幊踢壿嬁捎捎脩襞渲?,并通過“互連”模塊連接在一起,這樣可以提供用戶自定義的任意邏輯功能,從而擴展處理系統(tǒng)的性能及功能。
ZYNQ芯片資源主要分為兩個部分:PL和PS,PL即可編程邏輯部分,指的是FPGA部分。PS即可編程系統(tǒng)部分,指的是ARM處理器部分,兩者之間可以通過總線進行通信。對于一個不熟悉FPGA的嵌入式軟件工程師來說,完全可以把它當做ARM MPU來使用,使用例程中搭建好的硬件環(huán)境,在SDK中開發(fā)。如果在進行軟件調試時,發(fā)現(xiàn)某些算法太慢,速度上不去,可以用FPGA的邏輯部分把這部分進行優(yōu)化,一般情況下快個一二十倍是沒問題的。從FPGA邏輯部分到ARM軟件開發(fā),可以完全在Xilinx自家的開發(fā)環(huán)境里切換。
PYNQ系列是ZYNQ的升級版,簡單的理解就是:Python + ZYNQ的意思。至于Python是如何控制硬件的,
有了Python的加持,可以非常方便的進行FPGA開發(fā),可以充分利用Python的靈活性和FPGA的硬件資源,可以簡化圖像處理和人工智能的算法設計。
2.Altera的Cyclone V系列
2015年12月,Intel斥資167億美元收購了Altera公司 。作為FPGA市場的二把手,既然Xilinx推出了ZYNQ,那Altera也得跟上老大的腳步啊!相比于Xilinx的SoC FPGA系列,Altera的內嵌ARM硬核的FPGA系列就比較多了,這里我整理了一個表格:
Altera? Arria? V GT FPGA開發(fā)套件,官方售價$3,995
整體來看,可能是ZYNQ的生態(tài)做得比較好,ZYNQ還是挺多資料的,而Altera的SoC FPGA資料不是很多。
3.Microsemi的SmartFusion系列
FPGA領域,大家比較熟知的就是以上兩個廠商了,不過以上兩家主流的FPGA都是基于SRAM工藝的,即芯片外部需要搭配一片SPI Flash用于存儲程序,這樣就會有一個問題,如果只是進行程序下載而沒有進行程序固化,就會導致掉電數(shù)據(jù)丟失的問題,而且由于讀寫外部器件需要時間,所以上電不能立刻啟動。而Microsemi的FPGA都是基于Flash結構的,即芯片內部有Flash可以用于程序存儲,不用區(qū)分程序下載和程序固化,掉電數(shù)據(jù)不會丟失,上電立刻啟動。Microsemi的主要市場在醫(yī)療機構、軍工航空、汽車和工業(yè)控制領域。
Microsemi大家可能不太熟悉,說到Microsemi,我們不得不提一下它的歷史,最開始Microsemi 是做功率電子器件的,Actel是做基于Flash結構FPGA芯片的,2010年,Microsemi收購了Actel,2018年,Microchip又收購了Microsemi,所以現(xiàn)在的第三大FPGA廠商應該是MicroChip。
2019 FPGA市場份額占有率 | 數(shù)據(jù)來源:MRFR
相比于Xilinx和Altra的FPGA內嵌的ARM Cortex-A系列MPU處理器,Microsemi的FPGA就顯得比較LOW了,基于130nm工藝,主要有兩個系列SmartFusion和SmartFusion 2,即一代和二代,都是內嵌的ARM Cortex-M3硬核,和STM32內嵌的是同一個內核,外設也都是比較常用的,如UART、SPI、IIC、EPROM、RTC等等。所以這個芯片的使用對于有單片機基礎的朋友來說,比較容易上手。FPGA部分和ARM部分相互獨立,可以通過APB總線來進行數(shù)據(jù)交換。ARM開發(fā)工具可選擇Keil、IAR等常用MCU開發(fā)環(huán)境。
SmartFusion第一代FPGA內部框圖
總結
可能是Xilinx ZYNQ的生態(tài)做得比較好,網絡上的工具、文檔資料、社區(qū)支持、相關書籍支持都很到位,而Altera的資料就不那么好找了。
推薦閱讀
FPGA硬核和軟核處理器的區(qū)別
我的博客:www.wangchaochao.top
我的公眾號:mcu149
由于微信文章不支持超鏈接,文中出現(xiàn)的軟件、程序等文件下載,可以點擊"閱讀原文",跳轉到我的博客文章進行下載。
原創(chuàng)不易,如果覺得我的文章對你有所幫助,可以隨手點“好看”分享,你的支持將是我持續(xù)更新的動力。
免責聲明:本文內容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!