0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式工程师为何要选用FPGA?

5RJg_mcuworld 来源:未知 作者:胡薇 2018-05-25 16:53 次阅读

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

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

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

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

把软件设计提升一个水平

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

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

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

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

软件和硬件间进行转换

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

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

利用FPGA的全部潜力

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

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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1629

    文章

    21729

    浏览量

    603049
  • 嵌入式工程师

    关注

    1

    文章

    37

    浏览量

    16210

原文标题:为什么嵌入式工程师要用FPGA?

文章出处:【微信号:mcuworld,微信公众号:嵌入式资讯精选】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    嵌入式工程师常用的开发工具有哪些?

    嵌入式工程师常用的开发工具有哪些? 在嵌入式系统开发的广阔领域中,嵌入式工程师们凭借着一系列强大的工具,将创意与技术完美融合,打造出高效、可
    发表于 12-20 15:29

    FPGA算法工程师、逻辑工程师、原型验证工程师有什么区别?

    ,共同进步。 欢迎加入FPGA技术微信交流群14群! 交流问题(一) Q:FPGA中的FPGA算法工程师FPGA逻辑
    发表于 09-23 18:26

    嵌入式热门领域有哪些?

    通过物联网连接各种物理设备和传感器,促使它们之间实现信息的交换和数据的共享。从智能家居到智能城市,物联网的应用不断扩展,为嵌入式系统工程师带来了广泛的就业机会和发展前景。 自动驾驶 自动驾驶技术作为
    发表于 07-16 09:23

    找STM32硬件开发兼职工程师

    上海做传感器的公司,找STM32硬件开发兼职工程师,会硬件开发,嵌入式软件开发,可项目外包。有意联系:15900460170
    发表于 06-22 19:12

    嵌入式软件工程师如何提升自己?

    嵌入式软件工程师如何提升自己? 作为一名嵌入式软件工程师,在这个充满机遇和挑战的领域里,如何提升自己显得非常重要,它决定了你未来的发展方向和成就。接下来,我们一起探讨一下。 1.奠定扎
    发表于 06-12 11:20

    嵌入式软件工程师和硬件工程师的区别?

    嵌入式软件工程师和硬件工程师的区别? 嵌入式软件工程师 嵌入式软件
    发表于 05-16 11:00

    一款适合嵌入式工程师使用的在线工具

    一款适合嵌入式工程师使用的在线工具,工具有如下功能,如下图所示: 1. 报文校验功能,如下图所示 2. UDP服务端测试工具:该UDP服务端工具可以理解为 “UDP服务端” 或者 “服务器
    发表于 04-09 22:20

    嵌入式fpga是什么意思

    嵌入式FPGA是指将FPGA技术集成到嵌入式系统中的一种解决方案。嵌入式系统是一种为特定应用而设计的计算机系统,它通常包括处理器、内存、外设
    的头像 发表于 03-15 14:29 1249次阅读

    fpga嵌入式

    FPGA(现场可编程门阵列)不是嵌入式系统,但FPGA嵌入式系统中有着重要的应用。
    的头像 发表于 03-14 17:19 2286次阅读

    fpga嵌入式的区别 嵌入式fpga开发有什么关系

    fpga嵌入式的区别 FPGA嵌入式系统在设计和应用上存在一些关键的区别,具体如下: 灵活性:FPGA具有高度的灵活性,可以根据需要重新
    的头像 发表于 03-14 17:04 6885次阅读

    fpga工程师前景如何

    FPGA工程师的前景看起来相当积极和广阔。随着5G通信、物联网、边缘计算和人工智能等技术的快速发展,FPGA工程师的需求将进一步增加。FPGA
    的头像 发表于 03-14 16:32 3152次阅读

    fpga工程师就业趋势

    FPGA工程师的就业趋势呈现出积极的态势。随着科技的发展,FPGA(现场可编程门阵列)在通信、汽车、医疗、航空航天等领域的应用越来越广泛,对FPGA
    的头像 发表于 03-14 15:47 1508次阅读

    嵌入式工程师需要掌握哪些技术?

    嵌入式工程师需要掌握哪些技术? 嵌入式系统是当今科技领域中的重要组成部分,它们存在于我们生活的方方面面,从智能手机到汽车控制系统,从家电到医疗设备。因此,对于那些想要进入嵌入式行业的
    发表于 03-04 16:38

    嵌入式人工智能的就业方向有哪些?

    的发展方向有很多,门槛高低不一样。下面给大家列举一些相应岗位所需具备的技能: 一:嵌入式Linux,C语言开发工程师,Linux软件开发工程师 LinuxC语言开发 LinuxC语言开发进阶 Linux
    发表于 02-26 10:17

    一名嵌入式工程师的涨薪经历

    下面是一位嵌入式工程师的涨薪经历,希望可以帮助到你,帮到其他的在校学生。   阶段 1 大一到大三这个阶段我与大多数学生相同:   一、学习本专业知识(电子信息类专业) 二、学习嵌入式软件开发需要
    的头像 发表于 01-05 08:39 441次阅读