ISE在线逻辑分析仪Chipscope的使用

前言

和 Quartus 的 SingleTapII 类似, ISE 也有自己的内置在线逻辑分析仪 Chipscope,在这里记录一下 Chipscope 的主要使用方法,以便以后回顾。
  本文使用 UART 串口回环模块进行验证,我们要抓取的信号是子模块 UART_RX 中的波特率计数器:cnt_baud,位宽 13bit,理论计数范围是0~5207,使能 rx_en 拉高的时候进行循环计数。

创建Chipscope文件

首先打开一个已经调试好的工程文件,选择工程文件,右击添加 new source。
  
在这里插入图片描述
  选择 chipscope definition and connection file,文件这里就命名为 CS,保存在工程 project 目录下,点击 Next ,下一界面直接点 Finish,完成 Chip Scope文件创建。
在这里插入图片描述

配置chip Scope文件

双击打开 CS文件,前面两个界面直接next跳过。
在这里插入图片描述
  Number of input trigger port 为设置触发接口的数量,这里设置为 1 。TRIGO 是我们设置的触发接口,因为需要抓取的cnt_baud以及使能信号rx_en一共是14bit 。所以这里 Trigger width 设为14bit 。Match unit 是我们使用的比较器的数量。决定了后面触发条件能够设置的复杂程度。这里只需要对 rx_en 判断,所以设为1即可。 Max number of squares levels.默认为16即可,指的是一个信号可以做一个最大16个序列的匹配,也就是说一个信号可以最多匹配16种情况并作为触发条件,设置好后点击 next 。
在这里插入图片描述
设置采集信号存储深度。
  Chipscope 实际上是在综合的RTL代码中插入RAM,使得数据经过RAM,再通过JTAG数据线把RAM当中的数据传回PC以供观察,所以这里设置的是RAM的深度。需要根据器件的资源合理设置。因为计数器 cnt_baud 最大为 5207 所以这里设置深度为8192,点击next。
在这里插入图片描述
设置采样时钟和数据信号。
  双击 Clock port 。
在这里插入图片描述
  在筛选栏中输入clk,点击 clk_BUFGP 再点击make connections ,建立好时钟连接。

在这里插入图片描述
  选择trigger data singles。在筛选栏中。输入cnt_baud,找到计数器信号。如果高低位顺序和要连接的数据相反,可以点击net name把调整数据高低位顺序。再选中,通道CH0~12, 点击Make a connection 。

在这里插入图片描述 
  同样的方法找到 rx_en 信号,建立连接。完成后点击OK 。

在这里插入图片描述
  完成 CS文件配置后,返回工程并保存文件。

在这里插入图片描述

在线调试

完成以上操作后。在工程文件中重新生成比特文件。连接好开发板并上电。
点击analyze design using chip scope,打开。

在这里插入图片描述
在这里插入图片描述
  点击 ok 。

在这里插入图片描述
  选择 Configure

在这里插入图片描述
  点击OK 。

在这里插入图片描述
  打开触发设置界面,将触发信号改为 rx_en 信号上升沿触发,位置 Position.改为100。

在这里插入图片描述
  点击启动。

在这里插入图片描述
  串口发送数据后。显示样本缓冲区已经满了。点击waveform打开波形界面,就可以看到我们采样的点了。
  
在这里插入图片描述
  如果波形中显示的bit不全。,可以在左侧的data port中把其他bit信号添加到波形界面。

在这里插入图片描述参考资料:
[1] V3学院FPGA教程

  • 4
    点赞
  • 50
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值