11-02-2009 05:17 AM
I am having some problems using the PLB2PLB
bridge in EDK 9.2.04. I have created a customized peripheral on my own
with 2 input registers and 1 output register, among other stuff. It
works perfectly when I connect it in a PLB bus attached to a microblaze
processor. The problem comes when I connect it to a secondary PLB bus,
connected with the primary PLB by means of a PLB2PLB bridge. I connect
all the components in such a way that the master side of the bridge is
connected to the primary PLB and the slave side, to the secondary PLB;
which, in turn, is connected to the peripheral. In the "Adresses" tab,
I assign to the bridge 64KBof memory.
I perform 2 write operations and 1 read on the
registers. The problem is that only the first write works; and when I
try to do the second write, it doesn't work any more...
I have read here:
Any guess?? I don't know if I'm doing something wrong... On the other hand, my particular issue is that I need to use the 9.2.04 version of EDK necessarily because I'm using the "Early Access Partial Reconfiguration" tool as well.
Thanks in advance.Regards.
11-18-2009 09:15 AM
The first thing I would check is the C_RNG0_BASEADDR of the bridge. Make sure that it covers the address of the custom peripheral.
It would be better if you can elaborate a little bit on the issue. What did you mean by the second write doesn't work? How did you verify it, with ChipScope or something else?
11-23-2009 03:40 AM
The C_RNG0_BASEADDR of the bridge is exactly the same as the C_BASEADDR of my peripheral.
I have verified that the second write doesn't work by putting a xil_printf() below. Commenting the second write operation, the program finishes (and I can see the result of the xil_printf()). Otherwise, it doesn't execute the xil_printf(). I think that the system waits the second write to be completed, I mean, to receive some kind of acknowledge that never receives, as someone guesses in the link that I provided above.