本帖最后由 FPGA课程 于 2024-9-9 18:36 编辑
软件版本:Anlogic -TD5.9.1-DR1_ES1.1
操作系统:WIN10 64bit
硬件平台:适用安路(Anlogic)FPGA
实验平台:米联客-MLKPAI-SF01-DR1M90M开发板
板卡获取平台:https://milianke.tmall.com/
登录“米联客”FPGA社区 http://www.uisrc.com 视频课程、答疑解惑!
1概述前面实验中我们完成了基于TD软件工程的创建、FPGA代码的创建、程序的下载,并且实现了modelsim的联合仿真。本节课实验中,我们将添加chipwatcher 在线逻辑分析仪,通过 ChipWatcher,用户无需借助外部设备即可在线监测电路内部信号的变化情况。在 ChipWatcher 中,用户可同时添加多个信号,在设置信号的采样时钟、采样深度、触发条件及触发位置后,经过重新编译、下载和触发,即可查看到指定条件下的信号变化情况。ChipWatcher 的工作流程如下图所示。
2添加chipwatcher IP核
2.1新建chipwatcher IP核在开始本实验前,确保FPGA工程已经完成编译,本文继续在前面的实验基础上进行.
可以通过Tools → Debug Tools ,选择 ChipWatcher
也可以直接单击下图的图标添加
2.2添加观察信号选择setup 右击选择Add nodes
添加需要观察的信号
在本实验中添加如下信号
Data Enable:是指选择需要采集并显示波形的信号,在复选框中打勾表示使能该信号; Trigger Enable:是指将该信号的某一状态作为触发条件; Mask Enable:可以选择是否需要和设定值进行对比,Mask 状态默认勾选,需要和界面设定值进行对比;取消勾选,不与界面设定值进行对比,对于单个 net,功能类似于 don’t care; Trigger Conditions: 是指需满足该条件时才能对信号进行触发; Basic AND:是指需同时满足以下所有触发条件时才能对信号进行触发; Basic OR:是指只要满足以下任一触发条件即可对信号进行触发。
对于1Bit位宽信号,右键单击触发条件一栏,可更改触发条件,如下所示,对于 net 来说,触发条件依次为: 任意位置、低电平、高电平、上升沿、下降沿和双沿(上升沿或下降沿);
2.3设置触发条件比如设置up_led[1:0]=2b11的时候触发。
2.4设置采样时钟
这里选择clk0_buf同步时钟作为采样时钟
2.5选择采样深度和设置触发的位置Pre Position 表示触发位置将处于整个采样数据的前三分之一处; Center Position 表示触发位置将处于整个采样数据的二分之一处; Post Position 表示触发位置将处于整个采样数据的后三分之一处;
2.6Chipwatcher创建成功
3在线调试首先重新编译工程,编译完成后,双击watcher.cwc
打开后
准备好开发板,接通JTAG并且给开发板通电,并下载程序
可以选择单次触发或者连续触发
右击修改数据显示格式
也可以修改触发条件,比如把up_led[1:0]修改微don’t care就是代表任意条件都会触发
再次单次触发,可以看到在up_led[1:0]==2’b00的时候也会触发
4修改已经存在的watcher对于已经存在的watcher可以直接修改,比如这里可以继续右击添加其他需要观察的信号
也可以右击已经存在的信号,并且删除
修改完成后一定记得要再次保存
之后再重新编译,重新调试,这里就不再重复
|