(轉)一文看懂fpga與asic的區別

ethnicity 發佈 2020-06-03T03:42:37+00:00

轉載自 http://m.elecfans.com/article/611384.

轉載自 http://m.elecfans.com/article/611384.html 如有侵權請聯繫刪除

人工智慧受到越來越多的關注,許多公司正在積極開發能實現移動端人工智慧的硬體,尤其是能夠結合未來的物聯網應用,對於移動端人工智慧硬體的實現方法,有兩大流派,即FPGA派和ASIC派。FPGA流派的代表公司如Xilinx主推的Zynq平台,而ASIC流派的代表公司有Movidius。本文主要介紹了fpga與asic的區別在哪裡,小編帶大家來了解一下。


1、FPGA——現場可編程門陣列

FPGA(Field-ProgrammableGateArray),即現場可編程門陣列,它是在PAL、GAL、CPLD等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定製電路而出現的,既解決了定製電路的不足,又克服了原有可編程器件門電路數有限的缺點。

ASIC具有高性能、低功耗的優勢,但它們包含的任何算法——除了那些在軟體內部處理器內核執行的——其餘都是「凍結的」。所以這個時候我們就需要現場可編程門陣列(FPGA)了。早期的FPGA器件的架構相對簡單——只是一系列通過可編程互連的可編程模塊。


用於深度學習加速器的FPGA(XilinxKintex7Ultrascle)

FPGA最厲害的地方是,我們可以配置它的可編程架構來實現任意我們需要的數字功能組合。另外,我們可以以大規模並行的方式實施算法,這意味著我們可以非常迅速和有效地執行大數據的處理。

2、ASIC——特定應用集成電路

目前,在集成電路界ASIC被認為是一種為專門目的而設計的集成電路。是指應特定用戶要求和特定電子系統的需要而設計、製造的集成電路。ASIC的特點是面向特定用戶的需求,ASIC在批量生產時與通用集成電路相比具有體積更小、功耗更低、可靠性提高、性能提高、保密性增強、成本降低等優點。


讓我們從特定應用集成電路(ASIC)開始。正如其名稱所表示的,這是因特定目的而創建的設備,一旦設計製造完成後電路就固定了,無法再改變。當大多數人聽到這個詞ASIC時,他們的「下意識」反應是,假設它是數字設備。事實上,不論它是模擬的、數字的,或兩者的混合,任何定製的晶片都是一個ASIC。然而,對於這些討論的目的,我們應該假設這是一個完全或主要部分是數字性質的晶片,任何模擬和混合信號功能是沿著物理接口線(物理層)或鎖相迴路(PLL)的。

FPGA設計優勢


兩者的設計流程


圖FPGA和ASIC設計流程完整的FPGA設計流程包括功能描述、電路設計與輸入、功能仿真、綜合優化、綜合後仿真、實現與布局布線、時序仿真、板級仿真與驗證、調試與加載配置。

ASIC的設計流程(數字晶片)包括:功能描述、模塊劃分、模塊編碼輸入、模塊級仿真驗證、系統集成和系統仿真驗證、綜合、STA(靜態時序分析)、形式驗證。

插一句,在ASIC設計過程中,往往要用到FPGA進行原型驗證。FPGA驗證是進行ASIC設計的重要環節,其後,還需要引入ASIC版本源碼,插入IOPAD,DFT,功耗估計和進行其它後端流程。完成FPGA驗證可以說就完成了ASIC整套流程的50~80%。

從設計成本來考慮,小批量上FPGA占優,大批量時,ASIC占優。


FPGA本身就是一個晶片,只是你可以通過編程的方式修改內部邏輯連接和配置實現自己想要的功能。實現ASIC,就如從一張白紙開始,你得有代碼,之後綜合,之後布局,布線,得到GDSII後去流片。

比速度

相同的工藝和設計,在FPGA上的速度應該比ASIC跑得慢。因為FPGA內部是基於通用的結構,也就是LUT(lookuptable),它可以實現加法器,組合邏輯等等,而ASIC,一般加法器就是加法器,而比較器就是比較器,FPGA結構上的通用性必然導致冗餘;另外,作為FPGA基本單元是LUT(LUT組成SLICE,SLICE組成CLB--這是xilinx的結構),為此大的設計假如一個LUT實現不了,就得用兩個LUT,一個SLICE實現不了就要用CLB,不同結構處於特定的位置,信號之間的互聯,導致的wiredelay是不可忽略的一部分。而對於ASIC來說沒有結構上的限制,而且對於特定的實際可以在空間上靠得很近,相對之下wiredelay和celldelay都應該比FPGA小。當然LUT中也有DFF,作為高速的設計一般都會在一個簡單的組合邏輯操作之後打一拍,再做下一步的處理。

比個頭

完全相同的結構的話,FPGA被ASIC遠遠踢飛。FPGA要規模大得多才能實現ASIC相同的功能,主頻還只有幾分之一。因此,FPGA相對於ASIC來說還是大很多的。

功耗方面

在相同工藝條件下,FPGA要大於ASIC。FPGA,尤其是基於占用大量矽面積的、每個單元六個電晶體的靜態存儲器(SRAM)的查尋表(LUT)和配置元件技術的FPGA,其功耗要比對等的ASIC大得多。

比花的銀子

FPGA貴在單片,開發工具和風險基本不存在。對於ASIC貴在流片的費用和開發工具,NRE費用隨著工藝的提高變相當貴,除非你的晶片一次成功可以量產,否則單片費用將其貴無比!



其他方面

ASIC用於大型項目,而對於需要快速投放市場且支持遠程升級的小型項目,FPGA則更為適合。FPGA技術的主要優勢仍是產品投放市場的時間較短。

在ASIC的優勢方面,ASIC加電後可立即運行,就單位邏輯大小而言封裝選擇更多,還可包括某些模擬邏輯。與此相對比,FPGA加載配置進入存儲器需要時間,因此不能立即工作。此外,FPGA的封裝也較複雜。

除此之外,FPGA內部還包括接口I/O,I/O分為普通I/O和高速I/O,高速I/O支持例如高速的SERDES,用於實現XAUI,PCIE等高速接口,這些接口動輒幾Gbps到10Gbps以上。此外種類多種多樣的硬核IP也是各FPGA廠商差異化競爭利器,例如POWERPC、ARM等硬核IP。從而構成CPU+FPGA於一體的集可編程性和可重構的處理平台。因此,相對來所,FPGA雖然發展有二三十年的歷史,其基本架構一直不變不大。

兩者的定位

FPGA和ASIC產品的使用要根據產品的定位和設計需要來選用,ASIC產品適用於設計規模特別大,如CPU、DSP或多層交換晶片等,或者是應用於技術非常成熟且利潤率非常低的產品,如家用電器和其它消費類電器,亦或是大量應用的通用器件如RAM、PHY等。而FPGA產品適用於設計規模適中,產品要求快速占領市場,或產品需要靈活變動的特性設計等方面的產品,如PDH、2.5G以下SDH設備和大部分的接口轉換晶片等。當然具體使用那種產品來設計還要設計者充分考慮自己的產品定位來決定。

兩者在互相融合

最明顯的莫過於處理器中開始集成FPGA,而可編程的ASIC也開始興起。隨著SoC成為主流,兩者的邊界也就不辣麼明顯了。

關鍵字: