目录
5. nState
5.1如何打开状态机视图
5.2 如何在状态机视图中添加状态转移条件
5.3 如何查看状态机个状态对应的相关代码
5.4 查看具体的状态机状态转移时间点
5.5 查找自定义状态
5.6 查找某个状态执行的次数
5. nState
5.1如何打开状态机视图
1. 将设计文件导入Verdi
2. 选中设计文件,打开设计视图:
3.打开结果如下,可以直接点击状态机,进入状态机视图;
点击后结果展示:
5.2 如何在状态机视图中添加状态转移条件
在设计视图打开view->state action/transition condition
5.3 如何查看状态机个状态对应的相关代码
选中状态机状态/转移条件,鼠标中键按住拖动到代码界面,对应的代码会被标识出来,结果如下:
5.4 查看具体的状态机状态转移时间点
首先需要理解,设计的状态机类似与一个硬件,实现状态转移必须要进行软件的驱动,这也就是我们的tb验证驱动,所以查看具体状态机的状态转移节点一i的那个是要在仿真过程中实现的。具体的实现步骤如下:
1.首先需要打开dump 波形;
2.点击状态机FSM->state animation,该功能硅记录状态转移的动画
3.选择需要查看的状态,查看转移的时间节点,
5.5 查找自定义状态
以上查找只局限于现有的设计定义的单个状态,但是在验证过程中往往休要考虑一系列状态的转移是否实现,这就要求verdi能够实现自定义的状态检查功能,具体的操作如下:
1. 在状态机界面点击 FSM->edit search sequences
2.进入search界面,如下,第一次点击new,在新建窗口输入新建序列的名称以及具体状态结合,状态的顺序按照sequence 顺序依次从上到下执行。新建完成点击close,如果是modify,点击apply。
3.最后在时序选择的界面会发现刚刚定义的序列已经更新进去了,选中,可按照上边的步骤进行查找;
提示:此时nWave的波形和状态转移的时间是互通的,换句话说,比如,上图的时间是在17500000 ps,在波形上指示线也是停在这个位置.
5.6 查找某个状态执行的次数
1. 如下图,点击FSM->analysis report ,进行报告查询
2. 可以查询单个状态的实现次数,亦可以相邻状态的转移次数