fsdbreport 到处波形信号值
命令:
fsdbreport ut_hw_test.fsdb -bt 6944.053ns -et 8740.553ns -exp "/top/u_hw_top/u_hw_control/data_valid & /top/u_hw_top/u_hw_control/clk" -s "/top/u_hw_top/u_hw_control/data_in" -w 256 - of h -o out.txt
解析:
信号的路径是 top.u_hw_top.u_hw_control.data_in, fsdbreport的格式是/top/u_hw_top/u_hw_control/data_in
-bt 表示起始时间, -et 表示结束时间
-exp 表示采样条件,data_valid & clk. valid 可能连续拉起多拍,如果不添加clock ,只会采样valid时间段的第一笔数据
-w 256 表示输出位宽为256bit
-of h 表示输出格式为16进制
-o out.txt表示输出到out.txt中
注:也可以用verdi的功能直接提取信号
在波形中选中 需要的信号, 点击file->Report Selected Signals 弹出设置界面,设置波形路径,起止时间,输出文件,Option为空,默认是输出二进制,位宽为9. 修改和fsdbreport 命令一致, -w 32 -of h 用于指定位宽为32,输出进制为十六进制。不添加-exp 条件,采样信号所有跳变值,以及仿真end time的值(仿真 在138ns结束,120ns处最后一次跳变,则会看到两个一样的值,138ns和120ns 均会被采样。)
fsdbreport 导出波形中force 信息:
少量force信号 ,可以在sim_option中添加 +force+fsdb ,在verdi中拖出信号即可看到force情况。
如果数量比较多,或者不确定哪些信号被force ,可以借助命令行导出。
fsdbreport /dir/test.fsdb -find_forces -s "/*" -level level_number -o force_info.txt
-s:用于 指定查找force信息的层次, /* 表示从最顶层开始
-level:表示从指定的层次,向下查找层次的数目。0表示指定的层次和以下所有的层次。1表示指定的层次,2表示指定的层次和下一层次