From bb912f52606d6c11c00dd035af1a4e0033dd091c Mon Sep 17 00:00:00 2001 From: Andrew Waterman Date: Mon, 18 Apr 2016 15:44:57 -0700 Subject: Support writing literals like 1.U or -1.S --- src/main/scala/Chisel/package.scala | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 src/main/scala/Chisel/package.scala diff --git a/src/main/scala/Chisel/package.scala b/src/main/scala/Chisel/package.scala new file mode 100644 index 00000000..61fb6904 --- /dev/null +++ b/src/main/scala/Chisel/package.scala @@ -0,0 +1,17 @@ +package object Chisel { + import internal.firrtl.Width + implicit class fromBigIntToLiteral(val x: BigInt) extends AnyVal { + def U: UInt = UInt(x, Width()) + def S: SInt = SInt(x, Width()) + } + implicit class fromIntToLiteral(val x: Int) extends AnyVal { + def U: UInt = UInt(BigInt(x), Width()) + def S: SInt = SInt(BigInt(x), Width()) + } + implicit class fromStringToLiteral(val x: String) extends AnyVal { + def U: UInt = UInt(x) + } + implicit class fromBooleanToLiteral(val x: Boolean) extends AnyVal { + def B: Bool = Bool(x) + } +} -- cgit v1.2.3