本人在使用cadence旗下的simvision工具时,为了方便debug,想将FSM的名字显示到波形窗口中,最后在官网上找到了解决办法。
% xrun design.v testbench.v -access r +fsmdebug
上面是工具的设置,
但是在RTL代码里面也需要写一段转换为字符的代码,
例如我在调试pcie的ltssm_state时,如下:
在想要查看字符状态机时,则抓取“ltssm_state_str”,不要再看"ltssm_state"
我之前就是在设置之后以为ltssm_state会自动变成字符。
总结:无论是C家还是S家,在遇到比较复杂的状态机时,为了方便DUBUG都会将状态机转换成字符的形式,而当我debug时,则选择转换后的寄存器作为参看。
比如S家的状态机:
在查看状态机时查看的是LTSSM,而不是ltssm,ltssm也是不能显示成ascii的。
希望对你有帮助。