diff options
| author | Jack Koenig | 2020-03-22 18:13:58 -0700 |
|---|---|---|
| committer | Jack Koenig | 2020-03-25 19:17:15 -0700 |
| commit | fbf5e6f1a0e8bf535d465b748ad554575fe62156 (patch) | |
| tree | 578858ab6d219ca6daf44cf87b73f75054989097 /chiselFrontend/src/main/scala/chisel3/UIntFactory.scala | |
| parent | b2e004fb615a3c931d910a338b9faa99c1c975d7 (diff) | |
Rename subprojects to more canonical names
* Rename coreMacros to macros
* Rename chiselFrontend to core
Also make each subproject publish with "chisel3-" as a prefix
Diffstat (limited to 'chiselFrontend/src/main/scala/chisel3/UIntFactory.scala')
| -rw-r--r-- | chiselFrontend/src/main/scala/chisel3/UIntFactory.scala | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/UIntFactory.scala b/chiselFrontend/src/main/scala/chisel3/UIntFactory.scala deleted file mode 100644 index 3868962b..00000000 --- a/chiselFrontend/src/main/scala/chisel3/UIntFactory.scala +++ /dev/null @@ -1,47 +0,0 @@ -// See LICENSE for license details. - -package chisel3 - -import chisel3.internal.firrtl.{IntervalRange, KnownWidth, ULit, UnknownWidth, Width} -import firrtl.Utils -import firrtl.constraint.IsKnown -import firrtl.ir.{Closed, IntWidth, Open} - -// This is currently a factory because both Bits and UInt inherit it. -trait UIntFactory { - /** Create a UInt type with inferred width. */ - def apply(): UInt = apply(Width()) - /** Create a UInt port with specified width. */ - def apply(width: Width): UInt = new UInt(width) - - /** Create a UInt literal with specified width. */ - // scalastyle:off method.name - protected[chisel3] def Lit(value: BigInt, width: Width): UInt = { - val lit = ULit(value, width) - val result = new UInt(lit.width) - // Bind result to being an Literal - lit.bindLitArg(result) - } - /** Create a UInt with the specified range, validate that range is effectively > 0 - */ - //scalastyle:off cyclomatic.complexity - def apply(range: IntervalRange): UInt = { - // Check is only done against lower bound because range will already insist that range high >= low - range.lowerBound match { - case Closed(bound) if bound < 0 => - throw new ChiselException(s"Attempt to create UInt with closed lower bound of $bound, must be > 0") - case Open(bound) if bound < -1 => - throw new ChiselException(s"Attempt to create UInt with open lower bound of $bound, must be > -1") - case _ => - } - - // because this is a UInt we don't have to take into account the lower bound - val newWidth = if(range.upperBound.isInstanceOf[IsKnown]) { - KnownWidth(Utils.getUIntWidth(range.maxAdjusted.get).max(1)) // max(1) handles range"[0,0]" - } else { - UnknownWidth() - } - - apply(newWidth) - } -} |
