Xilinx / RapidWright

Build Customized FPGA Implementations for Vivado
http://www.rapidwright.io
Other
286 stars 109 forks source link

make multiple black boxes #966

Closed pwang7 closed 6 months ago

pwang7 commented 6 months ago

I'm following the tutorial Reuse Timing-closed Logic As A Shell, and I'd like to make multiple black boxes in my DCP. I made a black box and generated the first shell DCP successfully using MakeBlackbox, but when I made another black box to the previous generated shell, I encountered the following error:

==============================================================================
==                               MakeBlackbox                               ==
==============================================================================
                Read DCP:     2.939s
Exception in thread "main" java.lang.RuntimeException: ERROR: Failed to add cell black_box0 to library work. The library already contains a cell with the same name.
        at com.xilinx.rapidwright.edif.EDIFLibrary.addCell(EDIFLibrary.java:76)
        at com.xilinx.rapidwright.edif.EDIFCell.<init>(EDIFCell.java:67)
        at com.xilinx.rapidwright.design.DesignTools.makeBlackBox(DesignTools.java:1851)
        at com.xilinx.rapidwright.design.DesignTools.makeBlackBox(DesignTools.java:1512)
        at com.xilinx.rapidwright.util.MakeBlackBox.main(MakeBlackBox.java:49)

I'm using RapidWright 2023.2.0-beta Release.

pwang7 commented 6 months ago

After read the MakeBlackbox source code, it does support cut multiple black boxes:

rapidwright MakeBlackBox <input.dcp> <output_shell.dcp> <blackbox cell 1> <blackbox cell 2> ...