Vivado 设计套件包括高度集成的设计环境和新一代从系统到 IC 级的工具,这些均建立在共享的可扩展数据模型和通用调试环境基础上。这也是一个基于 AMBA AXI4 互联规范、IP-XACT IP 封装元数据、工具命令语言 (TCL)、Synopsys 系统约束 (SDC) 以及其它有助于根据客户需求量身定制设计流程并符合业界标准的开放式环境。Vivado 工具将各类可编程技术结合在一起,能够可扩展实现多达 1 亿个等效 ASIC 门的设计。

UltraFast设计方法

为了最大限度地提高系统性能,降低风险,实现更快速和可预测的设计周期,Xilinx 推出了可编程领域的首套综合设计方法。Xilinx 提出了 UltraFast设计方法。面向 Vivado的 UltraFAST 方法学的主体是 UG949 文档,配合相应的 Checklist,随 Vivado 版本同时更新,用户可以在 Xilinx 的主页上免费下载。针对 Vivado 设计套件的 UltraFAST 中文版也已经上市,另外一套全新的针对嵌入式可编程设计的 UltraFAST 嵌入式设计方法指南UG1046和针对高级综合的UltraFAST 方法指南UG1197也已经在 Xilinx 官网上开放下载。

工程模式与非工程模式

Vivado设计有工程和非工程两种模式

(1)工程模式是使用Vivado设计套件工程自动管理设计源文件、设计配置和结果,使用图形化Vivado集成设计环境(IDE)交互式处理设计。在Vivado IDE中可一键式运行整个设计流程。工程模式的关键优势在于Vivado工具可管理整个设计流程,包括工程文件管理、报告生成、数据存储等。在综合后修改HDL源文件,Vivado工具会提示您重新综合。在布线完成后,工具会自动生成时序和功耗报告。

(2) 非工程模式是使用Tcl脚本流程,在非工程模式下,需要自己管理设计源文件和设计过程。源文件只能从当前位置访问,不能将其复制到其它位置。设计结果保留在已分配给Vivado工具进程的机器内存中。使用Tcl命令来设置设计参数和实现选项。您可使用Tcl在设计过程的任何阶段保存设计检查点(DCP)并生成报告。每个设计步骤都可通过Tcl命令独立控制。例如 :

• 如果在综合后修改了一个HDL文件,那么必须记得重新运行综合。

• 如果在布线后需要时序报告,那就需要明确生成时序报告。

GUI和TCL可以相互交叉使用,在使用Tcl脚本流程,但在必要时仍可使用IDE来执行设计分析或约束定义等设计任务。

总之,使用Vivado后感觉Vivado的ultrafast的设计方法和ASIC设计方法特别类似,特别是非工程模式的TCL脚本。正如Xilinx喊的口号一样Vivado是ASIC增强型设计套件,FPGA芯片是ASIC级架构。Vivado只支持7系列,包括A7,K7,V7和ZYNQ。从综合运行体验而言Vivado 很耗内存。跟Altera的Quartus比较而言Vivado还是慢如牛。论坛上有人说Vivado 的综合效果还是一如既往地不好,布局布线算法有所提高,所以,推荐用Synplify做综合,Vivado做布局布线和生成最后的bit文件。

参考文献:

[1] Vivado™ 设计套件是什么?http://china.xilinx.com/china/ch_prs_rls/QA.htm

[2] Xilinx. ug949-Vivado设计套件的UltraFast设计方法指南. 2014,3.

[3] 何斌. Xilinx FPGA权威设计指南—Vivado 2014集成开发环境. 电子工业出版社.2015,2.

初识Vivado的更多相关文章

  1. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(6)

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(6) 1.创建工程与开启GUI 2.调试 查看关于 ...

  2. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(5)

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(5) 1.创建工程 启动vidado HLS co ...

  3. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(4)

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(4) 1.老样子,首先运行tcl脚本建工程: Vi ...

  4. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(3)

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(3) 优化lab1 1.创建工程,开启HLS 运行 ...

  5. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(2)

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(2) 1.实验目的 2.启动命令行  将命令行切换 ...

  6. Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》

    Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis> 1.启动 2.创建工程 3.添加源文件 4.添加测 ...

  7. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  8. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  9. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

随机推荐

  1. Web前端性能优化经验分享

    最近一直有给新同学做前端方面的培训,也有去参与公司前端的招聘,所以把自己资料库里面很多高效且有用的知识做了些 规整分类,然后再分享一篇关于前端优化方面的总结.而且春节一过就又是招聘的高峰期了,在校的. ...

  2. java多线程实现简单队列

    1.创建Queue.java public class Queue { private LinkedList<Object> list = new LinkedList<Object ...

  3. Watir: 在使用test/unit的时候要注意,不需要require的时候别require

    假设我书写了很多测试用例,测试用例中都有:require 'test/unit' 后来我想把很多这样的测试用例组织在一起运行,我使用了两个require: require 'test/unit' re ...

  4. 当你触摸并按住触摸目标时候,禁止系统默认菜单-webkit-touch-call

    当你触摸并按住触摸目标时候,禁止或显示系统默认菜单. -webkit-touch-callout 是一个 不规范的属性(unsupported WebKit property),它没有出现在 CSS ...

  5. Hackerearth: Mathison and the Pokémon fights

    Mathison and the Pokémon fights code 这是一道比较有意思,出的也非常好的题目. 给定$n$个平面上的点$(x_i, y_i)$,(允许离线地)维护$Q$个操作:1. ...

  6. Swift异常处理的try?与try!

    首先要明白抛出异常后异常的运动:异常被抛出后,中断整个处理,异常不断向外层(范围)传递,直到遇到catch代码块群,会与catch代码块的条件进行匹配,匹配符合则进入此代码块处理.如果遇到没有条件的c ...

  7. IOS高级开发~Runtime(二)

    #import <Foundation/Foundation.h> @interface CustomClass : NSObject { NSString *varTest1; NSSt ...

  8. R Factor 如何转为c()

    从 R语言本身来说 > f [1] 130015.IB 130013.IB Levels: 130013.IB 130015.IB > data = c(f) > data [1] ...

  9. 「开源」目前见过的最好的开源OA产品

    这是我目前见过的最好的开源OA产品.功能完整,代码结构清晰.值得推荐. 1.项目介绍 oasys是一个OA办公自动化系统,使用Maven进行项目管理,基于springboot框架开发的项目,mysql ...

  10. the little schemer 笔记(2)

    第二章 Do it, Do it Again, and Again, and Again... 假设l是 (Jack Sprat could eat no chicken fat) 那么 (lat? ...