主页 > 软件开发  > 

ZYNQ硬件调试-------day2

ZYNQ硬件调试-------day2

ZYNQ硬件调试-------day2 1.ILA(Integrated Logic Analyzer ) 监控逻辑内部信号和端口信号;可以理解为输出。可单独使用 2.VIO(Virtual Input/Output ) 实时监控和驱动逻辑内部信号和端口信号,可以理解为触发输入。不可单独使用 3.添加ILA核的几种方法 调用ILa进行仿真步骤: 双击3处弹出如下选项: 在“General Options”页面中, “Number of Probes” 一栏用于设置所需的探针数量,一般地,一个探针用于连接一个待测信号,例如,我们想要观察“sys_rst_n”、“led” 和“cnt” 这三个信号,则需要把“Numberof Probes” 设置为 3; 点击第二选项: 在“Probe_Ports(0…0)” 页面中,用于设置每个探针的参数,一般我们只需设置探针宽度“Probe Width[1…4096]”一栏即可,由于“sys_rst_n”、“led” 和“cnt” 这三个信号的位宽分别是 1 位、 2 位和 26 位,所以我们需要将其分别设置为 1、 2 和 26,然后点击“OK”按钮即可。 编译完成后如下图所示: 拷贝例程中的代码: 我们将 ILA 的时钟连接到了顶层时钟 sys_clk 信号上, probe0 探针连接到了 sys_rst_n, probe1 探针连接到了 led, probe2 探针连接到了 cnt。 代码修改完成后如下图所示: 保存源文件之后就可以直接综合并实现设计,最后生成比特流。 可设置选择的进制: 从左至右依次是:(1)自动触发开关、(2)开始触发、(3)立即触发、(4)停止触发。 立即触发,立即将当前 ILA RAM 中的数据上传到 Vivado,而不管触发条件是否得到满足。 移除调试代码: 将添加的代码屏蔽,将iLa文件移除工程重新进行比特流编译即可。 2.网表插入调试探针流程:

(mark_debug = “true”)reg [25:0] cnt ; 其中“(* mark_debug = “true” *)”必须紧挨在变量声明的前面。这样,在综合完成之后并打开综合后的设计时, cnt 信号就自动被标记了“Mark Debug”属性。此外,被添加了(*mark_debug = “true” *)属性的 reg或 wire 信号不会被工具优化掉。 生成完成后:在XDC文件中会自动增加如下代码:

实现效果如下所示:

标签:

ZYNQ硬件调试-------day2由讯客互联软件开发栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“ZYNQ硬件调试-------day2