Vivado抓信号——提高效率的工具化生成XDC(Python脚本)

操作目录

    • 一、要抓取信号的txt列表
    • 二、操作流程

通常情况下,Vivado上板抓取信号的方法主要有两类:

(1)通过在信号前添加(mark_debug=“true”),综合完之后点击Set Up Debug,将需要抓取的信号添加进去,之后生成bit。
在这里插入图片描述

在这里插入图片描述

(2)通过添加ila核,将需要抓取的信号添加到例化的ila核中,具体可见以下链接:

vivado 抓取信号:mark debug 和 ILA

上面两种方法在实际使用中都相对比较麻烦,第一种需要先对需要抓取的信号添加(mark_debug=“true”),虽然大部分情况下不需要,但是经常会有未添加(mark_debug=“true”)的信号找不到的情况;添加完之后跑综合,然后再Set up Debug,之后手动拖动信号,之后等待加载然后保存。

这一套操作下来很费时间,第二种例化ila核相对来说会方便很多,但也需要对ila的IP核进行设置。

因此,考虑到提高抓取信号的效率,思考Set up Debug背后的本质其实就是生成了对应的XDC文件内容,于是想到可以通过根据我想抓取的信号列表,自动生成对应的XDC文件,于是就有了这样的一个基于Python开发的工具。

下面给出如何使用本工具的介绍,包括操作流程以及所需要提前准备的信号列表模板:

一、要抓取信号的txt列表

txt列表模板如下:

在这里插入图片描述

具体如下:

第1行:clk(固定为clk不可修改) 时钟名称1 产生本时钟的模块例化名1

三者之间要以空格隔开

第2行:要抓取信号所在模块的例化名

第3/4行:要抓取的信号(建议在要抓取的信号前添加(mark_debug=“true”),以免无法找到该信号);

格式为以下几种:
output reg signal;
output reg [x:0] signal;
output [x:0] signal;
input signal;
input [x:0] signal;
reg [x:0] signal;
reg signal;
wire [15:0] signal;
wire signal;

需要注意各部分之间要至少有一个空格(如output和[x:0]之间,[x:0]和reg之间,reg和signal之间),并且在信号名之后要紧接一个分号“;”

若在本时钟域下还有另一个模块的信号要抓取,可以再新开一行写上模块例化名,再写上要抓取的信号

第5行:本时钟域下另一个模块的例化名

第6/7/8行:要抓取的信号;

若有另一个时钟域下的信号要抓取,需要按照上述步骤添加,示例如下:

第9行:clk 时钟名称2 产生本时钟的模块例化名2

第10行:要抓取信号所在模块的例化名

第11/12/13行:要抓取的信号;

第14行:clk 时钟名称3 产生本时钟的模块例化名3

第15行:要抓取信号所在模块的例化名

第16/17行:要抓取的信号;

二、操作流程

(1)首先建立一个文件夹(我这里是scripts,并且放在了工程文件夹下),之后建立一个名为ila_set.txt的文本文件(必须为这个名字)。
在这里插入图片描述

(2)运行给出的ila.exe,选择Vivado.bat的路径、之前新建的用于存放ila_set.txt的文件夹路径、以及工程文件xpr的路径,并且根据是否需要使用vio选择有无vio以及vio时钟的名称

在这里插入图片描述

(3)选择完成之后点击开始生成,ila_set.tcl生成后打开之前的文件夹(上文的scripts),打开ila_set.tcl文件,便得到了需要的xdc文件。

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

(4)之后只需将其复制到xdc文件中即可开始生成bit。

以上流程看似繁琐,其实在熟悉之后很方便,相对于第一种方法节省了等待其跑综合、手动拖动信号的时间,并且可以将txt文件保存下来之后只需要修改txt如何生成xdc,再运行bit生成,总体来说还是相对方便一些。

请注意一定要严格按照上文流程!!!

exe和python源码放到下面的链接里:

ila.exe及ila.python源码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/537293.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

linux学习:文件类型、文件操作、系统IO、内存映射

目录 文件类别 文件操作 系统 IO 头文件 打开文件 关闭文件 文件描述符 读写 例子 拷贝文件 偏移量 其他接口 mmap()映射 文件类别 普通文件(regular):存在于外部存储器中,用于存储普通数据。目录文件(d…

蓝桥杯,,,,,,

辗转相除求最大公约数 #include<iostream> using namespace std;int gcd(int a, int b)//求最大公约数&#xff0c;如果返回值为1&#xff0c;最大公约数只有1&#xff0c;为所求 {return b ? gcd(b, a % b) : a; } int main() {int count 0;for(int i1;i<2020;i)f…

进口PFA容量瓶高纯透明聚四氟乙烯材质耐强酸碱PFA定容瓶

PFA容量瓶&#xff0c;也叫特氟龙容量瓶&#xff0c;是用于配制标准浓度溶液的实验室器皿&#xff0c;是有着细长颈、梨形肚的耐强腐蚀平底塑料瓶&#xff0c;颈上有标线&#xff0c;可直接配置标准溶液和准确稀释溶液以及制备样品溶液。 因其有着不易碎、材质纯净、化学稳定性…

Unity Android后处理AO报错

整体流程&#xff1a; 1.添加AO效果 2.Mode 选择 Multi-scale Volumetric Occlusion 3.保证Project Settings - Player - Other Settings - Rendering - Graphic API 内包含 Vulkan 原因&#xff1a; 1.Post Processing文档&#xff1a;https://docs.unity3d.com/Packages/…

探索点云与KD-Tree配对的方法

比较点云是处理和分析点云数据的关键步骤。然而,由于各个扫描之间固有的差异,无法进行逐点比较。因此,点云分析的第一步也是主要步骤是将点配对以进行有意义的比较。 配对点是区分表面变形和运动分析的关键任务。这个过程不仅为变形分析提供了见解,还使我们能够通过比较不…

如何用 Readwise Reader 定制提示词 AI 自动辅助处理信息?

抵御「信息过载」&#xff0c;你需要这样的利器。 痛点 知识工作者的痛点是非常明显的——如果你是一名老师、学生&#xff0c;或是平时需要跟许多资料打交道的人&#xff0c;想必你会经历过信息过载。 信息过载有时候不仅是数量问题&#xff0c;还是一个类型问题。很多不同的信…

【话题】AI技术创业有那些机会,简单探讨下

大家好&#xff0c;我是全栈小5&#xff0c;欢迎阅读小5的系列文章&#xff0c;这是《话题》系列文章 目录 背景机会一、引言二、AI技术的创业机遇1.智能服务行业的兴起2.数据驱动的业务模式创新3.AI与产业融合的创新发展 三、AI技术创业的挑战1.技术门槛高2.法规政策的不确定性…

奎芯科技:智能时代的芯片上游企业如何突破?

半导体IP&#xff08;Intellectual Property&#xff0c;知识产权&#xff09;&#xff0c;通常也称作IP核&#xff08;IP core&#xff09;&#xff0c;指芯片设计中预先设计、验证好的功能模块&#xff0c;主要服务于芯片设计&#xff0c;因部分通用功能模块在芯片中被反复使…

03-JAVA设计模式-享元模式

享元模式 什么是享元模式 享元模式&#xff08;Flyweight Pattern&#xff09;是一种对象结构型设计模式&#xff0c;用于减少创建对象的数量&#xff0c;以减少内存占用和提高系统性能。它通过共享已经存在的对象来避免创建大量相似的对象&#xff0c;从而降低内存消耗。 在…

SAP 计划策略82简介

前面的文章中我们已经测试了很多才策略,10、11、40、50、70、60、63 80策略。 本文将重点说明ATO模式下82策略的使用场景,计划策略82是SAP提供的另一种基于按单生产思想的计划策略,由客户的需求来直接驱动直接生产,是一个按单生产的场景。 1、首先我们先看下系统后台82策略…

为什么都在做白银投资?略谈现货白银的投资优势

在各种主要的投资产品中&#xff0c;现货白银可以说是比较具有优势的一种。近期现货白银价格不断攀升&#xff0c;已经突破了28.00大关&#xff0c;这更是引起了很多朋友对现货白银投资的兴趣。下面我们就来讨论一下&#xff0c;现货白银的投资优势有哪些。 交易灵活。投资现货…

嵌入式岗位“面试失败”的宝贵经验分享

面试失败&#xff0c;在所难免。从中汲取教训和经验才最关键。面试并不只是用人单位挑选应聘者&#xff0c;同样也是应聘者从面试中获取相关工作信息的好渠道。 1.每面完一次试&#xff0c;认真回顾整个面试 很多人面试一出来&#xff0c;就像考完一场试一样&#xff0c;把…

专访安霸CEO王奉民:怎么帮助OEM在智驾上和特斯拉竞争

采访| 德新 撰文| 苗岭 整个2023年&#xff0c;安霸CEO王奉民两次到访中国&#xff0c;一次是参加上海车展&#xff1b;另一次&#xff0c;他拜访了所有能约上的主机厂及Tier 1客户。 王奉民积极地出现在国内&#xff0c;跟安霸当前押注汽车领域有关。 这家成立于2004年的芯…

鸿蒙内核源码分析 (物理内存篇) | 怎么管理物理内存

如何初始化物理内存&#xff1f; 鸿蒙内核物理内存采用了段页式管理&#xff0c;先看两个主要结构体。结构体的每个成员变量的含义都已经注解出来&#xff0c;请结合源码理解. #define VM_LIST_ORDER_MAX 9 //伙伴算法分组数量&#xff0c;从 2^0&#xff0c;2^1&#…

我的小程序接口被刷爆了

自然流量的惊喜 书接上文&#xff0c;凭着短视频的好奇&#xff0c;搭了个小程序&#xff0c;做了文案提取&#xff0c;配音等功能&#xff0c;也顺带写了两篇口水文章&#xff0c;不曾想居然收获历史最高的点赞与收藏。有兴趣的朋友可以点这里一看究尽&#xff1a;《短视频配音…

ZL-WK-4五孔注意力测试系统

简单介绍&#xff1a; 五孔注意力测试系统基于视觉上的辨别力&#xff0c;通过运行5-CSRTT任务(5-choice serial reaction time task)&#xff0c; 测试动物的注意力、冲动性(impulsivity)等一系列行为学指标&#xff0c;主要用于注意力缺失/多动综合症(attention deficit/hype…

若依框架判断是否关闭了某个页面,或者在关闭某个页面进行操作

src\plugins\tab.js // 关闭指定tab页签closePage(obj) {console.log(obj,obj)if (obj undefined) {return store.dispatch(tagsView/delView, router.currentRoute).then(({ lastPath }) > {return router.push(lastPath || /);});}if(obj.fullPath "/plugin/workfl…

RabbitMQ消息模型之Fanout消息模型

Fanout消息模型 * 广播模型&#xff1a;* 一个交换机绑定多个队列* 每个队列都有一个消费者* 每个消费者消费自己队列中的消息&#xff0c;每个队列的信息是一样的生产者 package com.example.demo02.mq.fanout;import com.example.demo02.mq.util.ConnectionUtils; impor…

2023年金融贷款骗局套路之一

源地址&#xff1a;2023年金融贷款骗局套路之一_预防网贷套路_计算机技术网 随着无卡消费的日夜流行&#xff0c;三年疫情出现&#xff0c;钱难寻&#xff0c;难找的尴尬境地&#xff0c;贷款骗局也出现不少。今天我们讲讲最近很流行的贷款骗局之一中的一种贷款骗局。 在平常…