Generating Partial Bitstreams from Abstract Shells - 2020.2 English

Vivado Design Suite User Guide: Dynamic Function eXchange (UG909)

Document ID
Release Date
2020.2 English

Alternatively, partial bitstreams can be generated directly from the Abstract Shell implementation for any RM. With this approach, the complete static design information is not required to generate partial bitstreams. The Abstract Shell contains all the information needed not only to implement any RM, but to create the bitstream for that function. The -cell option for write_bitstream is required.

write_bitstream -cell <cell_inst> <RM_partial>.bit


If the -cell option is omitted, write_bitstream flags an error, as this is interpreted as a request to create a full design bitstream. The full design is clearly not present here. Similarly, Vivado returns an error if you attempt to generate a partial bitstream from just the RM checkpoint alone (the one created from write_checkpoint -cell, with no static design data present above the target cell). This bitstream would only have the information for the RM, not for the static design that connects to it.

Full device bitstreams can only be generated from checkpoints containing the full static design checkpoint plus one RM per RP. RMs can be grey box implementations, but even these must be fully placed and routed. Partial bitstreams from any full or Abstract Shell checkpoint are compatible with static as long as that version of static used to create each Abstract Shell has not been modified.