In reply to bmorris:
I will take the same approach that a user will. Does the user have to poll a register? Is there a top-level signal or interrupt that indicates there is space? What happens if data is written when the buffer is full?
If all these are potential use cases, then they should all be tested. I find that using backdoor access to determine status is not a good approach since the user won’t ever be able to do the same thing.