cancel
Showing results for 
Search instead for 
Did you mean: 
Observer
Observer
1,956 Views
Registered: ‎08-07-2009

Running code from P2P IPLB

I haven't been able to get my code to boot/run out of Point2Point IPLB1 BRAM in my EDK 11.2 system on a Virtex-4 FX60 using 1 PPC405.  I want to have a small bit of data in DSOCM BRAM, the rest in P2P DPLB1 BRAM, and all instructions in P2P IPLB1 BRAM.

 

The following alternative setups work (boot and run sucessfully):

 

1) Some data in DSOCM (16kB 0x00000000->0x00003FFF); everything else (instruction, data, and boot code) in shared DPLB0/IPLB0 BRAM (128kB 0xFFFE0000->0xFFFFFFFF).

2) Some data in DSOCM (16kB 0x00000000->0x00003FFF); rest of data in P2P DPLB1 BRAM(128kB 0x40020000->0x4003FFFF); .text, .init, .fini, and boot code in ISOCM BRAM (16kB 0xFFFFC000->0xFFFFFFFF).

 

Modifying 2) above to add a P2P IPLB1 BRAM, even without putting anything in it, breaks it.  I haven't gotten a debugger on this yet, so I can't tell where in the boot process it is failing.

 

If I instead disconnect instruction memory from IPLB1 and connect it in a shared DPLB0/IPLB0 configuration (with DPLB1 still hooked up P2P to my data BRAM), it works.

 

Anybody have a clue as to what could be going on?  Are there restrictions on running from P2P IPLB1?

 

Thanks for any help,

Casey

0 Kudos