我使用以下方式使用Sync:
sync true (ports.ocp_cmd$ == 3'b010);
我希望模拟器以与ocp_cmd is 010
中数据相同的周期转到下一个命令。目前,模拟器自动跳转1个周期,然后转到下一个specman命令。
如何更改命令行以便不会产生延迟(这样我就可以在同一周期内提升ack信号)
答案 0 :(得分:0)
由于sync true语句必须驻留在耗时的方法中。比较采样事件 - 对于耗时的方法 - 相对于ocp_cmd变为3' b010的变化。可能您必须修改抽样事件。
答案 1 :(得分:0)
我猜你的意思是你在时钟的上升沿采样ocp_cmd
这意味着你从那个时钟开始提升ocp_read
,这意味着这两个信号将有1个周期的延迟彼此之间。
如果您知道ocp_cmd
没有故障,则可以将同步更改为sync true (ports.ocp_cmd$ == 3'b010) @sim
。
使用同步信号时,这不是正确的做法。您最好监控ocp_cmd
前往010
的原因并依赖于此。