summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAndrew Waterman2016-04-18 15:44:57 -0700
committerAndrew Waterman2016-05-04 01:43:09 -0700
commitbb912f52606d6c11c00dd035af1a4e0033dd091c (patch)
tree891977b72cf70d533f4ade28dd6e4f65849a6eb1 /src/main
parentf3ea8f1f7539d4afb50555df28dd16562c0ee256 (diff)
Support writing literals like 1.U or -1.S
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/Chisel/package.scala17
1 files changed, 17 insertions, 0 deletions
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)
+ }
+}