Xilinx:SDSoC让硬件工程师变“软”

众所周知,FPGA是一种以硬件描述语言(Verilog或VHDL等)所完成的电路设计硬件可编程逻辑器件。可是随着技术的不断发展,Xilinx(赛灵思)却正在不断让FPGA变“软”。

近日,赛灵思推出了面向全可编程SoC和MPSoC的SDSoC 开发环境,这是赛灵思SDx系列开发环境的第三大成员。现在赛灵思除了继续在FPGA硬件领域上突飞猛进之外,在软件系统尤其是在软件设计方法论上在不断创新,SDSoC是一个新的突破。

“我们想通过这个开发环境,让做软件的人员直接参与到产品的设计,就是把软件的创意通过这个工具很快的把相关的创意实现,变成一个真实的产品。这就是为什么我们要做SDSoC开发环境的最主要理由。” 赛灵思全球销售与市场亚太区副总裁杨飞。

SDSoC环境可提供类似ASSP的编程体验,其中包括简便易用的Eclipse集成设计环境(IDE)以及用于异构Zynq全可编程SoC和MPSoC部署的综合开发平台。SDSoC结合使用业界首款C/C++全系统优化编译器,可提供系统级特性描述、利用可编程逻辑实现软件自动加速、自动系统连接生成,以及各种库以加速编程工作。

杨飞表示:“赛灵思发布SDx已经不是第一次了,我们去年的时候有SDNet,主要是面向通讯系统,有特定应用的场景,我们通过一些描述的语言,可以让厂家用行为模型级的描述,把相关的系统迅速实现出来。后面我们又推出SDAccel,在数据中心里要解决性能和功耗的问题。这次的SDSoC更多地面向嵌入式应用。”

SDSoC主要目的是让FPGA的开发能够更像是传统软件的开发,让更多的软件工程师可以直接参与到产品的开发。SDSoC具备许多优异的特性。

系统和嵌入式软件工程师采用SDSoC,可以将运行在裸机或Linux和FreeRTOS等操作系统上的C/C++作为Eclipse IDE的输入。SDSoC支持创建完整的异构多处理系统,包括将传统HDL IP 模块重复用作可用C语言调用的库。

同时,SDSoC可针对ARM处理器和可编程逻辑提供全系统优化的编译器。SDSoC通过自动化系统连接生成功能可支持软件团队快速配置、生成宏/微架构,从而提供最佳的系统连接和存储器接口。现在赛灵思SDK的高级软件系统描述功能可对Zynq平台上运行的完整设计进行软硬件性能测量,SDSoC以此为基础,可以快速估算系统性能。

最后,SDSoC可为Zynq 全可编程SoC开发板(如ZC702、ZC706等)以及第三方及市场特定平台(如Zedboard、MicroZed、ZYBO和视频图像开发套件)提供板支持包(BSP)。BSP中包含的元数据能够帮助软件开发人员和系统架构师抽象平台细节,从而简化了异构化更智能系统的创建、集成与验证工作。

杨飞表示:“过去30年里,我们首先是把硬件给软化了,现在还不只是把硬件给软化了。我们现在基本上都是以软件定义的思路在走的,所以它是软件可编程、硬件可编程,其实设计的方法都是以软件为主来做的。从系统级来说,很多产品都是这样,本来一个手机能做什么事情,它的功能是定好的。现在的手机是app下载下来,会根据应用的实际的情况。通讯的网络也是整个软件定义的网络,硬件摆在那里,但是硬件可以支持这些软件定义的架构,来控制整个网络的流量和实现的性能,所以这是一脉相承的演变的过程。”

来源:21ic 作者:杨庆广