クロックの最初の立ち上がりエッジでのみイベントを発行したい。
例えば
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
コンストラクトを使用する必要があります。tick-access の代わりにポートに切り替えると、シミュレーションの速度が 2 倍になりました。Specman ドキュメントで調べてください。