diff options
| author | Chick Markley | 2016-10-18 16:14:06 -0700 |
|---|---|---|
| committer | GitHub | 2016-10-18 16:14:06 -0700 |
| commit | bbc676b68a79ab2307d346c482d75b72f7ec5d4d (patch) | |
| tree | c5aa54b045e23320b07e164bc0758315ea139a2e /src/main/scala/chisel3/ChiselExecutionOptions.scala | |
| parent | ed872df330cb7dfabdd0e0866176f8f5be8861da (diff) | |
| parent | 070a8d724b282d3866da530b5d99ce7646fbf00e (diff) | |
Merge pull request #325 from ucb-bar/execute-harness-plan-3
Implement a standardized execution scheme for chisel
Diffstat (limited to 'src/main/scala/chisel3/ChiselExecutionOptions.scala')
| -rw-r--r-- | src/main/scala/chisel3/ChiselExecutionOptions.scala | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/src/main/scala/chisel3/ChiselExecutionOptions.scala b/src/main/scala/chisel3/ChiselExecutionOptions.scala new file mode 100644 index 00000000..6f58153f --- /dev/null +++ b/src/main/scala/chisel3/ChiselExecutionOptions.scala @@ -0,0 +1,34 @@ +// See LICENSE for license details. + +package chisel3 + +import firrtl.{ExecutionOptionsManager, ComposableOptions} + +//TODO: provide support for running firrtl as separate process, could alternatively be controlled by external driver +//TODO: provide option for not saving chirrtl file, instead calling firrtl with in memory chirrtl +/** + * Options that are specific to chisel. + * + * @param runFirrtlCompiler when true just run chisel, when false run chisel then compile its output with firrtl + * @note this extends FirrtlExecutionOptions which extends CommonOptions providing easy access to down chain options + */ +case class ChiselExecutionOptions( + runFirrtlCompiler: Boolean = true + // var runFirrtlAsProcess: Boolean = false + ) extends ComposableOptions + +trait HasChiselExecutionOptions { + self: ExecutionOptionsManager => + + var chiselOptions = ChiselExecutionOptions() + + parser.note("chisel3 options") + + parser.opt[Unit]("no-run-firrtl") + .abbr("chnrf") + .foreach { _ => + chiselOptions = chiselOptions.copy(runFirrtlCompiler = false) + } + .text("Stop after chisel emits chirrtl file") +} + |
