22

我对我的程序支持一个小七段显示器感到非常兴奋,但是当我向不在该领域的人展示它时,他们总是说“你能用它做什么?” 我永远无法给他们一个简洁的答案。谁能帮我吗?

4

7 回答 7

22

第一:它们不需要易失性存储器。

事实上,大型厂商(Xilinx、Altera)通常在 SRAM 中进行片上配置,因此您需要额外的 EEPROM/Flash/WhatEver(TM) 将其存储在外部。

但是还有其他一些,例如 Actel 是我想到的一个大玩家,它在他们的 FPGA 上具有非易失性配置存储(顺便说一句。这还有其他优点,因为 SRAM 通常不是很耐辐射,而且你必须需要特殊的进入轨道时的测量值)。

有两件大事可以证明 FPGAS 的合理性:

  1. 价格——它们并不便宜。但有时你不能用软件做某事,你需要硬件来做。而且,当您的需求量低于某个点时(例如,因为它只是小系列或原型),FPGA 比 ASIC 便宜得多。此外,在开发 ASIC 时,这允许 - 在达到最终状态之前 - 更长的周转时间。

  2. 重新配置 - 您可以重新配置您的 FPGA。这是处理器或 ASIC 无法做到的。您可以在某些应用程序中使用它:例如,当您需要能够修复设计中的某些内容,但您无法实际使用设备时。示例:火星轨道器/漫游者使用 Xilinx FPGA。当有人发现有错误(或想要切换到不同的编码来传输数据或其他)时,您无法更换飞船,因为它无法到达。但是使用 FPGA,您可以重新配置并应用您的更改。另一种情况是,您可以拥有一个能够执行不同加速的单芯片,具体取决于场景。想象一下智能手机,当打电话时,FPGA 可以配置为进行音频编码/解码,当冲浪时,它可以作为压缩引擎工作,播放视频时,它可以配置为 h264 解码器/加速器。您可以做的另一件事是您可以将您的硬件与您的问题实例相匹配。例如,思科在其硬件中使用了许多 FPGA。您需要硬件以所需的速度执行交换/路由/数据包检查,并且您可以从实际设置匹配引擎直接生成到硬件中。

可能很快就会出现的另一件事(我知道一些汽车制造商考虑过)是针对包含许多不同电子设备并拥有庞大供应链的设备。它或多或少是价格和重新配置的结合。拥有 10 块 ASIC 比拥有 10 块 FPGA 更昂贵——两者都执行相同的任务,但拥有 10 块 FPGA 并且只有一个供应商并且只需要提供一种类型的芯片来提供服务和供应比拥有 10 个供应商必须持有和管理 10 种不同的供应和服务芯片。

于 2011-10-01T16:28:48.963 回答
7

真实的故事。

它们允许您修复定制数据采集板中的设计缺陷,以进行价值数百万美元的粒子物理实验,这些缺陷只有您安装好所有东西并进行集成工作和检测器表征后才会变得明显。

于 2011-09-18T01:50:04.107 回答
5

您可以进化电路,这有点老派的进化算法,但从一组随机个体开始,您可以选择在适应度函数中得分高于其他电路的电路,并繁殖它们以无限地创建新的种群。阅读有关进化硬件的信息,认为这本书涵盖了 FPGA 的http://www.amazon.co.uk/Introduction-Evolvable-Hardware-Self-Adaptive-Computational/dp/0471719773/ref=sr_1_1?ie=UTF8&qid=1316308403&sr=8 -1

例如,假设您想要一个 DSP 电路,您有一个输入信号和一个所需的输出信号,从一个随机群体开始,您可能只选择最适合的(坏的)或者可能是适合和奇怪的混合来创建下一代。几代之后,您可以打开盖子并发现低级进化已经发生,您的电路甚至可能超出您最初的预期!

还阅读遗传编程领域指南,它在网络上的某个地方是免费的。

于 2011-09-18T01:22:25.490 回答
3

我喜欢这篇文章: http: //www.hpcwire.com/hpcwire/2011-07-13/jp_morgan_buys_into_fpga_supercomputing.html

我的感觉是 FPGA 可以直接位于您的流数据中,在它进入您控制下的系统时。然后,您可以处理该数据,而无需执行 GPGPU 所需的步骤(将数据带出网络,将其通过 PCI Express 总线并一次处理一个 Gb)。

两者都有很好的理由,但我认为你是否介意缓冲数据的概念是一个很好的领头羊。

这是另一个很酷的 FPGA 应用程序:

https://ehsm.eu/m-labs.hk/m1.html

于 2011-09-18T01:52:29.613 回答
3

FPGA 还用于在开始大规模生产之前测试/研究电路设计。这发生在几个领域:图像处理、信号处理等。

编辑 - 几年后,我们现在可以看到更多实际应用,包括金融和机器赚钱:

  • 航空航天
  • 仿真
  • 汽车
  • 播送
  • 高性能计算机
  • 医疗的
  • 机器学习
  • 金融(包括加密货币)
于 2012-02-07T21:25:07.237 回答
3

软件有限制。在软件上,您以 CPU 的时钟频率运行,使您每个时钟周期只执行一条指令。在软件上,一切都是高级别的,你无法控制发生在低级的细节。您将始终受到您正在编程的操作系统或开发板的限制。这适用于流行的开发板,例如 Arduinos 和 Raspberry Pi。

在 FPGA 硬件中,您可以精确地编程和控制每个时钟周期之间发生的事情,为您的计算提供电子级别的速度(注意:电子速度决定了硬件之间电信号传输的速度)

现在,我们知道 FPGA 意味着硬件,电子速度,这比 CPU 意味着软件,每个时钟周期 1 条指令要好得多。

那么,当我们可以使用印刷电路板、晶体管级设计我们自己的电路板时,为什么还要使用 FPGA?

这是因为 FPGA 是可编程硬件!它的构建使您可以对电路板的连接进行编程,而不是为特定应用程序接线。这就解释了为什么 FPGA 很贵!它是一种“通用硬件”或可编程硬件。

为了争论为什么你应该选择 FPGA,尽管它们的成本很高,可编程硬件组件允许:

  1. 更长的产品周期(您可以通过简单地允许他们将更新的 HDL 代码编程到他们的 FPGA 中来更新包含您的 FPGA 的客户产品上的可编程硬件)

  2. 硬件错误的恢复。您只需让他们将更正后的程序下载到他们的 FPGA 上。(注意:你不能用特定的硬件设计来做到这一点,因为你将不得不花费数百万来收集你的产品,创造新的,并将它们运回给客户)

有关 FPGA 可以做的很酷的事情的示例,请参阅斯坦福臭名昭著的 ECE5760 课程。

http://people.ece.cornell.edu/land/courses/ece5760/FinalProjects/

希望这可以帮助!多伦多大学宋志龙

于 2015-02-23T08:29:36.830 回答
1

汽车图像处理是一个有趣的领域:

为司机提供车道保持支持(披露:我写了这个页面!):

http://www.conekt.co.uk/capabilities/50-fpga-for-ldw

通过 4 个鱼眼镜头相机提供汽车的鸟瞰图(带视频):

http://www.logicbricks.com/Solutions/Sur​​round-View-DA-System/Xylon-Test-Vehicle.aspx

于 2011-09-19T08:12:04.613 回答