aboutsummaryrefslogtreecommitdiff
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/resources/logback.xml2
-rw-r--r--src/main/scala/firrtl/Compiler.scala12
-rw-r--r--src/main/scala/firrtl/Driver.scala1
-rw-r--r--src/main/scala/firrtl/Utils.scala2
4 files changed, 12 insertions, 5 deletions
diff --git a/src/main/resources/logback.xml b/src/main/resources/logback.xml
index 78360578..d2f8beae 100644
--- a/src/main/resources/logback.xml
+++ b/src/main/resources/logback.xml
@@ -30,7 +30,7 @@ MODIFICATIONS.
<pattern>[%-4level] %msg%n</pattern>
</encoder>
</appender>
- <root level="debug">
+ <root level="warn">
<appender-ref ref="STDOUT" />
</root>
</configuration>
diff --git a/src/main/scala/firrtl/Compiler.scala b/src/main/scala/firrtl/Compiler.scala
index 0bb7510f..782d43cb 100644
--- a/src/main/scala/firrtl/Compiler.scala
+++ b/src/main/scala/firrtl/Compiler.scala
@@ -38,9 +38,16 @@ trait Compiler extends LazyLogging {
}
object FIRRTLCompiler extends Compiler {
+ val passes = Seq(
+ CInferTypes,
+ CInferMDir,
+ RemoveCHIRRTL,
+ ToWorkingIR,
+ CheckHighForm
+ )
def run(c: Circuit, w: Writer) = {
- FIRRTLEmitter.run(c, w)
- w.close
+ val highForm = PassUtils.executePasses(c, passes)
+ FIRRTLEmitter.run(highForm, w)
}
}
@@ -84,7 +91,6 @@ object VerilogCompiler extends Compiler {
{
val loweredIR = PassUtils.executePasses(c, passes)
VerilogEmitter.run(loweredIR, w)
- w.close
}
}
diff --git a/src/main/scala/firrtl/Driver.scala b/src/main/scala/firrtl/Driver.scala
index c2dc0b59..1e0d9cf1 100644
--- a/src/main/scala/firrtl/Driver.scala
+++ b/src/main/scala/firrtl/Driver.scala
@@ -48,6 +48,7 @@ object Driver extends LazyLogging {
val parsedInput = Parser.parse(input, Source.fromFile(input).getLines)
val writerOutput = new PrintWriter(new File(output))
compiler.run(parsedInput, writerOutput)
+ writerOutput.close
}
def main(args: Array[String])
diff --git a/src/main/scala/firrtl/Utils.scala b/src/main/scala/firrtl/Utils.scala
index 251ae7b2..5fad46bc 100644
--- a/src/main/scala/firrtl/Utils.scala
+++ b/src/main/scala/firrtl/Utils.scala
@@ -558,7 +558,7 @@ object Utils {
case s:DefNode => tpe(s.value)
case s:DefMemory => {
val depth = s.depth
- val addr = Field("addr",DEFAULT,UIntType(IntWidth(ceil_log2(depth))))
+ val addr = Field("addr",DEFAULT,UIntType(IntWidth(scala.math.max(ceil_log2(depth), 1))))
val en = Field("en",DEFAULT,BoolType())
val clk = Field("clk",DEFAULT,ClockType())
val def_data = Field("data",DEFAULT,s.data_type)