You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I'm currently having some issue using RapidWright v2022.1.3-beta for my project. It throws an exception at writeCheckpoint when I copied a design that utilizes LUT6CY (LUT6 with carry) cells. There seems to be some complication involved with this cell as it is broken down to two subcells: LUTCY1 and LUTCY2. I made a minimal example for reproducing the issue as follows.
Exception in thread "main" java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at com.xilinx.rapidwright.util.ParallelismTools.joinFirst(ParallelismTools.java:245)
at b.b(Unknown Source)
at b.a(Unknown Source)
at com.xilinx.rapidwright.design.Design.writeCheckpoint(Unknown Source)
at com.xilinx.rapidwright.examples.TestLUT6CY.main(TestLUT6CY.java:90)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.xilinx.rapidwright.util.ParallelismTools.joinFirst(ParallelismTools.java:243)
... 4 more
Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at com.xilinx.rapidwright.util.ParallelismTools.get(ParallelismTools.java:173)
at com.xilinx.rapidwright.util.ParallelismTools.join(ParallelismTools.java:268)
at aa.a(Unknown Source)
at b.a(Unknown Source)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Caused by: java.util.concurrent.ExecutionException: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.xilinx.rapidwright.util.ParallelismTools.get(ParallelismTools.java:171)
... 7 more
Caused by: java.lang.RuntimeException: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at com.xilinx.rapidwright.util.ParallelismTools.joinFirst(ParallelismTools.java:245)
at aa.a(Unknown Source)
at aa.a(Unknown Source)
at com.xilinx.rapidwright.util.b.a(Unknown Source)
at aa.a(Unknown Source)
... 4 more
Caused by: java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(FutureTask.java:122)
at java.util.concurrent.FutureTask.get(FutureTask.java:192)
at com.xilinx.rapidwright.util.ParallelismTools.joinFirst(ParallelismTools.java:243)
... 8 more
Caused by: java.lang.NullPointerException
at aa.a(Unknown Source)
at java.lang.Iterable.forEach(Iterable.java:75)
... 7 more
The code runs successfully. This is my current workaround. It's also worth noting that I was able to make this code work correctly in v2022.1.1-beta without the workround (but need to explicitly passing eci1 and eci2 to c1 and c2 cell constructors, respectively.). It seems the latest Cell constructors do not require passing an EDIFCellInst.
The text was updated successfully, but these errors were encountered:
Thanks @nqdtan for reporting this issue! I can reproduce it and it appears to be a side effect of a recent refactoring of the code where we decoupled the physical netlist from the logical netlist. The Cell object has a stored reference to the cell type (EDIFCell). In the code above, it is not populated, however, in your work-around where just getting the EDIFCellInst reference forces the field to be populated. A more direct work around could also be:
I'm currently having some issue using RapidWright v2022.1.3-beta for my project. It throws an exception at writeCheckpoint when I copied a design that utilizes LUT6CY (LUT6 with carry) cells. There seems to be some complication involved with this cell as it is broken down to two subcells: LUTCY1 and LUTCY2. I made a minimal example for reproducing the issue as follows.
I got the following error
I also tried this approach
but also got the same error.
However, if I uncomment these lines
The code runs successfully. This is my current workaround. It's also worth noting that I was able to make this code work correctly in v2022.1.1-beta without the workround (but need to explicitly passing
eci1
andeci2
toc1
andc2
cell constructors, respectively.). It seems the latest Cell constructors do not require passing an EDIFCellInst.The text was updated successfully, but these errors were encountered: