aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/firrtl/backends/experimental/smt/TransitionSystem.scala
diff options
context:
space:
mode:
authorKevin Laeufer2021-09-08 15:18:53 -0700
committerGitHub2021-09-08 22:18:53 +0000
commit441930e2ad03f48adc052cd1d00af3d10d786dca (patch)
treeb3ff50569925e6ca2de96dab620a33831d14d23e /src/main/scala/firrtl/backends/experimental/smt/TransitionSystem.scala
parentf76640d9dc4620a3b61975d54e5783c36e7c6936 (diff)
smt: make SMT + TransitionSystem lib public (#2350)
Diffstat (limited to 'src/main/scala/firrtl/backends/experimental/smt/TransitionSystem.scala')
-rw-r--r--src/main/scala/firrtl/backends/experimental/smt/TransitionSystem.scala26
1 files changed, 13 insertions, 13 deletions
diff --git a/src/main/scala/firrtl/backends/experimental/smt/TransitionSystem.scala b/src/main/scala/firrtl/backends/experimental/smt/TransitionSystem.scala
index 66a1b385..bd3ad740 100644
--- a/src/main/scala/firrtl/backends/experimental/smt/TransitionSystem.scala
+++ b/src/main/scala/firrtl/backends/experimental/smt/TransitionSystem.scala
@@ -6,14 +6,14 @@ package firrtl.backends.experimental.smt
import firrtl.graph.MutableDiGraph
import scala.collection.mutable
-private case class State(sym: SMTSymbol, init: Option[SMTExpr], next: Option[SMTExpr]) {
+case class State(sym: SMTSymbol, init: Option[SMTExpr], next: Option[SMTExpr]) {
def name: String = sym.name
}
-private case class Signal(name: String, e: SMTExpr, lbl: SignalLabel = IsNode) {
+case class Signal(name: String, e: SMTExpr, lbl: SignalLabel = IsNode) {
def toSymbol: SMTSymbol = SMTSymbol.fromExpr(name, e)
def sym: SMTSymbol = toSymbol
}
-private case class TransitionSystem(
+case class TransitionSystem(
name: String,
inputs: List[BVSymbol],
states: List[State],
@@ -23,23 +23,23 @@ private case class TransitionSystem(
def serialize: String = TransitionSystem.serialize(this)
}
-private sealed trait SignalLabel
-private case object IsNode extends SignalLabel
-private case object IsOutput extends SignalLabel
-private case object IsConstraint extends SignalLabel
-private case object IsBad extends SignalLabel
-private case object IsFair extends SignalLabel
-private case object IsNext extends SignalLabel
-private case object IsInit extends SignalLabel
+sealed trait SignalLabel
+case object IsNode extends SignalLabel
+case object IsOutput extends SignalLabel
+case object IsConstraint extends SignalLabel
+case object IsBad extends SignalLabel
+case object IsFair extends SignalLabel
+case object IsNext extends SignalLabel
+case object IsInit extends SignalLabel
-private object SignalLabel {
+object SignalLabel {
private val labels = Seq(IsNode, IsOutput, IsConstraint, IsBad, IsFair, IsNext, IsInit)
val labelStrings = Seq("node", "output", "constraint", "bad", "fair", "next", "init")
val labelToString: SignalLabel => String = labels.zip(labelStrings).toMap
val stringToLabel: String => SignalLabel = labelStrings.zip(labels).toMap
}
-private object TransitionSystem {
+object TransitionSystem {
def serialize(sys: TransitionSystem): String = {
(Iterator(sys.name) ++
sys.inputs.map(i => s"input ${i.name} : ${SMTExpr.serializeType(i)}") ++