经过几天的试用逐渐熟悉了vivado,和ISE相比vivado确实有了很多改良。
发现了以下几个特点:
 
1.数据格式统一了
在以往的设计中,保存数据的格式非常多。ISE有很多种格式的文件,在translate,map和par过程文件格式多.ncd,.pcf,ngd,ngr等,而有vivado中,每个步骤文件格式都统一成.dcp。在每一个阶段完成后都可以保存一个checkpoint的.dcp文件。
 
2.contraint文件采用了SDC格式文件
在ISE中约束文件为自定义的UCF格式,和工业标准SDC有很大区别,而在vivado中采用XDC文件格式,兼容通用的SDC标准。适应了技术潮流。
 
3.vivado中弱化了Project
这是一个很不错的改进。我们在不用建立工程就能完成FPGA的综合,布线,生成bit。如果我们采用tcl脚本,配合这种功能,可以使开发变得非常地灵活。
 
 
4.vivado的ECO和TCL脚本功能强大
在ISE中FPGA Editor可以在布线完成后,完成PAD修改,探测某信号线,还用进行Chipscope中ILA的修改。而vivado中增强了这部分功能,在更接近ASIC设计。TCL脚本更完备,大部分工作都可以tcl下进行。
 
对一个flip-flop进行位置更改的ECO
startgroup
place_cell {q_reg[2]} SLICE_X3Y2/C5FF
endgroup
 
read_checkpoint -incremental old_post_route.dcp
report_incremental_resue
route_design
 
 
 
一个没有工程的vivado脚本:
 
#Assemble the Design Source files
read_verilog [glob ../src/*.v]
read_vhdl [glob ../src/*.vhd]
read_edif ../netlist/black_blox.edf
read_xdc ../constraint/top.xdc
 
#Run Synthesis and Implementation
 
synth_design -top top -part xc7k70tfbg676-2
write_checkpoint -force post_synth.dcp
opt_design
place_design
write_checkpoint -force post_place.dcp
route_design
write_checkpoint -force post_route.dcp
 
#Generate Reports
report_timing_summary -file timing_summary.rpt
.....
 
#Generate Bit File
write_bitstream -file top.bit
 
 
 
 
 
综合完后选择你要debug的net,然后右键->Mark debug,接着在debug窗口里右键->Set up debug,创建ILA核
 
有chipscope,在设计中加入ICON和ILA的核,综合完成生成bit文件下载入FPGA中后VIVADO菜单下面的Flow下有chipscope

Vivado学习笔记_002的更多相关文章

  1. 【转载】【时序约束学习笔记1】Vivado入门与提高--第12讲 时序分析中的基本概念和术语

    时序分析中的基本概念和术语 Basic concept and Terminology of Timing Analysis 原文标题及网址: [时序约束学习笔记1]Vivado入门与提高--第12讲 ...

  2. MiZ702学习笔记13——ZYNQ通过AXI-Lite与PL交互

    在<MiZ702学习笔记7——尝试自制带总线IP>,我曾提到了AXI4-Lite的简单用法,驱动了下流水灯,只涉及到了写总线.今天,我想利用之前的VGA模块,将AXI4-Lite的读写都应 ...

  3. MiZ702学习笔记12——封装一个普通的VGA IP

    还记得<MiZ702学习笔记(番外篇)--纯PL VGA驱动>这篇文章中,用verilog写了一个VGA驱动.我们今天要介绍的就是将这个工程打包成一个普通的IP,目的是为后面的一篇文章做个 ...

  4. VCS使用学习笔记(0)——写在前面的话

    由于毕业设计做的是数字IC相关,虽然不是纯设计,但是也有设计相关.有设计就要有仿真验证,我就趁此机会来学习一下VCS的使用吧.当然,这里只是学习其简单的逻辑仿真功能,从波形仿真到覆盖率等,基本上不涉其 ...

  5. Xilinx约束学习笔记(一)—— 约束方法学

    <Xilinx约束学习笔记>为自己阅读 Xilinx 官方 UG903 文档后的学习笔记,大多数为翻译得来,方便大家学习. 1 约束方法学 1.1 组织约束文件 Xilinx 建议将时序约 ...

  6. js学习笔记:webpack基础入门(一)

    之前听说过webpack,今天想正式的接触一下,先跟着webpack的官方用户指南走: 在这里有: 如何安装webpack 如何使用webpack 如何使用loader 如何使用webpack的开发者 ...

  7. PHP-自定义模板-学习笔记

    1.  开始 这几天,看了李炎恢老师的<PHP第二季度视频>中的“章节7:创建TPL自定义模板”,做一个学习笔记,通过绘制架构图.UML类图和思维导图,来对加深理解. 2.  整体架构图 ...

  8. PHP-会员登录与注册例子解析-学习笔记

    1.开始 最近开始学习李炎恢老师的<PHP第二季度视频>中的“章节5:使用OOP注册会员”,做一个学习笔记,通过绘制基本页面流程和UML类图,来对加深理解. 2.基本页面流程 3.通过UM ...

  9. 2014年暑假c#学习笔记目录

    2014年暑假c#学习笔记 一.C#编程基础 1. c#编程基础之枚举 2. c#编程基础之函数可变参数 3. c#编程基础之字符串基础 4. c#编程基础之字符串函数 5.c#编程基础之ref.ou ...

随机推荐

  1. ArrayList和LinkedList

    ArrayListArrayList其实是包装了一个数组 Object[],当实例化一个ArrayList时,一个数组也被实例化,当向ArrayList中添加对象是,数组的大小也相应的改变.这样就带来 ...

  2. bzoj3262

    三维裸的做法是一维排序,剩下树套树,可我好像还没写过树套树先说cdq分治吧,先对一维排序,相当于原来修改询问里的时间线在这上面分治.划分,计算前半部分对后半部分的影响,显然可以按第二维的顺序维护树状数 ...

  3. bzoj1823

    第一道2sat, 其实2sat问题不难,只要记住一个:通过“推导出”连边 什么意思呢?就是一般题目中的变量都有两个状态,只能取一个,我们定义为true和false 对于每一个变量i,我们都拆成两个点, ...

  4. .NET程序内,访问私有或者保护成员的技巧

    如果是C++,我们可以计算对象内成员的位置,然后偏移指针以访问类型的所有非公开成员.但是.NET对象完全受GC管理,地址根本无法得到,并且也无法通过指针调用方法. 当然... 这是一种很不值得推荐的技 ...

  5. ☀【window.self / window.parent / window.top】

    Js中的window.parent ,window.top,window.self 详解 √http://blog.csdn.net/zdwzzu2006/article/details/604763 ...

  6. 【转】关于usr/bin/ld: cannot find -lxxx问题总结

    原文网址:http://eminzhang.blog.51cto.com/5292425/1285705 /usr/bin/ld: cannot find -lxxx问题总结   linux下编译应用 ...

  7. InstallShield2008脚本安装制作方法Setup

    //=========================================================================== // //  File Name:    S ...

  8. __cdecl、__stdcall、__fastcall、thiscall 进栈、出栈区别

    https://en.wikipedia.org/wiki/X86_calling_conventions https://msdn.microsoft.com/en-us/library/984x0 ...

  9. C# using Sendkey function to send a key to another application

    If notepad is already started, you should write: // import the function in your class [DllImport (&q ...

  10. wuzhicms 发送邮件

    发送邮件 //邮件发送 $config = get_cache('sendmail'); $siteconfigs = get_cache('siteconfigs'); $password = de ...