嵌入式“软”硬领域缺乏探索,使用 FPGA 有何潜力?

2019-08-19 14:10:51 来源:电子发烧友网
标签:
5G   嵌入式   FPGA

在一个领域中,如果唯一不变的是变化,那么不需要对电子技术 和设计方法的发展变化做多少回顾,就能见证到变化是如何使设计工程师能够创建出下一代创新产品。微处理器得到大规模应用后,价廉物美的新技术为基于软件的革新性电子产品设计打开了大门,这就是一个很好的例子。简言之,把设计的主要元素——在这儿是控制“智能”——转入到软领域后,设计工程师就可以在更短时间内创建出更好、更智能、更廉价的产品。

 

这个变化意味着嵌入式软件开发人员是当今定义电子产品功能和特性的主要推动者,并且最终将把硬件生产出来。该方法的成功因素在于减少硬件复杂度和把设计的控制元素转变到可编程领域带来的开放灵活性。
    

今天,大容量、低成本可编程器件的到来给电子产品设计的发展带来了同样的希望,因为在软领域定义系统硬件本身已经成为可能。诸如大容量这样的大规模器件对满足这一需求十分理想。这些一般可用于构建系统外设逻辑功能块的大件部分,包括总线接口、I/O块、甚至内存。把大量逻辑引入领域对硬件开发具有深远影响,并为‘软’设计的新时代打开了一扇大门,这为设计提供了前所未有的灵活性,同时具有减少板级尺寸和复杂性的无穷潜力。
    

虽然它具有对电子产品开发过程起到革命性作用的潜力,但多数嵌入式软件开发人员仍像以前一样工作——在设计流程的开始阶段选择分立的硬件处理器、创建物理平台,然后写软件使用该平台。人们在嵌入式系统开发的“软”硬件领域缺乏探索,主要原因在于缺少让C程序员在可编程硬件级发挥技巧的工具。确实,当前多数设计流主要都来自芯片设计领域,需要非常专业的技巧。
    

把软设计提升一个水平

要超越FPGA胶合逻辑应用需要更广阔的视野,包括充分利用可编程器件,把尽可能多的硬件引入到软领域中。这包括引入处理器功能本身,今天,FPGA内的软处理器正越来越多地转变成嵌入式平台。从根本上说,改用带FPGA的软处理器会带来结构灵活性、板卡尺寸更小、更简单的优点。但深层次的应用会带来更吸引人的优点。
    

当利用了FPGA的可编程特性获得处理器顶层的抽象层时,就为嵌入式开发人员打开了无限可能,——不仅在软件中实现抽象级设计,而且在硬件中也实现了。试想这样一个系统:处理器通过可配置硬件(本质上是一个硬件包裹)与其内存和外设连接——这就抽象了处理器的接口。简单地对FPGA重新编程就改变了硬件包裹,系统设计师可以轻易地改变处理器内核,甚至在硬的或软的处理器之间转换,无需修改其他系统硬件。从系统的角度来看,所有处理器都是相似的,这就简化了硬件设计流程。当然,把这延伸到应用软件领域也需要可以在处理器之间提供C级别兼容性的编译器。
    

这种系统的优点是不需要“事先”对处理器做出选择。系统可能是使用某种处理器开发的,但是开发阶段发现需要更高的性能,又采用了更快的器件。由于包裹层的原因,处理器可以是软的、硬的、甚至是FPGA内部的硬件处理器内核,而不会影响周围的硬件,因为转换层仅仅创建出连接外设的标准接口。实际上外设器件本身的连接可以相同方式抽象。在这个方案中,FPGA为嵌入式系统的所有部件提供通用的连接性,而有效地成为系统互连结构。换言之,它有效地成为标准接口“骨干”,硬件和软件都可以轻松与处理器和外设交流。
    

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

软件和硬件间进行转换

在可配置硬件中创建处理器和外设包裹层的想法的扩展就是自动生成应用专用的系统硬件,在硬件中执行软件算法——一种‘自己的’硬件协处理器。
    

从C代码中直接生成硬件的想法并不新鲜,有几个系统已经实现,到现在为止的想法是希望通过C类语言创建完整的系统硬件。在本质上,这与使用HDL(如VHDL 或Verilog)设计FPGA没有什么不同,需要软件开发人员学习和采用新的设计方法。真正对嵌入式开发人员有用的是使流程透明。设计工具必须要能够处理标准 ANSI C代码的输入,把程序员选择的功能转换为硬件。不仅如此,系统必须要能够生成使用生成硬件所需的所有代码。嵌入式程序员以这种方式把专用算法从处理器卸载到专用硬件上,无需了解底层硬件的任何设计细节。
    

利用FPGA的全部潜力    

很明显,从工具角度来说充分利用可编程器件(如FPGA)带来的机会需要一个提高开发流程抽象级别的系统,这样设计的核心元素可通过类似的设计技术和流程轻松改变。这样的系统必须能够统一整个电子产品开发过程,在单一、一致的环境中将硬件、软件和可编程硬件开发综合在一起。
     

Altium Designer 引入简单、高层次的处理器实现这一目标,满足软件、FPGA和 PCB要求,一体化的产品开发环境在单一应用中把所有需要的流程综合在一起(图1)。硬件和软件开发统一在平台级 ,使快速软件/硬件协同设计成为可能。通过基于 FPGA的处理器和处理器包裹内核,设计师可以定位于Altium Designer 或任意受支持的第三方处理器,同时保留设计的全部功能,包括与 FPGA外设的方便连接。Altium Designer基于 Viper的编译器保证在系统支持的所有处理器结构间C级别代码的兼容性。

 

为什么嵌入式工程师要用FPGA?理由不仅仅只有这个,5G时代FPGA人才需求、薪资等原因,正是因为这样,发烧友学院联合MYMINIEYE、高云半导体承办了FPGA新手入门培训班,由高云半导体与MYMINIEYE资深工程师团队主讲,并提供一套开发板供实验。

 
关注与非网微信 ( ee-focus )
限量版产业观察、行业动态、技术大餐每日推荐
享受快时代的精品慢阅读
 

 

继续阅读
国产5G手机卖火了,高通芯片+炫酷设计,用户疯狂晒图

北京时间9月11日凌晨,苹果正式发布三款iPhone新机,引起了广泛的关注与讨论,苹果新品发布会因而也被戏称为国内科技爱好者熬夜守候的“科技春晚”。

罗德与施瓦茨使用R&S®CMX500完成5G NR协议一致性测试验证

罗德与施瓦茨公司使用新的R&S®CMX500无线电通信测试仪进行了5G NR协议一致性测试。全球认证论坛GCF在不同的FR1和LTE频段组合中接受了由3GPP定义的这41个测试案例。

发布时间撞车,iPhone 11 和 华为 Mate30 区别对比

苹果发布会已经正式结束了,虽然今年没有“稳了”的梗出现,不过华为与苹果的暗自较劲还是大有看头的。尤其是当我们把注意力转向产品之上时,你就会发现一些比较有趣的事情。现在有最新消息,随着发布时间的临近,近日推特爆料达人Teme曝光了华为Mate 30 Pro的详细配置。

库克:5G 市场无论是基础架构或者芯片还并未成熟

苹果公司CEO库克在苹果秋季新品发布会之后接受媒体采访,首次谈到了新iPhone不支持5G的理由,他认为目前来说5G还是有一点超前。我们研究了市场发现,整个市场里面不管是基础架构了或者是芯片都还没有足够成熟,还不足以推出一个高质量的产品。

华为 5G 构想:全球统一标准

与非网9月12日讯,在9月10日的国际电信联盟2019年世界电信展上,华为公司发布《5G应用立场白皮书》。

更多资讯
兼容性差、无法跑ARM 64位程序成 Windows on ARM 的致命缺陷?

在IFA上,Intel以运行Dropbox、Logitech、Plantronics等程序的兼容性问题,和无法顺利跑ARM64游戏为例,来梦里抨击Windows on ARM设备。

谷歌又涉嫌垄断?美国 50 名总检察官正在调查

与非网 9 月 10 日讯,谷歌最近又摊上事了,美国的50名总检察官正在参与对谷歌涉嫌从事反垄断行为的调查。

Microchip大中华区技术精英年会2019报名注册现已开放

Microchip Technology Inc.(美国微芯科技公司)今日宣布,2019年大中华区技术精英年会现已开始接受报名。技术精英年会是Microchip为嵌入式控制工程师举办的技术培训盛宴。

IEE2019第八届嵌入式系统展将于12月19-21日在深圳举办

首先是平头哥正式发布RISC-V处理器玄铁910、并开放IP Core。仅仅半个月后,华为也推出基于微内核的全场景分布式操作系统 -- Harmony OS鸿蒙。

8421编码器、4线-2线编码器、优先编码器等,这些编码器的原理你都懂吗?
8421编码器、4线-2线编码器、优先编码器等,这些编码器的原理你都懂吗?

在数字系统里,常常需要将某一信息(输入)变换为某一特定的代码(输出)。把二进制码按一定的规律编排,例如8421码、格雷码等,使每组代码具有一特定的含义(代表某个数字或控制信号)称为编码。