From 69e27b2fd9e02d4e3a024eec0cafce5b4b46c10a Mon Sep 17 00:00:00 2001 From: Adam Izraelevitz Date: Mon, 14 Sep 2020 10:17:49 -0700 Subject: Documentation and minor plugin changes. (#1573) * Added documentation. Bugfix in plugin. Moved plugin APIs to separate package * Revert reg naming behavior (omit underscore) * Added documentation and a test * Addressed reviewer feedback.--- .../main/scala/chisel3/experimental/package.scala | 9 --------- core/src/main/scala/chisel3/internal/Builder.scala | 2 +- .../scala/chisel3/internal/plugin/package.scala | 22 ++++++++++++++++++++++ 3 files changed, 23 insertions(+), 10 deletions(-) create mode 100644 core/src/main/scala/chisel3/internal/plugin/package.scala (limited to 'core/src/main') diff --git a/core/src/main/scala/chisel3/experimental/package.scala b/core/src/main/scala/chisel3/experimental/package.scala index 71fd186c..12631512 100644 --- a/core/src/main/scala/chisel3/experimental/package.scala +++ b/core/src/main/scala/chisel3/experimental/package.scala @@ -141,13 +141,4 @@ package object experimental { val prefix = chisel3.internal.prefix // Use to remove prefixes not in provided scope val noPrefix = chisel3.internal.noPrefix - // Used by Chisel's compiler plugin to automatically name signals - def autoNameRecursively[T <: Any](name: String, nameMe: T): T = { - chisel3.internal.Builder.nameRecursively( - name.replace(" ", ""), - nameMe, - (id: chisel3.internal.HasId, n: String) => id.autoSeed(n) - ) - nameMe - } } diff --git a/core/src/main/scala/chisel3/internal/Builder.scala b/core/src/main/scala/chisel3/internal/Builder.scala index e55f1af7..741a2498 100644 --- a/core/src/main/scala/chisel3/internal/Builder.scala +++ b/core/src/main/scala/chisel3/internal/Builder.scala @@ -119,7 +119,7 @@ private[chisel3] trait HasId extends InstanceId { * @param seed Seed for the name of this component * @return this object */ - def autoSeed(seed: String): this.type = { + private [chisel3] def autoSeed(seed: String): this.type = { auto_seed = Some(seed) for(hook <- auto_postseed_hooks) { hook(seed) } prefix_seed = Builder.getPrefix() diff --git a/core/src/main/scala/chisel3/internal/plugin/package.scala b/core/src/main/scala/chisel3/internal/plugin/package.scala new file mode 100644 index 00000000..6d78b1c3 --- /dev/null +++ b/core/src/main/scala/chisel3/internal/plugin/package.scala @@ -0,0 +1,22 @@ +// See LICENSE for license details. + +package chisel3.internal + +package object plugin { + /** Used by Chisel's compiler plugin to automatically name signals + * DO NOT USE in your normal Chisel code!!! + * + * @param name The name to use + * @param nameMe The thing to be named + * @tparam T The type of the thing to be named + * @return The thing, but now named + */ + def autoNameRecursively[T <: Any](name: String, nameMe: T): T = { + chisel3.internal.Builder.nameRecursively( + name.replace(" ", ""), + nameMe, + (id: chisel3.internal.HasId, n: String) => id.autoSeed(n) + ) + nameMe + } +} -- cgit v1.2.3