summaryrefslogtreecommitdiff
path: root/chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala
diff options
context:
space:
mode:
Diffstat (limited to 'chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala')
-rw-r--r--chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala16
1 files changed, 16 insertions, 0 deletions
diff --git a/chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala b/chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala
new file mode 100644
index 00000000..12789855
--- /dev/null
+++ b/chiselFrontend/src/main/scala/chisel3/internal/CompileOptions.scala
@@ -0,0 +1,16 @@
+// See LICENSE for license details.
+
+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")
+ // 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
+}