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