Quartus嵌入式逻辑分析仪Signal Tap使用

Quartus嵌入式逻辑分析仪的工作原理是将Signal Tap与设计文件一起编译配置到FPGA中,当满足设置的触发条件时,Signal Tap将FPGA中的电路信号状态采集下来通过Jtag发送给Quartus,用于调试。所以Signal Tap是会占用FPGA资源的,在调试完成后最好将Signal Tap从FPGA中去除。
下面基于Quartus 18,介绍如何使用Signal Tap。以串口接收为例,观察串口接收状态机中接收缓冲器buffer的值。

//顶层文件
module uart_rx(input clk50M,rx,output [7:0]data_out,output ready);
     uart_rx_fsm(clk9600x16,rx,data_out,ready);
     uart_baud(clk50M,clk9600x16);//波特率发生器
endmodule 

uart_rx_fsm.v文件内容:https://www.jianshu.com/p/1cd8a7680670
首先新建一个Signal Tap文件,File->New->Signal Tap Logic Analyzer File

Quartus嵌入式逻辑分析仪Signal Tap使用_第1张图片

OK后,生成后缀名为.stp的文件,并自动打开Signal Tap窗口如下。其中:区域1是控制区。
区域2是Jtag配置区。给FPGA上电并连接下载器,选择Hardware为Usb-blaster,点击Scan Chain检测到Device表明通信正常。
Quartus嵌入式逻辑分析仪Signal Tap使用_第2张图片
Signal Tap界面

区域3,在其空白区域,右键点击添加被采集信号,Add nodes,点击List列出所有信号,将buffer添加到右边窗口,Insert。
Quartus嵌入式逻辑分析仪Signal Tap使用_第3张图片

Quartus嵌入式逻辑分析仪Signal Tap使用_第4张图片
添加观测信号

下图中,区域3中增加了buffer的信号。
区域4:signal Configuration。设置采样时钟Clock为状态机的时钟,采样深度设置为256,这样将会采集256个点后停止采集。
Quartus嵌入式逻辑分析仪Signal Tap使用_第5张图片
配置触发时钟和触发深度

区域4:signal Configuration。下拉滚动条到Trigger,设置触发信号。触发信号的作用是:当该信号满足触发条件后,开始采集。这里我选择串口接收引脚上的信号rx,并设置其下降沿为触发条件。这样当串口起始位出现的时候开始采集。
Quartus嵌入式逻辑分析仪Signal Tap使用_第6张图片
配置触发条件

基本设置已经完成了。在上图中区域1可以看到有红色提示,需要将工程重新编译。点击该窗口工具栏上的编译图标。

等啊等.......
等编译完成后,选择sof文件并下载到FPGA,如下图箭头所示。


Quartus嵌入式逻辑分析仪Signal Tap使用_第7张图片
下载sof文件

下载完成,显示Ready to acquire。点击下图中的开始图标,等待触发信号,


Quartus嵌入式逻辑分析仪Signal Tap使用_第8张图片

Quartus嵌入式逻辑分析仪Signal Tap使用_第9张图片
waiting for ..

Signal Tap已经就绪,就等触发信号有效了。我们给FPGA的串口发个数0xFF。触发后采集的数据如下:
Quartus嵌入式逻辑分析仪Signal Tap使用_第10张图片
采集回来的信号

可以看到buffer里面数据的变化过程。

以上就是Signal Tap的使用方法。要注意的是,调试完成后,最好将Signal Tap从FPGA中移除。方法是:
菜单:assignments--Setting---Signal Tap Logic Analyzer -- Enable去掉勾选。重新编译工程,下载。


Quartus嵌入式逻辑分析仪Signal Tap使用_第11张图片
移除Signal Tap

你可能感兴趣的:(Quartus嵌入式逻辑分析仪Signal Tap使用)