Dear All,
I am trying to perform a partial reconfiguration on a Virtex 4 (ML402) using Microblaze and HwICAP. I'm using ISE+EDK 9.1.02 with EAPR10.
After initializing without errors the HwICAP, I am trying to read the partial bitstream from the Compact Flash using XHwICAP_CF2ICap function but it does not work since the program on the Microblaze freezes and the ERROR led on the board is switched on. It seems that the XHwICAP_CF2ICap function sticks when accessing the file through the function SYSACE_fopen.
I tried to create again the partial bitstream but the problem persists and I also tested the bitstreams programming the device through JTAG and it works fine.
ADDITIONAL INFORMATION: I am loading the full design from the compact flash, so the configuration bits are configured to 111. The full bitstream is loaded without any problem.
I run the hwicap_init_test( ) function and the output was:
ICAP Base Addr: 40200000
-- Reading ICAP Status
Status: 1
HWICAP Status Register:
cfgerr_n: 0
dalign: 0
rip: 0
in_abort_n: 0
Always 1: 0
Always 1: 0
Always 1: 0
Always 1: 0
Done: 1
-- Reading Device IDCODE through ICAP:
Creating cmd bitstream...
Sending cmd bitstream to ICAP...
Reading from ICAP...
Device IDCODE is: 0
-- Reading Device IDCODE through ICAP:
Creating cmd bitstream...
Sending cmd bitstream to ICAP...
Reading from ICAP...
Device IDCODE is: 42088093
But if I run the test again this was the result:
-- ICAP Base Addr: 40200000
Device is already initialized.-- ICAP Base Addr: 40200000
-- Reading ICAP Status
Status: 447
HWICAP Status Register:
cfgerr_n: 1
dalign: 1
rip: 0
in_abort_n: 1
Always 1: 1
Always 1: 1
Always 1: 1
Always 1: 1
Done: 1
-- Reading Device IDCODE through ICAP:
Creating cmd bitstream...
Sending cmd bitstream to ICAP...
Reading from ICAP...
Device IDCODE is: 42088093
-- Reading Device IDCODE through ICAP:
Creating cmd bitstream...
Sending cmd bitstream to ICAP...
Reading from ICAP...
Device IDCODE is: 42088093
I'd appreciate any help.
Thank you
Paolo Furia