Default value of WSTRB signal


I would like to get clarification on the WSTRB signal. I have few questions on it.

1) What is default value of WSTRB?

2) Does master generates the default value if any or user can modify it?

3) If user can modify the value than what would be the protocol violation cases in case of WSTRB signal?

  • There isn't any default value for WSTRB, it has to be driven appropriately for each write transfer.

    If a transaction transfer width AWSIZE indicates the full width of the data bus will be used and the AWADDR start address is aligned to that width, then each write data transfer can use any of the WSTRB bits as required. However transfers narrower than the data bus width mean that only some of the byte lanes can be used in each transfer.

    So no default value, and WSTRB has to be driven correctly to only use byte lanes covered by the AWADDR/AWSIZE/AWBURST/AWLEN described transfers.