Specman(e)问题

时间:2011-07-28 13:36:49

标签: specman

我想只在时钟的第一个上升沿发出一个事件。

例如

event clkr_e is rise ('pll_clk') @ sim; 
每个上升时钟发出

clkr_e

但是我只需要在pll_clk的第一个上升沿发出一个事件。任何人都可以对此有所了解。

感谢。

1 个答案:

答案 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文档中查找。