From 07ea0bac73d2ee5c9d09e9f3c07275340f0e75bb Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Fri, 11 Jan 2019 14:33:43 -0500 Subject: Add toAnnotations method to ChiselExecutionOptions Adds a method to enable conversion from ChiselExecutionOptions back to an AnnotationSeq. Signed-off-by: Schuyler Eldridge --- src/main/scala/chisel3/ChiselExecutionOptions.scala | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/main/scala/chisel3/ChiselExecutionOptions.scala b/src/main/scala/chisel3/ChiselExecutionOptions.scala index a3644829..eab49a3e 100644 --- a/src/main/scala/chisel3/ChiselExecutionOptions.scala +++ b/src/main/scala/chisel3/ChiselExecutionOptions.scala @@ -2,7 +2,9 @@ package chisel3 -import firrtl.{ExecutionOptionsManager, ComposableOptions} +import chisel3.stage.{NoRunFirrtlCompilerAnnotation, PrintFullStackTraceAnnotation} + +import firrtl.{AnnotationSeq, 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 @@ -16,7 +18,13 @@ case class ChiselExecutionOptions( runFirrtlCompiler: Boolean = true, printFullStackTrace: Boolean = false // var runFirrtlAsProcess: Boolean = false - ) extends ComposableOptions + ) extends ComposableOptions { + + def toAnnotations: AnnotationSeq = + (if (!runFirrtlCompiler) { Seq(NoRunFirrtlCompilerAnnotation) } else { Seq() }) ++ + (if (printFullStackTrace) { Some(PrintFullStackTraceAnnotation) } else { None }) + +} trait HasChiselExecutionOptions { self: ExecutionOptionsManager => -- cgit v1.2.3