ChipWatcher 是安路的内嵌逻辑分析仪,类似于quartus的signalTap, Xilinx Vivado的Integrated Logic Analyzer (ILA), Lattice Diamond的reveal.
通过 ChipWatcher,用户无需借助外部设备即可在线监测电路内部信号的变化情况。
在 ChipWatcher 中,用户可同时添加多个信号,在设置信号的采样时钟、采样深度、触
发条件及触发位置后,经过重新编译、下载和触发,即可查看到指定条件下的信号变化
情况。 ChipWatcher 的工作流程如下图所示。
1. 运行完 HDL2Bit 流程后,有三种方式启动 ChipWatcher :
1) 创建新的 ChipWatcher
展开 Tools → Debug Tools , 选择 ChipWatcher , 根据提示选择 “Create a new
chip watcher”
点击“OK”, 出现如下 ChipWatcher 的主界面:
2) 编辑一个已存在的 ChipWatcher
展开 Tools → Debug Tools , 选择 ChipWatcher , 根据提示选择 “Open an
existing chip watcher”, 点击“OK”, 进入 ChipWatcher 的主界面。
3) 在工程中添加一个已存在的 ChipWatcher 配置文件(.cwc),并双击打开。
在 Project 栏目中, 右键单击 Constraints, 选择“Add CWC File”, 为工程添加
已生成的配置文件(.cwc)。
* 工程中支持添加多个 cwc 文件, 当添加一个新的 cwc 文件时,之前已添加的文件
会被默认设置为 disable, 即最后添加进工程的 cwc 文件为 enable。 可以通过右键选择
File Properties 更改 cwc 文件的 enable/disable 属性。
双击 enable 的 cwc 文件即可打开其对应的 ChipWatcher 主界面。
2. 在 setup 界面的空白处右键单击, 选择“Add Node…”, 出现如下 Node Filter 界
面,展开 Filter 下拉菜单,默认类型为 Watcher。若用户选择 filter 类型为
Watcher 之外的信号将不能保证被正确采样;
3. 通过向左向右箭头选择或删除信号,也可在 Name 一栏中搜索信号(支持通配
符*) ;
可根据需要,添加 net 或者 bus 信号,点击 OK 按钮,完成信号的添加。
*注: bus 总数量最大可支持 64,单个 bus 的 width 最大值为 1024。
4. 对于已添加的 net 或者 bus,右键单击信号名,可进行 Delete/group/ungroup 操
作; 单个信号或整组 bus 都可直接进行删除操作;
同时,为了便于信号的观察,可对多个线网信号进行 Group 操作;对于 bus 或 group
可以进行 Upgroup 操作。
同时,鼠标选中 net、 bus 或 group 可以对其进行拖拽,从而调整当前 Node 的排列
顺序。 在表格中 Name 一栏中右击,选中 Sort…可以对观察的信号进行排序。
5. Data Enable 是指选择需要采集并显示波形的信号,在复选框中打勾表示使能
该信号; Trigger Enable 是指将该信号的某一状态作为触发条件; Trigger
Conditions 是指需满足该条件时才能对信号进行触发; Basic AND 是指需同时
满足以下所有触发条件时才能对信号进行触发; Basic OR 是指只要满足以下任
一触发条件即可对信号进行触发。
右键单击触发条件一栏,可更改触发条件,如下所示, 对于 net 来说, 触发
条件依次为: 任意位置、低电平、高电平、上升沿、下降沿和双沿(上升沿或下
降沿);
对于 bus 或者 group 来说, 有逻辑操作符 Operators 可以选择,共包含有 7 种条件:
等于(= =)、不等于(! =)、 大于等于(> =)、 小于等于(< =)、大于(>)、小于(<)、
任意(don’t care)。 而与此同时, bus 和 group 中每一位的触发条件 trigger conditions 的
可选值仅限于 0、 1,默认值为 0,输入后可查看到相应 net 的 trigger condition 发生了变
化。
6. 点击 Clock 一栏后的
按钮,添加采样时钟,该信号将作为整个 ChipWatcher
模块的工作时钟,需要确保选中有效且恰当的时钟信号,否则可能导致无法正
确触发或者采样精度出现偏差;
7. 选择采样深度和设置触发的位置。 Pre Position 表示触发位置将处于整个采样数
据的前三分之一处; Center Position 表示触发位置将处于整个采样数据的二分之
一处; Post Position 表示触发位置将处于整个采样数据的后三分之一处;
8. 设置好所有参数后, 根据界面给出的提示, 点击左上角的 File → Save, 或使用
快捷操作 ctrl+s,保存 ChipWatcher 的配置文件(.cwc),将配置文件添加到工程,
并重新编译工程;
9. 编译完成后,根据提示下载新生成的 bit 文件;
10. 下载完后, ChipWatcher 左上角的触发按钮变亮,并给出如下提示,此时,点击
触发按钮, ChipWatcher 将开始监控指定的信号,一旦满足预设的触发条件,便
会返回芯片中的数据。其中, Single trigger 为单次触发,即获取芯片中当前时刻
当前条件下的数据; Continue trigger 为连续触发,可实时获取芯片中该条件下的
数据;
若下载的 bit 文件与当前 ChipWatcher 对象不符,将会给出如下提示。
11. 一旦信号被触发, ChipWatcher 页面将由 Setup 界面切换至 Data 页面,并显示读
回信号的波形。其中蓝色竖线表示触发位置,不可删除;
用户可双击波形某位置添加 time bar,如下图中的深红色线, time bar 可通过鼠
标进行移动,也可右键单击进行删除。在移 time bar 时,左侧的 Value 一栏会
显示该处各信号的值, 并给出该位置至触发位置的距离。 也可右键单击波形, 选
择“Clear waves”, 将当前波形清除, 重新触发。
12. 当鼠标处于波形区域,鼠标滚轮向上表示放大波形,滚轮向下表示缩小波形,同
时, 也可点击右上角的“Fit for view”显示整个波形状态;
13. 若用户只更改了触发条件(如:将上升沿更改为下降沿,将低电平更改为高电平等),
无需重新编译即可直接进行再次触发。而当用户更改了信号数量、采样深度、采
样位置等条件时,则需重新保存、编译并下载,才能进行再次触发,此时,
Chipwatcher 也会给出相应提示:
14. 若点击触发后,一直处于如下状态,表示芯片中数据无法满足触发条件,请更改
触发条件,重新触发;此时,点击 stop 按钮, data 界面将导出当前关注信号的
波形。
没有回复内容