嵌入式开发人员为什么要使用FPGA
本帖最后由 小舍YZ 于 2017-6-16 11:05 编辑嵌入式开发人员为什么要使用FPGA???
在一个领域中,如果唯一不变的是变化,那么不需要对电子技术和设计方法的发展变化做多少回顾,您就能见证到创新是如何促使设计工程师创建出下一代的革新产品的。微处理器得到大规模应用后,可用的新技术为基于软件的革新性电子产品设计打开大门。简而言之,把设计的主要元素 — 控制“智能” — 转入到软领域后,设计工程师就可以在更短时间内创建出更好、更智能、更廉价的产品。变化意味着嵌入式软件开发人员是当今定义电子产品功能和特性的主要推动者,并且最终将把硬件生产出来。该方法的成功因素在于减少硬件复杂度和把设计的控制元素转变到可编程领域带来的开放灵活性。
今天,大容量、低成本可编程器件的到来推动了电子产品设计的发展,实现了在软领域定义系统硬件本身。诸如大容量FPGA这样的大规模器件对满足这一需求十分理想,一般可用于构建大部分系统外设逻辑功能块,包括总线接口、I/O块、甚至内存。把大量逻辑引入FPGA对硬件开发具有深远影响,为新时代的‘软’设计打开了一扇大门,这为设计提供了前所未有的灵活性,同时具有减少板级尺寸和复杂度的无穷潜力。虽然这种潜力对电子产品开发过程起到了革命性作用,但多数嵌入式软件开发人员仍像以前一样工作 — 在设计开始阶段选择分立的硬件处理器、创建物理平台,然后写软件使用该平台。人们在嵌入式系统开的‘软’硬件领域缺乏探索,其主要原因在于缺少让C程序员在可编程硬件级使用其技巧的工具。确实,当前多数FPGA设计流主要都来自芯片设计领域,需要非常专业的技巧。
1.把 软 设 计 提 升 一 个 水 平
FPGA本身是一个胶合逻辑应用,要超出这一应用需要更广阔的视野,包括充分利用可编程器件,把尽可能多的硬件引入到软领域之中。这包括引入处理器功能本身,今天,FPGA内的软处理器正像嵌入式平台一样越来越普通。根本上说,引入基于FPGA实现的软处理器会带来结构灵活性、板卡尺寸更小、更简单的优点。但深层次的应用会带来更引人注目的优点。嵌入式开发人员利用了FPGA的可编程特性获得处理器顶层的抽象级别,就打开了无限可能, — 不仅在软件中实现抽象级设计,而且也在硬件中实现抽象级设计。考虑这样一个系统:处理器通过可配置的硬件(本质上是一个硬件包)与其内存和外设连接-这就抽象了处理器的接口。简单地对FPGA重新编程就改变了硬件包,系统设计师可以轻易的改变处理器内核,甚至在硬的或软的处理器之间转换,无需修改其他系统硬件。从系统的角度来看所有处理器都是相似的的,这就简化了硬件设计流程。当然,把这延伸到应用软件领域也需要可以在处理器之间提供C级别兼容性的编译器。
这种系统的优点是不需要‘事先’对处理器做出选择。系统可能使用某种处理器开发,如果在开发阶段发现需要更高的性能,则可以再采用更快的器件。由于包裹层的原因,处理器可以是软的、硬的、甚至是FPGA内部的硬件处理器内核,而不会影像周围的硬件,因为转换层仅仅创建出连接外设的标准接口。实际上外设器件本身的连接可以相同方式抽象。
在这个方案中,FPGA成为有效的系统互连结构,可为嵌入式系统的所有部件提供通用的连接性。换言之,它是有效的标准接口‘骨干’,硬件和软件都可以轻松与处理器和外设交流。
最后,在处理器之上引入透明的包裹层会创建出基于FPGA的开发环境,提供真正的处理器独立性。软件和硬件开发速度都提高了,处理器选择可以放到设计后期进行,有效的软件/硬件协同设计成为可能。
2.软 件 和 硬 件 间 进 行 转 换
在可配置硬件中创建处理器和外设包裹层思想的扩展就是自动生成应用专用的系统硬件,在硬件中执行软件算法 — 一种‘自己的’硬件协处理器。
从C代码中直接生成硬件的思想并不是很新,有几个系统已经实现,现在是想通过类C的语言创建完整的系统硬件。在本质上,这与使用HDL(如VHDL 或Verilog)设计FPGA没有什么不同,需要软件开发人员学习和采用新的设计方法。真正对嵌入式开发人员有用的是透明的流程。设计工具必须要能够处理标准 ANSI C代码的输入,把程序员选择的功能转换为硬件。
不仅如此,系统必须要能够生成使用生成硬件所需的所有代码。
3.利 用 FPGA的 全 部 潜 力
很明显,从工具角度来说利用可编程器件(如FPGA)需要一个提高开发流程抽象级别的系统,这样设计的核心元素可通过类似的设计技术和流程轻松改变。这样的系统必须能够统一整个电子产品开发过程,在单一、一致的环境中将硬件、软件和可编程硬件开发综合在一起。
Altium Designer 引入简单、高层次的处理器实现这一目标,满足软件、FPGA和PCB要求,完全统一的产品开发环境在单一应用中把所有所需流程综合在一起。硬件和软件开发统一在平台级,快速软件/硬件共同设计成为可能。通过基于FPGA的处理器和处理器包裹内核,设计师可以定位于Altium Designer 或支持的任意第三方处理器,同时保留设计的全部功能,包括与 FPGA外设的方便连接。Altium Designer基于 Viper的编译器保证在系统支持的所有处理器结构间C级别代码的兼容性。
除了快速产品开发的潜力外, Altium Designer 的统一本质也为嵌入式开发人员带来了新的设计和功能可能性。Altium 也开发了新的统一硬件/软件编译器技术,不久Altium Designer就将支持该技术,可同时从标准C代码生成高度优化的可执行代码和并发硬件的FPGA实现 ,同时生成在运行时将二者链接起来所需的代码。实际上这意味着开发人员 可以指定从处理器卸载到硬件的C代码功能,而Altium Designer统一的软件/硬件环境使该流程迅速且透明。
这样的系统为嵌入式开发人员提供潜力,选择系统复选框后,获得把专用软件功能转移到硬件最终的性能和成本改进。这使得开发人员可以有效地在硬件和软件之间转移功能,不断在优化的应用方案上融合。值得注意的有趣现象是,使用Altium Designer这种和其他的高层功能(如嵌入式包裹内核和基于库的预同步软组件)的软件开发人员 — 可有效地使用FPGA机制内部的硬件。简言之,使用该系统的软件工程师可利用其现有技巧,轻松使用 FPGA 硬件,无需涉及目标器件底层的结构或 RTL编程。
Altium Designer统一开发环境和低成本大规模 FPGA的结合使得嵌入式开发人员可充分开发可编程器件的潜力。使用正确的开发环境后,当前FPGA带来的大型可重构设计空间提供了嵌入式设计新方法,设计师可以给电子产品开发带来革命,正如几十年前微处理器的引入给电子工业带来的革命那样。
嵌入式开发人员为什么要使用FPGA
页:
[1]