【实验室项目心得,仅用于个人学习记录】
目录
1. 概述
最近,本人在Debug时想查看某个状态的执行次数,鉴于手动数费事费力还容易出错,于是想在网上搜一下有没有大佬的解决方案可以照搬,然而检索到的结果很少。
除了直接在FSM状态机界面查看的办法外(未成功,可能是软件license问题),本文提出还可以利用“Logical Operation”+“Signal Event Report”的操作实现上述需求。
2. 执行
2.1 Logical Operation
步骤:
1' 首先左键选中想要查看到状态机;
2' 菜单栏选择“Signal”-->“Logical Operation”;
3' 在Expression中输入:“状态路径/../名称” == 想查看的状态value
*注意:“状态路径/../名称”在选中状态机时默认会给出;value必须是n'bxxxx 格式!!!
4' 点击“Create/Modify”按键,如图所示:
5' 生成新的单比特信号 “logical_expression_1”,高位表示判断为真。
2.2 Signal Event Report
步骤:
1' 首先左键选中新生成的“logical_expression_1”信号;
2' 左键划定信号第一个位置,中键划定信号最后一个位置,如图所示:
3' 菜单栏选择“View”-->“Signal Event Report”,Rising(表示上升沿)就是该状态执行的次数!!
3. 结论
【非正经版】这真是一个好方法啊!!!
【正经版】该方法的可扩展性很高。除了查看状态次数,任何不方便直接数数的信号都可以通过先判断再单比特分析来实现。