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

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




Hi Brian,


After transferring the bitstream to the ICAP, why do you read again seven words from the ICAP? With one word read and stored in one position of the bram is not enough?

        For example:

Status = XHwIcap_DeviceRead(&myICAP,8, 1); /* transfer one word read from icap to bram address 8 */ AXSS_value = XHwIcap_StorageBufferRead(&myICAP,8); /* read the value from bram address 8 */

        Regards,

                Armando

At 16:51 13/12/2007, you wrote:
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


----------------------------------------------------------------------------------------------------------------------
Armando Astarloa Cuéllar - University of the Basque Country UPV/EHU
Electronic Technology
Department of Electronics and Telecommunications
Faculty of Engineering - Email: armando.astarloa@xxxxxx
Ald. de Urquijo s/n             Tel.: 34 - 94 - 601 73 04
48013 BILBAO (SPAIN)    Fax.: 34 - 94 - 601 42 59
URL : http://det.bi.ehu.es/~apert
----------------------------------------------------------------------------------------------------------------------


___________________________
partial-reconfig mailing list
partial-reconfig@xxxxxxxxxxxxxx
Mailing List Archive : http://www.itee.uq.edu.au/~listarch/partial-reconfig/