Xilinx社区
首页 > 技术文章 > All Programmable Abstraction:你的编程你做主
技术文章
All Programmable Abstraction:你的编程你做主
来源:  时间:2015-07-10  浏览量:4625

  为将设计团队的生产力提升到全新的水平,以及向更广泛的软件工程师用户推广其全可编程 FPGA、SoC和3D IC,赛灵思近期新增了两款SDx™开发环境系列成员。新推出的SDAccel™开发环境使没有任何FPGA经验的数据中心设备编程员都能够运用OpenCL™、C或C++语言针对数据中心和云计算基础设施对赛灵思FPGA进行编程,设计出的FPGA设备性能功耗比远超基于GPU和CPU的设备。赛灵思还推出了SDSoC™开发环境,支持同样没有FPGA经验的软件开发人员运用C或C++语言针对赛灵思及第三方平台开发商推出的Zynq®-7000全可编程SoC和UltraScale+™ MPSoC平台创建各种系统。

  SDx环境是赛灵思全可编程抽象化计划的最新产品。该计划旨在帮助软件工程师和系统架构师方便地编程赛灵思器件,同时开发环境可根据他们的需求量身定制。

  赛灵思公司企业战略与市场营销部高级副总裁Steve Glaser指出:“SDNet、SDAccel与SDSoC这一完美组合将为系统和软件工程师提供熟悉的类似CPU、GPU和ASSP的编程环境,这些工程师将首次尽享全可编程器件带来的独特优势,诸如定制加速功能,性能功耗比提升10倍乃至100倍,任意设备件间连接,以及提供下一代智能系统所需的保密性和安全性。赛灵思正力助下一代系统做到进一步互联,实现软件定义和虚拟化,同时还必须支持基于软件的分析,更多云端计算功能,这通常是普遍视频和嵌入式视觉技术所需要的。这就要求SDx软件定义编程环境和异构多处理技术采用新型UltraScale FPGA和MPSoC。”

   2014年春季SDNet™开发环境(详见《赛灵思中国通讯第87期》)推出后不久就推出了SDAccel和SDSoC这两款新的开发环境。

  SDx新环境能帮助软件工程师和系统架构师对赛灵思器件的FPGA部分进行编程,这些环境也能帮助拥有硬件工程设计资源的设计团队提升生产力,快速集成到优化系统上,进而加速产品上市进程。有了可行的系统设计,硬件工程师能集中精力优化FPGA布局和性能,实现更高的系统效率,同时软件工程师则能进一步优化应用代码。

全可编程抽象化

  赛灵思于2008年在新任CEO Moshe Gavrielov领导下开始规划7系列全可编程系列FPGA、3D IC和Zynq-7000 全可编程 SoC时,就明显发现7系列和未来产品线的所有产品均具有丰富的功能,完全能让客户将赛灵思器件作为最新最具创新性产品的核心。

  这些全可编程器件比赛灵思早些年的胶合逻辑FPGA高级得多,实现了任何其他架构所无法企及的系统功能和最终产品差异化。为了最大化这些最新器件的价值,在竞争中脱颖而出,管理层认识到赛灵思必须开发出相关工具和方法,帮助系统架构师乃至嵌入式软件开发员(而仅仅只有FPGA专家),去进行赛灵思最新器件的编程工作。此外,公司还必须针对高增长市场,为软件工程师开发出设计环境,并根据设计人员习惯使用的工具和流程来定制这些环境。此外,加强与MathWorks和国家仪器(Nl)等公司联盟也势在必行,这些公司已经构建了各种环境,使非传统FPGA用户能够充分利用赛灵思全可编程器件的功率效率和灵活性优势。

  对老客户来说,如果能为设计团队的每个成员都提供相应的设计环境,那就能确保高效性,缩短产品上市时间。如果这些环境足够高级,就能真正推广全可编程FPGA和Zynq SoC设计,让那些没有FPGA设计经验的架构师和软件工程师无需硬件设计人员帮助就能进行器件编程。全球软件工程师人数与硬件工程师人数比为10:1。因此,提供这种开发环境(或支持这种开发环境的硬件平台)的赛灵思及其联盟计划合作伙伴既能扩大用户群,又能增加营收。

  该战略和支持软件工程师及系统架构师利用根据其设计需求量身定做的环境进行赛灵思器件编程的后续开发工作就是赛灵思所谓的全可编程抽象化(如图1所示)。

  图1 – 利用新的SDx设计环境和联盟成员提供的环境,赛灵思正帮助更多创新者充分发挥赛灵思全可编程器件的作用,为下一代产品带来更大增值。

VIVADO HLS和IPI:设计抽象的第一步

  2011年,设计抽象迈出了重大的第一步,那就是赛灵思收购了私企AutoESL厂商的高层次综合(HLS)工具。继并购之后,赛灵思于2012年公开发布了集成到ISE®设计套件和Vivado®设计套件工具流程中的HLS技术。根据Berkeley Design Automation的详细调研(结果表明AutoESL的HLS工具最简便易用,而且是EDA产业所有HLS工具中能提供最佳结果质量的HLS),赛灵思选择了AutoESL技术。HLS源于EDA世界,这也意味着工具使用模型面向的是ASSP和片上系统(SoC)架构师以及拥有C和C++编程经验、同时对硬件描述语言(Verilog和VHDL)及芯片设计需求有一定工作了解的成熟设计团队。

  利用Vivado HLS,具有丰富技能的架构师和设计团队能用C和C++创建算法,同时利用Vivado HLS来编译并转换那些算法为RTL IP模块。随后,FPGA设计人员能将这个模块及其它模块集成到创建或授权的RTL中,并用赛灵思的IP Integrator(IPI)工具将IP汇编到设计中。随后,FPGA设计人员能将汇编设计一步步通过Vivado流程,执行HDL仿真、时序与功耗优化、布局布线等。最终,设计人员生成网表/比特文件并配置目标全可编程器件的硬件。如果设计包含处理器(Zynq SoC或MPU软核),配置后的器件随即可供嵌入式软件工程师编程。

  为了帮助嵌入式软件工程师应对繁杂的编程工作,赛灵思提供了基于Eclipse的集成设计环境,即赛灵思软件开发套件(SDK),其包含编辑器、编译器、调试器、驱动程序和面向Zynq SoC或FPGA的库,其内嵌了赛灵思的32位MicroBlaze™软核。该SDK于10多年前推出,随着赛灵思器件上处理器集成的发展变化而得到了大幅改进,此前器件上集成硬化的DSP Slice和软核MCU和MPU(8位、16位和32位),到Virtex®-4和Virtex®-5 FPGA时已转变为集成硬化的32位PowerPC®;到Zynq SoC已转化为集成32位ARM®处理器;而到即将推出的Zynq UltraScale+ MPSoC则发展到集成64位ARM处理器。

 联盟成员为更多用户带来增值

  10多年来,赛灵思与国家仪器(NI)和The Math-Works公司一直保持密切合作。这两家公司致力于为其服务的特定用户提供量身定制的独特高级开发环境。

  国家仪器(NI)(德克萨斯州奥斯汀)提供的硬件平台深受控制和测试系统创新者欢迎。赛灵思的FPGA和Zynq SoC为NI RIO平台提供动力。国家仪器(NI)的LabVIEW开发环境是用户友好型图形化程序,底层运行Vivado设计套件,因此国家仪器(NI)的客户无须了解任何FPGA设计细节。一些人或许根本不知道RIO产品的核心其实是赛灵思器件。他们只需在LabVIEW环境中对其系统编程即可,NI硬件能提升其开发的设计性能。

  就MathWorks(马萨诸塞州纳蒂克)而言,该公司10多年前为其MATLAB®、Simulink®、HDL Coder和Embedded Coder添加了FPGA支持,底层运行赛灵思的ISE和Vivado工具,而且完全自动化。因此,公司的用户——主要是数学算法开发人员——能开发算法并大幅提升算法性能,而且能在FPGA结构上简便运行算法。

  10年前,赛灵思为其ISE开发环境添加了FPGA架构级工具——系统生成器(System Generator),近期又给Vivado设计套件添加了,以帮助具备FPGA知识的团队进一步调节设计,实现算法性能增益。MathWorks和赛灵思两家公司技术的强强组合,有助于客户公司推出成千上万种创新产品。

  近期,其他公司也开始为赛灵思环境做出贡献。赛灵思近期欢迎TOPIC Embedded Systems和Silicon Software这两家欧洲公司加入其联盟计划,特别是欢迎其针对医学和工业市场的高级开发环境。

  TOPIC Embedded Systems(荷兰埃因霍温)拥有独特的开发环境DYP-LO,《赛灵思中国通讯第89期》对其进行了详细介绍。该环境面向Zynq SoC,很快也将面向Zynq MPSoC,对系统级设计采用统一方法,从而使系统架构师能够用C或C++创建系统设计结果,并在Zynq SoC的双核ARM Cortex™-A9处理系统上运行该结果。一旦用户发现设计某些部分在软件中运行太慢,可以将这些部分拖放到窗口中,将C语言转化为FPGA逻辑(底层运行Vivado HLS),并将其放入Zynq SoC的可编程逻辑中。来回交换代码片段,直到达到最佳系统性能。TOPIC最初用于医疗设备开发,目前也开始与工业设备制造商合作。

  Silicon Software(德国曼海姆)是支持软件工程师利用赛灵思全可编程器件的最新联盟成员。公司的VisualApplets图形图像处理设计环境可帮助面向Zynq SoC平台的系统架构师和软件工程师打造工业机器视觉应用创新,而且无需硬件工程师的协助。在2013年SPS Drives行业展会的赛灵思展台上,Silicon Software展示了其用VisualApplets环境开发的光学检查系统。演示显示通过采用VisualApplets环境将图形处理任务从Zynq SoC的处理系统转交给器件的FPGA逻辑来执行,能将系统性能提升10倍。

借助SDx推广FPGA和SOC设计

  借助SDx软件定义开发环境,赛灵思将面向关键市场的软件开发人员和系统架构师构建一系列比较高级的设计入门环境。SDAccel和SDSoC在底层自动运行整个Vivado流程,无需直接使用Vivado工具,也无需硬件工程师的协助。SDNet不会访问Vivado HLS,针对线路卡架构师,其提供了独特的两步使用模型。

  在第一步中,线路卡架构师采用直观的类似C语言的高级语言而不是晦涩的微代码来设计需求,并制定网络线路卡规格描述。SDNet开发环境根据规格描述生成RTL版设计。流程随后需要硬件工程师在目标FPGA中实现RTL。

  在第二步中,SDNet还允许网络公司用高级语言测试和更新协议,并升级线路卡的功能,即便在现场部署后也能做到,而且无需硬件设计参与。这个流程有助于企业快速创建并更新线路卡,这种灵活性对软件定义网络而言非常重要。

  SDAccel和SDSoc这两个新环境将SDx理念推广到新的应用领域。

  SDACCEL可优化数据中心性能功耗比

  《数据中心学刊》(Data Center Journal)2014年3月的一篇文章指出,谷歌、Facebook、亚马逊、领英等公司核心部分——数据库——“消耗的电力占全球电力3%以上,同时产生2亿公吨CO2”。如此巨大的能耗,数据中心一年电费超过600亿美元。即便对最大规模网络公司来说,功耗也会严重削减盈利性,而且对环境也会产生不可估量的影响。

  随着越来越多的企业期望采用云计算和大数据分析技术;视频和流媒体的全球性普及,以及越来越多的人加入无线网并升级到未来5G网络,对数量更多、性能更好的数据中心的需求呈几何级无止境增长趋势。《数据中心学刊》文章指出,从当前趋势看,到2017年数据中心流量预计将达7.7ZB,这意味着数据中心的功耗如果不能得到有效控制将会出现大幅增长。当今大多数数据中心的功耗主要源于其基础组件——Intel x86处理器。目前MPU能提供良好但不是最佳的性能,而且功耗很高。

  目前全球庞大的的软件工程师队伍均发现MPU是最容易编程的器件。要解决数据中心性能问题,许多公司一直在设法构建采用图形处理单元(GPU)或通过GPU实现CPU系统加速的设备。GPU的性能大大超越数据中心的CPU,但不幸的是功耗要高很多。性能虽然很高,但功耗巨大。

  为集两者之大成,许多企业均转而采用以FPGA为中心的方法,将FPGA与其它处理器结合使用,以实现数据中心设备性能最大化。

  许多数据中心设备厂商已证实,分立式FPGA结合分立式CPU使用,虽然每个卡的功耗会增加一点点,但性能却得到大幅提升,从而可大幅提升性能功耗比。还有人认为,通过采用一颗在单个SoC上集成x86处理器内核和FPGA逻辑的芯片,有望进一步提升性能功耗比。还有人认为,在单个SoC上集成FPGA逻辑和64位ARM处理器IP似乎能带来更低功耗但同样高性能的解决方案。

  在数据中心使用FPGA的主要障碍就是编程问题。数据中心开发人员习惯于x86架构编程,这些开发人员通常只有纯软件编程背景。帮助开发人员将CPU程序转向更快的GPU的第一步就是业界OpenCL语言的开放开发。过去2年来,OpenCL取得进一步发展,使客户能够针对FPGA进行编程,从而为未来数据中心设备架构乃至无所不在网络创造了新的机遇。

  通过推出SDAccel环境,赛灵思弥补了编程鸿沟,并为数据中心工程师使用OpenCL、C或C++编程FPGA平台铺平了道路,而且无需硬件工程师介入。赛灵思公司设计方法市场高级总监Tom Feist表示,针对OpenCL、C和C++的SDAccel开发环境使数据中心编程人员能够打造出比CPU和GPU系统性能功耗比高出25倍的设备。

  Feist指出,在SDAccel流程中(见图2,SDAccel开发环境演示),x86 CPU结合运行赛灵思20nm Kintex® UltraScale FPGA的加速卡,软件开发人员能发现需要加速的应用,并用OpenCL编码和优化内核,再为CPU编译和执行应用。随后他们再来评估并调试内核,直到找到周期精确的模型。接下来,再用SDAccel编译代码,并自动实现在FPGA中(可能因为Vivado在底层运行)。随后就能运行应用,验证通过卡加速后的应用性能以及与单纯用CPU运行的性能对比。Feist指出:“他们能循环运行迭代,直到找到性能和功耗之间的最佳平衡,相对于CPU和GPU实现方案,性能功耗比可提升多达25倍。”

  图2 – 在本SDAccel开发环境演示中,工程师 Henry Styles介绍了如何通过使用内含Alpha Data ADM-PCIE-7V3加速器的标准64位x86工作站来运用SDAccel开发环境实现加速。

  在本期《赛灵思中国通讯》中,Feist和他的同事详细介绍了SDAccel环境,后续文章则介绍SDAccel的工作原理(见第38页和42页) 。

SDSOC让嵌入式系统创新者辈出

  SDNet让线路卡开发人员利用独特的软定义方式能够快速创建下一代网络,而SDAccel则能让数据中心设备厂商实现下一代数据中心的最佳性能功耗比。新的SDSoC开发环境或许能为赛灵思用户群带来最广泛的影响。这是因为SDSoC针对广泛的嵌入式系统设计团队,特别是软件工程师,这些软件工程师设计面向的是赛灵思Zynq SoC所服务的大部分市场。SDSoC环境现在能帮助用户配置逻辑——不光是对运行Zynq SoC硬件平台的嵌入式系统处理器编程——而且能使用C和C++语言。

  SDSoC产品经理Nick Ni指出:“软件开发人员习惯于对主板、ASSP平台和ASIC进行编程,且无需硬件工程师参与。有了SDSoC开发环境,他们就用类似ASSP的方式对Zynq SoC和MPSoC平台进行编程。SDSoC的独特之处在于现在我们能在Eclipse IDE环境中用C或C++语言面向Zynq SoC和Zynq UltraScale+ MPSoC平台创建完整的系统设计。

  Ni表示,使用SDSoC环境,嵌入式软件开发人员能运用C或C++语言创建设计并进行测试,以发现Zynq SoC处理系统上哪些部分运行得不佳。一旦发现可疑代码,便突出显示并命令SDSoC环境自动将该代码分区到Zynq SoC的可编程逻辑中,以加速系统性能。Ni指出,SDSoC环境只需点击按钮就能把软件功能移到FPGA逻辑中,无需硬件工程师介入。SDSoC中的编译器将生成整个Vivado项目,并为目标硬件平台生成可引导的软件映像。

  Ni指出:“利用针对我们Zynq SoC的SDSoC环境,我们主要是让我们的嵌入式软件工程师变成系统工程师。” (见图3,SDSoC开发环境演示)

  图3 – 在本SDSoC开发环境演示中,首席工程师Jim Hwang用SDSoC构建简单的图形处理流水线,以检测运动,并在以60fps速率运行的实时HD 1080p视频流中插入运动边缘。

  SDSoC环境利用带有用户指定的C/C++代码的宏编译器,可在Zynq SoC逻辑中实现加速。通过在底层运行Vivado设计套件,该环境可自动将该代码返回IP模块并将该模块配置为器件的逻辑,从而自动生成软件驱动程序。

  SDSoC可为基于Zynq全可编程SoC的开发板(包括ZC702和ZC706),以及第三方和特定市场平台(诸如ZedBoard、 MicroZed、ZYBO以及视频与图像开发平台)提供板支持包 (BSP)。

  Ni 表示:“我们今后几个月将为SDSoC添加更多BSP,尤其是随着越来越多第三方平台公司用Zynq SoC开发系统。SDSoC有助于赛灵思以及采用Zynq SoC开发平台的公司扩大用户群。”

  Ni同时指出,SDSoC环境的主要目的是让大量嵌入式软件设计人员能用赛灵思Zynq SoC创建完整的系统,不过有传统FPGA背景的用户和设计团队也能从该环境受益匪浅。

  Ni指出:“它能帮助设计团队快速用C和C++语言设计系统架构,然后尝试不同的配置,以获得所需的最佳性能。如果他们团队里确实有FPGA设计人员,则能让其通过Vivado工具来进一步优化模块和逻辑布局。”

  如欲了解联盟成员对SDSoC环境支持的更多信息,敬请参阅本期Xpedite部分(第66页)。关于赛灵思全可编程抽象化的更多信息,敬请访问:http://chian.xilinx.com/ products/design-tools/all-programma-ble-abstractions.html

热点文章
精选视频
推荐资源

中国授权培训机构

北京 电话:(010)82757632
      (010) 62192881
深圳 电话:(0755)86186715
武汉 电话:(027)61389792
成都 电话:(028)80821007
南京 电话:(025)66022032
西安 电话:(029)82230498
邮箱:sales@e-elements.com

中国授权经销商

香港 电话:(852)22127848
北京 电话:(010)84148118
成都 电话:(028)86528262
上海 电话:(021)33678387
深圳 电话:(0755)26584925
武汉 电话:(027)87322806
邮箱:china@avent.com
深圳 电话:(0755)26743210
上海 电话:(021)51696680
北京 电话:(010)51726678
成都 电话:(028)85139576
武汉 电话:(027)87690155
邮箱:
xilinx_enquiry@comtech.com.cn

社区主办


《电子产品世界》杂志社

内容提供


    赛灵思公司

Copyright ©2000-2015 ELECTRONIC ENGINEERING & PRODUCT WORLD. All rights reserved.
京ICP备12027778号-2 北京市公安局备案:1101082052