The MONITOR_FALLING_EDGES procedure call monitors a std_logic input signal level for a transition from logic '1' to logic '0'. When a high to low transition is detected, a strobe signal on state_reg_rec(M).rising_edge_reg(N) is asserted to logic '1' value for one clock cycle. The strobe signal occurs 1 clock cycle after the sampled high to low transition of the input signal.
Each resource_index, M, has an array of N falling_edge detect circuits. However, in many use cases, each of individual strobe signal, state_reg_rec(M).falling_edge_reg(N), is not explicitly read.
Instead, the caller of MONITOR_FALLING_EDGES typically specifies a state machine on resource M to transition state after the falling_edge is detected.
There can be multiple falling edge detectors on the same resource domain, thus each individual falling edge detector is identified by a edge_index.
MONITOR_FALLING_EDGES(0, input_sig, st_start, next_state_rec, state_reg_rec );
[in] | edge_index | [1] index (N) of the array falling_edge_reg vector that is returned by the framework |
[in] | input_signal | [2] signal to be monitored for a low to high transition |
[in] | transition_state | [3] integer state to transition to after a falling edge detection of input_signal |
[out] | next_state_rec | [4] |
[in] | state_reg_rec | [5] |
[in] | state_reg_rec(M).falling_edge_reg(N) | [1] [std_logic] value returned from framework |
Voice and Hotkey Commands:
[in] | edge_index | [1] "index <integer>" |
[in] | input_signal | [2] "data <std_logic>" |
[in] | transition_state | [3] "go to [state] (<state>|<integer>)" |
[out] | next_state_rec | [4] |
[in] | state_reg_rec | [5] |
[in] | state_reg_rec(M).falling_edge_reg(N) | [1] [std_logic] "falling edge reg <integer>" |
MONITOR_FALLING_EDGES( 0, input_signal(1), st_start, next_state_rec, state_reg_rec );
Voice Command | HotKey Sequence |
---|---|
"monitor falling edge zero" | mf0 |
"data input signal one" | data input_signal(1) |
"goto state start" | goto st_start |
Procedures | |
MONITOR_FALLING_EDGES( edge_index: natural input_signal: std_logic transition_state: STATE_INTEGER signal next_state_rec: out NSR state_reg_rec: in SRR ) | |
MONITOR_FALLING_EDGES( edge_index: natural input_signal: std_logic transition_state: STATE_INTEGER signal next_state_rec: out NSR state_reg_rec: in SRR trigger_time: in time ) | |
MONITOR_FALLING_EDGES( edge_index: natural input_signal: std_logic transition_state: STATE_INTEGER signal next_state_rec: out NSR_ARRAY state_reg_rec: in SRR_ARRAY ) | |
overloaded for array interface | |
MONITOR_FALLING_EDGES( edge_index: natural input_signal: std_logic transition_state: STATE_INTEGER signal next_state_rec: out NSR_ARRAY state_reg_rec: in SRR_ARRAY trigger_time: in time ) |