干掉Vivado幺蛾子(2)-- 快速替换debug probes
我们做项目,进入找bug阶段时,需要用ILA捕获相关的信号。之前我做项目,每改动一次探针(debug probes),都要重新综合、实现,通常要花掉1个小时,一天下来调试不了两下就过去了,效率极其低下,因此也吐槽过vivado的编译时间问题。这两天无意从高老师的公众号中看了高效的方法,有种相见恨晚的感觉。因为从原来的1个小时,提升到了5-10分钟,感激涕零。
根据高老师的公众号的介绍,我自己手动操作一遍,记录一下相对详细的操作方法。
1. 什么是ECO
ECO 指的是Engineering Change Order ,即工程变更指令。目的是为了在设计的后期,快速灵活地做小范围修改,从而尽可能的保持已经验证的功能和时序。ECO 的叫法算是从IC 设计领域继承而来,其应用在FPGA设计上尚属首次,但这种做法其实在以往的FPGA 设计上已被广泛采用。简单来说, ECO 便相当于ISE 上的FPGA Editor 。但与FPGA Editor 不同, Vivado 中的ECO 并不是一个独立的界面或是一些特定的命令,要实现不同的ECO 功能需要使用不同的方式。
我们的操作环境就是在ECO模式下进行的。
2. 操作步骤
基于vivado 2016.4
- 打开布线DCP文件
经过综合、实现后的工程,会生产几个DCP文件,其中一个是布线文件(routed dcp)。通过“open Checkpoint”打开。

将vivado layout切换为ECO模式。

- replace debug probes
点击“ECO Navigator”栏中的“Replace Debug Probes”,会出现之前设计的ILA中的各种探针,一个探针代表一个观测信号。


选中要被替换的信号,右键点击“Edit Probes”或者点击最右侧的"铅笔"标志,会出现“Choose Nets”小窗口,查询需要用来替换的信号。
注意事项:最开始我直接搜索代码中的信号名,一直搜索不出来。结果忽视了综合、实现过程中,已将代码转换为网表,所以只能用schematic中的nets名来进行搜索。
查到nets之后,移向右侧。各种确定之后保存,这就完成了debug probes的替换工作。
- 生成新的bit 、ltx文件

在Navigator栏最下面保存、生成bit和ltx文件。就可以进行新的测试了。
关于ECO还有更多内容,包括手动布局、布线之类的,可以参考官方文档UG904。
参考文献:
- UG904;
- 《替换Debug Probes其实很简单》——高亚军;
干掉Vivado幺蛾子(2)-- 快速替换debug probes的更多相关文章
- 干掉Vivado幺蛾子(1)-- Xilinx Tcl Store
目录 1. 安装Xilinx Tcl Store 2. 手动更新 2.1 下载库 2.2 修改环境变量 参考文献: 最近在跟着高亚军老师的分析文章来学习Xilinx最近发布的<UltraFast ...
- 快速替换dll命名空间
时15年9月18日,闲来无事,更一博. 背景 三天前,Y公司为避免法律诉讼,需要将代码(包括dll)中有关老东家的命名空间全部改掉.现在我就将快速替换命名空间的方法一步步告诉大家,注意,此举不是为了 ...
- Python_内置函数之round的幺蛾子
pycharm运行结果 1 ret = round(0.5) print(ret) >>> 0 ret1 = round(1.5) print(ret1) >>> ...
- pycharm如何快速替换代码中的字符
使用快捷键: ctrl+r:快速定位到替换栏,选择要替换的关键字即可方面快捷,特别适用于重复造文字的代码编程上 废话不多少,上图说话硬气:
- 转载:vim的复制,删除,粘贴,块操作以及快速替换功能
掌握如下命令有什么好办法,我可以告诉你唯手熟尔!!多看多练对于VIM而言,复制,删除,粘贴的操作应该是非常多的.这次也做一个总结,关于处理VIM下的复制,删除,粘贴等操作.学会使用帮助文件,命令的帮助 ...
- 让现有vue前端项目快速支持多语言 - 用.net core程序快速替换中文为资源Key,咱不干体力活
前言 最近应公司上层要求,需要将现有项目尽快支持多语言,而中文内容可以找专业人员翻译.那么咱们说干就干,首先我们项目的前端是用vue写的spa程序且组件方面用的element ui,那么自然而然想到用 ...
- Sed+Grep 快速替换查找字段(批量替换字符串)
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl路径` 命令分解: grep 查找字段 -rl路径 列出”路径”中” 查找字段” 的所有文件 ...
- 快速替换dll命名空间 z
Step1:使用ildasm将代码反编译成il中间语言. 名字存贮为你想要的名字. Step2:用记事本打开il文件全局替换命名空间. Step3:使用ilasm将il文件编译成dll 按下回车即可生 ...
- js快速替换json里的key值
需求是将b根据a的值替换对象中的key值 let a = ["code","name","date","font"]; ...
随机推荐
- 关于在64位win7下运行Virtualbox安装系统时出错(提示VBoxDD.DLL错误)的解决方
安装没有问题,安装了最新版VirtualBox-4.3.18-96516-Win,一点运行想安装系统时就出错. 这是提示的错误: 运行Virtualbox去安装系统时出错:Failed to open ...
- HDFS Hbase
Hbase:Hbase是Hadoop的数据库,是bigtable的实现,基于HDFSHDFS:文件系统,是gfs的实现 Hive,Hbase,HDFS等之间的关系Hive:Hive不支持更改数据的操作 ...
- Jenkins一天中构建多次
Build after other projects are built:在其他项目触发的时候触发,里面有分为三种情况,也就是其他项目构建成功.失败.或者不稳定的时候触发项目: Poll SCM:定时 ...
- 商业级别Fortify白盒神器介绍与使用分析
转自:http://www.freebuf.com/sectool/95683.html 什么是fortify它又能干些什么? 答:fottify全名叫:Fortify SCA ,是HP的产品 ,是一 ...
- 洛谷 P3112 [USACO14DEC]后卫马克Guard Mark
题目描述 Farmer John and his herd are playing frisbee. Bessie throws the frisbee down the field, but it' ...
- Excel中使用VBA访问Access数据库
VBA访问Access数据库 1. 通用自动化语言VBA VBA(Visual Basic For Application)是一种通用自动化语言,它可以使Excel中的常用操作自动化,还可以创建自定义 ...
- 23-tcp协议——TIME_WAIT状态和FIN_WAIT2状态
23-tcp协议——TIME_WAIT状态和FIN_WAIT2状态 摘自:https://blog.csdn.net/qq_35733751/article/details/80146161 2018 ...
- 使用DBMS_SCHEDULER包管理计划任务
Dbms_scheduler是Oracle提供创建计划任务的包,任务类型可以是执行PL\SQL程序.执行外部脚本.调用操作系统命令,通常用于创建定期定时的任务,不依赖操作系统,保存在数据库内,数据库迁 ...
- Java Persistence with MyBatis 3(中文版) 第三章 使用XML配置SQL映射器
关系型数据库和SQL是经受时间考验和验证的数据存储机制.和其他的ORM 框架如Hibernate不同,MyBatis鼓励开发者可以直接使用数据库,而不是将其对开发者隐藏,因为这样可以充分发挥数据库服务 ...
- 设计模式(java)--中介者模式之同事的关联
转自:http://blog.csdn.net/zhengzhb/article/details/7430098 定义:用一个中介者对象封装一系列的对象交互,中介者使各对象不需要显示地相互作用,从而使 ...