Class/Object

firrtl.analyses

IRLookup

Related Docs: object IRLookup | package analyses

Permalink

class IRLookup extends AnyRef

Handy lookup for obtaining AST information about a given Target

Source
IRLookup.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IRLookup
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def allTargets(r: ReferenceTarget): Seq[ReferenceTarget]

    Permalink

    Given: A firrtl.annotations.ReferenceTarget of ~Top|Module>ref, which is a type of {foo: {bar: UInt}} Return: Seq(~Top|Module>ref, ~Top|Module>ref.foo, ~Top|Module>ref.foo.bar)

    Given: A firrtl.annotations.ReferenceTarget of ~Top|Module>ref, which is a type of {foo: {bar: UInt}} Return: Seq(~Top|Module>ref, ~Top|Module>ref.foo, ~Top|Module>ref.foo.bar)

    returns

    a target to each sub-component, including intermediate subcomponents

  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def asLocalRef(t: ReferenceTarget): ReferenceTarget

    Permalink

    returns

    the target converted to its local reference

    Example:
    1. Given ~Top|MyModule/inst:Other>foo.bar, returns ~Top|Other>foo

  7. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def contains(mt: IsModule): Boolean

    Permalink

    mt

    firrtl.annotations.ModuleTarget or firrtl.annotations.InstanceTarget to be queried.

    returns

    whether a ModuleTarget or InstanceTarget is contained in this IRLookup

  9. def contains(t: ReferenceTarget): Boolean

    Permalink

    t

    firrtl.annotations.ReferenceTarget to be queried.

    returns

    whether a ReferenceTarget is contained in this IRLookup

  10. def declaration(t: ReferenceTarget): FirrtlNode

    Permalink

    t

    firrtl.annotations.ReferenceTarget to be queried.

    returns

    the statement containing the declaration of the target

  11. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  12. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  13. def expr(t: ReferenceTarget, flow: Flow = UnknownFlow): Expression

    Permalink

    t

    firrtl.annotations.ReferenceTarget to be queried.

    flow

    flow of the target

    returns

    expression of t

  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. def flow(t: ReferenceTarget): Flow

    Permalink
  16. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  17. def getExpr(t: ReferenceTarget, flow: Flow): Option[Expression]

    Permalink

    get expression of the target.

    get expression of the target. It can return None for many reasons, including

    • declaration is missing
    • flow is wrong
    • component is wrong
    t

    firrtl.annotations.ReferenceTarget to be queried.

    flow

    flow of the target

    returns

    Some(e) if expression exists, None if it does not

  18. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  19. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  20. def kind(t: ReferenceTarget): Kind

    Permalink
  21. def kindFinder(moduleTarget: ModuleTarget, kind: Kind): Seq[ReferenceTarget]

    Permalink

    Find firrtl.annotations.ReferenceTarget with a specific firrtl.Kind in a firrtl.annotations.ModuleTarget

  22. def leafTargets(r: ReferenceTarget): Seq[ReferenceTarget]

    Permalink

    Given: A firrtl.annotations.ReferenceTarget of ~Top|Module>ref and a type of {foo: {bar: UInt}} Return: Seq(~Top|Module>ref.foo.bar)

    Given: A firrtl.annotations.ReferenceTarget of ~Top|Module>ref and a type of {foo: {bar: UInt}} Return: Seq(~Top|Module>ref.foo.bar)

    returns

    a target to each sub-component, excluding intermediate subcomponents.

  23. def moduleLeafPortTargets(m: ModuleTarget): (Seq[(ReferenceTarget, Type)], Seq[(ReferenceTarget, Type)])

    Permalink

    returns

    Returns ((inputs, outputs)) target and type of each module port.

  24. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  25. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  26. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  27. def ports(mt: ModuleTarget): Seq[ReferenceTarget]

    Permalink

    Returns the references to the module's ports

    Returns the references to the module's ports

    mt

    firrtl.annotations.ModuleTarget to be queried.

    returns

    the port references of mt

  28. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  29. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  30. def tpe(t: ReferenceTarget): Type

    Permalink
  31. def validPath(t: IsModule): Boolean

    Permalink

    t

    firrtl.annotations.ReferenceTarget to be queried.

    returns

    whether a given firrtl.annotations.IsModule is valid, given the circuit's module/instance hierarchy

  32. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  33. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  34. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped