summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'chiselFrontend/src/main')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala3
-rw-r--r--chiselFrontend/src/main/scala/chisel3/internal/Builder.scala9
2 files changed, 7 insertions, 5 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala b/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala
index 15643ac8..de64cb3d 100644
--- a/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala
+++ b/chiselFrontend/src/main/scala/chisel3/core/Aggregate.scala
@@ -374,5 +374,4 @@ class Bundle extends Aggregate(NO_DIR) {
private[core] object Bundle {
val keywords = List("flip", "asInput", "asOutput", "cloneType", "toBits",
- "widthOption")
-}
+ "widthOption", "signalName", "signalPathName", "signalParent", "signalComponent")
diff --git a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
index dd4b3264..21f32483 100644
--- a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
+++ b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
@@ -55,13 +55,15 @@ private[chisel3] class IdGen {
}
}
-/** Public API to Nodes.
- * currently, the node's name, the full path name, and a reference to its parent.
+/** Public API to access Node/Signal names.
+ * currently, the node's name, the full path name, and references to its parent Module and component.
+ * These are only valid once the design has been elaborated, and should not be used during its construction.
*/
trait SignalID {
def signalName(component: Component): String
- def signalPathName(component: Component, separator: String = "_"): String
+ def signalPathName(component: Component, separator: String = "."): String
def signalParent: Module
+ def signalComponent: Option[Component]
}
private[chisel3] trait HasId extends SignalID {
@@ -78,6 +80,7 @@ private[chisel3] trait HasId extends SignalID {
case None => signalName(component)
}
}
+ override def signalComponent: Option[Component] = None
private[chisel3] val _id = Builder.idGen.next
override def hashCode: Int = _id.toInt