FlattenInstance
chisel3.util.experimental.FlattenInstance
trait FlattenInstance
Flattens an instance of a module
Attributes
- Example
-
trait Internals { this: Module => val io = IO(new Bundle{ val a = Input(Bool()) }) } class Foo extends Module with Internals with FlattenInstance class Bar extends Module with Internals { val baz = Module(new Baz) baz.io.a := io.a } class Baz extends Module with Internals /* The resulting instances will be: - Top - Top.x - Top.y - Top.z - Top.z.baz */ class Top extends Module with Internals { val x = Module(new Foo) // x will be flattened val y = Module(new Bar with FlattenInstance) // y will also be flattened val z = Module(new Bar) // z will not be flattened Seq(x, y, z).map(_.io.a := io.a) } - Source
- Inline.scala
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
In this article