diff options
| author | azidar | 2016-07-28 13:57:30 -0700 |
|---|---|---|
| committer | azidar | 2016-07-28 13:57:30 -0700 |
| commit | 202f5201620625b60e1179421687caf55a20e2af (patch) | |
| tree | 97187b928ab9eae04ebe359b5f3a002d5309a763 /src/main/scala/firrtl/Utils.scala | |
| parent | 9b1eed8fb94b222c4cbce64379995ddc3930210a (diff) | |
InferWidths now only fixes declaration widths
Then calls InferTypes to propagate inferred widths to expressions.
Required upgrading InferTypes to do simple width propagation.
Fixes #206 and #200.
Diffstat (limited to 'src/main/scala/firrtl/Utils.scala')
| -rw-r--r-- | src/main/scala/firrtl/Utils.scala | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/Utils.scala b/src/main/scala/firrtl/Utils.scala index 76c8e61e..9d11ca2f 100644 --- a/src/main/scala/firrtl/Utils.scala +++ b/src/main/scala/firrtl/Utils.scala @@ -74,6 +74,9 @@ object Utils extends LazyLogging { implicit def toWrappedExpression (x:Expression) = new WrappedExpression(x) def ceil_log2(x: BigInt): BigInt = (x-1).bitLength def ceil_log2(x: Int): Int = scala.math.ceil(scala.math.log(x) / scala.math.log(2)).toInt + def max(a: BigInt, b: BigInt): BigInt = if (a >= b) a else b + def min(a: BigInt, b: BigInt): BigInt = if (a >= b) b else a + def pow_minus_one(a: BigInt, b: BigInt): BigInt = a.pow(b.toInt) - 1 val gen_names = Map[String,Int]() val delin = "_" val BoolType = UIntType(IntWidth(1)) |
