0

我通过以下方式使用同步:

sync true (ports.ocp_cmd$ == 3'b010);

我希望模拟器以相同的周期转到下一个命令中的数据ocp_cmd is 010。目前模拟器会自动跳转 1 个周期,然后才进入下一个 specman 命令。

如何更改我的命令行以便不产生延迟(这样如果需要,我将能够在同一周期中提高 ack 信号)

4

2 回答 2

0

由于同步 true 语句必须驻留在一个耗时的方法中。比较采样事件(对于耗时方法)相对于 ocp_cmd 变为 3'b010 的变化发生的时间。可能是您必须修改您的采样事件。

于 2015-07-30T17:57:16.410 回答
0

我猜你的意思是你ocp_cmd在时钟的上升沿采样,这意味着你ocp_read从那个时钟开始上升,这意味着两个信号之间会有 1 个周期的延迟。

如果您知道ocp_cmd不会出现故障,您可以将同步更改为sync true (ports.ocp_cmd$ == 3'b010) @sim.

在使用同步信号时,这不是正确的做法。你最好监控ocp_cmd010和依赖它的原因。

于 2015-07-31T16:48:12.120 回答