since we use AWADDR to denote the address where the data should be written, why we use WSTRB which denotes which byte is valid to write and which is not ?
And also if the some part of the data is not valid then the data gets not written, does this makes the data loss while writing ?
The AXI WSTRB attribute states which bytes should be eventually written/modified, in the target AWADDR.
Don’t look on it as it is a “loss while writing” , in some cases the design really intends to modify partial chunk (only few selected valid bytes) of the address being written.