05-08-2014 05:30 AM
When I simulate the io module's io bus, found the LMB can not support wait transaction of SWI.
Refer the following waveform, the dlmb's LMB interface to iomodule is forced to always wait and no ready.
But the Microblaze still can issue a lot write access since the D_Ready signal never valid.
Does I have to enable the Microblaze's fault tolerence function to support LMB wait?
Thanks a lot.
Btw, the Microblaze is version 9.2, tool is vivado 2013.4
05-08-2014 10:26 AM
Trying to see what is happening on the waveform.
This is roughly how MicroBlaze access is done.
1. It will in parallel do a request (D_AS) to LMB and to the internal caches
2. If none is responding with ready or holding wait, MicroBlaze assumes that neither wants the access and will use the standard DAXI interface instead.
LMB has to respond in the cycle after AS with either Ready or Wait if that access is for LMB.