7726|0

6423

帖子

16

TA的资源

版主

楼主
 

SDSoC开发环境简介(转) [复制链接]

转自http://mp.weixin.qq.com/s?__biz= ... NTYzMw==&scene=6#rd

SDSoC™ 开发环境允许嵌入式和应用软件开发人员更广泛的利用Zynq® SoC和MPSoCs的性能,提供超过100倍的软件性能加速。

SDNet是“软”定义网络的解决方案。具体来说就是SDNet结合赛灵思的全面可编程器件,打造出了“软”定义网络这样的交叉技术,从而将可编程能力和智能化功能从控制层扩展至数据层,不仅支持SDN,而且还可以突破性地支持任何软件定义网络架构。

其中,专门用作提高赛灵思异构Zynq SoC以及MPSoC的设计生产力而生的SDSoC开发环境就是这篇短文将要介绍的重点,在以下的篇幅中,我们会为大家分析SDSoC主要针对的市场和应用,SDSoC的各种创新,应用SDSoC的好处和优势等。

我们今天的主要内容是介绍SDSoC,但在开始之前,需要提一下Vivado HLS这个在高级抽象语言与底层硬件描述语言之间架起了一座桥梁的高阶综合工具。

Vivado HLS可以在很短的时间内生成与手工编码质量相当的RTL代码,并且允许用户将同样在C测试平台生成的测试向量用在C仿真和RTL验证中,从而大幅加速验证过程。对那些使用C / C ++描述规范的算法设计类客户来说,这是理想的解决方案,可以将其已有的各类浮点或定点算法无缝实现到FPGA硬件中,比较典型的应用就是各类视频运算、加解密等DSP算法等等。

Vivado HLS不仅是简单的翻译工具或是综合工具,更为重要的是,我们可以将其产生的RTL以IP的形式导出到Vivado IPI中,或者直接调用HLS生成的RTL文件到另一个RTL项目,甚至是输出到DSP设计的SysGen工程中。

Zynq-7000 系列是赛灵思推出的业界第一款将ARM A9双核处理器与28nm低功耗可编程逻辑紧密集成在一起的SoC产品。从图中可以可以看出左上角处理器所在的区域称作Processing System即PS,而其余可编程逻辑所在的区域则称作Programmable Logic即PL。

3Zynq SoC 开发流程
这无疑是一个十分耗时的过程,需要多个部门和团队之间的设计切换。有时候,即便这样完成后的设计可以正常工作,却可能无法满足你在吞吐量、延迟或面积等方面的设计性能要求。此时就可能需要通过修改系统连接来重新搭建硬件架构来对系统性能进一步优化。但这么做,又将导致软件应用程序和驱动程序的变化。因此,你往往需要与多个软件和硬件团队紧密合作,通过多次迭代设计来试着满足最终需求。

毫无疑问,用在系统优化上的时间对time-to-market的影响巨大。此外,我们也注意到在Zynq SoC的设计中,用户最关注的部分往往是算法的最终实现和算法模块的优化,包括IP或是软件功能块。因此,SDSoC的设计理念也致力于解决这些用户最关注的问题。

相比较传统SoC设计流程,SDSoC通过自动生成硬件连接和软件驱动程序大大简化了Zynq SoC和MPSoC的开发过程。它会自动调用Vivado HLS来将那些用C/C++开发的算法模块转化为Vivado可综合的RTL IP,它也可以将那些已经优化过的HDL IP模块通过C可调用库的方式进行重用。用户可以在软件中通过简单点击某个功能块将其应用到PL上进行加速来迅速修改软/硬件的分区,因此,它也有助于系统架构设计人员运行快速假设性分析来评估系统的性能和面积。

现在我们稍作总结就会发现,SDSoC开发环境提供了一个大大简化的C / C ++编程体验,用户现在可以在嵌入式开发人员所熟悉的基于Eclipse™的IDE上完成整个Zynq SoC的开发。SDSoC带来了业界首个C / C ++的全系统优化编译器,提供系统级的Profiling特征分析,自动将软件代码放入可编程逻辑中加速,自动产生系统连接,和相关的库以加速开发。SDSoC也为用户和第三方平台开发者提供了流程支持,通过提供平台描述文件的的手段,可以使他们自己设计的包含有Zynq SoC的开发板在SDSoC开发环境中使用。

6SDSoC开发环境的优势
在IDE中,用户可以简单地选择用来放入PL中加速的功能块,无需手动创建用于硬件实现的Vivado工程或是软件驱动程序。另外,已经有很多针对FPGA硬件优化过的IP库可以经由Vivado HLS导出,除了赛灵思和ARM,我们也有很多合作伙伴提供更多特定的算法库,包括视频类,加解密,OpenCV等等。帮助用户进一步提高生产力。

关于操作系统,目前的SDSoC版本中已经支持的目标平台Platform大都支持多种OS,包括Linux,FreeRTOS和Standalone,如果用户需要其他操作系统的支持,只要将所需OS打包到所用的目标平台中即可。具体做法涉及SDSoC目标平台的创建,我们稍后会在另外的文章中做详细介绍。

在目标平台上运行时,SDSoC还可以通过使用ARM 处理器提供的性能计数器和自动插入到可编程逻辑的AXI总线性能监视器即APM来收集包括自动化高速缓存,内存和总线利用率等等的硬件性能数据,报告系统性能测量数据。

SDSoC的核心技术可谓业界首创的全系统优化编译器,这个编译器是一个统一的界面,不仅可以针对基于ARM的处理器系统,也可以针对片内的可编程逻辑。SDSoC开发环境旨在为系统架构师以及软件开发团队提供一个可以使用唯一的“黄金C / C ++代码”来快速配置,并同步生成构建系统所需的各类软硬件架构的可能。软硬件统一的编译器,可以从系统视角出发,带来最佳的系统构建与连接,优化的存储器接口和软件驱动等。全系统优化编译器的另一大优势是支持快速的设计空间探索,允许开发者在性能和吞吐量,延迟及面积之间作出权衡,同时保持较短的设计迭代次数。

配合使用ARM 处理器提供的性能计数器和自动插入到可编程逻辑的AXI总线性能监视器收集到的各种性能数据,SDSoC还可以帮助系统架构师在最短的时间内探索出针对自己的应用平台和设计应用来说性能最佳的系统设计方案。与传统的软件硬件分别开发的流程相比可以节约大量的开发时间和成本。

介绍了这么多SDSoC的优势,相信不难看出,SDSoC提供的是一个真正的端到端流程。对用户来说,从C/C++代码入手,经过SDSoC,可以完成软硬件分区,生成RTL IP功能块,完成PS和PL之间的功能连接,包括硬件接口和软件驱动,最后针对目标设计平台产生出可以用来加载FPGA的比特流文件和可以用来启动操作系统的软件引导映像。所有这些在以往需要多个部门通力合作的工序如今都已经简化到SDSoC这一个开发环境中。

换句话说,SDSoC的问世并不是为了替代在它之前已经用于Zynq SoC开发的各个独立的工具,而是将其整合在一起,并提供全系统编译和特征分析。是提升SoC开发的设计效率和生产力的一大利器。

下面我们来看一个简单的示例:

这一过程全部都在SDSoC的界面中完成,并且可以在短短数个小时内探索多个系统配置方案,找到相对最佳性能的实现方案,并加载到目标板上进行调试和验证。放在以往软硬件分别设计的传统流程上简直不可想象。

赛灵思在2015年七月宣布开放正式版SDSoC开发环境,现在我们的官网可以下载这一软件,正式支持的开发板也在逐步增加中,除了在目前版本上打开SDSoC可以看到的包括赛灵思ZC702、706等开发平台,还有很多已经认证的第三方开发平台,更多的平台正在逐步加入。

此外赛灵思及其函数库合作伙伴还提供包括OpenCV、线性代数和信号处理在内的库函数。我们还新增了八家认证设计服务联盟成员以扩展生态系统,从而使世界各地的设计团队能够充分发挥全面可编程 Zynq SoC和MPSoC的性能进行自己的设计开发。

要在SDSoC中创建客户定制平台并不复杂,只需要从现有的Vivado IPI工程和软件项目工程中导出工具所需的硬件平台和软件平台元数据,最后将数据以SDSoC要求的形式打包放入指定的路径即可。更具体的操作方法和流程,欢迎查看SDSoC安装目录下的UG1146文档以及相关快速入门视频,具体做法在本文不做深入讨论。

这篇短文旨在帮助大家了解赛灵思针对提升异构Zynq SoC以及MPSoC的设计生产力而推出的SDSoC开发环境,通过对赛灵思软件定义相关解决方案的介绍,以及对使用SDSoC前后Zynq SoC开发流程的比较,希望让大家有个更直观的认识,选用更先进高效的设计工具,提升SoC设计生产力。


640.jpg (48.39 KB, 下载次数: 2)

640.jpg

641.jpg (25.67 KB, 下载次数: 2)

641.jpg

642.jpg (72.29 KB, 下载次数: 1)

642.jpg

643.jpg (38.49 KB, 下载次数: 2)

643.jpg

645.jpg (34.45 KB, 下载次数: 2)

645.jpg
此帖出自FPGA/CPLD论坛
点赞 关注
个人签名training
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表