summaryrefslogtreecommitdiff
path: root/src/main/scala/Chisel/Emitter.scala
diff options
context:
space:
mode:
authorAndrew Waterman2015-08-27 17:06:49 -0700
committerAndrew Waterman2015-08-27 23:43:26 -0700
commit5293b1cfdcc18a4879f476a1c0370ec19e409089 (patch)
treed5e6ba926bb33cab297ddd87734725090324c779 /src/main/scala/Chisel/Emitter.scala
parent6ab5d0c440d77fa84b9ca2aab7b209b4f3108b0c (diff)
Fix bug where flipping top-level I/O had no effect
The fix is to propagate the flip to the fields in the bundle.
Diffstat (limited to 'src/main/scala/Chisel/Emitter.scala')
-rw-r--r--src/main/scala/Chisel/Emitter.scala6
1 files changed, 2 insertions, 4 deletions
diff --git a/src/main/scala/Chisel/Emitter.scala b/src/main/scala/Chisel/Emitter.scala
index 867b2107..80c6adf0 100644
--- a/src/main/scala/Chisel/Emitter.scala
+++ b/src/main/scala/Chisel/Emitter.scala
@@ -3,10 +3,8 @@ package Chisel
private class Emitter(circuit: Circuit) {
override def toString = res.toString
- private def emitPort(e: Data): String = {
- val dir = if (e.isFlip) "input" else "output"
- s"$dir ${e.getRef.name} : ${e.toType}"
- }
+ private def emitPort(e: Port): String =
+ s"${e.dir} ${e.id.getRef.name} : ${e.id.toType}"
private def emit(e: Command, ctx: Component): String = e match {
case e: DefPrim[_] => s"node ${e.name} = ${e.op.name}(${e.args.map(_.fullName(ctx)).reduce(_+", "+_)})"
case e: DefWire => s"wire ${e.name} : ${e.id.toType}"