2009年,赛灵思CEO Moshe提出All Programmable Imperative (全可编程势在必行)的行业趋势。2014年赛灵思相继发布了SDx系列产品的两款产品,分别是SDNet和SDAccel。新年伊始,赛灵思再度发力,推出面向全可编程SoC和MPSoC的SDSoC开发环境。赛灵思公司全球销售与市场亚太区副总裁杨飞先生介绍,“SDSoC环境可提供大大简化的类似ASSP的编程体验,其中包括简便易用的Eclipse集成设计环境(IDE)以及用于异构Zynq全可编程SoC和 MPSoC部署的综合开发平台。SDSoC结合使用业界首款C/C++全系统优化编译器,可提供系统级特性描述、利用可编程逻辑实现软件自动加速、自动系统连接生成,以及各种库以加速编程工作。”
赛灵思公司全球销售与市场亚太区副总裁杨飞
软硬件工程师各司其职更高效
如今物联网发展得风风火火,智能硬件作为其中的核心部件即将迎来井喷式发展。硬件人员更多面向硬件系统展开设计,而智能系统更多是软件人员来负责设计,其中系统算法尤为重要。传统的设计方法是软件工程师和硬件工程师联手开发,经过反复沟通和衔接才能够通过联调测试,耗费巨大的人力成本才能够推出一款新产品。
SDSoC开发环境的推出正是要解决软件工程师和硬件工程师的沟通成本问题,通过这个开发环境,软件工程师可以直接参与产品的设计,把软件的创意通过这个工具很快地实现,变成一个真实的产品。杨飞指出,“五年前,赛灵思打造了Vivado设计套件,让设计工程师可以通过Vivado把他的设计在硬件层面实现出来。这次我们还把设计的层次拉高,除了传统的硬件工程师,软件工程师和所有熟悉Eclipse环境的工程师也可以有效地把FPGA用起来。”
通过这样的联合,软件工程师将更关注上层的系统设计和算法设计,而硬件工程师更关注硬件系统的优化,两者更高效地合作。“原来需要一两年才能做好的事情,现在一两个月就可以做好。”杨飞补充道。
硬件加速提升100倍
软件工程或系统构架师通过C、C++编好程序之后可以在SDSoC开发环境下生成不同的函数,针对这个函数可以做出选择:通过硬件加速或者用ARM处理器来做。有一部分可能用ARM代码来实现,有一部分通过硬件加速来实现,ARM软件部分与硬件加速部分的数据通道如何打通?SDSoC编辑器具有自动连接的功能,令ARM和硬加速的部分自动连接在一起。ARM的部分通过软件工程师熟悉的设计流程,具有相应的代码。硬加速的部分通过逻辑实现HDLS,整个设计就可以完成。
“以上流程,因为有了硬件跟软件的整体化、全系统化优化的过程,与纯软件的设计来比,整个性能可以提升一百倍以上。”杨飞强调,“赛灵思跟ADI公司合作开发了一款Zynq SDR系统开发套件,通过SDSoC的开发环境,可以很快的把SDR平台的开发做出来。”
赛灵思亚太区Zynq业务拓展经理罗霖
通过视频的Demo演示发现,用FPGA加速拥有每秒60帧的处理速度,清晰流畅,而用ARM软件实现每秒不足一帧,具有明显的延迟。
SDx家族后续发力,应用更广
SDx家族已经推出三款新品:SDNet主要是面向通讯系统,有特定应用的场景,通过一些描述语言,用户可以实现行为模型级的描述,把相关的系统迅速实现出来;SDAccel能够解决数据中心的性能和功耗问题,在数据中心里有很多应用的场景要通过X86加上FPGA的加速处理能力来做一些加速算法,赛灵思将 SDAccel做到X86软件,让软件工程师也能够用高速的算法实现真实的产品应用;SDSoC针对嵌入式控制,可以提供类似ASSP的C/C++编程体验,以提高应用开发、系统架构定义和平台创建的生产效率。SDSoc结合Zynq全可编程SoC和MPSoC,使嵌入式软件开发人员能够加快智能系统开发进程。
笔者不仅畅想,SDSoC的下一个SDx系列新品是什么?杨飞表示,“接下来赛灵思还会推出基于SDx的开发环境,只是会面向一些特定的市场,比如视频或者监控市场。这些产品会更加专注地让某一特定市场更加方便,比如:OpenCV就是针对视频的部分。”
与非网原创内容,谢绝转载!
针对SDNet的文章:赛灵思SDNet大刀破斧开拓“软”定义网络领域
针对SDAccel的文章:软件工程也能跨界玩转FPGA