aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes
diff options
context:
space:
mode:
authorAndrew Waterman2016-09-13 20:54:20 -0700
committerDonggyu2016-09-13 20:54:20 -0700
commit8fc37582267b2319e5fa25818fcd1346d8e180ae (patch)
tree2a9e2ae060cb7be6b417408d3cbd3e282cc690bc /src/main/scala/firrtl/passes
parent36c19ed40bec120ef38aefa7e2c875c5e21bf048 (diff)
Fix a lurking width-inference bug; improve adjacent style (#298)
ceil(log(x) / log(2)) does not, in general, round to ceil(log2(x)). I noticed this because of #297.
Diffstat (limited to 'src/main/scala/firrtl/passes')
-rw-r--r--src/main/scala/firrtl/passes/MemUtils.scala2
-rw-r--r--src/main/scala/firrtl/passes/RemoveCHIRRTL.scala2
2 files changed, 2 insertions, 2 deletions
diff --git a/src/main/scala/firrtl/passes/MemUtils.scala b/src/main/scala/firrtl/passes/MemUtils.scala
index 505ad0da..d2557f8d 100644
--- a/src/main/scala/firrtl/passes/MemUtils.scala
+++ b/src/main/scala/firrtl/passes/MemUtils.scala
@@ -152,7 +152,7 @@ object MemPortUtils {
def flattenType(t: Type) = UIntType(IntWidth(bitWidth(t)))
def defaultPortSeq(mem: DefMemory) = Seq(
- Field("addr", Default, UIntType(IntWidth(ceil_log2(mem.depth) max 1))),
+ Field("addr", Default, UIntType(IntWidth(ceilLog2(mem.depth) max 1))),
Field("en", Default, BoolType),
Field("clk", Default, ClockType)
)
diff --git a/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala b/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala
index b71c0dc3..6eeb6e96 100644
--- a/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala
+++ b/src/main/scala/firrtl/passes/RemoveCHIRRTL.scala
@@ -88,7 +88,7 @@ object RemoveCHIRRTL extends Pass {
refs: DataRefMap, raddrs: AddrMap)(s: Statement): Statement = s match {
case (s: CDefMemory) =>
types(s.name) = s.tpe
- val taddr = UIntType(IntWidth(math.max(1, ceil_log2(s.size))))
+ val taddr = UIntType(IntWidth(1 max ceilLog2(s.size)))
val tdata = s.tpe
def set_poison(vec: Seq[MPort], addr: String) = vec flatMap (r => Seq(
IsInvalid(s.info, SubField(SubField(Reference(s.name, ut), r.name, ut), addr, taddr)),