Using the fanout tool in ecotools #1391
Replies: 4 comments
|
Hi @thom-popovici, thank you for sharing your experience and feedback. It sounds like the part of the netlist you are trying to modify isn't fully populated or missing some parts. This could be due to a few reasons, but the most likely suspect is that you have a design with encrypted cells in it and the modification is trying to access a part of the encrypted cell but RapidWright cannot look inside encrypted cells. When exporting EDIF from Vivado, if a cell is encrypted, it will write out an encrypted If you could provide an example of what you are seeing (full stacktrace/output log) with code and an input DCP that reproduces the issue you are seeing, that would help us track it down. |
|
Hi Chris. Thanks for the fast response. I am using the amd_mini-isp_2025.1.dcp from the benchmarks. I am just looking at this cell in the design: isp_int/ccm_inst/pipe_4_tlast_i_1 this is a LUT The netlist with the high fanout is isp_int/ccm_inst/CEB1 I pass that to the Fanout tool provided in the rapidtools_mcp.py |
|
Hi @thom-popovici, What version of RapidWright are you currently using? It is possible that a recent fix in RapidWright (2026.1.0) might resolve this issue. If you can update to the latest version and try again, please report back your findings. Thanks, Chris |
|
I am just downloading the github RapidWright. Here is the code snippet: design = Design.readCheckpoint("amd_mini-isp_2025.1.dcp") net_name = "isp_int/ccm_inst/CEB1" net = design.getNet(net_name) FanOutOptimization.cutFanOutOfRoutedNet(design, net, 7) Exception Traceback (most recent call last) Exception: Java Exception The above exception was the direct cause of the following exception: java.lang.NullPointerException Traceback (most recent call last) java.lang.NullPointerException: java.lang.NullPointerException: Cannot invoke "com.xilinx.rapidwright.edif.EDIFHierNet.getNet()" because "ehn" is null |
Uh oh!
There was an error while loading. Please reload this page.
Hello.
I have been trying to use the fanout optimizer provided by rapid wright. I have been using it but was not paying attention to some of the warnings.
It seems that if I give the function the netlist that is driven by a flip flop the function works correctly, however if i specify a netlist that is driven by a LUT, there is an internal error saying that some ehn object is null.
Am I missing something?
Regards
All reactions