您可在 Vivado 硬件管理器中自定义探针 , 将其用作为数据和 / 或触发器。如果探针参与触发或采集比较值 , 则应将其 配置为仅限“触发器”探针。这样即可最优化 ILA 核使用 BRAM 的方式。通常 , 如需采集探针数据 , 则应将其配置为 仅限“数据”探针。如果探针同时参与触发比较值并且还需采集其数据 , 则应将其配置为“触发器和数据”。 您可使用“设置调试 (Set up Debug) ” Wizard 来将探针配置为数据和 / 或触发器 , 如下图所示。 对于包含配置为仅限“数据”的探针的设计 , 如果在运行时对其执行器件编程 , 则将无法使用这些探针来配置触发或采 集设置条件。相反 , 在“ Waveform ”波形中 , 将无法使用配置为仅限“触发器”的探针。 配置所用比较器数量 在综合后网表上插入 ILA 核后 , 即可设置用于任意位置的比较器的数量 ( 范围为 1 到 16 ) 。要在 Vivado IDE 中设置比 较器数量 , 请转至 ILA 核的“调试核选项 (Debug Core Options) ”选项卡 , 并将 ALL_PROBE_SAME_MU_CNT 属性设 置为所期望的比较器数量。 或者 , 也可以在 Tcl 控制台中设置 ALL_PROBE_SAME_MU_CNT 属性 , 如下所示 : set_property ALL_PROBE_SAME_MU_CNT 10 [get_debug_cores u_ila_0] 提示 : 如果启用“采集控制 (Capture Control) ” , 则可选比较器数量范围是 1 到 15 个。有 1 个比较器供采集控 制数据筛选机制使用。 重要提示 ! 在 ILA 中无法使用插入流程来为不同探针设置不同数量的比较器。赛灵思建议您使用 HDL 例化流程 来为不同探针设置不同数量的比较器。 使用 XDC 命令来插入调试核 除了使用“设置调试 (Set up Debug) ” Wizard 外 , 您也可以使用 XDC 命令来创建、连接调试核并将其插入已综合的设 计网表。在 Tcl 控制台中输入 XDC 命令 , 并遵循以下步骤进行操作 : 1. 打开来自名为 synth_1 的综合运行的已综合的设计网表。 open_run synth_1 重要提示 ! 仅当打开已综合的设计网表后 , 以下步骤中的 XDC 命令才有效。 2. 创建 ILA 核的黑盒。 create_debug_core u_ila_0 ila 3. 设置 ILA 核的各属性。 set_property C_DATA_DEPTH 1024 [get_debug_cores u_ila_0] set_property C_TRIGIN_EN false [get_debug_cores u_ila_0] set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0] set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0] set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0] set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0] set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0] set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0] 4. 将 ILA 核的 clk 端口宽度设为 1 , 并将其连接到目标时钟信号线。 set_property port_width 1 [get_debug_ports u_ila_0/clk] connect_debug_port u_ila_0/clk [get_nets [list clk ]] 注释 : 您无需创建 ILA 核的 clk 端口 , 因为此端口将由 create_debug_core 命令自动创建。 重要提示 ! 调试核的所有调试端口名称均为小写。使用大写或混合大小写调试端口名称将导致出错。 5. 将 probe0 端口的宽度设置为您计划连接到此端口的信号线的数量。 注释 : 您无需创建 ILA 核的首个探测端口 (probe0) , 因为此端口将由 create_debug_core 命令自动创建 : set_property port_width 1 [get_debug_ports u_ila_0/probe0] 6. 将 probe0 端口连接到您想要连接到该端口的信号线。 connect_debug_port u_ila_0/probe0 [get_nets [list A_or_B]] 7. ( 可选 ) 创建更多探测端口、设置其宽度并将其连接到您要调试的信号线。 create_debug_port u_ila_0 probe set_property port_width 2 [get_debug_ports u_ila_0/probe1] connect_debug_port u_ila_0/probe1 [get_nets [list {A[0]} {A[1]}]] 如需获取有关这些 Tcl 命令以及有关其它相关 Tcl 命令的更多信息 , 请在 Vivado Design Suite 的 Tcl 控制台中输入 help -category ChipScope 。 运行调试 XDC 命令后保存约束 使用“设置调试 (Set up Debug) ” Wizard 、使用 Vivado Design Suite 创建调试核或调试端口和 / 或运行以下 XDC 命令 后 , 需保存约束 : • create_debug_core • create_debug_port • connect_debug_port • set_property ( 针对任意 debug_core 或 debug_port 对象 ) 对应 XDC 命令将保存到含后缀 _debug.xdc 的约束文件 , 并在实现期间 , 用于插入和连接调试核。 重要提示 ! 在工程模式下保存约束可能导致综合和实现步骤变为过期。但您无需重新综合设计 , 因为仅在实现期 间才使用这些调试 XDC 约束。您可通过选中“ Design Runs ”窗口、右键单击综合运行轮次 ( 例如 , synth_1 ), 然后单击“ Force up-to-date ”来强制将综合步骤更新至最新状态。 实现设计 完成插入、连接并自定义调试核后 , 即可着手实现设计 ( 请参阅“对包含调试核的设计执行实现” ) 。 在非工程模式下执行调试核插入 调试核可在工程模式或非工程模式下插入。以下 Tcl 脚本样本演示了如何在所探测的设计中创建调试核、设置调试核属 性以及将调试核探针连接到信号。在非工程模式下 , 调试核插入操作需在设计综合后且 opt_design 步骤前执行 , 如下 所示。 重要提示 ! 仅限 ILA 核才支持调试核插入。 以下 Tcl 脚本提供了在非工程流程中使用调试核插入命令的示例。 #read relevant design source files read_vhdl [glob ./*.vhdl] read_verilog [ glob ./Sources/*.v ] read_xdc ./target.xdc #Synthesize Design synth_design -top top -part xc7k325tffg900-2 #Create the debug core create_debug_core u_ila_0 ila #set debug core properties set_property C_DATA_DEPTH 1024 [get_debug_cores u_ila_0] set_property C_TRIGIN_EN false [get_debug_cores u_ila_0] set_property C_TRIGOUT_EN false [get_debug_cores u_ila_0] set_property C_ADV_TRIGGER false [get_debug_cores u_ila_0] set_property C_INPUT_PIPE_STAGES 0 [get_debug_cores u_ila_0] set_property C_EN_STRG_QUAL false [get_debug_cores u_ila_0] set_property ALL_PROBE_SAME_MU true [get_debug_cores u_ila_0] set_property ALL_PROBE_SAME_MU_CNT 1 [get_debug_cores u_ila_0] #connect the probe ports in the debug core to the signals being probed in the design set_property port_width 1 [get_debug_ports u_ila_0/clk] connect_debug_port u_ila_0/clk [get_nets [list clk ]] set_property port_width 1 [get_debug_ports u_ila_0/probe0] connect_debug_port u_ila_0/probe0 [get_nets [list A_or_B]] create_debug_port u_ila_0 probe #Optionally, create more probe ports, set their width, # and connect them to the nets you want to debug #Implement design opt_design place_design report_drc -file ./placed_drc_rpt.txt report_timing_summary -file ./placed_timing_rpt.txt route_design report_drc -file ./routed_drc_rpt.txt report_timing_summary -file ./routed_timing_rpt.txt write_bitstream
标签:触发器,set,XDC,get,ila,vivado,debug,property,调试 From: https://blog.csdn.net/cckkppll/article/details/137522628