Skip to content

Commit 2d2428d

Browse files
authored
add additionalAnnotations for SerializableModuleElaborator (#4477)
This is used for provide annotation support at elaboration time, e.g. PrintFullStackTraceAnnotation, ThrowOnFirstErrorAnnotation, WarningsAsErrorsAnnotation, IncludeUtilMetadata
1 parent 426d048 commit 2d2428d

File tree

1 file changed

+3
-2
lines changed

1 file changed

+3
-2
lines changed

src/main/scala/chisel3/experimental/util/SerializableModuleElaborator.scala

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,16 +3,17 @@
33
package chisel3.experimental.util
44

55
import geny.Readable
6-
76
import chisel3.RawModule
87
import chisel3.experimental.{SerializableModule, SerializableModuleGenerator, SerializableModuleParameter}
8+
import firrtl.annotations.Annotation
99

1010
import scala.reflect.runtime.universe
1111
import scala.reflect.runtime.universe.{runtimeMirror, typeOf}
1212

1313
/** Mixin this trait to produce elaborators for [[SerializableModule]]
1414
*/
1515
trait SerializableModuleElaborator {
16+
def additionalAnnotations: Seq[Annotation] = Nil
1617

1718
/**
1819
* Implementation of a config API to serialize the [[SerializableModuleParameter]]
@@ -61,7 +62,7 @@ trait SerializableModuleElaborator {
6162
upickle.default.read[P](parameter)
6263
).module().asInstanceOf[RawModule]
6364
)
64-
): firrtl.AnnotationSeq
65+
) ++ additionalAnnotations
6566
) { case (annos, stage) => stage.transform(annos) }
6667
.flatMap {
6768
case firrtl.stage.FirrtlCircuitAnnotation(circuit) =>

0 commit comments

Comments
 (0)