Hi, Opanlane crashes (actually TCL) at Running Mu...
# openlane
b
Hi, Opanlane crashes (actually TCL) at Running Multi-Corner Static Timing Analysis at the min process corner due to huge log file generation by saying that: "Tcl_SetObjLength: negative length requested" I searched for it and found this issue, @Matt Liberty states that: "The large log file is because of the well known problems in timing unconfigured fpga. There are tremendous looping paths that exist structurally. If you look at the log you'll see many of them. Timing verification of an fpga is a hard problem and you can't expect generic solutions to work." https://github.com/The-OpenROAD-Project/OpenLane/issues/1489#issuecomment-1320799567 Yes I am trying to harden an eFPGA. I checked the huge log file and it gives tons of warnings with: "table template ccsn_ovrf not found" ... This problem has also an issue: https://github.com/The-OpenROAD-Project/OpenLane/issues/1808 Then I found out that recent OpenSTA solved this problem: https://github.com/The-OpenROAD-Project/OpenSTA/issues/146#issuecomment-1476502016 However, openlane does not have this commit. @Kareem Farid suggested a workaround in this issue: https://github.com/The-OpenROAD-Project/OpenLane/issues/1739#issuecomment-1505460802 @Harald Pretl states that in the issue the patch solved the issue. So I changed Dockerfile in openlane by adding: RUN cd src/sta && curl -L https://github.com/jjcherry56/OpenSTA/commit/974d9f43e7ba15a56f8534b36d7a107ef690602d.diff | patch --strip=1 and rerun but still get same error. I checked 16-rcx_mcsta.min.log file still huge and give same warnings ...../sky130_fd_sc_hd__ff_n40C_1v95.lib line .., table template ccsn_ovrf not found ..... ccsn_pnlh not found ... etc Regards,
or at least is there any config parameter, or any way to skip multi-corner sta
I think I have to reinstall openlane? I thought docker commands are just to run flow.tcl but it seems they build openroad tools
I run "make openlane" with the added RUN cd src/sta && curl -L https://github.com/jjcherry56/OpenSTA/commit/974d9f43e7ba15a56f8534b36d7a107ef690602d.diff | patch --strip=1 line Dockerfile but somehow OpenSTA version is still not updated to 974d9f but it is 0cfb9a45bf What is the proper way for updating OpenSTA in openlane setup?
k
table template ccsn_ovrf not found
was previously an error the lead to a crash but at the moment it is only a warning. You shouldn't need to update OpenSTA. Yes you will get a lot of messages
table template ccsn_ovrf not found
but OpenSTA will stop at some point and continue with other messages
So essentially
table template ccsn_ovrf not found
shouldn't be the main error.
What are the last couple of lines that you see in your log files?
b
@Kareem Farid thanks, Well actually I got this error in the flow:
The size of the log file is 2GB
This is the last lines for log file:
The project is an eFPGA top module and instantiates 193 hardened macros, CLBs, switch blocks and connection blocks. Due to the natural properties of the classical FPGA architecture, all FFs are connected to each other in the design via routing resources, which possibly creates tons of long loops inside the design and therefore it becomes unfeasible to do MC STA. I am not sure if I need to add constraint for all the nets so that the OpenSTA tool does not analyze timing for all those paths?
The crash did not happen after I disable timing analysis by set_false_path option, then OpenSTA did not produce that big log file, but still produce huge file (millions of lines) by analyzing unconstrained paths.