aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes/Checks.scala
diff options
context:
space:
mode:
authorJack Koenig2016-06-07 10:02:01 -0700
committerJack Koenig2016-06-07 13:30:05 -0700
commitf5a3b381dd64302817f3ad0c3d35d1ae3f0106db (patch)
tree86d62ef0f0f42dcc4a557a47f92af56190886e77 /src/main/scala/firrtl/passes/Checks.scala
parent26694d3496b7b500a3448599eb889126335b031f (diff)
Fix non-thread safe Serialize by splitting it into class and object
Diffstat (limited to 'src/main/scala/firrtl/passes/Checks.scala')
-rw-r--r--src/main/scala/firrtl/passes/Checks.scala8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/main/scala/firrtl/passes/Checks.scala b/src/main/scala/firrtl/passes/Checks.scala
index 083a18fd..15f17453 100644
--- a/src/main/scala/firrtl/passes/Checks.scala
+++ b/src/main/scala/firrtl/passes/Checks.scala
@@ -681,7 +681,9 @@ object CheckWidths extends Pass {
def name = "Width Check"
var mname = ""
class UninferredWidth (info:Info) extends PassException(s"${info} : [module ${mname}] Uninferred width.")
- class WidthTooSmall (info:Info,v:String) extends PassException(s"${info} : [module ${mname} Width too small for constant ${v}.")
+ class WidthTooSmall(info: Info, b: BigInt) extends PassException(
+ s"$info : [module $mname] Width too small for constant " +
+ Serialize().serialize(b) + ".")
class NegWidthException(info:Info) extends PassException(s"${info}: [module ${mname}] Width cannot be negative or zero.")
def run (c:Circuit): Circuit = {
val errors = new Errors()
@@ -699,7 +701,7 @@ object CheckWidths extends Pass {
(e.width) match {
case (w:IntWidth) =>
if (scala.math.max(1,e.value.bitLength) > w.width) {
- errors.append(new WidthTooSmall(info, serialize(e.value)))
+ errors.append(new WidthTooSmall(info, e.value))
}
case (w) => errors.append(new UninferredWidth(info))
}
@@ -708,7 +710,7 @@ object CheckWidths extends Pass {
case (e:SIntValue) => {
(e.width) match {
case (w:IntWidth) =>
- if (e.value.bitLength + 1 > w.width) errors.append(new WidthTooSmall(info, serialize(e.value)))
+ if (e.value.bitLength + 1 > w.width) errors.append(new WidthTooSmall(info, e.value))
case (w) => errors.append(new UninferredWidth(info))
}
check_width_w(info)(e.width)