Packages

p

firrtl

annotations

package annotations

Content Hierarchy
Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. trait Annotation extends Product

    Base type of auxiliary information

  2. case class AnnotationClassNotFoundException(className: String) extends FirrtlUserException with Product with Serializable
  3. case class AnnotationException(message: String) extends Exception with Product with Serializable
  4. case class AnnotationFileNotFoundException(file: File) extends FirrtlUserException with Product with Serializable
  5. final case class CircuitName(name: String) extends Named with Product with Serializable
  6. case class CircuitTarget(circuit: String) extends CompleteTarget with Product with Serializable

    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

    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
  9. case class GenericTarget(circuitOpt: Option[String], moduleOpt: Option[String], tokens: Vector[TargetToken]) extends Target with Product with Serializable

    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

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

    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
  13. case class InvalidAnnotationJSONException(msg: String) extends FirrtlUserException with Product with Serializable
  14. trait IsComponent extends IsMember

    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

    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

    References a module-like target (e.g.

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

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

    Firrtl implementation for load memory

    Firrtl implementation for load memory

    target

    memory to load

    fileName

    name of input file

    hexOrBinary

    use $readmemh or $readmemb

  18. case class MemoryFileInlineAnnotation(target: ReferenceTarget, filename: String, hexOrBinary: FileType = MemoryLoadFileType.Hex) extends MemoryInitAnnotation with Product with Serializable

    Initialize the target memory with inline readmem[hb] statement.

  19. sealed trait MemoryInitAnnotation extends SingleTargetAnnotation[ReferenceTarget]

    Represents the initial value of the annotated memory.

    Represents the initial value of the annotated memory. While not supported on normal ASIC flows, it can be useful for simulation and FPGA flows. This annotation is consumed by the verilog emitter.

  20. sealed abstract class MemoryLoadFileType extends AnyRef

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

  21. final case class ModuleName(name: String, circuit: CircuitName) extends Named with Product with Serializable
  22. case class ModuleTarget(circuit: String, module: String) extends IsModule with Product with Serializable

    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

  23. sealed trait Named extends AnyRef

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

  24. trait NoTargetAnnotation extends Annotation

    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

    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.DefMemory, firrtl.ir.DefNode

    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.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

    An Annotation that targets a single Named thing

  27. sealed trait Target extends Named

    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

    Building block to represent a Target of a FIRRTL component

  29. case class UnrecogizedAnnotationsException(msg: String) extends FirrtlUserException with Product with Serializable
  30. case class UnrecognizedAnnotation(underlying: JValue) extends NoTargetAnnotation with Product with Serializable
  31. class UnserializableAnnotationException extends FirrtlUserException
  32. case class UnserializeableAnnotation(error: String, content: String) extends NoTargetAnnotation with Product with Serializable

    Wrapper Annotation for Annotations that cannot be serialized

Value Members

  1. object Annotation
  2. object AnnotationUtils
  3. object JsonProtocol extends LazyLogging
  4. object MemoryLoadFileType
  5. object Target
  6. case object TargetToken extends Product with Serializable

    Object containing all TargetToken subclasses

  7. object UnserializableAnnotationException extends Serializable

Ungrouped