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.scala39
1 files changed, 25 insertions, 14 deletions
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
+//}