Hi,
I am writing in regard to the following thread (just joined the list):
<http://www.itee.uq.edu.au/~listarch/partial-reconfig/archive/2007/10/msg00006.html>http://www.itee.uq.edu.au/~listarch/partial-reconfig/archive/2007/10/msg00006.html
I have a very similar situation ? iMPACT
programming of the device works whereas if I use
the ICAP port I get CRC errors.
I am using EDK 9.2.01i with opb_hwicap
v1.10a. I can read the register space
successfully but as soon as I try and load the
partial bitstreams through ICAP I get CRC
errors. I tried disabling the CRC check in the
bit files but this still did make partial reconfig through ICAP work.
The one thing that I have noticed when using the
hwicap driver is that each time I fill the BRAM
with bitstream data and do a
deviceWrite/readback the first word is not the
expected value. I have performed the same
experiment with very simple command register accesses:
Packet = XHwIcap_Type1Write(XHI_AXSS_IDCODE) |
1; // just picked a register I could r/w to,
this is not done during reconfiguration
XHwIcap_StorageBufferWrite(&myICAP, 0, XHI_DUMMY_PACKET);
XHwIcap_StorageBufferWrite(&myICAP, 1, XHI_SYNC_PACKET);
XHwIcap_StorageBufferWrite(&myICAP, 2, XHI_NOOP_PACKET);
XHwIcap_StorageBufferWrite(&myICAP, 3, Packet);
XHwIcap_StorageBufferWrite(&myICAP, 4, 0xF0F0F0F0);
XHwIcap_StorageBufferWrite(&myICAP, 5, XHI_NOOP_PACKET);
XHwIcap_StorageBufferWrite(&myICAP, 6, XHI_NOOP_PACKET);
Status = XHwIcap_DeviceWrite(&myICAP, 0, 7);
//sent
40200000 : FFFFFFFF
40200004 : AA995566
40200008 : 20000000
4020000C : 3001A001
40200010 : F0F0F0F0
40200014 : 20000000
40200018 : 20000000
Status = XHwIcap_DeviceRead(&myICAP, 0, 7);
//read
40200000 : 000000DF
40200004 : AA995566
40200008 : 20000000
4020000C : 3001A001
40200010 : F0F0F0F0
40200014 : 20000000
40200018 : 20000000
The returned buffer is identical except for the
XHI_DUMMY_PACKET. The 0x000000DF is what I
always get for the very first write out to the device through the ICAP.
Is this normal or can anyone shed insight into the problem?
Thanks,
Brian Sutton