IsLookupable

chisel3.experimental.hierarchy.core.IsLookupable
trait IsLookupable

A User-extendable trait to mark metadata-containers, e.g. parameter case classes, as valid to return unchanged from an instance.

This should only be true of the metadata returned is identical for ALL instances!

Attributes

Example

For instances of the same proto, metadata or other construction parameters may be useful to access outside of the instance construction. For parameters that are the same for all instances, we should mark it as IsLookupable

case class Params(debugMessage: String) extends IsLookupable
class MyModule(p: Params) extends Module {
 printf(p.debugMessage)
}
val myParams = Params("Hello World")
val definition = Definition(new MyModule(myParams))
val i0 = Instance(definition)
val i1 = Instance(definition)
require(i0.p == i1.p) // p is only accessable because it extends IsLookupable
Source
IsLookupable.scala
Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Definition[A]
In this article