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 来插入调试核”以了解
详细信息
  • 29
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cckkppll

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值