ucb-bar / hammer

Hammer: Highly Agile Masks Made Effortlessly from RTL
BSD 3-Clause "New" or "Revised" License
255 stars 59 forks source link

Generate a copy of the full syn/par.tcl scripts even when only running certain steps #206

Open edwardcwang opened 6 years ago

edwardcwang commented 6 years ago

It's useful for reference

edwardcwang commented 6 years ago

Turns out this is a bit tricky. HammerTool by default has no intrinsic knowledge of what the plugin steps do. While many current plugins' steps do in fact just append to some output buffer, plugins could conceivably just execute steps immediately.

One path forward is to add a subclass/trait to HammerTool that lets Hammer know that a plugin is a translation/compiler-style plugin, and for these plugins we can feasibly implement this issue in a generic manner.

Of course each plugin can hack its own version of this but it's not generic/re-usable.

edwardcwang commented 6 years ago

The short term workaround is to run the whole flow and copy out the generated par.tcl or whatever scripts.

colinschmidt commented 6 years ago

Do we have a "dry-run" option? That might make the short term workaround easier

edwardcwang commented 6 years ago

Yeah the CAD tool plugins right now don't implement such a mode (spit out TCL but not running flow).

colinschmidt commented 5 years ago

It might be easier to follow if every step produced its own distinct tcl file, and the top-level syn.tcl/par.tcl simply sourced them in series. It would also be nice if they had a prefix like step00_ etc so they show up in order when you ls @jwright6323