diff options
Diffstat (limited to 'src/test/scala/chiselTests/ConnectSpec.scala')
| -rw-r--r-- | src/test/scala/chiselTests/ConnectSpec.scala | 61 |
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) } } |
