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. trait HasSerializationHints extends AnyRef

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

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

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

    Permalink
  15. 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)

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

  17. trait IsModule extends IsMember

    Permalink

    References a module-like target (e.g.

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

  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. case class MemoryArrayInitAnnotation(target: ReferenceTarget, values: Seq[BigInt]) extends MemoryInitAnnotation with Product with Serializable

    Permalink

    Initialize the target memory with the array of values which must be the same size as the memory depth.

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

    Permalink

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

  21. sealed trait MemoryInitAnnotation extends SingleTargetAnnotation[ReferenceTarget] with MemoryEmissionOption

    Permalink

    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.

  22. sealed abstract class MemoryLoadFileType extends AnyRef

    Permalink

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

  23. case class MemoryRandomInitAnnotation(target: ReferenceTarget) extends MemoryInitAnnotation with Product with Serializable

    Permalink

    Randomly initialize the target memory.

    Randomly initialize the target memory. This is the same as the default behavior.

  24. case class MemoryScalarInitAnnotation(target: ReferenceTarget, value: BigInt) extends MemoryInitAnnotation with Product with Serializable

    Permalink

    Initialize all entries of the target memory with the scalar value.

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

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

  27. trait MultiTargetAnnotation extends Annotation

    Permalink

    MultiTargetAnnotation keeps the renamed targets grouped within a single annotation.

  28. sealed trait Named extends AnyRef

    Permalink

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

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

  30. case class PresetAnnotation(target: ReferenceTarget) extends SingleTargetAnnotation[ReferenceTarget] with DontTouchAllTargets with Product with Serializable

    Permalink

    Transform all registers connected to the targeted AsyncReset tree into bitstream preset registers Impacts all registers connected to any child (cross module) of the target AsyncReset

    Transform all registers connected to the targeted AsyncReset tree into bitstream preset registers Impacts all registers connected to any child (cross module) of the target AsyncReset

    target

    ReferenceTarget to an AsyncReset

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

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

    Permalink

    An Annotation that targets a single Named thing

  33. 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)
  34. sealed trait TargetToken extends AnyRef

    Permalink

    Building block to represent a Target of a FIRRTL component

  35. class UnserializableAnnotationException extends FirrtlUserException

    Permalink
  36. case class UnserializeableAnnotation(error: String, content: String) extends NoTargetAnnotation with Product with Serializable

    Permalink

    Wrapper Annotation for Annotations that cannot be serialized

Value Members

  1. object Annotation

    Permalink
  2. object AnnotationUtils

    Permalink
  3. object JsonProtocol

    Permalink
  4. object MemoryLoadFileType

    Permalink
  5. object MemoryNoSynthInit extends NoTargetAnnotation with Product with Serializable

    Permalink

    Initializes the memory inside the ifndef SYNTHESIS block (default)

  6. object MemorySynthInit extends NoTargetAnnotation with Product with Serializable

    Permalink

    Initializes the memory outside the ifndef SYNTHESIS block

  7. object Target

    Permalink
  8. object TargetToken extends Product with Serializable

    Permalink

    Object containing all TargetToken subclasses

  9. object TargetUtils

    Permalink
  10. object UnserializableAnnotationException extends Serializable

    Permalink
  11. package analysis

    Permalink
  12. package transforms

    Permalink

Ungrouped