临沂品牌网站制作,输变电壹级电力建设公司网站,建立健全安全生产责任制的根本目的是,茂名网站建设公司哪个好概述#xff1a;
Signal Tap II全称Signal Tap II Logic Analyzer#xff0c;是第二代系统级调试工具#xff0c;它集成在Quartus II软件中#xff0c;可以捕获和显示实时信号#xff0c;是一款功能强大、极具实用性的FPGA片上调试工具软件。
传统的FPGA板级调试是由外接…概述
Signal Tap II全称Signal Tap II Logic Analyzer是第二代系统级调试工具它集成在Quartus II软件中可以捕获和显示实时信号是一款功能强大、极具实用性的FPGA片上调试工具软件。
传统的FPGA板级调试是由外接的逻辑分析仪连接到FPGA的控制引脚将内部信号引出至引脚I/O上接着进行板级调试。 note这种方法缺点是需要逻辑分析仪且效率很低经常需要飞线而且如果要测10个信号以上就非常庞杂而且考虑到100Mhz左右的信号完整性不能用逻辑分析仪要用高性能的示波器测量的信号质量也存在失真的情况。 Signal Tap II在线逻辑分析仪克服了以上所有缺点将采样逻辑电路编程后放在FPGA中即用FPGA资源来构成了嵌入式逻辑分析仪。
操作
1、打开Signal Tap Logic Analyzer
在Quartus软件中打开待测工程然后选择Signal Tap Logic Analyzer 在弹出的New File from Template窗口选择Default (default selection)即可 弹出Signal Tap Logic Analyzer界面包含例化管理器Instance Manager、JTAG链配置JTAG Chain Configuration、节点列表和触发条件Data与Set两个子界面可选、信号配置Signal Configuration、分层设计Hierarchy Display分层显示以及数据日志Data Log如下图。 2、实例管理
首先选择例化管理器选中默认的auto_signaltap_0可以增加、删除、重命名实例这里一个实例可以理解为一组信号对一个配置时钟可以通过Enabled来选择该实例是否被编译到该工程中因此可以有多组实例方便分析各不同模块的信号。 3、时钟配置
选择信号配置进行实例的时钟配置。
这里注意只有在工程已进行过分析与阐释后才能在signal tap中添加想要观察的时钟或者信号。 弹出的Node Finder界面中首先在Options-Filter栏选择Signal Tap: Pre-synthesis在Options-Look in栏中选择down_sampling_top.v模块接着输入想要在down_sampling_top.v模块中查看的信号的时钟clk_7_148m然后search搜索在Matching Nodes中双击即可将clk_7_148m添加到Nodes Found栏并单击ok即可完成时钟的添加如下图 完成后根据需要选择采样深度即可其他默认如下图 4、添加待抓取信号
双击节点列表和触发条件界面弹出Node Finder窗口与上一步添加时钟信号一样的设置选择自己想要的信号最后要记得单击insert按键才能正常将信号成功添加。 5、设置信号触发条件-直接默认即可
默认如下全选不需要做修改 Dont Care不设置触发方式Low低电平触发Falling Edge下降沿触发Rising Edge上升沿触发High高电平触发Either Edge双边沿触发
这里的触发条件呢会在你进行Run Analysis时起作用此时在Setup界面下根据需要选择触发方式即可很方便。
6、记得保存 选择保存路径为工程所在的quartus文件夹下打开所在目录会发现多了一个stp1.stp文件该文件即上述添加至工程中的分析文件。 7、开始编译
在工具栏选择Start Compilation 开始编译等待工程编译完成即可。 8、选择烧录文件并下载
首先连接JTAG烧录器与FPGA板并给FPGA板子上电接着Scan Chain识别FPGA器件然后选择生成的sof文件并单击开始下载。 9、查看抓取的波形
单击Run Analysis运行分析一次也就是刷新采样一次单击Autorun Analysis自动连续运行分析也就是一直刷新采样。 补充
1、在打开的波形窗口左键单击放大波形窗口右键单击缩小波形窗口
2、波形窗口的数据默认16进制可以选中信号名后右键单击-Bus Display Format中选择十进制或者其他进制
3、在Signal Tap Logic Analyzer中下载程序时软件比较卡可以在Quartus 的Programmer中下载好以后直接在Signal Tap Logic Analyzer分析
4、在上述第4步添加待住区信号时如果有些wire/reg定义的信号不能被观察到或者说stp1.stp中有的信号/时钟显示红色如下 这表示sof文件烧录到fpga的逻辑资源中没有tx_vid_clk可能是原来有后来.v模块中删除了更有可能是有但是被Quartus软件优化掉了导致无法使用Signal Tap II观察针对模块中有但是signaltap中没有的情况有两种解决办法 方法一、将wire/reg定义的信号改成端口信号这种方法繁琐不推荐 方法二、在待观察的wire/reg定义的信号后面添加特殊字符 wire [9:0] time_cnt /*synthesis keep*/ ; reg [9:0] time_cnt /*synthesis keep*/; 或者 (* noprune *) wire [9:0] time_cnt ; (* noprune *) reg [9:0] time_cnt ; prune 发音 /pruːn/ v.修剪删除 n.李子干西梅干非正式讨厌的人乏味的人树枝、灌木丛等的修剪修整 5、Signal Tap II除了支持电平、边沿触发外还支持计数触发如可以对time_cnt计数器设置具体的值来触发。
6、相同的工程但是在不同平台上跑的sof与stp文件如自己的PC1(win10 64环境中的Quartus与服务器PC2Ubuntu环境中的Quartus)上的sof与stp文件能不能将服务器PC2上的sof与stp拿到自己的PC1上进行逻辑分析呢 说明 服务器上跑的工程速度会快很多比如自己的PC1上跑一个工程需要接近2个小时但是服务器PC2上跑工程只需要1小时10分钟。 服务器PC2没有接口可以用来设别JTAG因此还是要用到自己的PC1来做逻辑分析。 可以的将服务器PC上的sof与stp文件拿到自己的PC1上即可如果在Signal Tap Logic Analyzer中的设置一样则只需要将PC2上的sof拿到PC1上即可使用如果不同则需要将sof与stp同时挪到同一台机器上。 备注 stp文件上的信号接口可以多设置但不能少设置就是说假如服务器PC2上的stp有20个观察信号但是PC1上的stp只有10个观察信号则需要将服务器PC2上的sof与stp同时拿到自己的PC1上进行逻辑抓取分析 反过来自己的PC1上的stp有20个待观察信号而服务器PC2上仅有10个待观察信号可以将服务器PC2上的sof拿到自己的PC1上进行逻辑分析即可不用将PC2上stp也拿到自己的PC1上当然拿了更好只是stp的兼容性变差了如果自己的PC1后续还要跑工程那就得根据需要重新设置stp了。 参考链接
noprune keep preserve 区别