Xilinx / RapidWright

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

RapidWright should track in the netlist if macros have been expanded or collapsed #388

Open clavin-xlnx opened 2 years ago

clavin-xlnx commented 2 years ago

When Vivado reads a netlist (EDIF file, for example) it will expand the macros in it before returning control to the user. RapidWright emulates this behavior by expanding upon read of a DCP and collapsing upon write of a DCP. However, if a DCP is written as an intermediate step, the netlist in memory stays collapsed and performing other netlist operations may fail afterwards (such as DesignTools.copyImplementation()). There should be a flag added to the netlist to track the current state of the macros so that these methods, or the user can query and expand the netlist appropriately.

pongstorn-AMD commented 2 years ago

What is the API to expand the macro?

clavin-xlnx commented 2 years ago

What is the API to expand the macro?

EDIFNetlist.expandMacroUnisims(Series series)