首頁>資訊>

在現在這個大背景下,積體電路設計發展趨勢越來越好,許多公司都在積極開發能夠實現移動端,汽車端,消費類電子端的智慧硬體。

尤其對於移動端人工智慧硬體的實現方法,有兩大流派,即FPGA派和ASIC派。

對於大多數微電子專業的同學來說,在畢業季時,選擇FPGA還是AISC,是一個極為糾結的問題,一來是學校裡大多做的都是FPGA專案,二來對兩者缺乏瞭解,沒有一個對職業發展的正確判斷。

今天就來聊聊FPGA和ASIC在各個維度上的區別。

一、FPGA和ASIC有哪些異同?

很多入行不久的朋友潛意識裡會認為FPGA是很高深的東西,能掌握FPGA的一定都是極其厲害的人。

其實,這是一個誤解。

FPGA開發流程遵循ASIC開發的流程,都是積體電路方向,coding使用的程式語言和程式設計邏輯基本一致,絕大多數電子類硬體產品,能使用FPGA做出來,就能用ASIC做出來,透過兩種方式都能實現同樣的功能。

二、FPGA和ASIC在設計層面的比較

FPGA和ASIC區別更多的體現在做設計的一些細小的方面,ASIC的設計規模通常遠遠大於FPGA的,執行時鐘也遠遠高於FPGA,閘電路數量上也有差別。

而且,ASIC只有一次機會,FPGA因為可以程式設計,所以coding的靈活性相對提高。僅僅從RTL設計上來說:

(1)ASIC對編碼風格和編碼技術的要求更高,為了有利於後端以及後續的check,這就要求所有模組的coding風格要一致。

(2)ASIC做邏輯設計更趨於保守,對程式碼的任何改動都要很謹慎,並且要做備選的選擇,以防改錯。RTL的任何修改幾乎都是增量修改,即便以前的邏輯錯了,也不會刪掉,而是多做一個分支。

(3)ASIC設計對時鐘和復位更加重視。尤其是時鐘,對ASIC的設計非常關鍵,復位對掃描鏈測試(DFT)又很關鍵。ASIC在這方面都需要採用庫來進行設計。ASIC通常不會用counter分頻,這樣會導致時鐘不乾淨,除非是很低頻的時鐘。ASIC對於跨時鐘域的訊號處理也謹慎很多。對於clock的關閉和開啟也需要嚴格檢查。

(5)FPGA有很多用現成IP,需要考慮開發板上的資源合理的利用,不能把某一資源撐爆了,而且FPGA存在資源浪費問題。ASIC很少考慮這種問題,ASIC考慮的永遠是效能和功耗,在邏輯選擇上除了SRAM,CLK和復位相關,都是手寫的,邏輯基本沒有浪費,也更加緊湊。

三、FPGA和ASIC在市場需求上的差異。

FPGA主要用於要求快速迭代或者小批次產品,或者作為ASIC的演算法驗證加速。

ASIC用於設計規模大,複雜度比較高的晶片,或者是成熟度高,產量比較大的產品。

1、上市速度:FPGA上市開發週期短,上市速度快,ASIC開發週期長,上市速度慢。

2、產品效能:FPGA產品效能較低,存在資源浪費。ASIC產品效能高。

3、開發成本:開發成本在這裡需要看是小批次生產還是大批次生產,舉一個很簡單的例子,小批次生產可以請幾個熟練的師傅,買好材料,手工做幾個產品。但是大批次生產呢,適合流水線作業,這樣單個產品的成本會比較低。

一些對價格不是很敏感的地方,比如企業應用,軍事和工業電子等等(在有些地方可以重新配置真的很重要)。而ASIC也有一定的可重配置能力,在設計的時候把電路做成某些引數可調的即可。ASIC大批次生產致使低成本。適合電子消費類應用,而且在消費類電子中現在現在來說是不可配置。

四、FPGA和ASIC的共通點

至於共通點,需要了解掌握FPGA應當具備以下能力:

1、需要有數字邏輯的設計思想 :針對任意一項具體的功能,如何組合你器件內的單元來實現,需要哪些單元?如何連線這些單元?各個單元之間連線的先後順序如何?

2、一套從頭到尾執行的設計環境(FPGA廠商提供的編譯工具 - Lattice的Diamond、Intel的Quartus、Xilinx的Vivado)

3、一種連線你的邏輯思維和機器操作之間的溝通工具 - 設計語言(原理圖、Verilog、VHDL等等)。

而設計思想和語言工具在ASIC上也是所必須的,說白了大家都要寫Verilog,很多地方自然互通。

這也是為什麼FPGA更容易往數字IC轉行的原因。

更深層次的則是做RTL的工程師一定要往系統層面的工程師轉,只在RTL和協議這條路上走下去,沒有任何希望。

RTL出身的工程師,在這方面本身就具有一點點優勢,而且從技術上來說,數字IC設計只會比FPGA更加複雜,同時更具競爭力:

更快的時鐘更統一的coding style更嚴格的STA更系統的模擬更低的功耗更少的可用資源

至於UVM模擬,即便不做IC,傳統的FPGA工程師也應該有所掌握,一個系統的模擬對產品的開發和後期維護,節省的時間不可估量。

FPGA受限於環境因素,ASIC/SOC一定是之後發展的大趨勢。

結語

FPGA 和 ASIC 各有所長,FPGA 的可配置性更適合科研、軍工等應用,而 ASIC 的高效能和低成本則適合消費電子領域(包括移動終端)。

對於大多數在讀的積體電路、微電子專業的在校生而言,IC設計各個細分的方向缺口更大一些,所以選擇IC設計更好一些。

10
最新評論
  • 3本作者大大最好的一本小說,劇情讓人拍手叫好,連看三遍也不膩
  • 臺灣省女藝人發露腿照悼念去世演員,網友傻眼:不尊重逝者