Speeding up builds by keeping results #1339
-
There are some results that it might be useful to keep in source control. The motivation can be to save execution time, but also to make an explicit choice about when things should change. Some examples:
My thinking is that this could be supported by adding some KEEP_* environment variables. If these are set, then the rule in ORFS Makefile would be changed to copy the file from the config.mk folder if it exists and if it doesn't exist, generate it, then copy it. The user could then keep this result around by adding the results to source control. The "result" should be source control friendly: a .tcl file for manual layout for macro layout, pin layout. Synthesis result is a large .v file, which git compresses. Another motivation is that e.g. syntehsis is run when the .sdc file changes, but if one is working on CTS and syntehsis and macro layout is slow, then it's nice to cache those stages, even if it one gets a less accurate result when iterating on CTS. |
Beta Was this translation helpful? Give feedback.
Replies: 2 comments 1 reply
-
FYI, we already have the option to cache the netlist for synthesis. You need to set the CACHED_NETLIST variable. |
Beta Was this translation helpful? Give feedback.
-
@oharboe |
Beta Was this translation helpful? Give feedback.
FYI, we already have the option to cache the netlist for synthesis. You need to set the CACHED_NETLIST variable.
Reference:
https://github.com/The-OpenROAD-Project/OpenROAD-flow-scripts/blob/master/flow/scripts/synth_preamble.tcl#L3-L9