Vivado开发工具熟悉之工具使用杂记
这两天基本完成了实验室工程从ISE向vivado的移植,包括了两片FPGA的两个工程,这两个工程还算是比较大的工程,包括了内存,接口,embedded system,算法模块等,在这过程中也很好的熟悉了vivado的开发流程,发现了一些很好用的工具。
首先从整体上对vivado这个工具有了更深入的认识,整个可以分为源代码的编辑(包括hdl代码的编辑,IP core的添加),这里有两个独立的工具,一个是IP integrator,其实就是生成block design用的,而这个block design往往是embedded system,采用图形化界面,最后是一个bd源文件,加上hdl的顶层wrapper;还有一个是RTL analysis,这个虽然我没有用,但是应该是和源代码编译相关的,这里有一个叫DRC(Design Rule Checks),其实就相当于以前ISE的synth check。这里因为是移植工程没有新的源代码的编辑,所以不了解这个编译器是否好用。
其次就是仿真,这里仿真不再是Isim,Xilinx重新编写了仿真工具,而且效率快很多,使用简便,点击对应testbench文件,run simulation就行。
再次就是synthesis步骤,这里每次synthesis结束之后,可以打开synth,对应着open synthesized design,这时候发现主界面原来是project manager,就变成了synth_1(对应implementation也是一样),synthesis结果打开之后,可以edit timing constraints,可以report timing summary,这个都是一个初步的结果,流程和implementation之后一致,这里就不在介绍了,一般我们都看implementation的结果。
最后就是implementation步骤,implementation结束后也是会在原来project manager这里出现一个impl_1,其实里vivado设计是可以允许打开多个impl设计的,这样可以方便对比不同设计的结果,并进行优化,提高优化的效率。
这里重点觉得好用的是open implementation design下面的几个小工具(前一篇文章都提到过用法),首先report clock network可以一目了然的看到都有哪些时钟约束,这个我觉得应该是优化时序的时候首先要做的,或者说在编辑约束文件结束后,准备布线是首先需要看的,保证时钟约束没有遗漏和问题;
report clock interaction,这个是为跨时钟域约束准备的工具,之前也给出了一个示例图,其实感觉用处也不大,看起来费劲;
report timing summary,其实这个才是常用的工具,他不仅可以查看静态时序分析报告,这是最基本的功能,关键是他的时序分析中,列出了单时钟的路径,跨时钟域的路径,异步时钟域跨时钟域路径,很清晰,这时候再看错误的路径就很清楚的了解到其所在的位置,然后点击错误的路径,可以在device中打开,双击可以列出详细的路径描述(和ISE中里面的static timing analysis一样)。这里device其实就是之前的plan ahead,其实可以根据此进行手动布线(但是感觉真正还是用的少,还是得想办法代码优化);最后还可以右键点击错误路径直接添加约束,这个适合于单个false path没有约束到,以及跨时钟约束没有约束到的情景。建议的使用方式是剪切其界面里给出的tcl约束代码,然后复制到xdc约束文件中,这样快一些。
讲了半天还是时序约束相关的多一点。毕竟这个是高级功能。
转载:https://blog.csdn.net/celery1124/article/details/42805613
Vivado开发工具熟悉之工具使用杂记的更多相关文章
- 4. web前端开发分享-css,js工具篇
web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io, ...
- Xamarin For Visual Studio 3.0.54.0 完整离线破解版(C# 开发Android、IOS工具 吾乐吧软件站分享)
Xamarin For Visual Studio就是原本的Xamarin For Android 以及 Xamarin For iOS,最新版的已经把两个独立的插件合并为一个exe安装包了.为了区分 ...
- web前端开发分享-css,js工具篇
web前端开发乃及其它的相关开发,推荐sublime text, webstorm(jetbrains公司系列产品)这两个的原因在于,有个技术叫emmet, http://docs.emmet.io, ...
- Xamarin Mono For Android 4.6.07004 完整离线安装破解版(C#开发Android、IOS工具)
Xamarin是由Miguel de Icaza成立的一家新的独立公司,目的是给Mono一个继续奋斗的机会.Mono for Android (原名:MonoDroid)可以让开发人员使用 Mic ...
- Android高手速成--第四部分 开发工具及测试工具
第四部分 开发工具及测试工具 主要介绍和Android开发工具和测试工具相关的开源项目. 一.开发效率工具 Json2Java根据JSon数据自动生成对应的Java实体类,还支持Parcel.Gson ...
- fir.im Weekly - 17 个提升 iOS 开发效率的必备工具
本期 fir.im Weekly 精选了一些iOS 开发工具和动画源码分享,希望每个开发者能专注效率.实用.灵感. iOS开发工具--如何优化ipa包大小 @iOS程序犭袁 推荐了关于"如 ...
- ocket.chat 使用 Meteor 开发的实时协作工具,类似 丁丁。
ocket.chat 使用 Meteor 开发的实时协作工具,类似 丁丁. https://rocket.chat/
- 传智播客C/C++各种开发环境搭建视频工具文档免费教程
传智播客作为中国IT培训的领军品牌,一直把握技术趋势,给大家带来最新的技术分享!传智播客C/C++主流开发环境免费分享视频文档中,就有写一个helloworld程序的示范.火速前来下载吧 所谓&quo ...
- MIP开发教程(一) MIP-CLI工具安装与环境部署
依赖安装 安装 MIP-CLI 创建开发文件结构 1. 依赖安装 MIP-CLI 使用 NPM 安装,依赖 node 环境: node 安装-windows node 安装-mac MIP-CLI 开 ...
随机推荐
- 7.Django|分页器
Django的分页器paginator 文件为pageDemo models.py from django.db import models # Create your models here. cl ...
- IdentityServer4-EF动态配置Client和对Claims授权(二)
本节介绍Client的ClientCredentials客户端模式,先看下画的草图: 一.在Server上添加动态新增Client的API 接口. 为了方便测试,在Server服务端中先添加swagg ...
- 聊聊kafka结构
因为kafka用到的地方比较多,日志收集.数据同步等,所以咱们来聊聊kafka. 首先先看看kafaka的结构,producer将消息放到一个Topic然后push到broker,然后cosumer从 ...
- 网络爬虫之scrapy爬取某招聘网手机APP发布信息
1 引言 过段时间要开始找新工作了,爬取一些岗位信息来分析一下吧.目前主流的招聘网站包括前程无忧.智联.BOSS直聘.拉勾等等.有段时间时间没爬取手机APP了,这次写一个爬虫爬取前程无忧手机APP岗位 ...
- 运行程序,解读this指向---case2
片段1 var anum = 666; function funcTest1(){ var b = anum * 2; var anum = 6; var c = anum / 2; console. ...
- 每日踩坑 2019-04-09 Web.config configuration 蓝色波浪线 未声明 configuration 标签的解决办法
百度看了几篇答案都没有给出解决方案,看了看 MSDN. https://docs.microsoft.com/zh-cn/previous-versions/ms228147(v=vs.110) 似乎 ...
- BZOJ.1299.[LLH邀请赛]巧克力棒(博弈论 Nim)
题目链接 \(Description\) 两人轮流走,每次可以从盒子(容量给定)中取出任意堆石子加入Nim游戏,或是拿走任意一堆中正整数个石子.无法操作的人输.10组数据. \(Solution\) ...
- php get_magic_quotes_gpc()函数使用
magic_quotes_gpc函数在php中的作用是判断解析用户提示的数据,如包括有:post.get.cookie过来的数据增加转义字符"\",以确保这些数据不会引起程序,特别 ...
- 【11.5校内测试】【倒计时5天】【DP】【二分+贪心check】【推式子化简+线段树】
Solution 非常巧妙的建立DP方程. 据dalao们说题目明显暗示根号复杂度??(反正我是没看出来 因为每次分的块大小一定不超过$\sqrt n$,要不然直接每个位置开一个块答案都才为$n$. ...
- eclipse如何更改webroot
在项目上右击-->点击属性-->点击web project Setting