我只想在时钟的第一个上升沿发出事件。
例如
event clkr_e is rise ('pll_clk') @ sim;
clkr_e
在每个上升时钟发出。
但是我只需要在 pll_clk 的第一个上升沿发出一个事件。任何人都可以对此有所了解。
谢谢。
我只想在时钟的第一个上升沿发出事件。
例如
event clkr_e is rise ('pll_clk') @ sim;
clkr_e
在每个上升时钟发出。
但是我只需要在 pll_clk 的第一个上升沿发出一个事件。任何人都可以对此有所了解。
谢谢。
使用标志:
clk_has_risen : bool;
keep clk_has_risen == FALSE;
event first_clk_rise_e is true(clk_has_risen == FALSE) @ clkr_e;
on first_clk_rise_e {
clk_has_risen = TRUE;
};
此外,这是一个性能禁忌:
event clkr_e is rise ('pll_clk') @ sim;
您应该使用 Specmansimple_port
构造。当我们切换到端口而不是滴答访问时,我们的模拟速度提高了一倍。在您的 Specman 文档中查找。