2011-07-28 12 views
1

私は時計の最初の立ち上がりエッジでのみイベントを出したい。Specman(e)質問

event clkr_e is rise ('pll_clk') @ sim; 

clkr_e例えば

は、各立ち上がりクロックで放出されます。

しかし、私はイベントを、pll_clkの最初の立ち上がりエッジでのみ発する必要があります。いずれか1つは、これについていくつかの光を当ててください。

ありがとうございました。

答えて

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; 
}; 

また、これはパフォーマンス無noです:

event clkr_e is rise ('pll_clk') @ sim; 

あなたはSpecman simple_port構文を使用する必要があります。ティックアクセスの代わりにポートに切り替えたときのシミュレーションのスピードは倍増しました。あなたのSpecmanドキュメントでそれを見てください。