EDABOSS电子论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 691|回复: 1

[转帖] FPGA是一种新的PCB吗

[复制链接]

106

主题

13

回帖

96

E币

助理工程师

Rank: 3Rank: 3

积分
225
发表于 2019-1-15 14:45:00 | 显示全部楼层 |阅读模式
自从人类第一次连接碳片和硅片形成可工作电子产品以来,PCB的协同设计">印刷电路板一直是电子行业的支柱。这些年来,随着PCB制造技术的发展,板级电子系统设计的基本理念仍然保持不变,即将许多现用器件连接起来形成电路。

最近出现的高性能、低成本可编程器件有可能从本质上改变这种模式。板级系统设计人员面临的问题在于他们的技能如何适应越来越“软”的未来。

软件革命

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

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

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

随着过去十年内微处理器已经改变了电子设计的面貌,FPGA显然代表着行业内的下一件“大事”。最近其惊人的销售增长率以及在越来越多的应用领域中的普及已经引起了每个人的注意。

由于FPGA容量大、性能高、成本相对低廉,因此先前固定的设计元素(如处理器及其外设器件和逻辑块)可以转移到一个软领域。它有如此大的吸引力是因为它有可能给硬件设计带来同等水平的自由度,即随着微处理器的广泛普及,将功能转移到软件给开发人员带来的自由度。

FPGA 可编程的特点对于开发是一个福音,它允许对硬件设计进行修改,但却没有板卡反复制造所固有的时间和成本损失。而且,在产品出厂时或生产过程中可立即对下层系统硬件进行修改。开发过程中软件方面享受的高级待遇现在可以延伸到硬件中,这样,产品的可配置智能不仅属于软件,而且存在于FPGA中实现的软连接电路。

问题在于,如果设计人员没有当前FPGA设计方法所需要的专业技能,如何利用这种新的模式。或者更直白地说,怎样防止被关闭在电子设计模式转变的大门之外?

新成员加入FPGA俱乐部

到目前为止,FPGA设计基本上由HDL专家拥有并操作。传统的FPGA设计技术从定义器件功能的角度发展起来。FPGA开发人员在寄存器传输级(RTL) 使用Verilog和VHDL等硬件描述语言定义FPGA的逻辑功能。由于FPGA基板面在过去相对来说比较昂贵,所以焦点集中在从既定可编程器件中抽象 n级优化。实际上可编程器件以前被视为板级大系统中的一个高价值器件。

随着大容量可编程器件价格的降低,这些器件可能会被用作完整的系统平台,从而大大地改变了人们的上述看法。对器件RTL逻辑功能进行定义,需要在更高抽象层次上开发FPGA功能。焦点集中于系统级设计使得主流系统工程师乐于加入FPGA俱乐部,而他们未必是HDL或FPGA设计专家。

回到未来

从器件角度来看,此阶段的目的是使FPGA作为系统开发平台得到大规模采用。但是当前依靠HDL方法限制了大量可以在此领域轻松工作的工程师。特别是从工具的角度来看,需要的是可以提供高层次抽象的FPGA设计方法,但可以为大多数正在从事系统设计的工程师所用。

在四处寻找方法之际,值得重新审视当今行业的支柱?D?D板级设计技术。板级嵌入式系统工程师按惯例创建有效地包含几百万基本门的设计。但是他们不需要处理寄存器级或门级设计的复杂性。系统复杂性包含在用于构建电路的器件中。设计人员仅使用这些大型现用器件,并在系统开发过程中将其当作“黑匣子”处理。

虽然大型现成的IP器件可以用于FPGA,但IP块、器件主要为HDL源文件。FPGA设计人员必须在目标源代码中用具体例子说明IP,这通常要求掌握逻辑块的装配方式。一旦包含于电路说明中,整个系统(包括大型IP块)必须针对目标器件加以综合。

当前FPGA IP的分配方法倾向于增加而不是减少FPGA设计流程的复杂性,距现用阶段还很遥远。

成功的器件

显然,要使FPGA中系统级设计具有高效率且为主流工程师所用,必须对为FPGA实现而交付的IP加以精简,使之可以“实用化”。而且,使用此IP的设计环境必须具有设计人员在板级系统中所享有的相同灵活性和高度抽象性。

Altium 有限公司是电子产品开发解决方案的主要供应商,它已通过最新发布的Altium Designer系统迎接这一挑战。Altium Designer寻求结合板级和FPGA级系统设计的数字系统一体化开发方案,使板级设计人员可以使用构建板卡实现系统的工具和技能创建FPGA系统。

Altium公司的方案是将构建软系统所需的功能打包于大型软器件中(例如微处理器和外设器件)并为设计人员提供使用熟悉的原理图方案组装器件的环境。然后设计可以自动实现于目标FPGA器件中。

带有预综合模型的基于FPGA的器件以原理图符号形式供应。各个器件为系列目标FPGA进行综合。在设计过程中,选中目标器件的正确模型自动加以抽象,并随原理图定义的连接信息发送到FPGA综合引擎中,作为“黑匣子”处理。

结果是用于FPGA实现的系统可在Altium Designer中以创建板卡实现系统的相同方式创建?D?DFPGA器件从库中取出、放到原理图上并连接在一起,形成系统硬件。事实上,Altium公司的经典板级设计系统Protel实际上是Altium Designer的一种许可证选项,其输入环境已得到增强,包含FPGA开发功能。

测试时间

与输入系统同样重要的是在开发过程中测试并调试系统的能力。传统的FPGA设计流程严重依靠HDL级仿真解决潜在定时和功能问题。这是因为组成电路的功能块例示为源代码,整个系统必须为实现加以综合,即使在先前测试的代码块中,这也可能引起问题。系统越大越复杂,仿真流程越困难,花费的时间越多。事实上,在许多FPGA应用软件中,仿真花费的时间可能与初级设计流程一样多。

板级仿真在电路硬件验证的实际测试方面发挥着支持作用。因为用于构建电路的器件是在假定符合制造商的规格说明的条件下进行工作的,所以不需要验证器件本身的性能。

使用“拿来即用的”预先综合器件将简化由FPGA输入流程所引起的如何测试实现于FPGA组织中的系统的问题。与构建于板卡上的电路不同,此处没有访问FPGA中的器件间信号的明显方法。

一个令人兴奋的可能性是使用FPGA本身的部分可编程组织构建测试功能,并将其连接于系统电路的相关部分。事实上,将测试仪器构建于可编程器件中是输入流程的组成部分。

Altium Designer系统以“虚拟仪器”库的形式提供上述功能,虚拟仪器包括例如逻辑分析器、频率计数器/发生器和通用I/O块等器件。与系统中其它FPGA 器件一样,这些仪器为预先综合模块,可以融入原理图级的设计中。一旦对设计进行处理,仪器的硬件部分即被下载到目标FPGA中。

与仪器的通信是通过基于JTAG的串行口协议。所有虚拟仪器的JTAG接口链接在一起,并利用目标FPGA的四根管脚扩展出第二个JTAG接口。Altium Designer于是提供在FPGA中设置和阅读信号的软前面板。这第二个JTAG链也用于为系统中的FPGA处理器提供调试功能。

将这些虚拟仪器与符合条件的FPGA开发板结合使用,就可实现交互式系统测试与调试,并提供“纳米”级面板环境,促进系统开发和验证,而不需要HDL仿真。

满足软要求

高容量、低成本FPGA平台在灵活性和缩短设计周期方面与生俱有的优势不容忽视,这种优势使其成为主流数字系统设计的最佳工具。无处不在的摩尔定律将见证这些器件的容量和性能的升级,同时进一步降低器件成本。从开发角度来看,这将导致关注焦点的重大改变,即器件优化不再是最关键因素。设计效率成为主要推动力。

FPGA在广阔的电子细分市场中被全面应用是不可避免的。打开“软”设计模式的潜能的关键在于使基于FPGA的系统开发面向当前的板级主流系统工程师。板级工程师具有使用包含百万个晶体管的“黑匣子”离散器件创建产品的技能。因此,仅仅为了利用新硬件如FPGA,他们何必掌握一种全新的语言?

在1980年,存储器成本下降,使用C代码编辑微控制器应用程序成为实际,从而将设计人员从熟练掌握特定机器语言和手动优化代码的需要中解放出来。这为主流工程师打开了嵌入式设计的大门。

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

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


积分规则
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|EDABOSS电子论坛

GMT+8, 2024-4-20 15:41 , Processed in 0.038609 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表