FPGA與ASIC:它們之間的區別以及使用哪一種?
FPGA Vs ASIC: Differences Between Them And Which One To Use?
VL82C486 Single Chip 486 System Controller ASIC.
引論
對於一個剛接觸超大規模集成電路和硬件設計領域的人來說,這往往是第一個問題:FPGA、ASIC和CPLD之間有什麼區別?在另一篇文章中,我們試圖回答FPGA和CPLD之間的區別。本文將定義什麼是FPGA,什麼是ASIC,我們將試圖闡明FPGA與ASIC的問題,並討論它們之間的異同。我們將概述每種方法的優缺點,這樣您就可以根據應用程序的需要明智地決定使用哪種方法。
這是一個目錄,你可以很容易地導航到你感興趣的副標題。
Content:
· What is FPGA?
· What is ASIC?
· FPGA vs ASIC comparison summary
· FPGA vs ASIC visual comparison
· FPGA vs ASIC Cost Analysis
· How to choose between FPGA or ASIC
What is FPGA?
FPGA代表現場可編程門陣列。它是一種集成電路,可以“現場”編程,按預期設計工作。這意味着它可以作爲一個微處理器,或者一個加密單元,或者顯卡,甚至可以同時使用這三個功能。顧名思義,FPGA是現場可編程的。因此,與半導體鑄造廠不同,作爲微處理器的FPGA可以重新編程,在現場充當顯卡。在FPGA上運行的設計通常使用硬件描述語言(如VHDL和Verilog)創建。
FPGA是由數千個可配置邏輯塊(CLB)組成的,它們嵌入在可編程互連的海洋中。CLB主要由查找表(LUT)、多路複用器和觸發器組成。它們可以實現複雜的邏輯功能。除了CLB和路由互連,許多FPGA還包含用於各種功能的專用硬硅塊,如塊RAM、DSP塊、外部存儲器控制器、PLL,千兆位收發器等。最近的一個趨勢是在同一個FPGA芯片內部提供一個硬硅處理器核心(如Xilinx Zynq中的ARM Cortex A9),這樣處理器就可以處理日常的、非關鍵的任務,而FPGA可以處理用處理器無法完成的高速加速。這些專用的硬件塊在與asic競爭中至關重要。
What is ASIC?
ASIC代表專用集成電路。顧名思義,asic是特定於應用程序的。它們的設計目的只有一個,它們的整個使用壽命都是一樣的。例如,手機內部的CPU是一個ASIC。它的功能是作爲一個CPU的整個生命週期。它的邏輯功能不能改變成其他任何東西,因爲它的數字電路是由永久連接的門和硅觸發器組成的。ASIC的邏輯功能以類似於FPGA的方式指定,使用硬件描述語言,如Verilog或VHDL。在這種情況下,集成電路的集成電路的數量是可配置的。作爲比較,可以考慮使用樂高積木建造城堡與使用混凝土建造城堡。前者類似於FPGA,而後者類似於ASIC。你可以重複使用樂高積木創造一個不同的設計,但混凝土城堡是永久性的。
FPGA vs ASIC comparison summary
FPGA ASIC編號
1.FPGA可重構電路。FPGA可以用不同的設計進行重新配置。他們甚至有能力重新配置芯片的一部分,而芯片的其餘部分仍在工作!這個特性被廣泛應用於數據中心的加速計算。
ASIC永久電路。一旦特定於應用的電路用膠帶固定在硅上,它就不能改變。電路在其整個工作壽命內也將同樣工作。
2.FPGA設計通常使用硬件描述語言(HDL),如VHDL或Verilog。
ASIC與FPGA相同。使用Verilog、VHDL等HDL指定設計。
3.FPGA更容易進入障礙物。從FPGA開發開始,成本低至30美元。
ASIC從成本、學習曲線、與半導體制造廠的聯絡等方面來看,進入門檻非常高。從頭開始ASIC開發可能會花費數百萬美元。
4.FPGA不適合大批量生產。ASIC適合大批量生產。
5.FPGA低能量效率,同樣的功能需要更多的功率。
ASIC可以在較低的功率下實現。比FPGA更省電。ASIC的功耗可以非常精確地控制和優化。
6.FPGA與同類工藝節點的專用集成電路相比,工作頻率有限。佈線和可配置邏輯佔用了FPGA的時序裕度。
ASIC由於電路針對其特定功能進行了優化,使用同一工藝節點製造的ASIC可以比FPGA工作頻率高得多。
7.FPGA不可能進行模擬設計。例如,可編程邏輯控制器(FPC)可與模擬收發器(例如,可編程邏輯控制器(PLC)等)一樣。
ASIC在專用於模擬收發器的射頻(RF)核心上,可以不包含許多專用的模擬收發器。這是FPGA所缺乏的優勢。
8.FPGA非常適合於雷達、手機基站等應用,當前的設計可能需要升級以使用更好的算法或更好的設計。在這些應用中,FPGA的高成本並不是決定因素。
ASIC相反,可編程性是決定因素,asic絕對不適合設計可能需要頻繁或偶爾升級的應用領域。
9.FPGA優先用於原型設計和驗證設計或概念。許多ASIC都是用FPGA自己設計原型的!主要處理器製造商自己使用FPGA來驗證他們的片上系統(SOC)。使用FPGA原型設計更容易確保設計按預期正確工作。
ASIC除非經過絕對驗證,否則不建議使用ASIC對設計進行原型設計。一旦硅被貼上膠帶,幾乎什麼也無法修復設計缺陷(例外情況也適用)。
10.FPGA設計人員一般不需要關心後端設計。所有的事情都由合成和路由工具來處理,這些工具確保設計工作如RTL代碼中所述,並符合時間安排。因此,設計人員可以專注於完成RTL設計。
ASIC設計人員需要關心從RTL到重置樹、時鐘樹、物理佈局和佈線、工藝節點、製造約束(DFM)、測試約束(DFT)等所有事情。通常,所述的每一個領域都由不同的專業人員處理。
FPGA vs ASIC visual comparison
根據Xilinx,ASIC vs FPGA成本分析圖如上圖所示。由於成本和單位價值隨使用的工藝技術和時間的不同而有所不同,因此在圖表中省略了成本和單位價值。ASIC有非常高的非重複性工程(NRE)成本,以百萬計,而實際的每個模具成本可能是美分。就FPGA而言,不存在NRE成本。你要爲實際的FPGA芯片付費,一般情況下,你可以免費獲得該FPGA的軟件(最高限額)。因此,由於非重複性成本的存在,ASICs的總成本開始非常高,但其斜率更平坦。也就是說,小批量的原型化asic非常昂貴,但是在大批量生產中,每版的成本變得非常低。在FPGA的情況下,IC成本相當高,因此在大批量生產中,與ASIC相比,成本變得更高。
以下是ASIC成本構成的明細:
-
ASIC EDA tools and training
-
Cost of designing
-
DFT cost
-
Cost of simulating
-
ASIC Masks Cost
-
Wafer Cost
-
Wafer Processing
-
Die Utilization
-
Yield & Manufacturing Loss
-
Packaging
與上表相比,FPGA的成本僅限於可以現貨購買的IC。
How to choose between FPGA or ASIC
你想了解更多關於VLSI的硬件設計的人?那麼FPGA和仿真軟件最適合您。你在設計自己的產品嗎?酷!問問自己目標市場是什麼,預期的價格範圍,功率預算,速度要求等等。能用FPGA實現嗎?如果是的話,那就繼續把你的想法原型化。如果沒有,你可能沒有其他辦法,除了去ASIC。在大多數情況下,至少可以使用FPGA製作原型並驗證您的想法。當你完成原型的時候,你自己就會知道你是否需要使用ASIC路由。當然,如果您的設計完全是突破性的,並且非常特殊,有着非常具體的要求(在成本、功率、速度等方面),那麼您除了使用ASIC線路外別無選擇。否則,FPGA可以滿足大多數用例,特別是當您需要可重新配置的硬件時。