summaryrefslogtreecommitdiff
path: root/core/src/main/scala/chisel3/internal/plugin
diff options
context:
space:
mode:
Diffstat (limited to 'core/src/main/scala/chisel3/internal/plugin')
-rw-r--r--core/src/main/scala/chisel3/internal/plugin/package.scala22
1 files changed, 22 insertions, 0 deletions
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
+ }
+}