如何用Signaltap ii观察器件内部信号
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何用Signaltap ii观察器件内部信号相关的知识,希望对你有一定的参考价值。
参考技术A AbstractQuartusII内的SignalTapII是debugVerilog很好的工具,不过似乎有时无法显示reg的值,我发现一个小技巧可解决这个问题。Introduction使用环境:QuartusII7.2SP1+DE2(CycloneIIEP2C35F627C6)本文是我较早期的方法,并不是很理想,建议参考(原创)如何使用SignalTapII观察reg与wire值?(SOC)(Verilog)(QuartusII)(SignalTapII)在Altera提供的SignalTapII的tutorial中,大都强调trigger的使用,并且观察的都是wire,可是在实务上,常需要观察的是reg,如以下一个很简单的计数器Verilog1moduleSignalTapII_register(2CLOCK_50,3RESET_n4);56inputCLOCK_50;7inputRESET_n;89reg[31:0]counter;1011always@(posedgeCLOCK_50ornegedgeRESET_n)begin12if(!RESET_n)13counter<=321'b0;14else15counter<=counter+1;16end1718endmodule现在想用SignalTapII观察counter这个reg的值。本回答被提问者采纳SignalTap II Logic Analyzer 无法观测到信号?
在Quartus SignalTap 工具中加入信号,发现加入的信号变成红色,如图所示的data_slave[7..0]:
这样的信号是没有办法观测的,不会根据SignalTap 的Clock和Trigger进行更新,原因是Synthesis过程将它省略,
添加综合选项(Synthesis Attribute)可以让综合器保留这些对顶层模块输入输出没有帮助的信号,常用的有:
wire[7:0] cnt/*synthesis keep*/; // Keep the Entity of Wire
reg signed[11:0] corr_i_out/*synthesis preserve*/; // Keep the Entity of Register
实际上,对于组合逻辑的输出可以用keep,而时序逻辑块的输出信号常用preserve选项。
同时,红色的无效SignalTap信号会影响SignalTap中其他的信号。这样的空头支票放入SignalTap组件之中,很大概率会影响系统的时序,比如,使得其他待观测的信号全部观察不到了!
在设计调试的时候一定要取消这样的“空头支票”。
以上是关于如何用Signaltap ii观察器件内部信号的主要内容,如果未能解决你的问题,请参考以下文章
SignalTap II Logic Analyzer 无法观测到信号?
SignalTap II 中抓到的信号和实际程序中描叙的反相,高低电平正好反过来了,这是怎么回事儿呢
Quartus II 11.1中使用Signaltap ii分析采集正弦波幅值数据后如何呈现完整正弦波形?
1.用modelsim-altera 6.5e仿真的时候 显示 no data 2.signaltap ii 选择signal clock时出现错误