如何为应用选择最佳的FPGA(上)
如何為應(yīng)用選擇最佳的FPGA(上)
How To Select The Best FPGA For Your Application
在項(xiàng)目規(guī)劃階段,為任何一個(gè)項(xiàng)目選擇一個(gè)FPGA部件是最關(guān)鍵的決策之一,這對(duì)項(xiàng)目有著長(zhǎng)遠(yuǎn)的影響。通常,這是一個(gè)優(yōu)化問(wèn)題,項(xiàng)目需求決定了特性和功能之間的權(quán)衡和折衷。在規(guī)劃和決策階段需要考慮大量的FPGA特性。
逐一討論FPGA的常見(jiàn)特性。
FPGA封裝
FPGA封裝是指FPGA引腳如何被帶到FPGA之外,即FPGA的封裝。FPGA封裝的PCB封裝是FPGA與PCB接觸的表面的二維渲染。就像普通的微控制器有DIP、SOIC、QFP等封裝形式一樣,FPGA也有不同的封裝。FPGA制造商提供了任何FPGA封裝的PCB封裝的詳細(xì)圖紙。可供客戶使用的FPGA封裝類型多種多樣。
FPGA封裝是以下方面的決定因素:
FPGA芯片中的I/O數(shù)
千兆收發(fā)器數(shù)量(MGT)
FPGA芯片中I/O和MGT的最大速度
PCB布線規(guī)則、指南和約束
Maximum I/Os vs packages.
有一種FPGA可供選擇,在25引腳的WLCSP封裝中有20個(gè)I/O,而2892個(gè)引腳的BGA封裝則有大約800個(gè)I/O。許多應(yīng)用程序需要盡可能多的I/O。這些應(yīng)用可以簡(jiǎn)單到驅(qū)動(dòng)大量的發(fā)光二極管,復(fù)雜到控制數(shù)百臺(tái)用于機(jī)器人或工業(yè)應(yīng)用的電機(jī)。所需的I/o數(shù)量由項(xiàng)目決定,這反過(guò)來(lái)又縮小了包選項(xiàng)的范圍。
下一個(gè)重要的考慮因素是PCB布局約束。該項(xiàng)目是針對(duì)智能手機(jī)等真正緊湊的終端用戶設(shè)備,還是針對(duì)堅(jiān)固耐用的工業(yè)和軍事設(shè)備?在第一種情況下,封裝應(yīng)該盡可能小,引腳之間的間距非常小。而在后一種情況下,可以放寬設(shè)計(jì)限制,以適應(yīng)具有更大球間距的非常大的FPGA。封裝決策隨后會(huì)影響到項(xiàng)目的許多方面,如機(jī)械尺寸、PCB層堆疊、PCB布線、制造限制、千兆位收發(fā)器(MGT)速度限制等。對(duì)于業(yè)余愛(ài)好者來(lái)說(shuō),BGA和WLCSP類型的封裝可能比較困難,而QFP封裝FPGA可能是更好的選擇。擁有先進(jìn)PCB組裝機(jī)的公司肯定更喜歡BGAs。在BGA這一類中,有一些封裝如Wire-Bond-BGA,與倒裝芯片BGA相比,它的MGT速度更低。
大多數(shù)FPGA制造商提供一種稱為“設(shè)備遷移”的功能。這意味著,如果您選擇任何一個(gè)帶有特定封裝的FPGA,那么在同一個(gè)封裝中可能有升級(jí)到更高端FPGA的選項(xiàng)。以下圖所示的Xilinx Artix-7 FPGA系列為例,如果您選擇FGG484封裝中的XC7A50T,那么您將擁有5個(gè)以上具有相同兼容性的Artix-7設(shè)備,您可以選擇升級(jí)到更高端的FPGA或降級(jí)到成本更低的低端FPGA,并保持硬件設(shè)計(jì)不變。此功能在成本和最佳FPGA利用率方面提供了移動(dòng)性和靈活性。
Table: Device migration and footprint compatibility between Artix-7 FPGAs.
FPGA資源
所需FPGA資源的最佳數(shù)量,此外,所需FPGA資源的種類取決于項(xiàng)目需求。有些項(xiàng)目可能需要大量的I/O,而有些項(xiàng)目可能只需要FPGA的DSP片。以下是主要的FPGA資源:
-
Logic resources (LUTs, Flip-Flop, etc)
-
Memory resources (Distributed RAM, Block RAM, etc)
-
Clock resources (PLL, MMCM, etc)
-
I/Os (Single-ended and differential)
-
DSP slices
-
Hard-blocks such as ARM cores, PCIe, 100G Ethernet, Interlaken, etc
-
MGT Transceivers
關(guān)于FPGA封裝的部分對(duì)作為封裝一部分的I/o和MGT收發(fā)器進(jìn)行了一些說(shuō)明,因?yàn)樗鼈儚?qiáng)烈地決定了FPGA封裝和管腳數(shù)。在Xilinx行話中,mgt根據(jù)其最大傳輸速率由以下一個(gè)可能的名稱來(lái)表示:GTP、GTX、GTH、GTM、GTY和GTZ。這些都是千兆位收發(fā)器,但它們的速度能力各不相同。DisplayPort通常只需要四個(gè)收發(fā)器,但PCI Express可能需要多達(dá)16個(gè)收發(fā)器。此數(shù)字取決于目標(biāo)應(yīng)用程序。
不建議將邏輯、內(nèi)存或時(shí)鐘資源與設(shè)計(jì)要求幾乎相同的FPGA列入短名單。一旦FPGA開(kāi)始飽和,Place&Route工具就開(kāi)始掙扎,很難實(shí)現(xiàn)時(shí)序閉合。因此,建議預(yù)算額外的資源,可能比實(shí)際設(shè)計(jì)要求多20%到30%。
有些FPGA具有專用的硬塊用于特殊用途,如內(nèi)存控制器、PCI Express硬塊和CPU核心(功率、ARM、RISC-V等)。由項(xiàng)目規(guī)劃者來(lái)決定他們是否需要任何專用的硬塊。值得注意的是,FPGA的成本會(huì)隨著FPGA資源數(shù)量的增加而增加。資源的能力也隨著較新的FPGA架構(gòu)而變化。
Styx模塊采用XilinxZYNQXC7Z020芯片,該芯片集成了硬硅ARM片上系統(tǒng)(SoC)和基于Artix-7的可編程邏輯。Zynq的SoC部分包括
雙核ARM Cortex-A9處理器
加固的外圍設(shè)備,如雙千兆以太網(wǎng)、SDIO、UART、SPI、I2C等
靜態(tài)和動(dòng)態(tài)內(nèi)存控制器以及許多其他外圍設(shè)備
以下方框圖說(shuō)明了Zynq的可編程邏輯部分和SoC(處理系統(tǒng))部分:
Telesto模塊采用Intel MAX 10 FPGA,這是一種非易失性可編程邏輯器件。MAX 10 FPGA帶有片上雙配置NOR閃存,與傳統(tǒng)FPGA相比,它允許非常快速的設(shè)備配置。
與傳統(tǒng)的FPGA不同,基于MAX 10的Telesto無(wú)需外部配置存儲(chǔ)器。這節(jié)省了PCB設(shè)計(jì)成本,而且設(shè)計(jì)不容易失敗。此外,雙配置閃存允許用戶在單個(gè)芯片上存儲(chǔ)和動(dòng)態(tài)切換兩個(gè)位流。
接口
幾乎所有與FPGA的通信要么通過(guò)可用的通用輸入輸出,要么通過(guò)專用的IOs(如收發(fā)器)進(jìn)行。例如,如果設(shè)計(jì)需要HDMI輸入/輸出,則應(yīng)考慮支持TMDS信令的FPGA。如果設(shè)計(jì)需要DisplayPort或PCI-Express等,則需要考慮使用帶有MGT收發(fā)器的FPGA。像DDR2和DDR3這樣的內(nèi)存需要專門(mén)的I/O標(biāo)準(zhǔn)和像IODELAY這樣的特性。
編程、調(diào)試和配置接口通常由JTAG和用于配置位流存儲(chǔ)的非易失性存儲(chǔ)器組成。對(duì)于遠(yuǎn)程系統(tǒng)升級(jí)要求,最好選擇具有“Multiboot”或類似功能的FPGA。例如,如果FPGA配置是由處理器控制的,則不是強(qiáng)制性的。多重啟動(dòng)意味著FPGA可以從非易失性存儲(chǔ)器中的許多映像中的一個(gè)啟動(dòng),如果它不能從升級(jí)的映像引導(dǎo),那么它可以回到“黃金”位流。
功率使用
相對(duì)而言,FPGA比ASIC芯片更耗電。功率預(yù)算對(duì)于智能手機(jī)或物聯(lián)網(wǎng)(IoT)設(shè)備等功率敏感型設(shè)計(jì)非常重要。新一代FPGA系列采用更密集的工藝節(jié)點(diǎn)(如28nm或14nm)制造,每個(gè)邏輯單元的功耗要求更低。
即使采用節(jié)能硅工藝,巨大的FPGA也對(duì)電源提出了很高的要求。僅僅FPGA內(nèi)部核心本身就可能消耗幾十安培的電流。再加上I/O、收發(fā)器、塊RAM等的電源供應(yīng),挑戰(zhàn)增加了很多。電源供應(yīng)商和FPGA供應(yīng)商為所有FPGA提供電源分析工具。我們絕對(duì)建議使用它們來(lái)規(guī)劃項(xiàng)目的電力需求。
成本
最后一個(gè)因素,盡管是一個(gè)主要因素,是成本。一個(gè)簡(jiǎn)單的規(guī)則是,任何附加功能都會(huì)增加成本。以Xilinx的Spartan-7與Artix-7 FPGA系列為例。Spartan-7系列與Artix-7非常相似,除了Spartan-7中沒(méi)有收發(fā)器,并且在類似的邏輯資源計(jì)數(shù)方面,它們比Artix-7更便宜。因此,如果您只需要一個(gè)FPGA來(lái)處理大量的I/O,那么使用帶有收發(fā)器的FPGA就沒(méi)有多大意義了,這會(huì)增加成本,特別是當(dāng)您可以用一個(gè)相同的FPGA以較低的成本獲得所需數(shù)量的I/O,但沒(méi)有收發(fā)器時(shí)。這也是錫林克斯發(fā)布Spartan-7系列的原因之一。人們抱怨說(shuō)沒(méi)有收發(fā)器他們就沒(méi)有選擇,他們不想為他們不打算使用的收發(fā)器付費(fèi)。因此,對(duì)于這一細(xì)分市場(chǎng),Spartan-7更有意義。
另一方面,更高端的“重磅”FPGA價(jià)格非常昂貴。但這些FPGA的目標(biāo)應(yīng)用領(lǐng)域是那些用戶愿意為昂貴的FPGA付費(fèi)的應(yīng)用,因?yàn)樗麄儞碛屑舛说募夹g(shù)和能力。例如,這些FPGA應(yīng)用于頂級(jí)軍用雷達(dá)、下一代無(wú)線技術(shù)、先進(jìn)的數(shù)字信號(hào)處理、數(shù)據(jù)中心加速等。對(duì)于這些細(xì)分市場(chǎng),成本并不是一個(gè)重大的交易破壞者。相反,他們對(duì)保持技術(shù)實(shí)力和能力的前沿感興趣,領(lǐng)先于競(jìng)爭(zhēng)對(duì)手或?qū)κ帧?/p>
總結(jié)
以上是生活随笔為你收集整理的如何为应用选择最佳的FPGA(上)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: FPGA与ASIC:它们之间的区别以及使
- 下一篇: 如何为应用选择最佳的FPGA(下)