# 关于SignalTap中的节点查找不到的问题

时间:2024-05-20 14:50:24

关于SignalTap中的节点查找不到的问题

在选择需要查看的信号节点时,有一个信号节点,我翻遍了所有的模块,始终未能看到它的影子,然后上网查了一下,找到了问题所在。

因为在使用quartus编译综合时,某些信号会被优化掉,就会导致在查找此信号节点时,会发现找不见。

解决方法:

1.对于 wire

有两种方法:
a:wire [31:0] chan_ctrl_data /* synthesis keep* / ;
在定义的时候加上 /* synthesis keep */,需要注意的是该语句必须放在分号前面。

b:(* keep *) wire <net_name>;

都是为了防止相关wire型变量在综合时被优化或者是被省略。

2.对于 reg

跟reg相关的synthesis attribute,共有两种,分别是/* synthesis noprune*/和 /* synthesis preserve*/,两者的差别如下:
(a)reg r_name/* synthesis noprune*/; 避免 Quartus II 优化掉没output的reg。
(b)reg r_name/* synthesis preserve */;避免 Quartus II 將reg优化为常数,或者合并重复的reg。

这是我进行修改过的:
# 关于SignalTap中的节点查找不到的问题
然后我成功的找到了chan_ctrl_data这个节点,不过,添加进去后,发现是红色的(这个问题我还在学习中)
# 关于SignalTap中的节点查找不到的问题

希望大佬看到能给出指导,谢谢!

转载于:
https://blog.****.net/weixin_30267785/article/details/96729139
https://blog.****.net/yhs18200259681/article/details/98782959?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-3.edu_weight