花生壳怎么做网站,营销方案案例范文通用,企业做网站得多少钱,网站备案信息修改目录 1简介2 添加观测信号的几种方法2.1 通过定制IP核添加2.2 通过约束文件添加2.3 通过GUI生成DEBUG约束文件2.4 两种方法的优点与缺点 3在线调试方法3.1 器件扫描设置3.2 触发条件设置3.3 触发窗口设置3.4 采样过程控制 4常见问题4.1 时钟域的选择4.2 缺少LTX文件4.3 ILA无时… 目录 1简介2 添加观测信号的几种方法2.1 通过定制IP核添加2.2 通过约束文件添加2.3 通过GUI生成DEBUG约束文件2.4 两种方法的优点与缺点 3在线调试方法3.1 器件扫描设置3.2 触发条件设置3.3 触发窗口设置3.4 采样过程控制 4常见问题4.1 时钟域的选择4.2 缺少LTX文件4.3 ILA无时钟 参考文档 1简介
在FPGA开发过程中实时抓取信号进行观测是一种必不可少的问题分析手段。通常厂家会提供一种通过JTAG互联逻辑资源定制的实时记录信号的调试手段。 通过阅读本文您可以了解到针对VIVADO开发工具的在线分析工具的使用方法。例如如何添加被测信号如何准确的观测到被测信号的典型现象以及通常会遇到的问题等。
2 添加观测信号的几种方法
2.1 通过定制IP核添加
VIVADO提供了一个用于实时抓取信号的IP核名为ILA内部逻辑分析仪用户使用时可在IP Catalog中直接搜索ila进行定制。 ILA core的定制非常简单通常仅需如下配置即可满足需求。 在使用ILA Core时需要注意输入被测信号的位宽可以小于等于ILA Core端口的位宽但是不能使ILA Core端口为空否则布局布线会失败。 在遇到难以解决的问题时一个工程中会添加很多的ILA core此时如果单独定制每一个Core会增加许多繁冗的工作可先定制一个输入端口与位宽足够的Core然后按需例化。 如下图是在某个工程中被调用的ILA Core,在调试时打开宏将ILA例化到工程中进行调试完成调试后通过关闭宏屏蔽掉ILA该方法可以避免在完成调试后删除ILA过程中的修改引入不必要的BUG。
2.2 通过约束文件添加
通过编写XDC约束文件亦可实现ILA添加添加ILA Core的XDC示例文件如下所示。 使用此种方式需要对约束脚本非常熟悉。若不熟悉约束脚本的编写也可通过GUI界面生成约束文件2.3节将介绍如何生成DEBUG的约束文件。
2.3 通过GUI生成DEBUG约束文件
使用GUI生成约束文件需要先完成工程综合然后在FlowNavigator窗口中打开Synthesized –Open Synthesized Design – Set Up Debug等待加载设计。 被测信号筛选及添加综合后原来的信号名基本都会发生变化可以在信号名的后面带上*以便准确的匹配到。 若想被测信号名称在综合时不被优化掉可以在综合之前在代码中设置约束。添加mark_debug约束后被测信号可以很方便的被筛选出来。 添加完信号后设置采样深度等。 完成后可以在底部的Debug窗口看到添加的被观测信号到这一步还没结束还需要保存刚才生成的约束才可以重新编译。 直接在Synthesized Design界面中按ctrls即可保存刚才生成的约束弹出下图界面及保存成功。系统会默认保存到target的xdc文件中。推荐用一个专门的XDC文件来保存DEBUG相关约束。
2.4 两种方法的优点与缺点
VIVADO提供了通过IP Core核约束的两种方式添加在线分析逻辑的方法两种方法优缺点如下所示。
优点缺点通过IP Core添加IP Core自带网表节省编译时间在代码中直接例化能够快速搭建测试平台。对跨模块的信号不太友好代码改动较大。通过约束添加方便跨模块信号观测不在功能代码中做修改方便完成调试后的代码整理。编译较慢。
3在线调试方法
3.1 器件扫描设置
VIVADO器件扫描在Flow Navigator 窗口中Open Hardware Manager - Open Target –Auto Connect打开。 鼠标右键单击器件信号选择Program Device下载程序bit文件。VIVADO也支持将程序mcs文件烧写到FLASH启动然后添加LTX文件启动在线调试。 LTX文件在工程路径下/.runs/impl_1/debug_nets.ltx或者.ltx*为工程名这两个文件是一样的。烧写完成后会自动刷新出在线DEBUG的窗口如果没有刷新可以鼠标右键单击器件信号选择Refresh Device进行手动刷新。 在线调试的界面如下在大部分的调试过程中需要用到的窗口有Waveform、Settings、Trigger Setup、Status等几个窗口。
3.2 触发条件设置
触发条件设置如下。
3.3 触发窗口设置
想要准确的观察到信号的变化情况选择合适的触发窗口非常重要。通常可按如下推荐设置。
3.4 采样过程控制
用户可以通过Status窗口控制采样过程每次采样需要经过空闲-预触发-等待触发-后触发-满完成等几个状态才能观察信号。整个过程会在status窗口中显示出来。 用户可以通过如下所示的按钮控制采样。 此处仅介绍了普通模式的触发方式更详细的使用方式请参考Xilinx官方的文档UG936
4常见问题
4.1 时钟域的选择
Xilinx的FPGA器件内部有区域时钟、全局时钟、本地时钟等各种类型的时钟信号在选择采样时钟时应充分考虑布局布线是否能够通过。通常推荐使用全局时钟作为采样时钟此外若被测信号比较多时也推荐使用全局时钟。当必须使用区域时钟时布局布线的通过率就必须考虑到。 在通过约束添加DEBUG信号时需要注意的是不同时钟采样的被测信号会被放置到不同的观测窗口中不太容易做到同一时刻采样。也不能进行对比观察。
4.2 缺少LTX文件
如果烧写BIT文件后弹出出现如下界面则是由于找不到LTX文件导致的。只需根据提示手动添加LTX文件即可。如果是通过FLASH启动也会弹出如下界面。
4.3 ILA无时钟
如果烧写BIT文件后不能正常弹出DEBUG窗口手动刷新也没有时观察Tcl Console窗口是有如下错误则有很大可能性是没有采样时钟导致不排除其他因素。
参考文档
ug936-vivado-tutorial-programming-debuggingpg172-ila