FPGA有些事,你想知道

FPGA有些事,你想知道


首先,如果您從未接觸過FPGA(現場可編程門陣列),或者有過一點基礎想要繼續深入瞭解這個行業,在這裡,會向您介紹FPGA,並且向您解釋FPGA都能解決什麼問題,如何解決這些問題,並討論如何將設計進行優化等等。

在FPGA四個英文字母中,F代表著Field,即現場,那什麼是現場呢?FPGA中的現場,是一種廣義上的現場,既有指代產品所處之地,又體現的是FPGA的一種“即時性”;而P是Programmable,代表著可編程;G為Gate,門,也就是數字電路之中的邏輯門;A為Array,指由邏輯門組成的陣列。將四個英文單詞組合,就是我們常說的現場可編程邏輯門陣列——FPGA。

FPGA有些事,你想知道

與其他搭建硬件平臺的方式相比,FPGA做了兩件事,首先,它使你能夠自由地搭建你需要的硬件平臺,取代了從前使用ASIC(專用集成電路)時所不得不承擔的長開發時間、高額開發經費以及設計風險,另外一點,相比於其它的硬件構成,它允許你構建你所需要的硬件而不需要ASIC,而且比採用微處理器內核更簡單、快速、省電。

FPGA有些事,你想知道


FPGA又能做什麼?

  • 編程自由度高

FPGA貌似在數字世界裡無所不能,它就像樂高的積木一樣可以搭建各種不同的功能模塊,實現你所希望的各種功能,當然,首先你必須掌握最基本的數字邏輯知識,學會一種用來構建各種功能的工具語言(在這裡我們推薦廣受歡迎的Verilog),再次你要動腦(考驗的是你的邏輯思維是否清晰),一個優秀的建築師的作品是在腦子裡勾畫出來的,而不是拿積木碰運氣拼湊出來的。

  • 開發週期短:“現場可編程”

FPGA可以使你去對產品進行“現場”編程,這使得調試周期縮短,產品也就能夠迅速適應新的工藝標準。並且產品在已經在現場安裝上了之後依然可以對其硬件進行直接配置,也就是我們所說的“現場可編程”。

如果你能夠對簡單的邏輯門進行合理配置或者將你想要的硬件系統描述出來,你就能利用這些簡單的邏輯做些更有意義的事情。而在你的技術還沒有成熟時,FPGA允許你進行多變化的設計,並且在設計流程中不用承擔高額的經費以及和一些不得不面對的設計風險。

  • 高速

FPGA的高速體現在兩個方面:並行性,PLL鎖相環

第一點是FPGA的並行性,相比於傳統的MCU,程序規模越大,越能體現出FPGA的優勢。也許簡單的“流水燈”程序看不出差別,但是如果是大型系統,存在大量的數據流,FPGA就可以調用內部的FIFO核進行高速處理,最終能夠與MCU系統能夠相差出數十毫秒到數百毫秒——這對於通訊行業以及航天、軍工行業是極為致命的。

第二點就是PLL鎖相環,MCU上同樣含有PLL鎖相環,但它受到的限制非常大,通常只能進行幾個檔位的倍頻,而FPGA上的PLL倍頻自由度較高,以Altera公司生產的MAX10為例,50MHz的時鐘通常在芯片允許的情況下外部時鐘可倍頻到470MHz左右,而內部時鐘可倍頻到1.3GHz。

舉個汽車的倒車攝像頭的例子,如果攝像頭完成從視頻捕捉到視頻顯示共花費了250ms的延時時間,而國家要求的延時時間不得超過100ms,你就可以用FPGA去取代傳統MCU去處理圖像信息,來滿足政府的延時要求。

  • 高集成度

當半導體行業產品集成度越來越高的同時,編程者門也意識到可以在FPGA中建立整個子系統,而不是隻侷限於使用ASIC(專用集成電路),他們可以將更多的設備放在相同大小的封裝裡——並且允許實現更多樣的功能和更復雜的算法,計算速度上升的同時,功耗也會更小。

  • 可嵌入IP硬核

FPGA可以內置IP核,提供豐富強大的功能,使開發者無需浪費時間去重複的構建同一種功能模塊。同時,也會減少資源的消耗並且節約很多資金,目前FPGA的存儲塊可以嵌入很多個IP核,例如,計算電路,收發器,協議控制器,甚至嵌入一個MCU,然而,重要的是要記住,IP核不是像FPGA的其他邏輯單元一樣可以重複編程,但是它是一個為了實現某一功能而定製出現的模塊,也就是說對於IP核,我們不用每次都去重構它,這是在做無用功,我們直接調用即可。

因為IP核的這一特性,FPGA製造商可以將編寫完成的IP硬核以商品的形式進行銷售,也是因為這一原因,大多數的電子系統趨向了標準化。

FPGA有些事,你想知道

原文地址:卿萃科技FPGA極客空間 微信公眾號


分享到:


相關文章: