#94 opendp seg fault on Caravel DFFRAM module
Issue opened by diecaptain
Hello,
I have an segmentation fault violation during the detailed placement phase while using DFFRAM from caravel under USE_CUSTOM_DFFRAM macro with 256 mem words. The log says that the def output file was successfully written but I have observed that the file is not fully written. The flow then moves on to placement check and ends with a segmentation fault and exit error code 1. The error log and opendp log are attached here.
opendp.log
error.log
The resultant placement def file is attached here for your reference.
DFFRAM.placement.def.gz
I am using RC4 with relevant open_pdk and skywater tags based on the flow. It is the same for both local docker image and efabless/openlane:rc4 docker image. The config, pdn and pin order files are same as those present in caravel.
I am sure the DFFRAM verilog file in caravel was implemented as is in the macro posted. Verilog wise, the pass mux might be the root of all problems, the way it is implemented. But I am posting this issue here because the placement def file output is more puzzling to me. The Replace def file in temp directory is written fully. Why is the def file not being completely written and how is the flow deciding that it has been successfully written and proceeding to placement checks? Kindly let me know if you are able to replicate this issue. I am unable to figure out why this behavior is being exhibited.
Thank you.
efabless/openlane