PLB registers

Hi

I have a small question.

I have a PLB Peripheral with "Software Addressable Registers". Say the baseaddress of my peripheral is 0x90000000 . I have five 64bit registers in my logic. So, the addresses of each of the registers would be baseaddress plus 0x00, 0x08, 0x10, 0x18 and 0x20 respectively. What happens when I try to read, or what would be the output when I read the memory addresses in between.

I always believed that the "Bus2IP_WrCE"signal will assume only "10000", "01000", "00100", "00010" and "00001" and the corresponding register values would be read out from the corresponding registers. Is it possible that I can read out the values "byte-shifted"?

Reply to
Joey
Loading thread data ...

in

It depends on how you implement those registers. Normally, Bus2IP_BE plays role besides Bus2IP_RdCE/WrCE and the IPIF has byte-steering logic to put the byte to the correct lane. So you should be able to do byte read/write.

values

Your assumption is correct, but you'll also need Bus2IP_BE in order to support writing to individual byte.

Reply to
Yong Zhu

I

I had a small code like this in my C program to see what happens when I read between these addresses:

for (counter=0x08;counter

Reply to
Joey

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.