将FPGA熔入嵌入式系统设计

时间:2022-06-22 01:57:41

将FPGA熔入嵌入式系统设计

电子行业正在发生根本性变革。随着越来越多的功能从分立器件转向可编程领域,不同设计流程也在融合。物理平台设计、可编程器件中的功能实现及设计中软件元素的开发都不再是独立的流程。

现在有效的电子产品开发要求板卡设计、可编程逻辑设计和软件开发进行融合,需要把监控上述领域的设计管理流程集成进来。为了保持竞争力,公司需要的产品应当能超越松散的集成管理,提供真正统一的设计流以改进设计创新,充分利用当前的器件技术,加速设计流程,更快地把更加智能的产品推向市场。

软件的革命

近年行业中最大的变化是低成本微处理器的运用。微处理器最初用于实现计算器,然后用于个人电脑。由于具有动态重新配置特点,它们取代了许多硬连接数字系统电路,将真实的“嵌入人工智能”带入先前“笨拙”的器件中。

微处理器成功的关键不在于器件本身,而在于它让工程师们将重要的设计难题从硬连接环境转换为“软”领域的能力。板级硬件平台设计继续使用熟悉的“硬连接、现用器件”模式,但是平台中的产品特性或智能的开发可以为“软件”。使用这种基于平台的方法,制造相同物理硬件的风险大大降低了,因为构建硬件后还可以修改其特性。

微处理器最初作为一种高效的可升级工具,现在最终改写了电子器件的规则。它不再满足于价格便宜、性能可靠、工作效率高,现在的电子器件需要“智能”。

将软设计提升一个水平

FPGA本身是一个胶合逻辑应用,要超出这一应用需要更广阔的视野,包括充分利用可编程器件,把尽可能多的硬件引入到软领域之中。这包括引入处理器功能本身,目前FPGA内的软处理器越来越普通。

根本上说,引入基于FPGA实现的软处理器结构灵活、板卡尺寸更小、更简单。但深层次的应用会带来更引人注目的优点。嵌入式开发人员利用了FPGA的可编程特性获得处理器顶层的抽象级别。不仅能在软件中实现抽象级设计,而且也在硬件中实现抽象级设计。

考虑这样一个系统:处理器通过可配置的硬件(本质上是一个硬件包)与其内存和外设连接。这就抽象了处理器的接口。简单地对FPGA重新编程就改变了硬件包,系统设计师可以轻易改变处理器内核,甚至在硬的或软的处理器间转换,无需修改其他系统硬件。从系统角度来看所有处理器都是相似的,简化了硬件设计流程。当然,把这延伸到应用软件领域也需要可以在处理器之间提供C级别兼容性的编译器。

这种系统的优点是不需要“事先”对处理器做出选择。系统可能使用某种处理器开发,如果在开发阶段发现需要更高的性能,则可再采用更快的器件。处理器可以是软的、硬的甚至是FPGA内部的硬件处理器内核,而不会影像周围的硬件。

在这个方案中,FPGA成为有效的系统互连结构,可为嵌入式系统的所有部件提供通用的连接性。

最后,在处理器之上引入透明的包裹层会创建出基于FPGA的开发环境,提供真正的处理器独立性。软件和硬件开发速度都提高了,处理器选择可放到设计后期进行,有效的软件/硬件协同设计成为可能。

传统设计方案的失败

关键一点是它导致了设计流程复杂性和相互依赖程度的增加。随着更多设计转入“软”平台,传统设计领域如硬件、软件和FPGA间的界限越来越模糊。采用不同工具独立处理这些设计元素变得越来越困难且效率低下。

在单个流程中转入到更高抽象级别可处理特定的复杂度问题。当然,最终这些单个的设计元素必须集成在一起创建一个最终产品,但每个组件的专业化程度的增加导致最终产品更难装配。这将消耗大量设计时间并最终妨碍产品创新。

在本质上,与此相承的单点式工具电子产品设计方法已是昨日黄花。产品开发团队面临保持市场竞争力的压力,因此不断寻求新途径来更快速地将更高级智能的设计推向市场,同时处理整个设计流程中不断增加的设计复杂性。

硬件设计软件化

随着最近FPGA技术的发展,分析专家认为我们正处于电子设计的转型中。FPGA刚一面世,就达到了这些器件的价格/容量曲线分水岭。它们能提供ASIC的许多好处,而无需高昂的成本和长期的开发周期。

这些器件内在的可重新编程特性大量削减了设计时间,带来了现场硬件升级的可能性。然而,要充分利用可编程硬件的潜力,工程师需要能在更广的设计流程中发挥技术优势的工具。

在对大型FPGA进行板级布线时,智能的管脚输出流程自动化要求PCB设计编辑器十分了解目标FPGA器件的物理特性和功能,及FPGA设计师施加的优先约束条件,同时也需要FPGA和PCB设计环境间的紧密联系,以便迅速重复FPGA和PCB级设计间的约束,达到优化方案,平衡FPGA内的时间需求和板卡可布线问题。

一体化的设计环境

诸如FPGA这样的可编程技术的真正潜力在于其不再区分硬件和软件。随着我们不断利用该潜力,硬件、软件和可编程硬件的设计就不断融合。从设计工具角度来看,这一融合将驱动传统设计工具边界间的自动流程需求。要成功做到这点需要的不仅是不同设计工具集表面的集成,而是要涉及到所有不同设计环境的完整统。

Altium在Altium Designer系统中体现了这一必然要求。AltiumDesigner提供单一、统一的环境,把PCB级的硬件设计、可编程逻辑设计和嵌入式软件开发集成在一起。这样工程师、设计师和开发人员就能充分利用可编程硬件的特点创造更加智能的电子产品,而不用考虑其FPGA水平如何。

统一的硬件设计框架

Altium Designer中实现了这一目标。它将硬件和软件开发统一在平台内,从而加快了软件/硬件共同设计的进程。Altium De-signer的根本需求是开发人员能方便一致地操作分立和基于FPGA的“软”硬件。这通过把传统HDL方法转为FPGA设计,并将现成易用的、基于组件的设计用于可编程器件来实现。在这种环境下,使用描述板级电路相同的方法和语言来描述FPGA内部实现的系统组件。

在开发时使用预先合成的逻辑块(元件)而不是基于HDL的源库,具有几个优点:首先,在硬件综合时把块视为“黑盒”,从而加快进程的处理;第二,与板级的分立组件的使用一样,在无需了解底层的代码结构的情况下,基于FPGA的组件块即可被使用。尽管,组件背后的原理很复杂,但设计者只需要知道基本的功能即可。

开发电子产品,提供当今市场上真正的差异化产品,其根本在于利用可编程器件,以软件和“软”硬件的形式为嵌入智能提供一个可重构的平台。这需要有一个统一硬件、软件和可编程硬件设计的系统和可重构的平台,支持软设计模式带来的开发自由。

FPGA正继续着电子产品设计的“软化”过程。可编程资源更加便宜、丰富,工程师们不需在HDL中对寄存器级电路进行编码和优化,板级设计模式可以延伸至可编程器件中实现的系统设计中。这将为当前正在从事主流电子产品开发的工程师和设计人员打开软系统设计的大门,他们可以从PCB硬连接环境中将功能移植到可轻易更新的FPGA软连接领域。

要使此流程得到主流电子产品开发工程师的应用,需要将硬领域和软领域设计加以统一的工具,并提供一种真正的一体化环境,统一硬连接平台开发与设计和平台上可编程元件嵌入式智能的集成。

使用正确的开发环境后,当前FPGA带来的大型可重构设计空间提供了嵌入式设计新方法,设计师可以给电子产品开发带来革命,正如几十年前微处理器的引入给电子工业带来的革命那样。

上一篇:基于UML的嵌入式软件开发 下一篇:嵌入式计算时代之机遇