Scenarios where AHB3-Lite slave gives ERROR response
Posted 14 June 2012 - 05:16 AM
Can anybody tell me the scenarios where the AHB3-Lite slave generates the ERROR response?
Some scenarios like:
When the SINGLE burst followed by BUSY transaction for valid address?
When busy followed by IDLE transfer in defined length transfer (All bursts except INCR)?
Transaction starts from SEQ (Ist beat of the transfer is SEQ) on valid address?
Appreciate your help.
Posted 14 June 2012 - 08:21 AM
All the scenarios you describe are returning an ERROR response for what is a protocol violation. If you are adding logic just to do protocol checking you will be adding a lot of redundant code in your design, and all of it unnecessary code if the system the slave was being used in was correctly designed in the first place.
So rather than every slave having to check the protocol compliance of transfers received, and every master having to check the protocol compliance of responses received from the slaves, you should instead ensure the whole design works correctly at simulation time, catching any errors at that stage, and then the components you synthesise do not contain lots of redundant code.
Reading section 5.1.3 of the AHB-lite speciication, it gives you an example of when you would want to give an error response, an attempt to write to a read-only memory location, so you are looking at transfers the slave cannot accept rather than protocol violations.
There wouldn't be anything wrong in detecting protocol violations and returning error responses, but these shouldn't be required if everyone complies with the protocol, and all you are doing is making your design larger, and slower, and consuming more power.
Posted 14 June 2012 - 09:30 AM
Thanks for your reply.
I understand your point but I was asking from the prospective of VIP.
If our slave is behaving as a BFM and verifying a DUT master, in that case also slave is not supposed to flash ERROR response for protocol violation?
Posted 14 June 2012 - 10:30 AM
The VIP/BFM will/should likely just stop the simulation and report a textual error rather than trying to provide any further AHB-Lite responses.