summaryrefslogtreecommitdiff
path: root/chiselFrontend/src
diff options
context:
space:
mode:
authorJim Lawson2016-08-10 17:07:31 -0700
committerDonggyu Kim2016-08-16 11:27:47 -0700
commit0744b3e5f9c0648878b97d3375cd7d88e2d0ee08 (patch)
tree77fc8b2c28263dc055d78452dc31a70517c5efa2 /chiselFrontend/src
parente1e7c7ea3359df1351ba979287b62458e411e846 (diff)
Add component to signature.
Diffstat (limited to 'chiselFrontend/src')
-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