1、每当修改了SignalTAP的设置,如添加观察信号,改变深度等,需要保存后,在QUARTUS重新编译一次,生成的文件再烧写。
2、如果烧写后,仍然出现上面情况:一定要检查sof文件生成的日期,要确保是刚刚生成的。。(这个很重要)。
3、有部分人喜欢在programmer里烧写SOF文件,然后再在SignalTAP里再烧写一次。这是没有必要的。请不要使用Programmer烧写。
1. 在工程中加入signaltap: tools->signaltapII logic analyzer,设置采样时钟、欲抓取的波形、触发条件。所有这些信号必须源自于自己的逻辑设计中已有的信号,可以是rtl中的信号、引脚上的信号、综合后的门级信号。2. 可以为每个被抓取的信号单独设置触发方式。最简单的方法是:只对一个被采样信号设置触发方式,其余信号的触发方式都设成‘don't care‘
3. 编译工程,得到包含signaltap的sof文件。打开stp文件,连接好FPGA板,配置JTAG chain让软件找到FPGA器件,把sof下载到器件中就可以开始抓取波形了。
4. 改变触发方式是不需要重新编译工程的,其他 *** 作就需要重新编译工程
只要保证SignalTap里面信号名称的颜色是黑色,不是蓝色或者红色,就能采集到正确的数据。图中的信号名称的颜色是蓝色,所以有采集到不正确数据的可能。为了保证信号颜色不出现蓝色,在添加信号的时候,Filter下拉框应该选择Design Entry (all
names),而不应该选择SignalTap II:
post-fitting或者Post-synthesis(综合后的结果)。因为综合后,信号的值已经被优化了。
将信号列表原有的蓝色信号删除,重新添加信号。Filter选择Design Entry (all names),然后点击List按钮,选择左边要添加的信号,点击>按钮添加到右边。
重新添加后,信号颜色就是黑色的了。保存stp1.stp文件,编译并烧写程序,这下就能采集到正确的结果了,没有被反相了。
这种寄存器反相优化是无法通过(* keep *)、(* noprune *)、(* preserve *),以及(* syn_encoding = "user" *)指令消除的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)