• 正文
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

就業(yè) | FPGA和ASIC到底選哪個好?

2021/09/17
886
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

當下,集成電路設計發(fā)展趨勢越來越好,許多公司都在積極開發(fā)能夠?qū)崿F(xiàn)移動端,汽車端,消費類電子端的智能硬件。尤其對于移動端人工智能硬件的實現(xiàn)方法,有兩大流派,即FPGA派和ASIC派。

對于大多數(shù)微電子專業(yè)的同學來說,在畢業(yè)季時,選擇FPGA還是AISC,是一個極為糾結(jié)的問題,一來是學校里大多做的都是FPGA項目,二來對兩者缺乏了解,沒有一個對職業(yè)發(fā)展的正確判斷。

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

 一、FPGA和ASIC有哪些異同? 

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

我們所討論的FPGA只是基于已有的FPGA芯片去做后端排列組合的工作內(nèi)容,而不是設計制造新的FPGA芯片,世界上能做這件事的公司屈指可數(shù)。

FPGA開發(fā)流程遵循ASIC開發(fā)的流程,都是集成電路方向,coding使用的編程語言和編程邏輯基本一致,絕大多數(shù)電子類硬件產(chǎn)品,能使用FPGA做出來,就能用ASIC做出來,通過兩種方式都能實現(xiàn)同樣的功能。

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

FPGA和ASIC區(qū)別更多的體現(xiàn)在做設計的一些細小的方面,ASIC的設計規(guī)模通常遠遠大于FPGA的,運行時鐘也遠遠高于FPGA,門電路數(shù)量上也有差別。

而且,ASIC只有一次機會,F(xiàn)PGA因為可以編程,所以coding的靈活性相對提高。僅僅從RTL設計上來說:

(1)ASIC對編碼風格和編碼技術(shù)的要求更高,為了有利于后端以及后續(xù)的check,這就要求所有模塊的coding風格要一致。

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

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

(4)ASIC要考慮SCAN測試和BIST的問題,所以設計的時候還需要為SRAM做BIST插入,需要為SCAN預留接口,雖然大部分都是工具干的,但是經(jīng)常RTL作者也要手動做一些頂層工作,比如SCAN時鐘的來源等邏輯。

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

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

FPGA主要用于要求快速迭代或者小批量產(chǎn)品,或者作為ASIC的算法驗證加速。ASIC用于設計規(guī)模大,復雜度比較高的芯片,或者是成熟度高,產(chǎn)量比較大的產(chǎn)品。

1、上市速度:FPGA上市開發(fā)周期短,上市速度快,ASIC開發(fā)周期長,上市速度慢。
2、產(chǎn)品性能:FPGA產(chǎn)品性能較低,存在資源浪費。ASIC產(chǎn)品性能高。
3、開發(fā)成本:開發(fā)成本在這里需要看是小批量生產(chǎn)還是大批量生產(chǎn),舉一個很簡單的例子,小批量生產(chǎn)可以請幾個熟練的師傅,買好材料,手工做幾個產(chǎn)品。但是大批量生產(chǎn)呢,適合流水線作業(yè),這樣單個產(chǎn)品的成本會比較低。

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

四、FPGA和ASIC的共通點

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

1、需要有數(shù)字邏輯的設計思想 :針對任意一項具體的功能,如何組合你器件內(nèi)的單元來實現(xiàn),需要哪些單元?如何連接這些單元?各個單元之間連接的先后順序如何? 

 

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

 

3、一種連接你的邏輯思維和機器操作之間的溝通工具 - 設計語言(原理圖、Verilog、VHDL等等)。 而設計思想和語言工具在ASIC上也是所必須的,說白了大家都要寫Verilog,很多地方自然互通。

這也是為什么FPGA更容易往數(shù)字IC轉(zhuǎn)行的原因。

更深層次的則是做RTL的工程師一定要往系統(tǒng)層面的工程師轉(zhuǎn),只在RTL和協(xié)議這條路上走下去,沒有任何希望。 RTL出身的工程師,在這方面本身就具有一點點優(yōu)勢,而且從技術(shù)上來說,數(shù)字IC設計只會比FPGA更加復雜,同時更具競爭力:

  • 更快的時鐘更統(tǒng)一的coding style更嚴格的STA更系統(tǒng)的仿真更低的功耗更少的可用資源

至于UVM仿真,即便不做IC,傳統(tǒng)的FPGA工程師也應該有所掌握,一個系統(tǒng)的仿真對產(chǎn)品的開發(fā)和后期維護,節(jié)省的時間不可估量。 FPGA受限于環(huán)境因素,ASIC/SOC一定是之后發(fā)展的大趨勢。

結(jié)語

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

對于大多數(shù)在讀的集成電路、微電子專業(yè)的在校生而言,IC設計各個細分的方向缺口更大一些,所以選擇IC設計更好一些。

相關(guān)推薦

登錄即可解鎖
  • 海量技術(shù)文章
  • 設計資源下載
  • 產(chǎn)業(yè)鏈客戶資源
  • 寫文章/發(fā)需求
立即登錄