diff options
| author | azidar | 2016-01-29 18:14:41 -0800 |
|---|---|---|
| committer | azidar | 2016-02-09 18:55:25 -0800 |
| commit | 0181686fe4bdf24f9e22f406c43dbeb98789cb8b (patch) | |
| tree | 1b99f826c9f58a9119e030a0ec53de3b9a002c2f /src/main/scala/firrtl/WIR.scala | |
| parent | e2177899c82e464f853e4daf8d23c11d27ca5157 (diff) | |
WIP. Got to-working-ir working
Diffstat (limited to 'src/main/scala/firrtl/WIR.scala')
| -rw-r--r-- | src/main/scala/firrtl/WIR.scala | 36 |
1 files changed, 36 insertions, 0 deletions
diff --git a/src/main/scala/firrtl/WIR.scala b/src/main/scala/firrtl/WIR.scala new file mode 100644 index 00000000..27ec5516 --- /dev/null +++ b/src/main/scala/firrtl/WIR.scala @@ -0,0 +1,36 @@ + +package firrtl + +import scala.collection.Seq +import Utils._ + + +trait Kind +case class WireKind() extends Kind +case class PoisonKind() extends Kind +case class RegKind() extends Kind +case class InstanceKind() extends Kind +case class PortKind() extends Kind +case class NodeKind() extends Kind +case class MemKind(ports:Seq[String]) extends Kind +case class ExpKind() extends Kind + +trait Gender +case object MALE extends Gender +case object FEMALE extends Gender +case object BIGENDER extends Gender +case object UNKNOWNGENDER extends Gender + +case class BoolType() extends Type { UIntType(IntWidth(1)) } +case class WRef(name:String,tpe:Type,kind:Kind,gender:Gender) extends Expression +case class WSubField(exp:Expression,name:String,tpe:Type,gender:Gender) extends Expression +case class WSubIndex(exp:Expression,value:BigInt,tpe:Type,gender:Gender) extends Expression +case class WSubAccess(exp:Expression,index:Expression,tpe:Type,gender:Gender) extends Expression +case class WVoid() extends Expression +case class WInvalid() extends Expression + +case class WDefInstance(info:Info,name:String,module:String,tpe:Type) extends Stmt + +//case class IntWidth(width: BigInt) extends Width +//case object UnknownWidth extends Width + |
