One more interesting point. Just to discuss about that "readyfordata" locks the CPU. Okay, if we avoid my previous post regading to efficient code writting, moreover let say this option won't work. Here is the point:
Someone should tell me then why "waitrequest" is supported??? And it works even! :-) Using this also locks the CPU, btw. Depending on the C code...
The only problem with waitrequest, that it is shared between the READ and WRITE sides, so there is no read_waitrequest and write_waitrequest. Additional logic needs to have them working separately. And what is the final result if you created and applied this additional logic? You have a working
dataavailable for READ
readyfordata for WRITE
signals derived from waitrequest. So now who can explain me why these signals are not working originaly?:)