[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[partial-reconfig] crc error writing partial bitstreams to icap



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