PLB registers

Jun 24, 2005 2 Replies

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"?


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.

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

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required