summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/core/Data.scala
diff options
context:
space:
mode:
authorAndrew Waterman2016-09-21 16:16:25 -0700
committerGitHub2016-09-21 16:16:25 -0700
commitb18e98ba2d058c7dd24f96f005486b70c856aeca (patch)
tree568c644051035a81f17f6a8e70938ff55ee21cb7 /chiselFrontend/src/main/scala/chisel3/core/Data.scala
parenta2cb95bfe9e9c30b73284e97048fa0187ab0ee1d (diff)
Expose FIRRTL asClock construct
Additionally, fix Clock.asUInt (previously, it threw an esoteric exception), and add a simple test of both.
Diffstat (limited to 'chiselFrontend/src/main/scala/chisel3/core/Data.scala')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/core/Data.scala5
1 files changed, 4 insertions, 1 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/core/Data.scala b/chiselFrontend/src/main/scala/chisel3/core/Data.scala
index 573632ab..197b6181 100644
--- a/chiselFrontend/src/main/scala/chisel3/core/Data.scala
+++ b/chiselFrontend/src/main/scala/chisel3/core/Data.scala
@@ -5,9 +5,10 @@ package chisel3.core
import scala.language.experimental.macros
import chisel3.internal._
-import chisel3.internal.Builder.pushCommand
+import chisel3.internal.Builder.{pushCommand, pushOp}
import chisel3.internal.firrtl._
import chisel3.internal.sourceinfo.{SourceInfo, DeprecatedSourceInfo, UnlocatableSourceInfo, WireTransform, SourceInfoTransform}
+import chisel3.internal.firrtl.PrimOp.AsUIntOp
sealed abstract class Direction(name: String) {
override def toString: String = name
@@ -177,4 +178,6 @@ sealed class Clock(dirArg: Direction) extends Element(dirArg, Width(1)) {
/** Not really supported */
def toPrintable: Printable = PString("CLOCK")
+
+ override def do_asUInt(implicit sourceInfo: SourceInfo): UInt = pushOp(DefPrim(sourceInfo, UInt(this.width), AsUIntOp, ref))
}