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