本系列文章主要介紹 FPGA 的基本歷史、基本結構、應用領域及其最新進展,從FPGA與 ASIC、CPLD的區別,Altera與Xilinx的區別,Verilog與VHDL等方面對FPGA 進行簡要介紹,使初學者對 FPGA 能夠有基本的了解。
1. FPGA
FPGA 是在 PAL、GAL、CPLD 等可編程器件的基礎上進一步發展的產物。它是作為專用集成電路(ASIC)領域中的一種半定制電路而出現的,既解決了定制電路的不足,又克服了原有可編程器件門電路數有限的缺點。它是當今數字系統設計的主要硬件平臺,主要特點是完全由用戶通過軟件進行配置和編程,從而完成某種特定的功能,且可反復擦寫。在修改和升級時,不需要額外改變 PCB 電路板,只是在計算機上修改和更新程序,使硬件設計工作成為軟件開發工作,縮短系統設計的周期,提高實現的靈活性并降低成本。
FPGA 的特點:加電時,FPGA 芯片將 EPROM 中的數據讀入片內編程 RAM 中,配置完成后,FPGA 進入工作狀態。掉電后,FPGA 恢復成白片,內部邏輯關系消失,因此,FPGA 能夠反復使用。
理論上,FPGA 允許無限次的編程。
FPGA 的編程無須專用的 FPGA 編程器,只需用通用的 EPROM、PROM 編程器即可。FPGA內部有豐富的觸發器和 I/O 引腳,能夠快速成品,不需要用戶介入芯片的布局布線和工藝問題,而且可以隨時改變邏輯功能,使用靈活。
2. ASIC
ASIC 是應特定用戶要求和特定電子系統的需要而設計、制造的集成電路。用一句話總結就是市場上買不到的芯片。蘋果的 A 系列處理器就是典型的 ASIC。
ASIC 是定制的,具體分為全定制和半定制。
ASIC 的特點:面向特定用戶的需求,量身定制,執行速度較快。ASIC 在批量生產時與通用集成電路相比具有體積小、功耗低、可靠性高、性能高、保密性強、成本低等優點。ASIC 需要較長的開發周期,風險較大,一旦有問題,就會導致成片全部作廢,所以小公司已經玩不起了。
近年來人工智能受到的關注越來越多,許多公司正在積極開發能實現移動端人工智能的硬件,尤其是能夠結合未來的物聯網應用。移動端人工智能的實現方法有兩大流派:FPGA 流派和 ASIC流派。FPGA 流派的代表有 Xilinx 主推的 Zynq 平臺,而 ASIC 流派的代表有 Movidius。下面來分析 FPGA 與 ASIC 的具體區別在哪里。
3. FPGA 和 ASIC 的區別
(1)設計流程
FPGA:完整的 FPGA 設計流程包括功能描述、電路設計與輸入、功能仿真、綜合優化、綜合后仿真、實現與布局布線、時序仿真、板級仿真與驗證、調試與加載配置。
ASIC:ASIC 的設計流程(數字芯片)包括功能描述、模塊劃分、模塊編碼輸入、模塊級仿真驗證、系統集成和系統仿真驗證、綜合、STA(靜態時序分析)、形式驗證。
從設計成本來考慮:小批量時,FPGA 占優;大批量時,ASIC 占優。
FPGA 本身就是一個芯片,只是我們可以通過編程的方式修改內部邏輯連接和配置實現自己想要的功能。實現 ASIC 就如從一張白紙開始,必須得有代碼,之后綜合,然后布局、布線,最后得到 GDSII(一種時序提供格式)后去流片。
(2)速度
相同的工藝和設計,在 FPGA 上的速度應該比 ASIC 慢。因為 FPGA 內部基于通用的結構,也就是 LUT(Look Up Table),可以實現加法器、組合邏輯等。而 ASIC,一般加法器就是加法器,比較器就是比較器,FPGA 結構上的通用性必然導致冗余。另外,FPGA 的基本單元是 LUT(LUT 組成 Slice,Slice 組成 CLB,這是 Xilinx 的結構),為此,大的設計假如一個 LUT 實現不了,就得用兩個 LUT,一個 Slice 實現不了,就要用 CLB,不同結構處于特定的位置,信號之間的互聯導致的 wire delay 是不可忽略的一部分。而對于 ASIC 來說沒有結構上的限制,而且對于特定的線路布局來說可以在空間上靠得很近,相對來說 wire delay 和 cell delay 都應該比FPGA 小。當然,LUT 中也有 DFF,作為高速的設計,一般都會在一個簡單的組合邏輯操作之 后打一拍,再做下一步的處理。
(3)體積
如果結構完全相同,那么 FPGA 會被 ASIC 遠遠踢飛。FPGA 要規模大得多才能實現 ASIC相同的功能,主頻還只有幾分之一。
(4)功耗
在相同工藝條件下,FPGA 的功耗要大于 ASIC。尤其是基于占用大量硅面積的、每個單元6 個晶體管的靜態存儲器(SRAM)的查尋表(LUT)和配置元件技術的 FPGA,其功耗要比對等的 ASIC 大得多。
(5)成本
FPGA 貴在單片,開發工具費用和硬件損耗風險基本不存在。ASIC 貴在流片的費用和開發工具。NRE(Non-Recurring Engineering,一次性工程)費用隨著工藝的提高變得相當貴,除非芯片一次成功后即可量產,否則單片費用將奇貴無比!
(6)其他方面
ASIC 用于大型項目,而對于需要快速投放市場且支持遠程升級的小型項目,FPGA 則更為適合。FPGA 技術的主要優勢仍是產品投放市場的時間較短。
ASIC 的優勢在于加電后可立即運行,就單位邏輯大小而言,封裝選擇更多,還可以包括某些模擬邏輯。與此相對比,FPGA 加載配置進入存儲器需要時間,因此不能立即工作。此外,FPGA的封裝也較復雜。
FPGA 內部還包括接口 I/O。I/O 分為普通 I/O 和高速 I/O。高速 I/O 支持高速的 SERDES 等,用于實現 XAUI、PCI-e 等高速接口,這些接口動輒幾 Gbps。此外,種類多種多樣的硬核 IP 也是各 FPGA 廠商差異化競爭的利器,例如 POWERPC、ARM 等硬核 IP,從而構成 CPU+FPGA于一體的集可編程性和可重構的處理平臺。
(7)兩者的定位
FPGA 和 ASIC 產品的使用要根據產品的定位和設計需要來選擇。ASIC 產品適用于設計規模特別大(如 CPU、DSP 或多層交換芯片等)或者應用于技術非常成熟且利潤率非常低的產品(如家用電器和其他消費類電器)以及大量應用的通用器件(如 RAM、PHY 等)。FPGA 產品適用于設計規模適中、產品要求快速占領市場或產品需要靈活變動的特性設計等方面的產品,如 PDH、2.5GB 以下的 SDH 設備和大部分的接口轉換芯片等。當然,具體選擇哪種產品來設計還要設計者充分考慮自己的產品定位來決定。
(8)兩者在互相融合
最明顯的莫過于處理器中開始集成 FPGA,而可編程的 ASIC 也開始興起。隨著 SoC(系統級芯片或系統)成為主流,兩者的邊界也就不那么明顯了。
4、總結
總的來說,就如同 GPU和 CPU 一樣:GPU 可以非常快速地處理圖像,但是要處理其他的東西,GPU 則有些困難。CPU 能處理很多的運算,也能處理圖像,只是慢而已。一旦你是沖著某個目的去的(ASIC),最快速的實現方式就可以。如果想要多方面兼顧(FPGA),就不可能在每一個方面都做到最好。在使用時,你必須權衡利弊。
審核編輯 :李倩
-
FPGA
+關注
關注
1629文章
21736瀏覽量
603432 -
asic
+關注
關注
34文章
1200瀏覽量
120507 -
人工智能
+關注
關注
1791文章
47279瀏覽量
238513
原文標題:FPGA與ASIC:八大維度全方位對比
文章出處:【微信號:AI_Architect,微信公眾號:智能計算芯世界】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論