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
    点赞
  • 45
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
ISE(Integrated Software Environment)是一种软件集成开发环境,用于FPGA(Field-Programmable Gate Array)的设计和开发。在ISE使用SDK(Software Development Kit)进行FPGA设计的调试,可以查看变量的数据,从而确保设计的正确性。 首先,使用ISE进行FPGA设计,通过HDL(Hardware Description Language)编写设计的逻辑电路代码,并进行综合、实现和生成比特流文件。然后,使用SDK进行软件开发,编写嵌入式代码,与FPGA进行通信和交互。 在SDK中,可以使用调试器来调试FPGA的设计。通过在代码中插入断点,可以在特定位置停止程序执行,以便查看该处变量的数据。 在断点停止后,可以通过查看变量窗口来查看变量的数据。变量窗口会显示变量的名称和对应的数值。通过浏览变量窗口,可以查看当前运行状态下各个变量的数值,以便分析程序的行为和执行过程。 此外,SDK还提供了其他的调试功能,如单步执行、监视表达式和内存窗口等。通过单步执行功能,可以逐行执行代码,观察每一行代码的执行情况。监视表达式功能允许我们输入表达式,并在程序执行过程中动态监视该表达式的值。而内存窗口则可以查看和修改内存中的数据。 通过使用SDK的调试功能,我们能够方便地查看变量的数据,帮助我们分析和调试FPGA设计中出现的问题,确保设计的正确性和稳定性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值