Package

firrtl

annotations

Permalink

package annotations

Content Hierarchy
Visibility
  1. Public
  2. All

Type Members

  1. trait Annotation extends Product

    Permalink

    Base type of auxiliary information

  2. case class AnnotationClassNotFoundException(className: String) extends FirrtlUserException with Product with Serializable

    Permalink
  3. case class AnnotationException(message: String) extends Exception with Product with Serializable

    Permalink
  4. case class AnnotationFileNotFoundException(file: File) extends FirrtlUserException with Product with Serializable

    Permalink
  5. final case class CircuitName(name: String) extends Named with Product with Serializable

    Permalink
  6. case class CircuitTarget(circuit: String) extends CompleteTarget with Product with Serializable

    Permalink

    Target pointing to a FIRRTL firrtl.ir.Circuit

    Target pointing to a FIRRTL firrtl.ir.Circuit

    circuit

    Name of a FIRRTL circuit

  7. trait CompleteTarget extends Target

    Permalink

    Concretely points to a FIRRTL target, no generic selectors IsLegal

  8. final case class ComponentName(name: String, module: ModuleName) extends Named with Product with Serializable

    Permalink
  9. case class DeletedAnnotation(xFormName: String, anno: Annotation) extends NoTargetAnnotation with Product with Serializable

    Permalink
  10. case class GenericTarget(circuitOpt: Option[String], moduleOpt: Option[String], tokens: Vector[TargetToken]) extends Target with Product with Serializable

    Permalink

    Represents incomplete or non-standard Targets

    Represents incomplete or non-standard Targets

    circuitOpt

    Optional circuit name

    moduleOpt

    Optional module name

    tokens

    TargetTokens to represent the target in a circuit and module

  11. case class InstanceTarget(circuit: String, module: String, path: Seq[(Instance, OfModule)], instance: String, ofModule: String) extends IsModule with IsComponent with Product with Serializable

    Permalink

    Points to an instance declaration of a module (termed an ofModule)

    Points to an instance declaration of a module (termed an ofModule)

    circuit

    Encapsulating circuit

    module

    Root module (e.g. the base module of this target)

    path

    Path through instance/ofModules

    instance

    Name of the instance

    ofModule

    Name of the instance's module

  12. case class InvalidAnnotationFileException(file: File, cause: FirrtlUserException = null) extends FirrtlUserException with Product with Serializable

    Permalink
  13. case class InvalidAnnotationJSONException(msg: String) extends FirrtlUserException with Product with Serializable

    Permalink
  14. trait IsComponent extends IsMember

    Permalink

    A component of a FIRRTL Module (e.g.

    A component of a FIRRTL Module (e.g. cannot point to a CircuitTarget or ModuleTarget)

  15. trait IsMember extends CompleteTarget

    Permalink

    A member of a FIRRTL Circuit (e.g.

    A member of a FIRRTL Circuit (e.g. cannot point to a CircuitTarget) Concrete Subclasses are: ModuleTarget, InstanceTarget, and ReferenceTarget

  16. trait IsModule extends IsMember

    Permalink

    References a module-like target (e.g.

    References a module-like target (e.g. a ModuleTarget or an InstanceTarget)

  17. final case class LegacyAnnotation extends SingleTargetAnnotation[Named] with Product with Serializable

    Permalink
  18. case class LoadMemoryAnnotation(target: ComponentName, fileName: String, hexOrBinary: MemoryLoadFileType = MemoryLoadFileType.Hex, originalMemoryNameOpt: Option[String] = None) extends SingleTargetAnnotation[Named] with Product with Serializable

    Permalink

    Firrtl implementation for load memory

    Firrtl implementation for load memory

    target

    memory to load

    fileName

    name of input file

    hexOrBinary

    use $readmemh or $readmemb

  19. sealed abstract class MemoryLoadFileType extends AnyRef

    Permalink

    Representation of the two types of readmem statements available in Verilog.

  20. final case class ModuleName(name: String, circuit: CircuitName) extends Named with Product with Serializable

    Permalink
  21. case class ModuleTarget(circuit: String, module: String) extends IsModule with Product with Serializable

    Permalink

    Target pointing to a FIRRTL firrtl.ir.DefModule

    Target pointing to a FIRRTL firrtl.ir.DefModule

    circuit

    Circuit containing the module

    module

    Name of the module

  22. trait MultiTargetAnnotation extends Annotation

    Permalink

    MultiTargetAnnotation keeps the renamed targets grouped within a single annotation.

  23. sealed trait Named extends AnyRef

    Permalink

    Named classes associate an annotation with a component in a Firrtl circuit

  24. trait NoTargetAnnotation extends Annotation

    Permalink

    If an Annotation does not target any Named thing in the circuit, then all updates just return the Annotation itself

  25. case class ReferenceTarget(circuit: String, module: String, path: Seq[(Instance, OfModule)], ref: String, component: Seq[TargetToken]) extends IsComponent with Product with Serializable

    Permalink

    Target pointing to a declared named component in a firrtl.ir.DefModule This includes: firrtl.ir.Port, firrtl.ir.DefWire, firrtl.ir.DefRegister, firrtl.ir.DefInstance, firrtl.ir.DefMemory, firrtl.ir.DefNode

    circuit

    Name of the encapsulating circuit

    module

    Name of the root module of this reference

    path

    Path through instance/ofModules

    ref

    Name of component

    component

    Subcomponent of this reference, e.g. field or index

  26. trait SingleTargetAnnotation[T <: Named] extends Annotation

    Permalink

    An Annotation that targets a single Named thing

  27. sealed trait Target extends Named

    Permalink

    Refers to something in a FIRRTL firrtl.ir.Circuit.

    Refers to something in a FIRRTL firrtl.ir.Circuit. Used for Annotation targets.

    Can be in various states of completion/resolved:

    • Legal: TargetToken's in tokens are in an order that makes sense
    • Complete: circuitOpt and moduleOpt are non-empty, and all Instance(_) are followed by OfModule(_)
    • Local: tokens does not refer to things through an instance hierarchy (no Instance(_) or OfModule(_) tokens)
  28. sealed trait TargetToken extends AnyRef

    Permalink

    Building block to represent a Target of a FIRRTL component

  29. trait SingleStringAnnotation extends NoTargetAnnotation

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.1) Just extend NoTargetAnnotation

Value Members

  1. object Annotation

    Permalink
  2. object AnnotationUtils

    Permalink
  3. object AnnotationYamlProtocol extends DefaultYamlProtocol

    Permalink
  4. object JsonProtocol

    Permalink
  5. object MemoryLoadFileType

    Permalink
  6. object Target

    Permalink
  7. object TargetToken extends Product with Serializable

    Permalink

    Object containing all TargetToken subclasses

  8. package analysis

    Permalink
  9. package transforms

    Permalink

Ungrouped