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专家也可以在可编程逻辑获得性能上的提升。

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

    关注

    41

    文章

    3569

    浏览量

    129246
  • C++
    C++
    +关注

    关注

    22

    文章

    2104

    浏览量

    73502
  • 自动化工具
    +关注

    关注

    0

    文章

    8

    浏览量

    1634
收藏 人收藏

    评论

    相关推荐

    C++中的结构和类

    C++ 仍然是嵌入式开发的少数​​语言,但当项目变得太大而无法有效使用 C 时,开发人员通常会采用 C++。这些
    发表于 07-18 17:37 794次阅读

    基于OpenHarmony开发板上测试Native C++应用开发

    本文主要分享在软通动力扬帆系列“竞”OpenHarmony开发板上测试Native C++应用开发,实现eTS调用Native C++ 程序实现对给定的两个数进行加减乘除运算示例(eT
    的头像 发表于 10-08 14:37 3873次阅读

    C++那些事之高效率开发C++/C

    目前开发C++/C用的比较多的当属Vim、VS code、CLion。
    发表于 11-25 14:02 504次阅读

    C++入门教程之C++程序设计的课件资料免费下载

    本文档的主要内容详细介绍的是C++入门教程之C++程序设计的课件资料免费下载主要内容包括了:1. 认识C++2. C++的现状和发展3. C++
    发表于 12-07 08:00 33次下载
    <b class='flag-5'>C++</b>入门教程之<b class='flag-5'>C++</b>程序设计的课件资料免费下载

    C++程序设计的基础知识初步了解C++的资料免费下载

    本文档的主要内容详细介绍的是C++程序设计的基础知识初步了解C++的资料免费下载包括了:1 认识C++,2 C++的现状和发展,3 C++
    发表于 06-10 08:00 25次下载
    <b class='flag-5'>C++</b>程序设计的基础知识初步了解<b class='flag-5'>C++</b>的资料免费下载

    C语言与C++相互调用

        1CC++相互调用 在一个嵌入式系统中大部分的底层和驱动层更多的是采用C语言来进行开发,而上层应用、服务更多的采用C++等高级语言
    的头像 发表于 01-18 11:05 3287次阅读
    <b class='flag-5'>C</b>语言与<b class='flag-5'>C++</b>相互调用

    嵌入式程序开发C语言和C++究竟应该用哪个?

    在嵌入式软件程序开发中,C语言无疑是最常被使用的程序语言。不过应该明白的是,有些嵌入式硬件同时提供C语言程序编译器以及C++程序编译器,而相
    发表于 11-03 14:21 60次下载
    嵌入式程序<b class='flag-5'>开发</b>,<b class='flag-5'>C</b>语言和<b class='flag-5'>C++</b>究竟应该用哪个?

    IAR中使用C++开发语言,更加简单高效

    本文简要介绍了如何在IAR中配置C++开发环境,由于C++的封装支持,引入面向对象的开发思路可以使得用C++进行单片机获得更高的
    发表于 12-03 11:36 4次下载
    IAR中使用<b class='flag-5'>C++</b>做<b class='flag-5'>开发</b>语言,更加简单高效

    MDK中用C++开发STM32

    有些繁琐,所以就想用C++开发C++的继承 模板类可以很容易的解决这些问题。因为在单片机运行,习惯用MDK或者IAR这些软件。但是这些软件都是默认C
    发表于 12-03 13:51 7次下载
    MDK中用<b class='flag-5'>C++</b><b class='flag-5'>开发</b>STM32

    运用JNI连结OpenCV开发C++并打包成aar lib的使用教学

    本身是作影像视觉相关的工作,多数时候都使用 Python 作为开发语言,但OpenCV 本身是C++开发,学 C++ 应该有帮助
    的头像 发表于 08-15 09:24 1521次阅读

    C++学习笔记之c++的基本认识

    自这篇文章我们即将开始C++的奇幻之旅,其内容主要是读C++ Primer的总结和笔记,有兴趣可以找原版书看看,对于学习C++还是有很大帮助的。这篇文章将从一个经典的程序开始介绍
    的头像 发表于 03-17 13:57 707次阅读

    浅谈C语言与C++的前世今生

    C++开发人员将有这些问题归咎于C,而C开发人员则认为C++过于疯狂。我觉得站在
    发表于 05-26 09:27 440次阅读
    浅谈<b class='flag-5'>C</b>语言与<b class='flag-5'>C++</b>的前世今生

    C++之父新作带你勾勒现代C++地图

    为了帮助大家解决这些痛点问题,让大家领略现代C++之美,掌握其中的精髓,更好地使用C++C++之父Bjarne Stroustrup坐不住了,他亲自操刀写就了这本《
    的头像 发表于 10-30 16:35 801次阅读
    <b class='flag-5'>C++</b>之父新作带你勾勒现代<b class='flag-5'>C++</b>地图

    开箱即用!教你如何正确使用华为云CodeArts IDE for C/C++

    华为云CodeArts IDE 定位华为云开发者桌面 ,是华为云面向开发提供的一款智能化桌面集成开发环境。CodeArts IDE for C
    的头像 发表于 11-29 17:40 760次阅读
    开箱即用!教你如何正确使用华为云CodeArts IDE for <b class='flag-5'>C</b>/<b class='flag-5'>C++</b>!

    C++简史:C++是如何开始的

    MISRA C++:2023,MISRA® C++ 标准的下一个版本,来了!为了帮助您做好准备,我们介绍了 Perforce 首席技术支持工程师 Frank van den Beuken 博士撰写
    的头像 发表于 01-11 09:00 542次阅读
    <b class='flag-5'>C++</b>简史:<b class='flag-5'>C++</b>是如何开始的