最便宜的FPGA?[关闭]


44

FPGA有多便宜?我知道它们比具有同等性能的微处理器要贵,但是我想知道是否存在可以包含运行Linux的Microblaze软核的FPGA,而使门可以用于实现DSP功能(例如,媒体编解码器),而其价格却与,例如Cortex A8(数量约20至30美元,约100美元)。

(很抱歉,如果我的用语不是惯用语,即是错误的。请提出更正,或直接进行编辑。)


(无耻的插件)GNU无线电(USRP2)使用与一堆DSP模块捆绑在一起的AEMB。它确实很好地完成了软件定义的广播-aeste.my/node/29
sybreon 2010年

@sybreon奇怪的是,我在我的高级设计项目中使用了
USRP2-


Answers:


23

我最近参加了有关FPGA的在线会议,主题演讲为“您的下一个处理器应该是FPGA吗”。

在需要高度可并行化工作流的任何应用中,FPGA基本上都是有意义的,例如,正在使用一个示例来分析全高清图像以查找行人。

您要记住的是,每次加电时都必须初始化FPGA,我认为FPGA的Xilinx(带有片上ARM内核)是一个不错的选择,但可能很昂贵。使用片上闪存查看Actel的芯片也可能有用。

在性能方面,BDTI公司在高度并行计算方面做了基准测试,他们发现使用FPGA可获得约40倍的性能增益。有趣的是,他们将成本相近的芯片进行了比较(我相信23美元对28美元)。

以下是您可能感兴趣的链接:

袖珍处理器选择指南

FPGA会议档案(免费注册,但仅在此答案后的6个月内可用)

您无法真正比​​较基于MIPS或Mhz统计信息的基于FPGA的系统的性能。使用FPGA处理某些任务的方式与微控制器完全不同。例如,使用VHDL必须为FPGA设计固件,这类似于Assembly。抽象的寄存器传输级别(RTL)。正在生产某些环境以提供更多抽象,但是这些环境通常仍是特定于供应商的。Wikipedia概述了可用于编程FPGA代码的语言:

维基百科:FPGA编程

维基百科:数字电路设计

如果您有钱可以烧,您可以使用LabView系统来构建基于FPGA的实时测量系统。这些所需的器件价格完全不同(1500美元及以上),但通过图形编程可将FPGA设计面向更广泛的受众。

越来越多的供应商正在提供将诸如ARM芯片之类的微控制器与FPGA结合在一起的板,以提供特定的附加功能和并行处理能力。可以在此处找到此类产品的示例:EmbeddedARM:FPGA系列


23

FPGA有多便宜?据Newark称,最便宜的FPGA约为10美元(最低端的Altera Cyclone和最低端的Xilinx Spartan)。它们可能具有足够的容量来运行简单的8位CPU。

如您所料,即使是简单(即没有MMU)的32位CPU,其FPGA资源也大约是8位CPU的4倍。具有勉强足够资源来运行如此简单的32位CPU的FPGA的成本约为14美元。我的理解是,uCLinux已经移植到了其中的某些FPGA软CPU(例如NIOS II / e)上,您可能会发现uCLinux足以满足您的目的。

完整的Linux需要具有MMU的CPU(例如NIOS II / f)。具有MMU的32位CPU所需要的FPGA资源约为没有MMU的32位CPU的4倍-原因并不那么明显。

据我在 Xilinx Microblaze页面上所了解的,Microblaze软CPU仅在Xilinx FPGA上运行。

Linux已经移植到其他几个软CPU中。如果要在其他公司的FPGA上运行Linux,则可能需要查看“ FPGA的软CPU内核”中列出的Linux端口 。

这些软CPU中的几个(包括MMU)将安装在Xilinx Spartan XC3S400A上(Avnet售价17美元)。

我听说有些32位软CPU(包括MMU)很容易在20美元的FPGA芯片上设置为“双核”。那些遵循“ Jan's Razor”的处理器可能会尝试挤入同一芯片上的十几个8位CPU。


1
有开源Microblaze的实现(像aeMB - opencores.org/project,aemb)应该移植到其他(非赛灵思)的FPGA。
mrkj 2010年

(无耻的插件)众所周知,AEMB也可以在Altera FPGA中运行uC / OS-II-aeste.my/node/7
sybreon 2010年

11

通常,FPGA的成本要比硅片上实现的相同器件高得多,因为可重构性会带来很多开销。所以不,您不会找到价格为20-30美元的FPGA与具有20-30美元的ARM CPU相同功能的FPGA。现在,您可能会发现20-30美元的FPGA可以比20-30美元的ARM更快地执行特定任务,但在一般的计算任务中却无法胜任。

这就是为什么人们经常将微控制器和FPGA粘在同一块板上的原因。ARM和PPC是最常与FPGA结合使用的两种。


4
我知道我找不到在成本和性能上都胜过微芯片的FPGA,但似乎可能存在在所有芯片中都提供类似性能的同时又能超过微+ FPGA成本的FPGA。那有意义吗?
2010年

10

购买FPGA时,不要忘记考虑保存FPGA程序的闪存的成本。这很容易忘记。

作为PCB设计人员,FPGA的布局容易上百万倍,因为即使在电路板制作完成后,也可以根据需要重新布置引脚排列。布线FPGA所需的层数更少,可节省潜在成本。

对于在poo-poo FPGA与CPU性能之间的关系的其他人,我在一定程度上表示同意。实际的处理器在执行实际的处理器方面的工作要比被编程为像处理器那样工作的FPGA更快。

不过,这对于FPGA而言并不公平。CPU是“有时间限制”的;如果您想做更多的工作,则需要更多的时间或更快的处理器。FPGA通常是“区域受限”的。如果您想做更多的工作,则需要更大的FPGA。

例如,假设您制作了一个处理单声道音频信号的频谱分析仪。假设需要70%的CPU时间,而您已经达到了CPU可以运行的速度。您无法添加立体声支持,因为CPU在必须再次处理第一个通道之前还不够快,无法处理第二个通道。但是,如果您使用70%的FPGA,则只需购买更大的FPGA并插入第二个通道即可。它不需要走得更快。

现在,如果您使用有限状态机和数据路径而不是CPU将问题移植到数字设计领域,我敢打赌比索说FPGA将压垮 CPU,但代价是设计复杂性的增加。


1
还有基于闪存的FPGA(ACTEL)和一些基于SRAM的内置闪存(Xilinx Spartan3AN,LatticeXP)。
sybreon 2010年

您也可以购买更快的CPU并插入第二个通道。这不是一个很好的比较。
user253751

@immibis您所说的实际上与ajs410的观点相同:FPGA不需要更快,它需要更大。如果要使用CPU,只要处理的性质是可并行的,您可以做的是再带一个CPU。
JohanBoulé17年

7

Xilinx最近与ARM 达成协议,这将使他们能够将ARM内核置于FPGA上。不幸的是,它们仅适用于顶级Virtex器件。


3
非常有趣
2010年

2
我认为您误以为仅在Virtex器件中出现了ARM内核。新闻稿没有这么多,我认为您不能从PPC内核仅出现在V2P,V4FX和V5FXT部件中这一事实来推断出这一点。Xilinx的网站提到了针对“性能,成本和功耗”进行了优化的设备(请参阅xilinx.com/technology/roadmap/processing-platform.htm)。您会注意到,成本从来不是Virtex系列的优化向量。
mrkj 2010年

1
另外,在7系列FPGA声明(xilinx.com/technology/roadmap/7-series-fpgas.htm)中从未提及ARM ,并且PPC没有V6或V7部件。我对所有这些的看法是,它们正在从高性能部分中的嵌入式处理器转移。
mrkj 2010年

3
我想这笔交易的结果就是Zynq
Janus Troelsen

4

FPGA的价格很奇怪-与专营店商谈后,您会发现Digikey,Mouser等产品的报价可能会高出几倍。我知道最便宜的是QFP100中的莱迪思EC1,托盘数量不到3英镑。为SPI闪存增加GBP0.40左右。

就硅片成本而言,将CPU置于FPGA架构中通常不是一个好的选择,但其他因素(如CPU与FPGA之间的紧密耦合以及封装数量的减少)可能会改变使用单独CPU的最佳权衡。


2
非常好点。另请参阅Farnell员工的这篇文章[ element14.com/community/thread/2434],该文章建议Altera Cyclone IV芯片的价格低至3美元,而Farnell在其网页上针对它们的最便宜报价接近20美元。现在,显然大多数人都不会购买250,000的数量,但是大概是那些分销商,他们可能愿意以略低于566%的加价进行交易……
Jules

3

到目前为止,我最好的猜测是类似Xilinx XC3S400A,价格约为16美元,但我不确定它是否可以处理MicroBlaze。


3
快速浏览一下,微火的内核将使用XC3S400A中大约一半的逻辑单元。此外,Cortex A8的运行频率为600MHz-800MHz,而FPGA上的微火将运行于200MHz-300MHz。
davr 2010年

因此,它会慢大约3倍(假设您的系统受处理器限制),但成本却相当,同时又为其他事情留了多余的门。
2010年

1
那只是比较频率,这是比较实际处理速度的最基本方法。我没有足够的知识,但是例如,在相同的时钟速度下,ARM的速度可能是Microblaze的两倍
davr 2010年

1
是的,足够公平。我猜是第一个近似值。
2010年

3

这很大程度上取决于您的应用程序。理想的应用是由一个很小的控制部分(适合Microblaze / NIOS安装)组成,而一个计算部分则可以从定制硬件的巨大并行性中受益。在这些情况下,即使是中等大小的FPGA(Spartan或同等产品)也可以轻松胜过任何通用CPU。但这是最好的情况(尽管在许多实际应用中可以实现),如果您的应用确实具有重要的控制部分或不容易映射到硬件,则将钱花在固定硬件(例如ARM)上可能更好。



0

由于许多Altera当前的CPLD是具有内置配置存储器的FPGA,因此可以从http://www.altera.com/products/devices/cpld/max2/mx2-index.jsp获得它们。


0

首先,您要在内核上运行linux。像该线程中的其他一些建议一样,如何在ARM上运行它。MCU擅长运行OS,但浪费了FPGA资源来构建MCU。对此进行定制设计时,MCU可以容纳在较小的硅片区域,因此可以更便宜地生产。然后还有其他关于FPGA真正擅长并行处理的解释-尽管逻辑运算并不希望完全进行处理,但还是有种种解释。就像您指出的那样,功能强大的FPGA价格昂贵,而且确实耗电。因此,一个可以运行linux和DSP的低成本平台需要并行性的优势以实现快速IO等。看看XMOS并行处理器

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.