aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/Utils.scala
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/scala/firrtl/Utils.scala')
-rw-r--r--src/main/scala/firrtl/Utils.scala11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/Utils.scala b/src/main/scala/firrtl/Utils.scala
index 6cb309b3..b9c642d9 100644
--- a/src/main/scala/firrtl/Utils.scala
+++ b/src/main/scala/firrtl/Utils.scala
@@ -199,6 +199,17 @@ object Utils extends LazyLogging {
case _ => false
}
+ /** Returns true if PrimOp is a BitExtraction, false otherwise */
+ def isBitExtract(op: PrimOp): Boolean = op match {
+ case Bits | Head | Tail | Shr => true
+ case _ => false
+ }
+ /** Returns true if Expression is a Bits PrimOp, false otherwise */
+ def isBitExtract(expr: Expression): Boolean = expr match {
+ case DoPrim(op, _,_, UIntType(_)) if isBitExtract(op) => true
+ case _ => false
+ }
+
/** Provide a nice name to create a temporary **/
def niceName(e: Expression): String = niceName(1)(e)
def niceName(depth: Int)(e: Expression): String = {