Ensures that the value of a specified expression changes in a specified window between a start event and an end event.
assert_win_change
[#(severity_level, width, property_type, msg, coverage_level )]
instance_name (clk, reset_n, start_event, test_expr, end_event );
The assert_win_change
assertion checker checks the expression start_event at each rising edge of clk to determine if it should open an event window at the start of the next cycle. If start_event is sampled TRUE, the checker evaluates test_expr. At each subsequent rising edge of clk, the checker evaluates end_event and re-evaluates test_expr. If end_event is TRUE, the checker closes the event window and if all sampled values of test_expr equal its value at the start of the window, then the assertion fails. The checker returns to the state of monitoring start_event at the next rising edge of clk after the event window is closed.
The checker is useful for ensuring proper changes in structures in various event windows. A typical use is to verify that synchronization logic responds after a stimulus (for example, bus transactions occurs without interrupts or write commands are not issued during read cycles). Another typical use is verifying a finite-state machine responds correctly in event windows.
|
window_open
|
An event window opened (start_event was TRUE).
|
|
window_close
|
An event window closed (end_event was TRUE in an open event window).
|
assert_change, assert_time, assert_unchange, assert_win_unchange, assert_window
Ensures that data
changes value in every data read window.
© Accellera Organization, Inc. 2005 All Rights Reserved. |
Standard OVL V1.1a |