What happens if a signal value changes during the wait_request assertion?
Hello,
I have a question regarding the waitrequest signal in Avalon Memory-Mapped Interface.
In Avalon® Interface Specifications document, page 16, it is mentioned: "When waitrequest is asserted, host control signals to the waitrequest agent must remain constant."
My question is: what happens if I intentionally change the value of control signals at the end of the transfer? to be more specific, I need to de-assert the mem_en signal at the end of the transfer, and the value of this control signal comes from a register. As a result, when the waitrequest is asserted, the mem_en will have low value after one clock cycle. I don't like to have a combinational logic to de-assert the mem_en signal. That's why I use register.
Is there any problem other than showing an error prompt in the Modelsim to change control signals after asserting waitrequest?
Thank you in advance.
As long as all your writes completed successfully, that should be OK. Is it a BFM in your simulation saying there is an error?
The interconnect may, at that point, be asserting waitrequest for something else happening in the system. Your host doesn't care anymore because it's done with its transfers.