Packages

class public extends internal.public

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.
Source
package.scala
Example:
  1. @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
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. public
  2. public
  3. StaticAnnotation
  4. Annotation
  5. AnyRef
  6. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new public()