1
我只想在時鐘的第一個上升沿發射一個事件。Specman(e)問題
例如
event clkr_e is rise ('pll_clk') @ sim;
clkr_e
在每個上升時鐘被髮射。
但我只需要在pll_clk的第一個上升沿發出一個事件。請問任何人都可以從中看出這一點。
謝謝。
我只想在時鐘的第一個上升沿發射一個事件。Specman(e)問題
例如
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;
您應該使用的Specman simple_port
結構。當我們切換到端口而不是剔訪問時,我們的模擬速度翻了一番。在Specman文檔中查看它。