安路TangDynasty(TD)中使用内部逻辑分析仪ChipWatcher-Anlogic-安路社区-FPGA CPLD-ChipDebug

安路TangDynasty(TD)中使用内部逻辑分析仪ChipWatcher

ChipWatcher 是安路的内嵌逻辑分析仪,类似于quartus的signalTap, Xilinx Vivado的Integrated Logic Analyzer (ILA), Lattice Diamond的reveal.

 

通过 ChipWatcher,用户无需借助外部设备即可在线监测电路内部信号的变化情况。
ChipWatcher 中,用户可同时添加多个信号,在设置信号的采样时钟、采样深度、触
发条件及触发位置后,经过重新编译、下载和触发,即可查看到指定条件下的信号变化
情况。
ChipWatcher 的工作流程如下图所示。

20230917091800352-image

1. 运行完 HDL2Bit 流程后,有三种方式启动 ChipWatcher :
1
) 创建新的 ChipWatcher
展开 Tools Debug Tools , 选择 ChipWatcher , 根据提示选择 Create a new
chip watcher

20230917091907985-image

点击OK, 出现如下 ChipWatcher 的主界面:

20230917091923671-image

2) 编辑一个已存在的 ChipWatcher
展开 Tools Debug Tools , 选择 ChipWatcher , 根据提示选择 Open an
existing chip watcher
, 点击OK, 进入 ChipWatcher 的主界面。

20230917091933479-image

3) 在工程中添加一个已存在的 ChipWatcher 配置文件(.cwc),并双击打开。
Project 栏目中, 右键单击 Constraints, 选择Add CWC File, 为工程添加
已生成的配置文件
(.cwc)

20230917091949381-image

 


* 工程中支持添加多个 cwc 文件, 当添加一个新的 cwc 文件时,之前已添加的文件
会被默认设置为
disable, 即最后添加进工程的 cwc 文件为 enable。 可以通过右键选择
File Properties 更改 cwc 文件的 enable/disable 属性。

20230917091957721-image

双击 enable cwc 文件即可打开其对应的 ChipWatcher 主界面。

20230917092009641-image

20230917092017895-image

2. setup 界面的空白处右键单击, 选择Add Node…, 出现如下 Node Filter
面,展开
Filter 下拉菜单,默认类型为 Watcher。若用户选择 filter 类型为
Watcher 之外的信号将不能保证被正确采样;

20230917092032783-image

3. 通过向左向右箭头选择或删除信号,也可在 Name 一栏中搜索信号(支持通配
*;

20230917092131202-image

20230917092136508-image

可根据需要,添加 net 或者 bus 信号,点击 OK 按钮,完成信号的添加。
*注: bus 总数量最大可支持 64,单个 bus width 最大值为 1024

20230917092150807-image

4. 对于已添加的 net 或者 bus,右键单击信号名,可进行 Delete/group/ungroup
作; 单个信号或整组
bus 都可直接进行删除操作;

20230917092203466-image

同时,为了便于信号的观察,可对多个线网信号进行 Group 操作;对于 bus group
可以进行 Upgroup 操作。

20230917092330730-image

20230917092338728-image

同时,鼠标选中 netbus group 可以对其进行拖拽,从而调整当前 Node 的排列
顺序。 在表格中
Name 一栏中右击,选中 Sort…可以对观察的信号进行排序。

20230917092350371-image

5. Data Enable 是指选择需要采集并显示波形的信号,在复选框中打勾表示使能
该信号;
Trigger Enable 是指将该信号的某一状态作为触发条件; Trigger
Conditions
是指需满足该条件时才能对信号进行触发; Basic AND 是指需同时
满足以下所有触发条件时才能对信号进行触发;
Basic OR 是指只要满足以下任
一触发条件即可对信号进行触发。
右键单击触发条件一栏,可更改触发条件,如下所示, 对于
net 来说, 触发
条件依次为
: 任意位置、低电平、高电平、上升沿、下降沿和双沿(上升沿或下
降沿);

20230917092403783-image

对于 bus 或者 group 来说, 有逻辑操作符 Operators 可以选择,共包含有 7 种条件:
等于(
= =)、不等于(! =)、 大于等于(> =)、 小于等于(< =)、大于(>)、小于(<)、
任意(
don’t care)。 而与此同时, bus group 中每一位的触发条件 trigger conditions

可选值仅限于 01,默认值为 0,输入后可查看到相应 net trigger condition 发生了变
化。

20230917092423300-image

6. 点击 Clock 一栏后的

20230917092447296-image

按钮,添加采样时钟,该信号将作为整个 ChipWatcher
模块的工作时钟,需要确保选中有效且恰当的时钟信号,否则可能导致无法正
确触发或者采样精度出现偏差;

20230917092501783-image

7. 选择采样深度和设置触发的位置。 Pre Position 表示触发位置将处于整个采样数
据的前三分之一处;
Center Position 表示触发位置将处于整个采样数据的二分之
一处;
Post Position 表示触发位置将处于整个采样数据的后三分之一处;

20230917092511389-image

20230917092517765-image

8. 设置好所有参数后, 根据界面给出的提示, 点击左上角的 File Save, 或使用
快捷操作
ctrl+s,保存 ChipWatcher 的配置文件(.cwc),将配置文件添加到工程,
并重新编译工程;

20230917092528908-image

20230917092533161-image

9. 编译完成后,根据提示下载新生成的 bit 文件;

20230917092545152-image

20230917092551915-image

10. 下载完后, ChipWatcher 左上角的触发按钮变亮,并给出如下提示,此时,点击
触发按钮,
ChipWatcher 将开始监控指定的信号,一旦满足预设的触发条件,便
会返回芯片中的数据。其中,
Single trigger 为单次触发,即获取芯片中当前时刻
当前条件下的数据;
Continue trigger 为连续触发,可实时获取芯片中该条件下的
数据;

20230917092608731-image

20230917092615929-image

若下载的 bit 文件与当前 ChipWatcher 对象不符,将会给出如下提示。

20230917092632775-image

11. 一旦信号被触发, ChipWatcher 页面将由 Setup 界面切换至 Data 页面,并显示读
回信号的波形。其中蓝色竖线表示触发位置,不可删除;

20230917092646675-image

用户可双击波形某位置添加 time bar,如下图中的深红色线, time bar 可通过鼠
标进行移动,也可右键单击进行删除。在移
time bar 时,左侧的 Value 一栏会
显示该处各信号的值, 并给出该位置至触发位置的距离。 也可右键单击波形, 选
Clear waves, 将当前波形清除, 重新触发。

20230917092656508-image

12. 当鼠标处于波形区域,鼠标滚轮向上表示放大波形,滚轮向下表示缩小波形,同
时, 也可点击右上角的
Fit for view显示整个波形状态;

20230917092708633-image

13. 若用户只更改了触发条件(:将上升沿更改为下降沿,将低电平更改为高电平等),
无需重新编译即可直接进行再次触发。而当用户更改了信号数量、采样深度、采
样位置等条件时,则需重新保存、编译并下载,才能进行再次触发,此时,
Chipwatcher 也会给出相应提示:

20230917092723960-image

14. 若点击触发后,一直处于如下状态,表示芯片中数据无法满足触发条件,请更改
触发条件,重新触发;此时,点击
stop 按钮, data 界面将导出当前关注信号的
波形。

20230917092741116-image

20230917092749740-image

 

请登录后发表评论

    没有回复内容