Generating Partial Bitstreams from Abstract Shells - 2021.1 English

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

Document ID
UG909
Release Date
2022-02-25
Version
2021.1 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
CAUTION:
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, VivadoVivado 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 gray 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.