vivado 使用网表插入调试探测流程

使用网表插入调试探测流程
Vivado 工具中插入调试核的过程以分层方式来演示 以应对多样化的 Vivado 用户组的不同需求
• 最高层是根据选定调试的一组信号线来自动创建并配置 Integrated Logic Analyzer (ILA) 核的简单向导。
• 下一层是“ Debug ”主窗口 此窗口支持控制个别调试核、端口及其属性。从“布局选择器 (Layout Selector) ”或
“布局 (Layout) ”菜单中选择“ Debug ”布局以打开“已综合的设计 (Synthesized Design) ”时即可显示“ Debug
窗口 或者也可以使用“ Window ” → “ Debug ”来直接打开此窗口。
• 最底层是一组 Tcl XDC 调试命令 您可在 XDC 约束文件中手动输入这些命令 或者也可以将其作为 Tcl 脚本来进行
重复运行。
您也可将多种模式组合使用 以插入和自定义调试核。
标记要调试的 HDL 信号
您可在综合前使用 mark_debug 约束在 HDL 源代码级别识别要调试的信号。在“调试 (Debug) ”窗口中的“未分配的
调试信号线 (Unassigned Debug Nets) ”文件夹下 会自动列出对应于 HDL 中标记调试的信号的信号线。
注释 在“ Debug ”窗口中 “调试信号线 (Debug Nets) ”视图是主要围绕信号线的视图 其中显示了您选中调试的信
号线。“调试核 (Debug Cores) ”视图则是主要围绕核的视图 您可在其中查看和设置核属性。
标记调试的信号线的过程取决于您当前正在处理基于 RTL 源代码的工程还是基于已综合的网表的工程。对于基于 RTL
网表的工程
• 通过使用 Vivado 综合功能 您就可以有选择性地使用 VHDL Verilog 源文件中的 mark_debug 约束来标记要调试
HDL 信号。 mark_debug 约束的有效值为“ TRUE ”或“ FALSE ”。 Vivado 综合功能不支持“ SOFT ”值。
对于基于已综合的网表的工程
• 通过使用 Synopsys ® Synplify ® 综合工具 您就可以有选择性地使用 VHDL Verilog 中的 mark_debug syn_keep
约束来标记要调试的信号线 或者也可以使用 Synopsys 设计约束 (SDC) 文件中的 mark_debug 约束来进行标记。
Synplify 不支持“ SOFT ”值 因为此行为由 syn_keep 属性来控制。
• 通过使用 Mentor Graphics ® Precision ® 综合工具 您就可以有选择性地使用 VHDL Verilog 中的 mark_debug
束来标记要调试的信号线。
以下小节提供了适用于 Vivado 综合、 XST Synplify Precision 源文件的语法示例。
图标和 ILA
• 空心绿色图标 表示已设置 MARK_DEBUG 属性但并未连接到任何 ILA 核的信号线。
• 实心绿色图标 表示已设置 MARK_DEBUG 属性并且已连接到 ILA 核的信号线。
• 黄色图标 表示信号线上未设置 MARK_DEBUG 但此信号线已连接到 ILA 核。
Vivado 综合 mark_debug 语法示例
以下是使用 Vivado 综合时的 VHDL Verilog 语法示例。
VHDL 语法示例
attribute mark_debug : string;
attribute mark_debug of char_fifo_dout: signal is "true";
Verilog 语法示例
(* mark_debug = "true" *) wire [7:0] char_fifo_dout;
Synplify mark_debug 语法示例
以下是适用于 VHDL Verilog SDC Synplify 语法示例。
VHDL 语法示例
attribute syn_keep : boolean;
attribute mark_debug : string;
attribute syn_keep of char_fifo_dout: signal is true;
attribute mark_debug of char_fifo_dout: signal is "true";
Verilog 语法示例
(* syn_keep = "true", mark_debug = "true" *) wire [7:0] char_fifo_dout;
SDC 语法示例
define_attribute {n:char_fifo_din[*]} {mark_debug} {"true"}
define_attribute {n:char_fifo_din[*]} {syn_keep} {"true"}
重要提示 SDC 源代码中的信号线名称必须使用“ n: ”限定符作为前缀。
注释 Synopsys 设计约束 (SDC) 是业内普遍接受的标准 用于将设计意图告知工具 主要用于时序分析。请访问以
下网址注册 TAP-in 程序即可获取 Synopsys 所提供的 SDC 规范的参考副本 https://www.synopsys.com/
Community/Interoperability/Pages/TapinSDC.aspx
Precision mark_debug 语法示例
以下是使用 Precision 时的 VHDL Verilog 语法示例。
VHDL 语法示例
attribute mark_debug : string;
attribute mark_debug of char_fifo_dout: signal is "true";
Verilog 语法示例
(* mark_debug = "true" *) wire [7:0] char_fifo_dout;
对设计执行综合
下一步是在 Vivado Design Suite 中单击“ Run Synthesis ”或者运行以下 Tcl 命令来对包含调试核的设计执行综合
launch_runs synth_1
wait_on_run synth_1
您也可以使用 synth_design Tcl 命令来对设计执行综合。如需了解有关各种设计综合方法的更多详细信息 请参阅
Vivado Design Suite 用户指南 综合》 ( UG901 )
在已综合的设计中标记要调试的信号线
Flow Navigator 中单击“ Open Synthesized Design ”打开已综合的设计 然后选择“ Debug ”窗口布局以查看“调
(Debug) ”窗口。这样会在“ Debug ”窗口中的“未分配的调试信号线 (Unassigned Debug Nets) ”文件夹下显示对应
于带调试标记的 HDL 信号的所有信号线。
• 选中任一设计视图 例如 Netlist ”或“ Schematic ”窗口 中的信号线 然后右键单击选择“ Mark Debug ”选
项。
• 选中任一设计视图中的信号线 然后将其拖放到“ Unassigned Debug Nets ”文件夹中。
• 在“ Set up Debug Wizard 中使用信号线选择器 请参阅“使用‘ Set Up Debug Wizard 来插入调试核”以了解
详细信息

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

File,IO流,递归详解

File类 介绍 java.io.File类是Java语言提供了用来描述文件和目录(文件夹)的 构造 方法 注意: 构造方法中通常用的是第一个方法文件和目录可以通过File封装成对象File封装的对象仅仅是一个路径名,它是可以存在的,也可以不存在 绝对路径…

【二分查找】Leetcode x 的平方根

题目解析 69. x 的平方根 这道题表面是没有顺序性,但是我们可以发现如果使用枚举策略,它是包含顺序性质的,因此我们将枚举算法改进成二分算法 算法讲解 我们让left指针指向1, right指针指向x 如果当前的mid计算出来的平方 &g…

什么是商家转账到零钱

商家转账到零钱是什么? 通过商家转账到零钱这个功能,如果我们系统需要对用户支付费用,比如发放佣金、提成、退款之类的,可以直接转账到用户的微信零钱。 【商家转账到零钱】是【企业付款到零钱】的升级版,2022年5月1…

怀俄明探空站数据解算PWV和Tm

1. Matlab 获取代码可关注公众号WZZHHH回复(怀俄明探空站数据解算PWV和Tm),或者咸鱼关注:WZZHHH123 怀俄明探空站数据解算PWV和Tm: 有关 Matlab 获取代码可关注公众号WZZHHH回复(怀俄明多线程下载&#…

语音助手背后的魔法:一文揭秘NLP在智能助手中的应用

自然语言处理(NLP)正逐渐渗透到我们生活的每一个角落。在今天的大盘点中,我们将深入探索NLP在实际生活场景中的多样化应用,以及它在各个案例中所展现出的强大能力。 NLP技术如今已成为智能生活的关键驱动力,它让机器能…

wordpress全站开发指南-面向开发者及深度用户(全中文实操)--php数组与基本循环

php数组与基本循环 <?php$myName"xixi";$namesarray(xixi1,xixi2,xixi3); ?> <p> Hi ,my name is <?php echo $myName; ?> </p> <p> Hi,my name is <?php echo $names[0] ?> </p> <p> Hi,my name is <?…

Open CASCADE学习|放样建模

在CAD软件中&#xff0c;Loft&#xff08;放样&#xff09;功能则是用于创建三维实体或曲面的重要工具。通过选取两个或多个横截面&#xff0c;并沿这些横截面进行放样&#xff0c;可以生成复杂的三维模型。在CAD放样功能的操作中&#xff0c;用户可以选择不同的选项来定制放样…

创新数智化全场景福利解决方案,打造极致员工体验

众所周知&#xff0c;企业面临两个市场&#xff0c;一个是前端的产品&#xff08;服务&#xff09;市场&#xff0c;面对的是客户&#xff0c;另一个便是后端市场&#xff0c;即愈来愈烈的人才市场。在风云变幻、人潮涌动的知识经济时代&#xff0c;员工已成为企业未来的竞争关…

Linux_进程通信_管道_system V共享内存_6

文章目录 一、进程通信分类二、管道1.什么是管道1.原理2.管道的特点 2.匿名管道3.命名管道1.创建命名管道文件 - mkfifo (命令)2.创建命名管道文件 - mkfifo (函数) 三、system V共享内存1.原理2.共享内存函数1.fotk2.shmget1.如何知道有哪些IPC资源 - ipcs &#xff08;命令&a…

河海大学-海洋学院2024年硕士研究生调剂通知

一、调剂专业及计划具体调剂专业及计划可参见河海大学研究生院官网《河海大学2024年硕士研究生调剂通知》和附件。 二、调剂报名与复试要求 1.报名条件&#xff1a;调剂原则见《河海大学202 4年硕士研究生调剂通知》&#xff0c;详细要求见中国研究生招生信息网“全国硕士研究…

Mysql密码修改问题

docker安装mysql&#xff0c;直接拉取镜像&#xff0c;挂载关键目录即可启动&#xff0c;默认3306端口。此时无法直接连接&#xff0c;需要配置密码。docker进入mysql容器中 docker exec -it mysql bash #mysq是容器名称&#xff0c;也可以用容器id通过修改mysql的配置进行免密…

Unity类银河恶魔城学习记录12-7-1 p129 Craft UI - part 1源代码

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili UI_CraftList.cs using System.Collections; using System.Collections.Gen…

Vue基础知识:Vue路由——重定向,以及?(可选符)的使用

当网页打开时&#xff0c;url默认是/路径&#xff08;根路径&#xff09;&#xff0c;未匹配到组件时&#xff0c;会出现空白&#xff0c;为了解决这个问题 就要利用重定向 重定向&#xff1a;匹配path后&#xff0c;强制跳转path路径 重定向的语法&#xff1a; {path:匹配…

【Linux】使用cloudreve搭建个人网盘并传输文件

Cloudreve 是一个开源的个人网盘系统&#xff0c;能够帮助用户搭建属于自己的私有云存储服务。它支持多种存储后端&#xff0c;包括本地存储、远程FTP/SFTP存储、以及云存储服务如阿里云OSS、腾讯云COS和Amazon S3等。Cloudreve具有友好的用户界面和丰富的功能&#xff0c;比如…

如何使用开源情报跟踪一个人?在线访问网站以及使用方法介绍

如何使用开源情报跟踪一个人&#xff1f;在线访问网站以及使用方法介绍。 开源情报&#xff08;OSINT&#xff09;是一门关于收集和分析公开可用信息的独特技艺&#xff0c;它致力于构建个人或团体的详尽档案。 这一过程中&#xff0c;信息搜集者会利用多元化的信息源&#xff…

SQLite 查询优化器概述(九)

返回&#xff1a;SQLite—系列文章目录 上一篇&#xff1a;SQLite中的隔离(八&#xff09; 下一篇&#xff1a;SQLite下一代查询规划器(十&#xff09; 1. 引言 本文档概述了查询规划器和优化器如何 用于 SQLite 工作。 给定一个 SQL 语句&#xff0c;可能有几十个、几百…

Java: LinkedList的模拟实现

一、双向链表简介 上一篇文章我介绍了单向链表的实现&#xff0c;单向链表的特点是&#xff1a;可以根据上一个节点访问下一个节点&#xff01;但是&#xff0c;它有个缺点&#xff0c;无法通过下一个节点访问上一个节点&#xff01;这也是它称为单向链表的原因。 那么&#x…

C++面向对象程序设计 - 共用数据的保护(常对象、常指针和常引用)

C虽然采取了不少有效的措施&#xff08;如设private保护&#xff09;以增加数据的安全性&#xff0c;但是有些数据却往往是共享的&#xff0c;例如实参与形参&#xff0c;变量与其引用&#xff0c;数据与其指针等&#xff0c;人们可以在不同的场合通过不同的途径访问同一个数据…

【QT+QGIS跨平台编译】056:【pdal_arbiter+Qt跨平台编译】(一套代码、一套框架,跨平台编译)

点击查看专栏目录 文章目录 一、pdal_arbiter介绍二、pdal下载三、文件分析四、pro文件五、编译实践一、pdal_arbiter介绍 pdal_arbiter是 PDAL 项目的一个库,用于帮助管理应用程序运行在 EC2 实例上的 AWS 凭证。 当应用程序需要调用 AWS API 时,它们必须使用 AWS 凭据对 AP…

AI预测福彩3D第28弹【2024年4月6日预测--第7套算法重新开始计算第1次测试】

今天开始&#xff0c;咱们开始进行第7套算法的测试&#xff0c;第7套算法将综合012路权重、012路直选及012路和值进行预测。好了&#xff0c;先上图后上结果吧~ 2024年4月6日福彩3D的七码预测结果如下 第一套&#xff1a; 百位&#xff1a;1 2 4 5 7 8…