aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/passes
diff options
context:
space:
mode:
authorSchuyler Eldridge2019-07-17 12:31:14 -0400
committerSchuyler Eldridge2019-09-16 17:48:09 -0400
commit0ecf2931329177249ab4b3ef88e28436d06a1c19 (patch)
tree4c14ea8ed4ef2682c4f880a32631cf2e4f520ae1 /src/main/scala/firrtl/passes
parenta594ccef986c4567730fee729bdea9ed9aefed38 (diff)
Deprecate Gender and add implicit Flow conversion
Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Diffstat (limited to 'src/main/scala/firrtl/passes')
-rw-r--r--src/main/scala/firrtl/passes/Checks.scala19
-rw-r--r--src/main/scala/firrtl/passes/Resolves.scala11
2 files changed, 29 insertions, 1 deletions
diff --git a/src/main/scala/firrtl/passes/Checks.scala b/src/main/scala/firrtl/passes/Checks.scala
index 5f58b7f1..85ed7de0 100644
--- a/src/main/scala/firrtl/passes/Checks.scala
+++ b/src/main/scala/firrtl/passes/Checks.scala
@@ -551,7 +551,7 @@ object CheckFlows extends Pass {
case SourceFlow => "source"
case SinkFlow => "sink"
case UnknownFlow => "unknown"
- case DuplexFlow => "sourceOrSink"
+ case DuplexFlow => "duplex"
}
class WrongFlow(info:Info, mname: String, expr: String, wrong: Flow, right: Flow) extends PassException(
@@ -645,3 +645,20 @@ object CheckFlows extends Pass {
c
}
}
+
+@deprecated("Use 'CheckFlows'. This object will be removed in 1.3", "1.2")
+object CheckGenders {
+
+ implicit def toStr(g: Gender): String = g match {
+ case MALE => "source"
+ case FEMALE => "sink"
+ case UNKNOWNGENDER => "unknown"
+ case BIGENDER => "sourceOrSink"
+ }
+
+ def run(c: Circuit): Circuit = CheckFlows.run(c)
+
+ @deprecated("Use 'CheckFlows.WrongFlow'. This class will be removed in 1.3", "1.2")
+ class WrongGender(info:Info, mname: String, expr: String, wrong: Flow, right: Flow) extends PassException(
+ s"$info: [module $mname] Expression $expr is used as a $wrong but can only be used as a $right.")
+}
diff --git a/src/main/scala/firrtl/passes/Resolves.scala b/src/main/scala/firrtl/passes/Resolves.scala
index 53aac229..24dcda4a 100644
--- a/src/main/scala/firrtl/passes/Resolves.scala
+++ b/src/main/scala/firrtl/passes/Resolves.scala
@@ -77,6 +77,17 @@ object ResolveFlows extends Pass {
c copy (modules = c.modules map resolve_flow)
}
+@deprecated("Use 'ResolveFlows'. This will be removed in 1.3", "1.2")
+object ResolveGenders {
+
+ def run(c: Circuit): Circuit = ResolveFlows.run(c)
+
+ def resolve_e(g: Gender)(e: Expression): Expression = ResolveFlows.resolve_e(g)(e)
+
+ def resolve_s(s: Statement): Statement = ResolveFlows.resolve_s(s)
+
+}
+
object CInferMDir extends Pass {
type MPortDirMap = collection.mutable.LinkedHashMap[String, MPortDir]