summaryrefslogtreecommitdiff
path: root/src/test/scala/chisel3
diff options
context:
space:
mode:
authorJack Koenig2021-03-12 16:40:31 -0800
committerGitHub2021-03-12 16:40:31 -0800
commitb3592a4973a50098f71e0e64bf3f0f53a82a82e9 (patch)
tree0d2df183b022697a496d58a3be13b85d141cf7fc /src/test/scala/chisel3
parent9ea57e031f834841609a30031ddab08fe4f47029 (diff)
parent3bea6167159737b379f37031c3beef27337be06d (diff)
Merge pull request #1804 from chipsalliance/autoclonetype2
Compiler plugin implemented autoclonetype
Diffstat (limited to 'src/test/scala/chisel3')
-rw-r--r--src/test/scala/chisel3/testers/TestUtils.scala12
1 files changed, 12 insertions, 0 deletions
diff --git a/src/test/scala/chisel3/testers/TestUtils.scala b/src/test/scala/chisel3/testers/TestUtils.scala
index 12712bf7..c72c779a 100644
--- a/src/test/scala/chisel3/testers/TestUtils.scala
+++ b/src/test/scala/chisel3/testers/TestUtils.scala
@@ -3,10 +3,22 @@
package chisel3.testers
import TesterDriver.Backend
+import chisel3.{Bundle, RawModule}
+import chisel3.internal.firrtl.Circuit
+import chisel3.stage.ChiselStage
import firrtl.AnnotationSeq
object TestUtils {
// Useful because TesterDriver.Backend is chisel3 package private
def containsBackend(annos: AnnotationSeq): Boolean =
annos.collectFirst { case b: Backend => b }.isDefined
+
+ // Allows us to check that the compiler plugin cloneType is actually working
+ val usingPlugin: Boolean = (new Bundle { def check = _usingPlugin }).check
+ def elaborateNoReflectiveAutoCloneType(f: => RawModule): Circuit = {
+ ChiselStage.elaborate {
+ chisel3.internal.Builder.allowReflectiveAutoCloneType = !usingPlugin
+ f
+ }
+ }
}