summaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
authorAndrew Waterman2015-08-20 18:44:28 -0700
committerAndrew Waterman2015-08-20 18:44:28 -0700
commit46faccb2aed668b0130334c30b9707e931e11a3c (patch)
tree9b58586a2c78864e1a8031380fad7df7aa6b958c /src/main
parentdf30c684262337062f3440cd0d44d9b28896901a (diff)
Clean up port emission
Diffstat (limited to 'src/main')
-rw-r--r--src/main/scala/Chisel/Emitter.scala13
1 files changed, 6 insertions, 7 deletions
diff --git a/src/main/scala/Chisel/Emitter.scala b/src/main/scala/Chisel/Emitter.scala
index 805df74f..d384a536 100644
--- a/src/main/scala/Chisel/Emitter.scala
+++ b/src/main/scala/Chisel/Emitter.scala
@@ -3,11 +3,10 @@ package Chisel
private class Emitter(circuit: Circuit) {
override def toString = res.toString
- def emitDir(e: Data, isTop: Boolean): String =
- if (isTop) (if (e.isFlip) "input " else "output ")
- else (if (e.isFlip) "flip " else "")
- def emitPort(e: Data, isTop: Boolean): String =
- s"${emitDir(e, isTop)}${circuit.refMap(e).name} : ${e.toType}"
+ private def emitPort(e: Data): String = {
+ val dir = if (e.isFlip) "input" else "output"
+ s"$dir ${e.getRef.name} : ${e.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}"
@@ -39,14 +38,14 @@ private class Emitter(circuit: Circuit) {
}
private def initPort(p: Data, dir: Direction, ctx: Component) = {
for (x <- p.flatten; if x.dir == dir)
- yield s"${circuit.refMap(x).fullName(ctx)} := ${x.makeLit(0).name}"
+ yield s"${x.getRef.fullName(ctx)} := ${x.makeLit(0).name}"
}
private def emitBody(m: Component) = {
val me = new StringBuilder
withIndent {
for (p <- m.ports)
- me ++= newline + emitPort(p, true)
+ me ++= newline + emitPort(p)
me ++= newline
for (p <- m.ports; x <- initPort(p, OUTPUT, m))
me ++= newline + x