初识Vivado
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的更多相关文章
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(6)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(6) 1.创建工程与开启GUI 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 ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(4)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(4) 1.老样子,首先运行tcl脚本建工程: Vi ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(3)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(3) 优化lab1 1.创建工程,开启HLS 运行 ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》(2)
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis>(2) 1.实验目的 2.启动命令行 将命令行切换 ...
- Vivado HLS初识---阅读《vivado design suite tutorial-high-level synthesis》
Vivado HLS初识---阅读<vivado design suite tutorial-high-level synthesis> 1.启动 2.创建工程 3.添加源文件 4.添加测 ...
- Android动画效果之初识Property Animation(属性动画)
前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...
- 初识Hadoop
第一部分: 初识Hadoop 一. 谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...
- python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)
一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...
随机推荐
- MongoDB3.6.3 windows安装配置、启动
1.官网下载MongoDB的安装包 2.安装中一直Next即可安装成功,不过需要注意的是: 可以自定义安装,选择安装路径 值得注意的还有,安装中因为下载compass十分缓慢.把下面默认选中的勾去掉 ...
- 【CQ18阶梯赛第8场】题解
[A:HDU2032 杨辉三角]: 简单的递推,或者是基础的DP: 但是只有杨润东一个人1A,整体准确率只有8/37,具体原因不详. 经验:提交前一定要试一下比较特殊的数据或者最大的数据.其次,为了保 ...
- python-----实现print不换行
python中print输出是默认换行的,那如何我们不想换行,且需要用多个print函数输出时,就需要改变print默认换行的属性: 例: print('Hello') print('!') 输出结果 ...
- NIO知识摘录
在 JDK 1. 4 中 新 加入 了 NIO( New Input/ Output) 类, 引入了一种基于通道和缓冲区的 I/O 方式,它可以使用 Native 函数库直接分配堆外内存,然后通过一个 ...
- 【转】[钉钉通知系列]Jenkins发布后自动通知
转载请注明出处:https://www.cnblogs.com/jianxuanbing/p/7211006.html 阅读目录 一.前言 二.使用钉钉推送的优势 三.配置 一.前言 最近使用Jenk ...
- 单选框 复选框 隐藏之后,绑定的change事件在ie中失效的问题
有时候需要对单选框和复选框进行美化,就需要在<input type="radio">和<input type="checkbox">元素 ...
- A - Soldier and Bananas
Time Limit:1000MS Memory Limit:262144KB 64bit IO Format:%I64d & %I64u Description A sold ...
- (水题)洛谷 - P1093 - 奖学金
https://www.luogu.org/problemnew/show/P1093 #include<bits/stdc++.h> using namespace std; #defi ...
- 浅谈欧拉函数 By cellur925
1.某神犇Blog 学了三遍的 欧拉函数φ--DEADFISH7 2.我要做一些补充o(* ̄▽ ̄*)o $φ(1)=1$: 公式有两种形式,一种有太多除法,实际可能会慢些.通用 对于任意$n$> ...
- maven groupid与artifactid
groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找. groupId一般分为多个段 ...