public

chisel3.experimental.hierarchy.public
class public extends StaticAnnotation

Classes marked with instantiable can have their vals marked with the public annotation to enable accessing these values from a Definition or Instance of the class.

Only vals of the the following types can be marked public:

  1. IsInstantiable
  2. IsLookupable
  3. Data
  4. BaseModule
  5. Iterable/Option containing a type that meets these requirements
  6. Basic type like String, Int, BigInt etc.

Attributes

Example
@instantiable
class MyModule extends Module {
 @public val in = IO(Input(UInt(3.W)))
 @public val out = IO(Output(UInt(3.W)))
 ..
}
val d = Definition(new MyModule)
val i0 = Instance(d)
val i1 = Instance(d)
i1.in := i0.out
Source
HierarchyMarker.scala
Graph
Supertypes
trait StaticAnnotation
class Annotation
class Object
trait Matchable
class Any
In this article