Thank you so much. I have another question. I am passing the address out from the slave (conduit) and a signaltap file monitors all the values. Internally the address is getting messed up.
For the master_read_16 commands--
Master address = 0x00 ……………………………. Slave address = 0x00
Master address = 0x04 ……………………………. Slave address = 0x02
Master address = 0x08 ……………………………. Slave address = 0x04
Master address = 0x0C ……………………………. Slave address = 0x06
For the master_write_16 commands--
Master address = 0x00 ……………………………. Slave address = 0x02
Master address = 0x04 ……………………………. Slave address = 0x04
Master address = 0x08 ……………………………. Slave address = 0x06
Master address = 0x0C ……………………………. Slave address = 0x08
I get it that the address provided by the master it is shifted right by one bit when it arrives at the slave. This is indeed happening when I perform master_read_16. But when for master_write_16 this is not true. Why is the internal address mapping different for reads and writes?
Also Byteeable is always 00 while write operation. Is that right?