UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Participant herand
Participant
1,096 Views
Registered: ‎07-24-2017

Partial Reconfiguration by PCAP: bitstream size not an integer of words?

Jump to solution

Hello,

 

I am currently trying to reconfigure a design with partial bitstreams, which are going to be placed on an SD-Card and loaded by a standalone application when needed.I have read XAPP1159 and UG873 and think I figured out the flow almost correctly.

 

My approach is to load them from the SD-Card to the DDR and then use the xdevcfg function XDcfg_Transfer with the proposed wrapper function from another thread in this forum here.

 

However, one parameter of the XDcfg_Transfer function is u32 SrcWordLength, indicating that it expects a integer number of words. 1st question here: Is a WORD is defined as 2 bytes equaling 8 bits? Or do we talk about DWORDs?

I ask this because I remember that generating bitstreams before vivado was done using promgen and at that time I used the parameter -data_width 32.

 

When I examine the byte size of my generated partial bitstreams, by using the tcl command file size file.bit in vivado, I get 470017, which is neither a multiple of 2 bytes nor 4 bytes. But the .bit file is the only one which I can use directly in vivado as a programming bitstream.

I also generated the .bin files with the parameter -bin_file, which gives me file sizes of 469900, which seem to fit both definitions.

Therefore, my 2nd question is: Do I have to use the .bin files as inputs to the PCAP interface? I'd like to ask that before trial-and-error as I'm afraid of tampering my device.

 

3rd question (small one): Can I use that interface to reprogram the whole PL with another static bitstream as well, given that the constraints do not change?

 

Thanks in advance

 

0 Kudos
1 Solution

Accepted Solutions
Participant herand
Participant
1,346 Views
Registered: ‎07-24-2017

Re: Partial Reconfiguration by PCAP: bitstream size not an integer of words?

Jump to solution

I have found a solution to my problem and it's the typical case of RTFM:

 

On page 98 of UG909 (2016.1) it is clearly stated how to create the .bin files for PCAP reconfiguration, in my example:

 

write_cfgmem -format BIN -interface SMAPx32 -disablebitswap -loadbit "up 0x0 ledr.bit" ledr.bin

It has the same size (469900 bytes) as the one generated by vivado write_bitstream -bin_file command, but differs a bit in content due to the interface and disablebitswap options. Therefore, this file now is a multiple of DWORDs and it works fine.

 

View solution in original post

1 Reply
Participant herand
Participant
1,347 Views
Registered: ‎07-24-2017

Re: Partial Reconfiguration by PCAP: bitstream size not an integer of words?

Jump to solution

I have found a solution to my problem and it's the typical case of RTFM:

 

On page 98 of UG909 (2016.1) it is clearly stated how to create the .bin files for PCAP reconfiguration, in my example:

 

write_cfgmem -format BIN -interface SMAPx32 -disablebitswap -loadbit "up 0x0 ledr.bit" ledr.bin

It has the same size (469900 bytes) as the one generated by vivado write_bitstream -bin_file command, but differs a bit in content due to the interface and disablebitswap options. Therefore, this file now is a multiple of DWORDs and it works fine.

 

View solution in original post