summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/core/Bits.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/Bits.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/Bits.scala')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/core/Bits.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/core/Bits.scala b/chiselFrontend/src/main/scala/chisel3/core/Bits.scala
index 77a31252..d7464efa 100644
--- a/chiselFrontend/src/main/scala/chisel3/core/Bits.scala
+++ b/chiselFrontend/src/main/scala/chisel3/core/Bits.scala
@@ -699,6 +699,11 @@ sealed class Bool(dir: Direction, lit: Option[ULit] = None) extends UInt(dir, Wi
def && (that: Bool): Bool = macro SourceInfoTransform.thatArg
def do_&& (that: Bool)(implicit sourceInfo: SourceInfo): Bool = this & that
+
+ /** Reinterprets this Bool as a Clock. */
+ def asClock(): Clock = macro SourceInfoTransform.noArg
+
+ def do_asClock(implicit sourceInfo: SourceInfo): Clock = pushOp(DefPrim(sourceInfo, Clock(), AsClockOp, ref))
}
object Bool {