Search code examples
fpgaxilinxsynthesisvivadonetlist

How to merge synthesis results in Vivado


I have a Vivado design with embedded Block Design. It creates circa 150 out of context runs (synthesis) and a final synthesis run. Unfortunately, the final synthesis run contains only a top-level wrapper and black boxes.

I would like to get the final top-level DCP and all out-of-context run DCPs merged into one big DCP. This can then be used as an input for a standalone implementation run in my CI environment.

How can I merge all these DCPs into one big DCP?


DCP = Design Check Point


Solution

  • Load all the checkpoints into Vivado using read_checkpoint and then link them together with link_design. After that you can write out a unified checkpoint:

    read_dcp top.dcp
    read_dcp child0.dcp
    ...
    read_dcp child149.dcp
    link_design
    write_checkpoint unified.dcp