你的位置:EETOP 赛灵思(Xilinx) 社区 >> >> 全部 >> 详细内容

Vivado设计套件提升生产力的九大理由

发布者:jackzhang 时间:2013-10-27 09:37:07

加快系统集成

理由四:使用Vivado高层次综合生成基于C语言的IP

如今的无线、医疗、军用和消费类应用均比以往更加尖端,使用的算法也比以往更加复杂。业界算法开发的金标准就是采用C、C++和SystemC高级编程语言。过去设计流程中需要经过一个缓慢且容易出错的步骤来将用C、C++或SystemC语言编写的算法转换为适合于综合的Verilog或VHDL硬件描述。而现在Vivado设计套件系统版本中提供的Vivado高层次综合功能可轻松地自动完成这一步骤。

您以往可能听说过C语言级硬件综合。不管您听说过什么,C语言级算法综合已成为系统级设计的捷径。当前有超过400名用户正在成功利用Vivado高层次综合(HLS)技术开发符合C、C++和SystemC语言规范的赛灵思All Programmable器件用IP硬核。

Vivado HLS通过下列功能,让系统和设计架构师走上IP硬核开发的捷径:

● 算法描述、数据类型规格(整数、定点或浮点)和接口(FIFO、AXI4、AXI4-Lite、AXI4-Stream)抽象化;
● 采用可提供最佳QoR(结果质量)的基于指令的架构感知型编译器;
● 使用C/C++测试平台仿真、自动化VHDL/Verilog仿真和测试台生成功能加快模块级验证;
● 发挥整套Vivado设计套件的功能,将生成的IP硬核轻松嵌入基于RTL的设计流程中;发挥Vivado System Generator for DSP的功能,将生成的IP硬核轻松嵌入基于模型的设计;发挥Vivado IP集成器(Vivado IPIntegrator)的功能,将生成的IP硬核轻松集成到基于模块的设计。

这样硬件设计人员就有更多时间投入到设计领域的探索中,即有更多时间评估备选架构,找出真正理想的设计解决方案,轻松应对各种严峻的系统设计挑战。例如设计人员将行业标准的浮点math.h运算与Vivado HLS结合使用,就能够在实现较手动编码的RTL更优异的QoR的同时,让线性代数算法的执行速度呈数量级提高(10倍),如表1所示。


表1:Vivado HLS实现的QoR

通过集成到OpenCV环境中的预先编写、预先验证的视觉与视频功能,Vivado HLS还能加速基于赛灵思Zynq-7000 All Programmable SoC器件的系统的实时Smarter Vision算法的开发工作。此类系统使用运行在Zynq SoC的双核ARM处理系统上的软件和位于Zynq SoC高性能FPGA架构上的硬件来运行这些算法(如图6所示)。


图6:Vivado HLS加快基于OpenCV的开发工作

图字:

使用Vivado HLS Smarter Vision库的各项功能,用户借助硬件加速就能迅速实现复杂像素处理接口和基本视频分析功能的实时运行。

(如欲立即开始使用Vivado HLS,敬请下载《如何使用Vivado高层次综合的FPGA设计》。这是一本以赛灵思对其主要客户举办的培训为依据的综合性用户指南。该指南可快速向软件工程师教授如何将软件算法从处理器上移植到赛灵思All Programmable FPGA和SoC的可编程逻辑上,加快他们的代码运行速度。)


理由五:利用System Generator for DSP实现基于模块的DSP设计集成

如上文所述,Vivado设计套件系统版本提供System Generator for DSP,这是一款行业领先的将DSP算法转换为高性能生产质量级硬件的高级设计工具,转换所需时间仅为传统RTL设计方法的几分之一。Vivado System Generator for DSP可让开发人员运用业界最先进的All Programmable系统建模工具(MathWorks提供的Simulink和MATLAB),无缝集成那些可用Vivado HLS综合到硬件中的算术函数、SmartCORE与LogiCORE IP、定制RTL以及基于C语言的模块,从而加速高度并行系统的开发。图7所示的是使用Vivado HLS和Vivado System Generator for DSP将基于C语言的模块集成到Simulink中的设计流程。


图7:使用Vivado HLS和Vivado System Generator for DSP将基于C语言的模块集成到Simulink中

Vivado System Generator for DSP提供自动定点/浮点硬件生成功能、可将Simulink仿真速度提高1000倍的硬件协同仿真功能、用于基于RTL的Vivdo设计流程的系统集成功能,以及用Vivado IP集成器实现的基于模块的设计功能,可进一步加快系统实现。

理由六:利用Vivado IP集成器实现基于模块的IP集成

Vivado设计套件提供行业首款即插即用IP集成设计环境Vivado IP集成器 (Vivado IPI),打破了RTL设计生产力的局限性。

Vivado IP集成器提供图形化、脚本编写(Tcl)、生成即保证正确(correct-by-construction)的设计开发流程。此外,它还提供具有器件和平台意识的环境,以及强大的集成调试功能,能支持主要IP接口的智能自动连接、一键式IP子系统生成、实时设计规则检查(DRC)和接口修改传递等。

设计人员在使用Vivado IP集成器建立IP模块之间的连接时,工作在抽象的“接口”层面而非“信号”层面。抽象上升到接口层面大大提高了设计人员的生产力。虽然主要使用的是业界标准的AXI4接口,IP集成器也支持数十种其他常用接口。

工作在接口层面的设计团队可以快速组装采用Vivado HLS与Vivado System Generator for DSP创建的IP、赛灵思SmarteCORE与LogiCORE IP、联盟成员IP和专有IP的复杂系统。结合使用Vivado IP集成器和Vivado HLS可显著降低开发成本,仅为使用RTL方法的1/15。

图8显示的是系统级设计在Vivado IP集成器中的视图,这个系统采用了一个赛灵思Zynq-7000处理系统、Vivado HLS生成的图像滤波器加速器和一个用Vivado System Generator for DSP生成的增益控制加速器。


图8:用Vivado HLS和System Generator加速器完成的Zynq设计

图字:Zynq-7000处理系统;Vivado HLS生成的图像滤波器加速器;System Generator生成的增益控制加速器


加速系统验证

理由七:用于设计和仿真的Vivado集成设计环境

Vivado设计套件还提供完整的全集成成套工具,用于在先进的集成设计环境(IDE)中完成设计输入、时序分析、硬件调试和仿真工作。Vivado设计套件的集成设计环境的这种设计分析功能采用共享的可扩展数据模型,以容纳超大型All Programmable器件。Vivado设计套件在整个设计流程中使用这一单一的数据模型,让设计团队能够尽早在整个设计流程中随时掌握时序、功耗、资源利用率、路由拥塞等关键设计指标。估算也会随着设计流程的推进越来越准确,从而在减少设计迭代次数的同时推动更快完成设计收敛。


图9:VIVADO设计套件在整个设计流程中至始至终使用一个共享的可扩展数据模型

Vivado设计套件是唯一在自身的集成设计环境中提供混合语言仿真器的设计解决方案。而同类竞争仿真器的用户必须或选择VHDL仿真,或选择Verilog仿真。对集成众多厂商提供的IP的最新系统设计来说,混合语言仿真器至关重要。

Vivado 设计套件的仿真和调试使用相同的波形观测仪,这样可以避免从仿真环境切换到硬件调试环境后还需要重新学习。竞争解决方案往往迫使用户学习和使用不同波形的 工具来完成相同工作。在仿真功能和调试功能全集成的情况下,设计团队能够更快地完成工作,且避免出错,使用Vivado设计套件就是这种情况。

类 似地,同类竞争开发工具的交叉探测功能呈碎片化且极度有限。此外这些交叉探测功能一般局限于某种单一的工具。与此对比鲜明的是,Vivado设计套件提供 的全面、集成式front-to-back交叉探测功能,适用于所有不同设计视图,诸如实现设计、综合设计、时序报告,甚至还可追溯到设计团队的原始 RTL代码。

由 于Vivado设计套件使用单一数据模型架构,所以可在各种设计资源、原理图视图、层级浏览器、设计报告、消息、布局规划和Vivado器件编辑器 (Vivado Device Editor)之间进行大范围交叉探测。借助这种独特的功能,可以即时反馈整个系统开发过程中发现的任何设计问题,从而加快调试,快速完成时序收敛。

此 外,竞争性设计解决方案使用多个磁盘文件用于工具间通信。使用多个磁盘文件带来的复杂性和低效率不仅会降低工具性能,而且还会造成多重接口,从而显著增大 工具间沟通不畅的几率。然而,Vivado设计套件则不存在这种问题。它采用单一的共享数据模型处理设计的各方面工作,如图10所示。


图10:Vivado设计套件的单一共享数据模型平滑地集成各类设计工作

图字:同类竞争设计解决方案;时序分析;集成;IP;实现

理由八:综合而全面的硬件调试

Vivado设计套件的探测方法直观、灵活、可重复。设计人员可选择最适合自己设计流程的探测策略:

● RTL设计文件、综合设计和XDC约束文件
● 网表插入
● 用于自动运行探测的互动式TCL或脚本

先进的触发器和采集功能

Vivado设计套件为检测复杂事件提供先进的触发器和采集功能。在调试进程中所有的触发器参数均可使用,用户可以实时检查或动态修改参数,且无需重新编译设计。

Zynq SoC支持处理器系统(PS)与可编程逻辑(PL)之间交叉触发

Vivado 设计套件还支持Zynq-7000 All Programmable SoC器件内处理器系统(PS)与可编程逻辑(PL)之间的交叉触发。有了这项功能,结合使用赛灵思软件开发套件(SDK)、Vivado IP集成器和Vivado逻辑分析器(Vivado Logic Analyzer),可以协同调试同时使用Zynq处理器系统和可编程逻辑的嵌入式设 计。再搭配强大的软件调试器GNU Debugger(GDB)实用工具,设计人员使用Vivado IP集成器和Vivado逻辑分析器可以同步调试软/硬件算法。Zynq-7000 All Programmable SoC平台和赛灵思ILA(集成逻辑分析器)IP核间提供有特定的接口信号,可支持无缝协同调试操作。

实现硬件实时读/写操作 — JTAG to AXI Master

Vivado设计套件可在硬件调试过程中实时地完成Zynq处理器系统和可编程逻辑间的读/写事务处理。最新调试IP核(JTAG to AXI Master)与简便易用的IP Integrator流相结合,能够在设计中访问任何基于AXI的IP模块中的数据。

优势包括:
● 在设计过程中,能够在外设上完成简单的读/写操作
● 无需重新编译就能将测试模式写入存储器
● 通过AXI接口能够测试和校正IP核
● 能够检查任何AIX外设设备内的数据


最新课程

  • 深入浅出玩儿转FPGA

    本视频基于Xilinx公司的Artix-7FPGA器件以及各种丰富的入门和进阶外设,提供了一些典型的工程实例,帮助读者从FPGA基础知识、逻辑设计概念

  • 从零开始大战FPGA基础篇

    本课程为“从零开始大战FPGA”系列课程的基础篇。课程通俗易懂、逻辑性强、示例丰富,课程中尤其强调在设计过程中对“时序”和“逻辑”的把控,以及硬件描述语言与硬件电路相对应的“

  • Verilog基础及典型数字

    课程中首先会给大家讲解在企业中一般数字电路从算法到流片这整个过程中会涉及到哪些流程,都分别使用什么工具,以及其中每个流程都分别做了