I understood that pstrb = "0000" during read transaction.
But what happens if pstrb = "0000" during write transaction.
Does data successfully transafered without update?
And also I want to know if it is possible to use pstrb = "0101", "1010" or "1001"
According to APB documents, any cases are possible because each bit corresponds to one byte-lane.
In the case of '0000', you can properly handle it as you thought (transfer w/o overwrite).
In fact, I wonder why APB masters must drive all bits of PSTRB LOW.
It seems that APB slaves can just ignore PSTRB bits for read transactions.
What happens if we do not comply with it?
Thank you for answering my question.
I could solve my curiosity.
I also wonder why we must drive all bits of PSTB LOW for read transacitons.
As PSTRB gives validity to data on write bus, I thought that it's because only one transaction is available on APB at once.
But we can use PWRITE signal to avoid it.
If I get an answer, I'll let you know.
View all questions in SoC Design forum