Lattice Blog

Share:

FPGA初探

An FPGA Primer, Bob O'Donnell
Posted 01/10/2020 by Bob O’Donnell

Posted in

现代企业老生常谈的一个话题就是,随着行业不断成熟,它们会更加专业化。客户需求通常也会趋向复杂,这就需要对产品进行优化满足这些特定的需要。

整个技术行业,尤其是半导体行业,都是如此。如今的科技产品比以往任何时候都要多样、复杂,而在创造这些科技产品的背后,是更加多样化的半导体计算解决方案。

过去几年里,半导体技术进步有趣的地方在于,不仅芯片数量出现爆炸式增长,支持芯片的基本架构也层出不穷。产业的发展程度已经远远超越了如今大多数技术产品中常见的CPU和微控制器作为系统大脑的设计,GPU、APU、TPU等多种类型的加速器芯片以及另一种不算常见的加速器——FPGA(现场可编程门阵列)正扮演着愈加重要的角色。

在许多情况下,这些加速器与CPU等芯片一起工作,用于加速某些对应用至关重要的任务,例如计算机视觉应用中的图像识别。多种芯片协同工作的架构通常称为异构计算。它一段时间以来都是技术行业最热门、最重要的发展之一。

尽管异构计算相对“新颖”,但是这些加速器芯片背后的许多补充架构已经存在了许久。例如,第一批FPGA是在1980年代中期设计的。自从那时起,它们就被用作许多不同类型技术产品的关键组件。FPGA的设计初衷是成为ASIC(专用集成电路)更灵活的替代品。顾名思义,ASIC是专用于特定产品的专用芯片。ASIC被设计为可以非常快速地执行某些特定的功能,甚至比CPU之类的通用计算引擎还要快,因此它们在特定应用中是个不错的选择。然而,ASIC设计起来十分困难、价格高昂,在实际应用中并非总是最佳选择。另外,最重要的是,ASIC一旦设计并生产出来,就它的功能基本不能修改,除非重新设计和构建全新的芯片。

另一方面,FPGA本身就是灵活的芯片。顾名思义,在芯片生产并在设备中运行之后,它们可以在“现场”进行编程或重新编程。 这种“能够更新”的特性非常实用,因为可以向使用FPGA的设备添加新功能(或修复现有功能中的缺陷)。例如,随着机器学习算法不断“学习”并进化,最初被编程运行该算法的FPGA可以更新,从而运行较新版本的算法。因此,虽然FPGA提供的灵活性通常要比同等ASIC代价稍高,但在许多应用中,它们也能提供更高的价值。

实际而言,可重新编程的特性也意味着公司能够让基于FPGA的产品快速上市,因为产品设计完成之后,仍然可以对其功能进行更新,而无需在构建完成之前完成所有的功能设计。

FPGA拥有的一系列逻辑块和高速接口可用于控制芯片的内部运作。从概念上来看,这类似于一堆乐高积木,可以根据需要进行重新排列和重新配置。现代FPGA设计的关键优势在于各个功能可以并行运行,从而极大加速处理特定类型的工作。这也是FPGA和微控制器的主要区别,许多微控制器只能串行运行。

正如同大规模的专业化趋势一样,FPGA本身也已开始涉足不同领域,其中一些设计针对高功耗的数据中心应用,而另一些则针对低功耗应用。无论哪种情况,它们都能提供可定制的计算能力,这已成为现代设备和服务的重要组成部分。

Bob O’Donnell是市场研究公司TECHnalysis Research的总裁兼首席分析师,该公司为技术行业和专业金融领域提供战略咨询和市场研究服务。您可以在Twitter上关注他@bobodtech

Share:

Like most websites, we use cookies and similar technologies to enhance your user experience. We also allow third parties to place cookies on our website. By continuing to use this website you consent to the use of cookies as described in our Cookie Policy.