Software Define 的概念
近年来“Software Define ” 软件定义这个词持续火热,全球知名技术研究和咨询公司Gartner早在对2014年最有战略意义的十大
相信一直关注赛灵思技术动向的工程师们对SDx这个词并不陌生,概括来讲,Xilinx的SDx指的是
SDSoC™ 开发环境允许嵌入式和应用软件开发人员更广泛的利用Zynq® SoC和MPSoCs的性能,提供超过100倍的软件性能加速。
SDAccel™ 开发环境针对的是OpenCL™,C和C ++的设计应用,与那些CPU和GPU在数据中心和医疗影像等领域的实现方案相比,利用FPGA进行加速可
SDNet是“软”定义网络的解决方案。具体来说就是SDNet结合赛灵思的全面可编程器件,打造出了
从以上简要的介绍可以看出SDx系列的三个工具所针对的器件与市场各有侧重,但总体上都是面向软件和系
其中,专门用作提高赛灵思异构Zynq SoC以及MPSoC的设计生产力而生的SDSoC开发环境就是这篇短文将要介绍的重点,在以下的篇幅中,
Vivao HLS
我们今天的主要内容是介绍SDSoC,但在开始之前,需要提一下Vivado HLS这个在高级抽象语言与底层硬件描述语言之间架起了一座桥梁的高阶综合工具。
相信大部分赛灵思的用户对Vivado HLS已经不再陌生,甚至有可能已经是HLS的用户。的确,经过了三四年的上市推广,Vivado HLS早已不再是一个全新的工具,我们已经有超过1000家成功的客户。HLS的灵活性和生产力优势是显而易见的,甚至赛灵思的IP开发部门在交付Vivado 2015.1版本及以后的部分视频IP时也都是使用HLS从C/C++语言开始设计。
Vivado HLS可以在很短的时间内生成与手工编码质量相当的RTL代码,并且允许用户将同样在C测试平台生成的测试向量用在C仿真和RTL验证中,从而大幅加速验证过程。对那些使用C / C ++描述规范的算法设计类客户来说,这是理想的解决方案,可以将其已有的各类浮点或定点算法无缝实现到FPGA硬件中,比较典型的应用就是各类视频运算、加解密等DSP算法等等。
使用Vivado HLS可以实现真正意义上基于C语言的IP,通过HLS,我们可以把用户的C/C++以及System C算法以VHDL或Verilog的形式输出,然后通过Vivado IPI或SysGen等赛灵思的工具,整合到你的FPGA设计工程中去。也就是说,使用Vivado HLS可以更便捷高效地完成从高阶抽象语言C/C++到赛灵思FPGA可编程逻辑硬件的设计实现过程。
Vivado HLS不仅是简单的翻译工具或是综合工具,更为重要的是,我们可以将其产生的RTL以IP的形式导出到Vivado IPI中,或者直接调用HLS生成的RTL文件到另一个RTL项目,甚至是输出到DSP设计的SysGen工程中。
Zynq SoC 器件架构
以下图片展示了赛灵思Zynq SoC器件的架构图。SDSoC所针对的器件就是包括Zynq SoC和下一代的MPSoC在内的多核异构可编程逻辑芯片。
Zynq-7000 系列是赛灵思推出的业界第一款将ARM A9双核处理器与28nm低功耗可编程逻辑紧密集成在一起的SoC产品。从图中可以可以看出左上角处理器所在的区域称作Processing System即PS,而其余可编程逻辑所在的区域则称作Programmable Logic即PL。
位于PS侧的ARM内部用硬件实现了AXI总线协议,提供GP、HP和ACP等性能各不相同的数个物理接口。而PL侧则需要使用可编程逻辑来搭建相应的AXI接口。在具体设计时,可以在Vivado IPI中使用赛灵思提供的IP如AXI-Stream等等来实现。此外,软硬件之间有数据交互的设计就牵扯到在软硬件之间如何进行数据搬移,这种情况下,我们还
Zynq SoC 开发流程
之所以要花几页篇幅来介绍Vivado HLS的作用与Zynq的架构,就是为了更清楚地描述全面可编程Zynq SoC的开发流程。
对于以C/C++等高阶语言为起点来进行SoC开发的用户来说,由C/C++算法开始,首先需要对软硬
不使用SDSoC的开发流程
具体到每一步的工作来看,传统的Zynq设计流程大致分为五个步骤:
首先,系统架构师来决定将哪些部分用于软件实现,哪些部分放入硬件加速,即所谓的软硬件分区。划分为硬
这无疑是一个十分耗时的过程,需要多个部门和团队之间的设计切换。有时候,即便这样完成后的设计可以正常工
在某些情况下,设计不能满足你的性能要求的原因在于 软件性能不够,或是硬件的占用率太高。这时候,你就需要返回到最初的设计,重新修改软/硬件分区方案,然后
毫无疑问,用在系统优化上的时间对time-to-market的影响巨大。此外,我们也注意到在Zynq SoC的设计中,用户最关注的部分往往是算法的最终实现和算法模块的优化,包括IP或是软件功能块。因此,
本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念
本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“
课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了
@2003-2020 中国电子顶级开发网