From dbe404460fd3062d940f86a02df044b8cc4be0fd Mon Sep 17 00:00:00 2001 From: Jack Koenig Date: Mon, 25 Feb 2019 15:15:01 -0800 Subject: Run CheckHighForm after all non-emitter transforms in firrtl tests (#548) * Run CheckHighForm after all non-emitter transforms in firrtl tests * Remove shlw from checks.scala * Removed mistake in fix * Fix FirrtlSpec fix --- src/test/scala/firrtlTests/FirrtlSpec.scala | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/test') diff --git a/src/test/scala/firrtlTests/FirrtlSpec.scala b/src/test/scala/firrtlTests/FirrtlSpec.scala index b3729f96..c3c25cd5 100644 --- a/src/test/scala/firrtlTests/FirrtlSpec.scala +++ b/src/test/scala/firrtlTests/FirrtlSpec.scala @@ -18,12 +18,21 @@ import firrtl.analyses.{GetNamespace, InstanceGraph, ModuleNamespaceAnnotation} import firrtl.annotations._ import firrtl.transforms.{DontTouchAnnotation, NoDedupAnnotation, RenameModules} import firrtl.util.BackendCompilationUtilities - import scala.collection.mutable +class CheckLowForm extends SeqTransform { + def inputForm = LowForm + def outputForm = LowForm + def transforms = Seq( + passes.CheckHighForm + ) +} + trait FirrtlRunners extends BackendCompilationUtilities { val cppHarnessResourceName: String = "/firrtl/testTop.cpp" + /** Extra transforms to run by default */ + val extraCheckTransforms = Seq(new CheckLowForm) private class RenameTop(newTopPrefix: String) extends Transform { def inputForm: LowForm.type = LowForm @@ -85,7 +94,7 @@ trait FirrtlRunners extends BackendCompilationUtilities { def compileToVerilog(input: String, annotations: AnnotationSeq = Seq.empty): String = { val circuit = Parser.parse(input.split("\n").toIterator) val compiler = new VerilogCompiler - val res = compiler.compileAndEmit(CircuitState(circuit, HighForm, annotations)) + val res = compiler.compileAndEmit(CircuitState(circuit, HighForm, annotations), extraCheckTransforms) res.getEmittedCircuit.value } /** Compile a Firrtl file @@ -106,7 +115,7 @@ trait FirrtlRunners extends BackendCompilationUtilities { commonOptions = CommonOptions(topName = prefix, targetDirName = testDir.getPath) firrtlOptions = FirrtlExecutionOptions( infoModeName = "ignore", - customTransforms = customTransforms, + customTransforms = customTransforms ++ extraCheckTransforms, annotations = annotations.toList) } firrtl.Driver.execute(optionsManager) -- cgit v1.2.3