chisel3.experimental.hierarchy

Members list

Type members

Classlikes

Attributes

Source
LibraryHooks.scala
Supertypes
class Object
trait Matchable
class Any
trait InstantiableClone[T <: IsInstantiable] extends IsClone[T]

Attributes

Note

If we are cloning a non-module, we need another object which has the proper _parent set!

Source
InstantiableClone.scala
Supertypes
trait IsClone[T]
class Object
trait Matchable
class Any
object Instantiate

Create an Instance of a Module

Create an Instance of a Module

Acts as a nicer API wrapping Definition and Instance. Used in a similar way to traditional module instantiation using Module(...).

val inst0: Instance[MyModule] = Instantiate(new MyModule(arg1, arg2))

// Note that you cannot pass arguments by name (this will not compile)
val inst1 = Instantiate(new OtherModule(n = 3))

// Instead, only pass arguments positionally
val inst2 = Instantiate(new OtherModule(3))

==Limitations==

  • The caching does not work for Modules that are inner classes. This is due to the fact that the WeakTypeTags for instances will be different and thus will not hit in the cache.
  • Passing parameters by name to module constructors is not supported.
  • User-defined types that wrap up Data will use the default Data equality and hashCode implementations which use referential equality, thus will not hit in the cache.

Attributes

Source
Instantiate.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object LibraryHooks

Attributes

Source
LibraryHooks.scala
Supertypes
class Object
trait Matchable
class Any
Self type

Types

type Definition[P] = Definition[P]

Attributes

Source
package.scala
type Hierarchy[P] = Hierarchy[P]

Attributes

Source
package.scala
type Instance[P] = Instance[P]

Attributes

Source
package.scala

Attributes

Source
package.scala

Attributes

Source
package.scala
type Lookupable[P] = Lookupable[P]

Attributes

Source
package.scala

Value members

Concrete fields

Attributes

Source
package.scala
val Hierarchy: Hierarchy.type

Attributes

Source
package.scala
val Instance: Instance.type

Attributes

Source
package.scala

Attributes

Source
package.scala