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 -cell <cell_inst> <RM_partial>.bit
-celloption is omitted,
write_bitstreamflags 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.