summaryrefslogtreecommitdiff
path: root/core/src/main
diff options
context:
space:
mode:
authorAditya Naik2024-01-02 11:29:49 -0800
committerAditya Naik2024-01-02 11:29:49 -0800
commit7a3a5a07e9e340e11f8b7cb6a53c1f52f4e4d3a1 (patch)
treeb84e0940f0a3827cb938b81cce9187ce71f3e747 /core/src/main
parent7fc39a02a806bfb74c78147203815f2e2b85b765 (diff)
Add AbstractInterface and AbstractModule
Diffstat (limited to 'core/src/main')
-rw-r--r--core/src/main/scala/chisel3/AbstractModule.scala22
1 files changed, 22 insertions, 0 deletions
diff --git a/core/src/main/scala/chisel3/AbstractModule.scala b/core/src/main/scala/chisel3/AbstractModule.scala
new file mode 100644
index 00000000..e054e537
--- /dev/null
+++ b/core/src/main/scala/chisel3/AbstractModule.scala
@@ -0,0 +1,22 @@
+package chisel3
+
+import scala.collection.immutable.ListMap
+import scala.collection.mutable.{ArrayBuffer, HashMap}
+import scala.language.experimental.macros
+
+import chisel3.internal._
+import chisel3.internal.Builder._
+import chisel3.internal.firrtl._
+import chisel3.experimental.BaseModule
+
+class AbstractInterface[T <: Data](params: T) {
+ val ioNode = IO(params)
+}
+
+/**
+ A module that uses types from its metaconnects to type its IOs.
+ */
+class AbstractModule(iface: AbstractInterface[_]*) extends BaseModule {
+ def generateComponent(): Option[chisel3.internal.firrtl.Component] = ???
+ def initializeInParent(parentCompileOptions: chisel3.CompileOptions): Unit = ???
+}