我想只在时钟的第一个上升沿发出一个事件。
例如
event clkr_e is rise ('pll_clk') @ sim;
每个上升时钟发出 clkr_e
。
但是我只需要在pll_clk的第一个上升沿发出一个事件。任何人都可以对此有所了解。
感谢。
答案 0 :(得分:1)
使用标志:
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;
您应该使用Specman simple_port
构造。当我们切换到端口而不是刻度访问时,我们的模拟速度加倍。在您的Specman文档中查找。