summaryrefslogtreecommitdiff
path: root/src/test/scala/chiselTests/ConnectSpec.scala
diff options
context:
space:
mode:
authorSchuyler Eldridge2020-06-16 11:59:15 -0400
committerSchuyler Eldridge2020-06-22 20:00:10 -0400
commit6e03f63d525aac0bdf4a59b6fe66a0b4d5a3a25a (patch)
tree482481bcfe93ea5dfcece80772ce1957fb68c74c /src/test/scala/chiselTests/ConnectSpec.scala
parentcc4fa583690292d690804144fe92427f0c9f5fdf (diff)
Use ChiselStage in Tests
This migrates the tests to Chisel 3.4/FIRRTL 1.4. This primarily involves removing usages of deprecated methods including: - Remove usages of Driver - Use ChiselStage methods instead of BackendCompilationUtilities methods - Use Dependency API for custom transforms - Use extractCause to unpack StackError Signed-off-by: Schuyler Eldridge <schuyler.eldridge@ibm.com>
Diffstat (limited to 'src/test/scala/chiselTests/ConnectSpec.scala')
-rw-r--r--src/test/scala/chiselTests/ConnectSpec.scala61
1 files changed, 45 insertions, 16 deletions
diff --git a/src/test/scala/chiselTests/ConnectSpec.scala b/src/test/scala/chiselTests/ConnectSpec.scala
index 51814998..b9c9e173 100644
--- a/src/test/scala/chiselTests/ConnectSpec.scala
+++ b/src/test/scala/chiselTests/ConnectSpec.scala
@@ -4,6 +4,7 @@ package chiselTests
import chisel3._
import chisel3.experimental.{Analog, FixedPoint}
+import chisel3.stage.ChiselStage
import chisel3.testers.BasicTester
abstract class CrossCheck extends Bundle {
@@ -36,65 +37,93 @@ class CrossConnectTester(inType: Data, outType: Data) extends BasicTester {
stop()
}
-class ConnectSpec extends ChiselPropSpec {
+class ConnectSpec extends ChiselPropSpec with Utils {
property("SInt := SInt should succeed") {
assertTesterPasses{ new CrossConnectTester(SInt(16.W), SInt(16.W)) }
}
property("SInt := UInt should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(UInt(16.W), SInt(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(UInt(16.W), SInt(16.W)) } } }
}
property("SInt := FixedPoint should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(FixedPoint(16.W, 8.BP), UInt(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(FixedPoint(16.W, 8.BP), UInt(16.W)) } } }
}
property("UInt := UInt should succeed") {
assertTesterPasses{ new CrossConnectTester(UInt(16.W), UInt(16.W)) }
}
property("UInt := SInt should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(SInt(16.W), UInt(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(SInt(16.W), UInt(16.W)) } } }
}
property("UInt := FixedPoint should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(FixedPoint(16.W, 8.BP), UInt(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(FixedPoint(16.W, 8.BP), UInt(16.W)) } } }
}
property("Clock := Clock should succeed") {
assertTesterPasses{ new CrossConnectTester(Clock(), Clock()) }
}
property("Clock := UInt should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(Clock(), UInt(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(Clock(), UInt(16.W)) } } }
}
property("FixedPoint := FixedPoint should succeed") {
assertTesterPasses{ new CrossConnectTester(FixedPoint(16.W, 8.BP), FixedPoint(16.W, 8.BP)) }
}
property("FixedPoint := SInt should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(SInt(16.W), FixedPoint(16.W, 8.BP)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(SInt(16.W), FixedPoint(16.W, 8.BP)) } } }
}
property("FixedPoint := UInt should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(UInt(16.W), FixedPoint(16.W, 8.BP)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(UInt(16.W), FixedPoint(16.W, 8.BP)) } } }
}
property("Analog := Analog should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(Analog(16.W), Analog(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(Analog(16.W), Analog(16.W)) } } }
}
property("Analog := FixedPoint should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(Analog(16.W), FixedPoint(16.W, 8.BP)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(Analog(16.W), FixedPoint(16.W, 8.BP)) } } }
}
property("FixedPoint := Analog should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(FixedPoint(16.W, 8.BP), Analog(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(FixedPoint(16.W, 8.BP), Analog(16.W)) } } }
}
property("Analog := UInt should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(Analog(16.W), UInt(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(Analog(16.W), UInt(16.W)) } } }
}
property("Analog := SInt should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(Analog(16.W), SInt(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(Analog(16.W), SInt(16.W)) } } }
}
property("UInt := Analog should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(UInt(16.W), Analog(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(UInt(16.W), Analog(16.W)) } } }
}
property("SInt := Analog should fail") {
- intercept[ChiselException]{ elaborate { new CrossConnectTester(SInt(16.W), Analog(16.W)) } }
+ intercept[ChiselException]{
+ extractCause[ChiselException] {
+ ChiselStage.elaborate { new CrossConnectTester(SInt(16.W), Analog(16.W)) } } }
}
property("Pipe internal connections should succeed") {
- elaborate( new PipeInternalWires)
+ ChiselStage.elaborate( new PipeInternalWires)
}
}