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

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

3天内不再提示

DSoC为C/C++开发团队提供帮助

Xilinx赛灵思官微 来源:djl 作者:赛灵思 2019-07-25 10:52 次阅读

我跟我同事说,“ 两种语言阻碍了嵌入式系统开发人员和软件工程师借助Zynq SOC来提升系统性能。”那就是“Verilog” 和 “VHDL”

正如期待那样,这已经得到了解决—因为SDSoC开发环境真的可以实现。

设计师不用学习更多新的工具来提升性能,或者选择越来越快的处理器来代替现有芯片。使用Zynq SoC 和Zynq UltraScale+ MPSoC可以提升嵌入式系统性能一至二个数量级,并且可以减少BOM成本,使用可编程逻辑的特别系统分区,独立的软件和硬件开发流程。

现在,赛灵思推出SDSoC开发环境,它是为使用C/C++设计团队特别设定的。基于Eclipse的SDSoC开发环境采用了业界首个“全系统优化的编译器”来自动转换C/C++为:

在Zynq器件中ARM处理器操作系统调用的面相对象的语言

片上逻辑上的硬件加速度器

用于ARM处理器和可编程逻辑之间交互数据的IP核

用于测试和分析性能的语言

SDSoC的工作流程如下:

DSoC为C/C++开发团队提供帮助

整个流程很像纯软件的嵌入式设计,但是它更快,这得益于可编程逻辑上的硬件加速器。

SDSoC开发环境利用片上逻辑资源创建软件可用的硬件加速器,该片上资源是基于程序编译指示,编程分析,计划,硬件连接模式的连接。SDSoC使用特定的板级支持包(BSP)来创建

可编程逻辑部分

针对性的软件加速功能

IP和经过优化的库

自动生成的系统连接

然后全系统优化的编译器自动将系统编译为一个完整的软件或者硬件系统。同时也会生成可编程逻辑比特流文件和用于ARM的ELF文件。

在此,尽管你没有在上述流程上看到Verilog 或VHDL,这并不意味着赛灵思砍掉对HDL语言的支持。SDSoC开发环境会封装和自动生成HDL、综合、布局布线就像C/C++编译器封装和自动完成代码优化和转化为目标语言一样。

SDSoC开发环境包含许多基于Zynq的开发板的支持包,包括ZC702,ZC706,赛灵思图像处理开发板,以及第三方的安富利的Zedboard,Microzed和德致伦的ZYBO开发板。这些支持包(BSP)包含元数据使得SDSoC开发环境可以抽象化嵌入式平台以提高生产效率和加速研发周期。

SDSoC开发环境系统优化编译器使用ARM和可编程逻辑在最短的时间内来实现系统任务。SDSoC使得系统架构师和软件团队使用“万能的”C/C++来快速地实现片上资源的优化,自动生成系统连接以提高系统内部连接性能。嵌入式系统设计师可以权衡性能,数据吞吐量,延迟,同时缩短设计周期。

这可能不是你第一次碰到嵌入式自动化工具了,所以,你可能对此还是持有怀疑态度。但是,你必须知道SDSoC系统编译器是基于赛灵思高层次综合(HLS)编译技术的,且这项技术已经有超过1000个开发人员使用。就是说,已经有许多人在你之前使用了SDSoC开发环境了。

SDSoC是SDx开发环境系列的第三款产品,这些产品带来了显著的性能提升和功耗降低,应用于广泛的系统开发人员和软件工程师,例如高速网络(SDNet),数据中心应用(SDAccel),现在是嵌入式系统(SDSoC)。SDx开发环境提供非常简单,类似于ASSP的开发流程,使你可以不用变成HDL专家也可以在可编程逻辑获得性能上的提升。

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

    关注

    40

    文章

    3430

    浏览量

    128218
  • C++
    C++
    +关注

    关注

    21

    文章

    2066

    浏览量

    72899
  • 自动化工具
    +关注

    关注

    0

    文章

    6

    浏览量

    1624
收藏 人收藏

    评论

    相关推荐

    Android将允许纯C/C++开发应用

    。这只是一个技术网站啊。最近,在一个Android开发人员的Blog上证实了在NDK r5使用C/C++进行开发。(以前,Android 对C
    发表于 02-28 14:28

    【精品珍藏】CC++热门精品资料集(共110个)【转】

    C/C++一直是开发人员必学的一门语言,网上资料也非常全面,但是不可避免的就是网上的资料质量参差不齐。在这里我们广大的C++
    发表于 08-19 16:09

    如何用Eclipse开发stm32 ,C/C++

    想用C++语言开发stm32 ,看到网上很多说用Eclipse编译器,也有很多说明,我基本按照下面这两个帖子做的“搭建eclipse的STM32平台”“Eclipse Sourcery STM32
    发表于 01-08 11:27

    【杭州】诚聘C/C++开发工程师

    猎头推荐职位:诚聘C/C++开发工程师工作职责:1. 根据系统功能的需求,结合现有技术完成网络相关功能系统设计;2. 制定技术规范,并参与产品开发的设计评审与code review;3
    发表于 07-04 11:29

    【北京】诚聘C/C++开发工程师

    猎头职位:C/C++高级开发工程师 (年薪:40-70W)工作职责:1.机器学习模型训练框架的设计,实现和性能调优;2.机器学习预测模型的工程实现和性能调优。岗位要求:1.精通C++
    发表于 07-31 13:43

    AllJoyn C++代码生成器

    AllJoyn 团队非常激动地向广大开发商宣布,一款新工具已经问世——代码生成器。如果您拥有定义的 AllJoyn 服务接口规范,即可通过运行此代码生成器,您的服务端和客户端生成工作示例源代码。本
    发表于 09-19 18:11

    如何学习C++,如何学好C++

    最近,很多学员都给我发邮件问我应该如何学习C++,如何学好C++?那么作为一个从C语言小白摸爬滚打、入坑无数到成长如今的高级C++游戏
    发表于 08-20 06:27

    是否应该使用C++替代C语言进行开发工作

    前言几十年来,嵌入式软件工程师们一直在争论是否应该使用C++替代C语言进行开发工作。根据IEEE和github的市场调查显示,微控制器制造商提供的软件大部分都是由
    发表于 11-05 09:00

    C语言C++运用

    ,一般将硬件初始化的工作交给汇编,比较复杂的操作交给C语言。③C语言具有很高的运行效率。2.嵌入式开发中的地位——开发工具3.高级语言中的低级语言:面向过程VS面向对象双系统
    发表于 11-25 10:47

    是否应该使用C++替代C语言进行开发工作

    1.前言几十年来,嵌入式软件工程师们一直在争论是否应该使用C++替代C语言进行开发工作。根据2019年IEEE和github的市场调查显示,微控制器制造商提供的软件大部分都是由
    发表于 12-15 07:31

    学习C++的方法以及C++的就业方向

    学习方向:嵌入式+人工智能嵌入式是一门技术学习目标1.嵌入式开发概述;(面向对象在嵌入式开发中角色)2.嵌入式Linux C++编程;(C++概述、
    发表于 12-24 07:32

    如何选择C/C++开发方向

    C/C++开发方向如何选择,嵌入式,qt/mfc,游戏开发,后端开发【经验分享】专注于服务器后台开发
    发表于 12-24 07:10

    OpenHarmony为什么不首选C/C++作为应用开发语言?

    OpenHarmony本来就是CC++开发的,支持C/C++语言环境。应用开发为什么不首选
    发表于 06-01 11:30

    Arm C/C++编译器开发人员和参考指南

    提供帮助您使用Arm®编译器Linux版的Arm®C/C++编译器组件的信息。Arm®C/C++
    发表于 08-10 06:17

    Arm C/C++编译器22.1版开发人员和参考指南

    提供帮助您使用ARM®编译器Linux版的ARM®C/C++编译器组件的信息。 ARM®C/C++
    发表于 08-11 07:46