diff options
| author | Aditya Naik | 2024-01-02 11:29:49 -0800 |
|---|---|---|
| committer | Aditya Naik | 2024-01-02 11:29:49 -0800 |
| commit | 7a3a5a07e9e340e11f8b7cb6a53c1f52f4e4d3a1 (patch) | |
| tree | b84e0940f0a3827cb938b81cce9187ce71f3e747 /core/src/main | |
| parent | 7fc39a02a806bfb74c78147203815f2e2b85b765 (diff) | |
Add AbstractInterface and AbstractModule
Diffstat (limited to 'core/src/main')
| -rw-r--r-- | core/src/main/scala/chisel3/AbstractModule.scala | 22 |
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 = ??? +} |
