summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJim Lawson2016-08-29 12:17:48 -0700
committerJim Lawson2016-08-29 12:17:48 -0700
commit6df3a785f8abe706838bc5b4b35c3374b6512f96 (patch)
treea6b4961f966b69577ff4de28f2aa770b9355b7d9
parent5fcdd12fe92bd22f9cdfb8f5e39e510684b709bf (diff)
Pass compileOptions as an implicit Module parameter.
-rw-r--r--chiselFrontend/src/main/scala/chisel3/core/BlackBox.scala1
-rw-r--r--chiselFrontend/src/main/scala/chisel3/core/Module.scala3
-rw-r--r--chiselFrontend/src/main/scala/chisel3/internal/Builder.scala14
-rw-r--r--chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala39
-rw-r--r--chiselFrontend/src/main/scala/chisel3/notstrict.scala16
-rw-r--r--chiselFrontend/src/main/scala/chisel3/strict.scala16
-rw-r--r--src/main/scala/chisel3/testers/BasicTester.scala3
-rw-r--r--src/main/scala/chisel3/util/Arbiter.scala1
-rw-r--r--src/main/scala/chisel3/util/Decoupled.scala1
-rw-r--r--src/main/scala/chisel3/util/Valid.scala1
-rw-r--r--src/test/scala/chiselTests/Assert.scala1
-rw-r--r--src/test/scala/chiselTests/BetterNamingTests.scala1
-rw-r--r--src/test/scala/chiselTests/BundleWire.scala1
-rw-r--r--src/test/scala/chiselTests/ComplexAssign.scala1
-rw-r--r--src/test/scala/chiselTests/Decoder.scala1
-rw-r--r--src/test/scala/chiselTests/DeqIOSpec.scala1
-rw-r--r--src/test/scala/chiselTests/Direction.scala1
-rw-r--r--src/test/scala/chiselTests/EnableShiftRegister.scala1
-rw-r--r--src/test/scala/chiselTests/GCD.scala1
-rw-r--r--src/test/scala/chiselTests/IOCompatibility.scala1
-rw-r--r--src/test/scala/chiselTests/LFSR16.scala1
-rw-r--r--src/test/scala/chiselTests/MemorySearch.scala1
-rw-r--r--src/test/scala/chiselTests/Module.scala1
-rw-r--r--src/test/scala/chiselTests/MulLookup.scala1
-rw-r--r--src/test/scala/chiselTests/OptionBundle.scala1
-rw-r--r--src/test/scala/chiselTests/Padding.scala1
-rw-r--r--src/test/scala/chiselTests/ParameterizedModule.scala1
-rw-r--r--src/test/scala/chiselTests/Risc.scala1
-rw-r--r--src/test/scala/chiselTests/SIntOps.scala1
-rw-r--r--src/test/scala/chiselTests/Stack.scala1
-rw-r--r--src/test/scala/chiselTests/Tbl.scala1
-rw-r--r--src/test/scala/chiselTests/UIntOps.scala1
-rw-r--r--src/test/scala/chiselTests/VectorPacketIO.scala1
-rw-r--r--src/test/scala/chiselTests/VendingMachine.scala1
34 files changed, 97 insertions, 22 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/core/BlackBox.scala b/chiselFrontend/src/main/scala/chisel3/core/BlackBox.scala
index f2d9558d..a9f89cbc 100644
--- a/chiselFrontend/src/main/scala/chisel3/core/BlackBox.scala
+++ b/chiselFrontend/src/main/scala/chisel3/core/BlackBox.scala
@@ -5,6 +5,7 @@ package chisel3.core
import chisel3.internal.Builder.pushCommand
import chisel3.internal.firrtl.{ModuleIO, DefInvalid}
import chisel3.internal.sourceinfo.SourceInfo
+import chisel3.NotStrict.NotStrictCompileOptions
/** Defines a black box, which is a module that can be referenced from within
* Chisel, but is not defined in the emitted Verilog. Useful for connecting
diff --git a/chiselFrontend/src/main/scala/chisel3/core/Module.scala b/chiselFrontend/src/main/scala/chisel3/core/Module.scala
index b4659a52..47003df0 100644
--- a/chiselFrontend/src/main/scala/chisel3/core/Module.scala
+++ b/chiselFrontend/src/main/scala/chisel3/core/Module.scala
@@ -9,6 +9,7 @@ import chisel3.internal.Builder._
import chisel3.internal.firrtl._
import chisel3.internal.firrtl.{Command => _, _}
import chisel3.internal.sourceinfo.{InstTransform, SourceInfo, UnlocatableSourceInfo}
+import chisel3.NotStrict.NotStrictCompileOptions
object Module {
/** A wrapper method that all Module instantiations must be wrapped in
@@ -49,6 +50,7 @@ object Module {
*/
abstract class Module(
override_clock: Option[Clock]=None, override_reset: Option[Bool]=None)
+ (implicit moduleCompileOptions: ExplicitCompileOptions)
extends HasId {
// _clock and _reset can be clock and reset in these 2ary constructors
// once chisel2 compatibility issues are resolved
@@ -186,4 +188,5 @@ extends HasId {
}
// For debuggers/testers
lazy val getPorts = computePorts
+ val compileOptions = moduleCompileOptions
}
diff --git a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
index 9f2b1631..9b656dea 100644
--- a/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
+++ b/chiselFrontend/src/main/scala/chisel3/internal/Builder.scala
@@ -97,16 +97,16 @@ private[chisel3] trait HasId {
private[chisel3] def getRef: Arg = _ref.get
}
-private[chisel3] class DynamicContext(optionMap: Option[Map[String, String]] = None) {
+private[chisel3] class DynamicContext(moduleCompileOptions: Option[ExplicitCompileOptions] = None) {
val idGen = new IdGen
val globalNamespace = new Namespace(None, Set())
val components = ArrayBuffer[Component]()
var currentModule: Option[Module] = None
val errors = new ErrorLog
- val compileOptions = new CompileOptions(optionMap match {
- case Some(map: Map[String, String]) => map
- case None => Map[String, String]()
- })
+ val compileOptions = moduleCompileOptions match {
+ case Some(options: ExplicitCompileOptions) => options
+ case None => chisel3.NotStrict.NotStrictCompileOptions
+ }
}
private[chisel3] object Builder {
@@ -147,8 +147,8 @@ private[chisel3] object Builder {
def errors: ErrorLog = dynamicContext.errors
def error(m: => String): Unit = errors.error(m)
- def build[T <: Module](f: => T, optionMap: Option[Map[String, String]] = None): Circuit = {
- dynamicContextVar.withValue(Some(new DynamicContext(optionMap))) {
+ def build[T <: Module](f: => T, moduleCompileOptions: Option[ExplicitCompileOptions] = None): Circuit = {
+ dynamicContextVar.withValue(Some(new DynamicContext(moduleCompileOptions))) {
errors.info("Elaborating design...")
val mod = f
mod.forceName(mod.name, globalNamespace)
diff --git a/chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala b/chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala
index 31d441c1..2890f6dc 100644
--- a/chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala
+++ b/chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala
@@ -2,21 +2,32 @@
package chisel3.internal
-/** Initialize compilation options from a string map.
- *
- * @param optionsMap the map from "option" to "value"
- */
-class CompileOptions(optionsMap: Map[String, String]) {
- // The default for settings related to "strictness".
- val strictDefault: String = optionsMap.getOrElse("strict", "false")
- val looseDefault: String = (!(strictDefault.toBoolean)).toString
+trait CompileOptions {
// Should Bundle connections require a strict match of fields.
// If true and the same fields aren't present in both source and sink, a MissingFieldException,
// MissingLeftFieldException, or MissingRightFieldException will be thrown.
- val connectFieldsMustMatch: Boolean = optionsMap.getOrElse("connectFieldsMustMatch", strictDefault).toBoolean
- val regTypeMustBeUnbound: Boolean = optionsMap.getOrElse("regTypeMustBeUnbound", strictDefault).toBoolean
- val declaredTypeMustBeUnbound: Boolean = optionsMap.getOrElse("declaredTypeMustBeUnbound", strictDefault).toBoolean
- val requireIOWrap: Boolean = optionsMap.getOrElse("requireIOWrap", strictDefault).toBoolean
- val dontTryConnectionsSwapped: Boolean = optionsMap.getOrElse("dontTryConnectionsSwapped", strictDefault).toBoolean
- val dontAssumeDirectionality: Boolean = optionsMap.getOrElse("dontAssumeDirectionality", strictDefault).toBoolean
+ val connectFieldsMustMatch: Boolean
+ val declaredTypeMustBeUnbound: Boolean
+ val requireIOWrap: Boolean
+ val dontTryConnectionsSwapped: Boolean
+ val dontAssumeDirectionality: Boolean
}
+
+trait ExplicitCompileOptions extends CompileOptions
+
+///** Initialize compilation options from a string map.
+// *
+// * @param optionsMap the map from "option" to "value"
+// */
+//class CompileOptions(optionsMap: Map[String, String]) {
+// // The default for settings related to "strictness".
+// val strictDefault: String = optionsMap.getOrElse("strict", "false")
+// // Should Bundle connections require a strict match of fields.
+// // If true and the same fields aren't present in both source and sink, a MissingFieldException,
+// // MissingLeftFieldException, or MissingRightFieldException will be thrown.
+// val connectFieldsMustMatch: Boolean = optionsMap.getOrElse("connectFieldsMustMatch", strictDefault).toBoolean
+// val declaredTypeMustBeUnbound: Boolean = optionsMap.getOrElse("declaredTypeMustBeUnbound", strictDefault).toBoolean
+// val requireIOWrap: Boolean = optionsMap.getOrElse("requireIOWrap", strictDefault).toBoolean
+// val dontTryConnectionsSwapped: Boolean = optionsMap.getOrElse("dontTryConnectionsSwapped", strictDefault).toBoolean
+// val dontAssumeDirectionality: Boolean = optionsMap.getOrElse("dontAssumeDirectionality", strictDefault).toBoolean
+//}
diff --git a/chiselFrontend/src/main/scala/chisel3/notstrict.scala b/chiselFrontend/src/main/scala/chisel3/notstrict.scala
new file mode 100644
index 00000000..dc4bf807
--- /dev/null
+++ b/chiselFrontend/src/main/scala/chisel3/notstrict.scala
@@ -0,0 +1,16 @@
+// See LICENSE for license details.
+
+package chisel3
+
+import chisel3.internal.ExplicitCompileOptions
+
+
+object NotStrict {
+ implicit object NotStrictCompileOptions extends ExplicitCompileOptions {
+ val connectFieldsMustMatch = false
+ val declaredTypeMustBeUnbound = false
+ val requireIOWrap = false
+ val dontTryConnectionsSwapped = false
+ val dontAssumeDirectionality = false
+ }
+}
diff --git a/chiselFrontend/src/main/scala/chisel3/strict.scala b/chiselFrontend/src/main/scala/chisel3/strict.scala
new file mode 100644
index 00000000..f6db8765
--- /dev/null
+++ b/chiselFrontend/src/main/scala/chisel3/strict.scala
@@ -0,0 +1,16 @@
+// See LICENSE for license details.
+
+package chisel3
+
+import chisel3.internal.ExplicitCompileOptions
+
+
+object Strict {
+ implicit object StrictCompileOptions extends ExplicitCompileOptions {
+ val connectFieldsMustMatch = true
+ val declaredTypeMustBeUnbound = true
+ val requireIOWrap = true
+ val dontTryConnectionsSwapped = true
+ val dontAssumeDirectionality = true
+ }
+}
diff --git a/src/main/scala/chisel3/testers/BasicTester.scala b/src/main/scala/chisel3/testers/BasicTester.scala
index 329237c6..0c8df2eb 100644
--- a/src/main/scala/chisel3/testers/BasicTester.scala
+++ b/src/main/scala/chisel3/testers/BasicTester.scala
@@ -9,8 +9,9 @@ import internal._
import internal.Builder.pushCommand
import internal.firrtl._
import internal.sourceinfo.SourceInfo
+import chisel3.NotStrict.NotStrictCompileOptions
-class BasicTester extends Module {
+class BasicTester extends Module() {
// The testbench has no IOs, rather it should communicate using printf, assert, and stop.
val io = IO(new Bundle())
diff --git a/src/main/scala/chisel3/util/Arbiter.scala b/src/main/scala/chisel3/util/Arbiter.scala
index 5875b3f2..57e81708 100644
--- a/src/main/scala/chisel3/util/Arbiter.scala
+++ b/src/main/scala/chisel3/util/Arbiter.scala
@@ -6,6 +6,7 @@
package chisel3.util
import chisel3._
+import chisel3.NotStrict.NotStrictCompileOptions
/** An I/O bundle for the Arbiter */
class ArbiterIO[T <: Data](gen: T, n: Int) extends Bundle {
diff --git a/src/main/scala/chisel3/util/Decoupled.scala b/src/main/scala/chisel3/util/Decoupled.scala
index 42f58ea9..8064d19b 100644
--- a/src/main/scala/chisel3/util/Decoupled.scala
+++ b/src/main/scala/chisel3/util/Decoupled.scala
@@ -6,6 +6,7 @@
package chisel3.util
import chisel3._
+import chisel3.NotStrict.NotStrictCompileOptions
/** An I/O Bundle with simple handshaking using valid and ready signals for data 'bits'*/
class DecoupledIO[+T <: Data](gen: T) extends Bundle
diff --git a/src/main/scala/chisel3/util/Valid.scala b/src/main/scala/chisel3/util/Valid.scala
index 743038f3..d465d18d 100644
--- a/src/main/scala/chisel3/util/Valid.scala
+++ b/src/main/scala/chisel3/util/Valid.scala
@@ -6,6 +6,7 @@
package chisel3.util
import chisel3._
+import chisel3.NotStrict.NotStrictCompileOptions
/** An Bundle containing data and a signal determining if it is valid */
class Valid[+T <: Data](gen: T) extends Bundle
diff --git a/src/test/scala/chiselTests/Assert.scala b/src/test/scala/chiselTests/Assert.scala
index efc2e1e7..0afeac7b 100644
--- a/src/test/scala/chiselTests/Assert.scala
+++ b/src/test/scala/chiselTests/Assert.scala
@@ -6,6 +6,7 @@ import org.scalatest._
import chisel3._
import chisel3.testers.BasicTester
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
class FailingAssertTester() extends BasicTester {
assert(Bool(false))
diff --git a/src/test/scala/chiselTests/BetterNamingTests.scala b/src/test/scala/chiselTests/BetterNamingTests.scala
index 44fc542a..7d69d604 100644
--- a/src/test/scala/chiselTests/BetterNamingTests.scala
+++ b/src/test/scala/chiselTests/BetterNamingTests.scala
@@ -4,6 +4,7 @@ import org.scalatest.{FlatSpec, Matchers}
import collection.mutable
import Chisel._
+import chisel3.NotStrict.NotStrictCompileOptions
// Defined outside of the class so we don't get $ in name
diff --git a/src/test/scala/chiselTests/BundleWire.scala b/src/test/scala/chiselTests/BundleWire.scala
index 0071041c..c72ad78d 100644
--- a/src/test/scala/chiselTests/BundleWire.scala
+++ b/src/test/scala/chiselTests/BundleWire.scala
@@ -5,6 +5,7 @@ import chisel3._
import org.scalatest._
import org.scalatest.prop._
import chisel3.testers.BasicTester
+import chisel3.Strict.StrictCompileOptions
class Coord extends Bundle {
val x = UInt.width( 32)
diff --git a/src/test/scala/chiselTests/ComplexAssign.scala b/src/test/scala/chiselTests/ComplexAssign.scala
index 0a1f31cc..efca4947 100644
--- a/src/test/scala/chiselTests/ComplexAssign.scala
+++ b/src/test/scala/chiselTests/ComplexAssign.scala
@@ -8,6 +8,7 @@ import org.scalatest.prop._
import chisel3._
import chisel3.testers.BasicTester
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
class Complex[T <: Data](val re: T, val im: T) extends Bundle {
override def cloneType: this.type =
diff --git a/src/test/scala/chiselTests/Decoder.scala b/src/test/scala/chiselTests/Decoder.scala
index b50a80c0..758b4f6d 100644
--- a/src/test/scala/chiselTests/Decoder.scala
+++ b/src/test/scala/chiselTests/Decoder.scala
@@ -9,6 +9,7 @@ import org.scalacheck._
import chisel3._
import chisel3.testers.BasicTester
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
class Decoder(bitpats: List[String]) extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/DeqIOSpec.scala b/src/test/scala/chiselTests/DeqIOSpec.scala
index d41c50e5..9ad776da 100644
--- a/src/test/scala/chiselTests/DeqIOSpec.scala
+++ b/src/test/scala/chiselTests/DeqIOSpec.scala
@@ -5,6 +5,7 @@ package chiselTests
import chisel3._
import chisel3.testers.BasicTester
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
/**
* Created by chick on 2/8/16.
diff --git a/src/test/scala/chiselTests/Direction.scala b/src/test/scala/chiselTests/Direction.scala
index 949b92ed..ec1232e2 100644
--- a/src/test/scala/chiselTests/Direction.scala
+++ b/src/test/scala/chiselTests/Direction.scala
@@ -6,6 +6,7 @@ import chisel3._
import org.scalatest._
import org.scalatest.prop._
import chisel3.testers.BasicTester
+import chisel3.NotStrict.NotStrictCompileOptions
class DirectionHaver extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/EnableShiftRegister.scala b/src/test/scala/chiselTests/EnableShiftRegister.scala
index 5f3e0dd1..ee568be5 100644
--- a/src/test/scala/chiselTests/EnableShiftRegister.scala
+++ b/src/test/scala/chiselTests/EnableShiftRegister.scala
@@ -3,6 +3,7 @@
package chiselTests
import chisel3._
import chisel3.testers.BasicTester
+import chisel3.NotStrict.NotStrictCompileOptions
class EnableShiftRegister extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/GCD.scala b/src/test/scala/chiselTests/GCD.scala
index d683ce34..8c298d14 100644
--- a/src/test/scala/chiselTests/GCD.scala
+++ b/src/test/scala/chiselTests/GCD.scala
@@ -6,6 +6,7 @@ import chisel3._
import chisel3.testers.BasicTester
import org.scalatest._
import org.scalatest.prop._
+import chisel3.NotStrict.NotStrictCompileOptions
class GCD extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/IOCompatibility.scala b/src/test/scala/chiselTests/IOCompatibility.scala
index edbd3d09..c247973d 100644
--- a/src/test/scala/chiselTests/IOCompatibility.scala
+++ b/src/test/scala/chiselTests/IOCompatibility.scala
@@ -3,6 +3,7 @@
package chiselTests
import Chisel._
+import chisel3.NotStrict.NotStrictCompileOptions
class IOCSimpleIO extends Bundle {
val in = UInt(INPUT, 32)
diff --git a/src/test/scala/chiselTests/LFSR16.scala b/src/test/scala/chiselTests/LFSR16.scala
index b13b67e3..b1b2b415 100644
--- a/src/test/scala/chiselTests/LFSR16.scala
+++ b/src/test/scala/chiselTests/LFSR16.scala
@@ -5,6 +5,7 @@ package chiselTests
import chisel3._
import chisel3.testers.BasicTester
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
class LFSR16 extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/MemorySearch.scala b/src/test/scala/chiselTests/MemorySearch.scala
index 1d09f3c5..b05a112b 100644
--- a/src/test/scala/chiselTests/MemorySearch.scala
+++ b/src/test/scala/chiselTests/MemorySearch.scala
@@ -4,6 +4,7 @@ package chiselTests
import chisel3._
import chisel3.testers.BasicTester
+import chisel3.NotStrict.NotStrictCompileOptions
class MemorySearch extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/Module.scala b/src/test/scala/chiselTests/Module.scala
index 7a4050db..8d72fc44 100644
--- a/src/test/scala/chiselTests/Module.scala
+++ b/src/test/scala/chiselTests/Module.scala
@@ -3,6 +3,7 @@
package chiselTests
import chisel3._
+import chisel3.NotStrict.NotStrictCompileOptions
class SimpleIO extends Bundle {
val in = Input(UInt.width(32))
diff --git a/src/test/scala/chiselTests/MulLookup.scala b/src/test/scala/chiselTests/MulLookup.scala
index 26ee4e03..63a0a7c7 100644
--- a/src/test/scala/chiselTests/MulLookup.scala
+++ b/src/test/scala/chiselTests/MulLookup.scala
@@ -6,6 +6,7 @@ import chisel3._
import org.scalatest._
import org.scalatest.prop._
import chisel3.testers.BasicTester
+import chisel3.NotStrict.NotStrictCompileOptions
class MulLookup(val w: Int) extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/OptionBundle.scala b/src/test/scala/chiselTests/OptionBundle.scala
index 8e4c7579..236e1007 100644
--- a/src/test/scala/chiselTests/OptionBundle.scala
+++ b/src/test/scala/chiselTests/OptionBundle.scala
@@ -5,6 +5,7 @@ package chiselTests
import org.scalatest._
import chisel3._
import chisel3.testers.BasicTester
+import chisel3.NotStrict.NotStrictCompileOptions
class OptionBundle(hasIn: Boolean) extends Bundle {
val in = if (hasIn) {
diff --git a/src/test/scala/chiselTests/Padding.scala b/src/test/scala/chiselTests/Padding.scala
index 42df6802..ca769b49 100644
--- a/src/test/scala/chiselTests/Padding.scala
+++ b/src/test/scala/chiselTests/Padding.scala
@@ -3,6 +3,7 @@
package chiselTests
import chisel3._
+import chisel3.NotStrict.NotStrictCompileOptions
class Padder extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/ParameterizedModule.scala b/src/test/scala/chiselTests/ParameterizedModule.scala
index 14b21631..2929cccc 100644
--- a/src/test/scala/chiselTests/ParameterizedModule.scala
+++ b/src/test/scala/chiselTests/ParameterizedModule.scala
@@ -5,6 +5,7 @@ package chiselTests
import org.scalatest._
import chisel3._
import chisel3.testers.BasicTester
+import chisel3.NotStrict.NotStrictCompileOptions
class ParameterizedModule(invert: Boolean) extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/Risc.scala b/src/test/scala/chiselTests/Risc.scala
index 6d5a0a76..f255f996 100644
--- a/src/test/scala/chiselTests/Risc.scala
+++ b/src/test/scala/chiselTests/Risc.scala
@@ -4,6 +4,7 @@ package chiselTests
import chisel3._
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
class Risc extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/SIntOps.scala b/src/test/scala/chiselTests/SIntOps.scala
index 392c4803..227a4514 100644
--- a/src/test/scala/chiselTests/SIntOps.scala
+++ b/src/test/scala/chiselTests/SIntOps.scala
@@ -4,6 +4,7 @@ package chiselTests
import chisel3._
import chisel3.testers.BasicTester
+import chisel3.NotStrict.NotStrictCompileOptions
class SIntOps extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/Stack.scala b/src/test/scala/chiselTests/Stack.scala
index a72af928..9ccfc9ee 100644
--- a/src/test/scala/chiselTests/Stack.scala
+++ b/src/test/scala/chiselTests/Stack.scala
@@ -6,6 +6,7 @@ import scala.collection.mutable.Stack
import chisel3._
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
class ChiselStack(val depth: Int) extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/Tbl.scala b/src/test/scala/chiselTests/Tbl.scala
index 66a06435..2aa8b031 100644
--- a/src/test/scala/chiselTests/Tbl.scala
+++ b/src/test/scala/chiselTests/Tbl.scala
@@ -8,6 +8,7 @@ import org.scalatest.prop._
import chisel3._
import chisel3.testers.BasicTester
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
class Tbl(w: Int, n: Int) extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/UIntOps.scala b/src/test/scala/chiselTests/UIntOps.scala
index ad5aecd8..836ad864 100644
--- a/src/test/scala/chiselTests/UIntOps.scala
+++ b/src/test/scala/chiselTests/UIntOps.scala
@@ -5,6 +5,7 @@ package chiselTests
import chisel3._
import org.scalatest._
import chisel3.testers.BasicTester
+import chisel3.NotStrict.NotStrictCompileOptions
class UIntOps extends Module {
val io = IO(new Bundle {
diff --git a/src/test/scala/chiselTests/VectorPacketIO.scala b/src/test/scala/chiselTests/VectorPacketIO.scala
index b8e3a154..66b599a9 100644
--- a/src/test/scala/chiselTests/VectorPacketIO.scala
+++ b/src/test/scala/chiselTests/VectorPacketIO.scala
@@ -5,6 +5,7 @@ package chiselTests
import chisel3._
import chisel3.testers.BasicTester
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
/**
* This test used to fail when assignment statements were
diff --git a/src/test/scala/chiselTests/VendingMachine.scala b/src/test/scala/chiselTests/VendingMachine.scala
index 00b1e7de..89060941 100644
--- a/src/test/scala/chiselTests/VendingMachine.scala
+++ b/src/test/scala/chiselTests/VendingMachine.scala
@@ -4,6 +4,7 @@ package chiselTests
import chisel3._
import chisel3.util._
+import chisel3.NotStrict.NotStrictCompileOptions
class VendingMachine extends Module {
val io = IO(new Bundle {