aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJack2016-02-23 00:57:09 -0800
committerJack2016-02-23 00:57:09 -0800
commitc48c691e94afe4919c20fa588a9897316c572447 (patch)
tree4e2e09a72a7134c4e7cda7830af837342488fa39 /src
parent6ec6edea9a60f8aab80ee287547160ffaf73aaf7 (diff)
Add rocket regression, just runs rocket.fir through Verilog compiler and compares to expected Verilog. Uses ScalaTest. Should be eventually replaced with actual simulation of rocket-chip
Diffstat (limited to 'src')
l---------src/test/resources/regress1
-rw-r--r--src/test/scala/firrtlTests/Regress.scala23
2 files changed, 24 insertions, 0 deletions
diff --git a/src/test/resources/regress b/src/test/resources/regress
new file mode 120000
index 00000000..3691434b
--- /dev/null
+++ b/src/test/resources/regress
@@ -0,0 +1 @@
+../../../regress \ No newline at end of file
diff --git a/src/test/scala/firrtlTests/Regress.scala b/src/test/scala/firrtlTests/Regress.scala
new file mode 100644
index 00000000..49c95590
--- /dev/null
+++ b/src/test/scala/firrtlTests/Regress.scala
@@ -0,0 +1,23 @@
+
+package firrtlTests
+
+import org.scalatest._
+
+import firrtl._
+import java.io._
+import scala.io.Source
+
+class RocketRegressionSpec extends FlatSpec with Matchers {
+
+ // This test is temporary until we move to simulation-based testing
+ "CHIRRTL Rocket" should "match expected Verilog" in {
+ val firrtlSource = Source.fromURL(getClass.getResource("/regress/rocket.fir"))
+ val highCircuit = firrtl.Parser.parse("rocket.fir", firrtlSource.getLines)
+ val verilogSW = new StringWriter()
+ VerilogCompiler.run(highCircuit, verilogSW)
+
+ val goldenVerilog = Source.fromURL(getClass.getResource("/regress/rocket-golden.v"))
+
+ verilogSW.toString shouldEqual goldenVerilog.mkString
+ }
+}