From 7a4f15aa27aed8ce9cc180fb89126a954638e102 Mon Sep 17 00:00:00 2001 From: Schuyler Eldridge Date: Thu, 23 Aug 2018 23:42:30 -0400 Subject: Add MemLibOptions RegisteredLibrary This shows an example of using a RegisteredLibrary, with the appropriate META-INF ServiceLoader entry, that adds options from the InferReadWrite and ReplSeqMem transforms. Signed-off-by: Schuyler Eldridge --- .../META-INF/services/firrtl.options.RegisteredLibrary | 1 + src/main/scala/firrtl/passes/memlib/MemLibOptions.scala | 15 +++++++++++++++ 2 files changed, 16 insertions(+) create mode 100644 src/main/resources/META-INF/services/firrtl.options.RegisteredLibrary create mode 100644 src/main/scala/firrtl/passes/memlib/MemLibOptions.scala (limited to 'src') diff --git a/src/main/resources/META-INF/services/firrtl.options.RegisteredLibrary b/src/main/resources/META-INF/services/firrtl.options.RegisteredLibrary new file mode 100644 index 00000000..abfcceb0 --- /dev/null +++ b/src/main/resources/META-INF/services/firrtl.options.RegisteredLibrary @@ -0,0 +1 @@ +firrtl.passes.memlib.MemLibOptions diff --git a/src/main/scala/firrtl/passes/memlib/MemLibOptions.scala b/src/main/scala/firrtl/passes/memlib/MemLibOptions.scala new file mode 100644 index 00000000..2f26e4e5 --- /dev/null +++ b/src/main/scala/firrtl/passes/memlib/MemLibOptions.scala @@ -0,0 +1,15 @@ +// See LICENSE for license details. + +package firrtl.passes.memlib + +import firrtl._ +import firrtl.options.RegisteredLibrary +import scopt.OptionParser + +class MemLibOptions extends RegisteredLibrary { + val name: String = "MemLib Options" + def addOptions(p: OptionParser[AnnotationSeq]): Unit = + Seq( new InferReadWrite, + new ReplSeqMem ) + .map(_.addOptions(p)) +} -- cgit v1.2.3