summaryrefslogtreecommitdiff
path: root/src/test/scala/examples
diff options
context:
space:
mode:
authorchick2019-12-17 13:26:08 -0800
committerchick2020-06-29 10:22:11 -0700
commit0a17d89fe76c11efadc3d0f90dc1d93a690d861a (patch)
treea4cfb7c210767a315473014ecd600e9857d1799f /src/test/scala/examples
parenta1edc8f4cd525c8475e847ff7ddd9cb8fc1d3c51 (diff)
This adds a mechanism for the unittests to be run with the TreadleBackend
This mechanism is not enabled and should not change the behavior of existing tests A following PR will deliver a switch that will allow changing the backend. The reasons for this PR - Treadle tests run much faster, enabling quicker debugging and CI cycles - This will help ensure fidelity of Treadle to the Verilator backend A few tests are marked as verilator only due to black box limitations Change treadle to a direct dependency I tried to make it a test only dependency but the TesterDriver sits in src/main requiring that regular compile have access to treadle Oops, made treadle the default A number of changes in response to @ducky64 review - made backend check clearer and add error handling for multiple backends specified - Fixed duplicate TargetDirAnnotation uses in Treadle backend - Cleaned up BlackBox test formatting - Undid unnecessary debugging changes from Counter - Undid .gitignore change, that should be on another PR A number of changes in response to @ducky64 review - Undid debugging changes made to BitWiseOps
Diffstat (limited to 'src/test/scala/examples')
-rw-r--r--src/test/scala/examples/SimpleVendingMachine.scala6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/test/scala/examples/SimpleVendingMachine.scala b/src/test/scala/examples/SimpleVendingMachine.scala
index 2021ece8..49caa92c 100644
--- a/src/test/scala/examples/SimpleVendingMachine.scala
+++ b/src/test/scala/examples/SimpleVendingMachine.scala
@@ -3,7 +3,7 @@
package examples
import chiselTests.ChiselFlatSpec
-import chisel3.testers.BasicTester
+import chisel3.testers.{BasicTester, TesterDriver}
import chisel3._
import chisel3.util._
@@ -49,7 +49,7 @@ class FSMVendingMachine extends SimpleVendingMachine {
}
class VerilogVendingMachine extends BlackBox {
- // Because this is a blackbox, we must explicity add clock and reset
+ // Because this is a blackbox, we must explicitly add clock and reset
val io = IO(new SimpleVendingMachineIO {
val clock = Input(Clock())
val reset = Input(Reset())
@@ -90,6 +90,6 @@ class SimpleVendingMachineSpec extends ChiselFlatSpec {
}
"An Verilog implementation of a vending machine" should "work" in {
assertTesterPasses(new SimpleVendingMachineTester(new VerilogVendingMachineWrapper),
- List("/chisel3/VerilogVendingMachine.v"))
+ List("/chisel3/VerilogVendingMachine.v"), annotations = TesterDriver.verilatorOnly)
}
}