package annotations
- Alphabetic
- Public
- Protected
Type Members
- trait Annotation extends Product
Base type of auxiliary information
- case class AnnotationClassNotFoundException(className: String) extends FirrtlUserException with Product with Serializable
- case class AnnotationException(message: String) extends Exception with Product with Serializable
- case class AnnotationFileNotFoundException(file: File) extends FirrtlUserException with Product with Serializable
- final case class CircuitName(name: String) extends Named with Product with Serializable
- 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
- trait CompleteTarget extends Target
Concretely points to a FIRRTL target, no generic selectors IsLegal
- final case class ComponentName(name: String, module: ModuleName) extends Named with Product with Serializable
- 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
- trait HasSerializationHints extends AnyRef
- 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
- case class InvalidAnnotationFileException(file: File, cause: FirrtlUserException = null) extends FirrtlUserException with Product with Serializable
- case class InvalidAnnotationJSONException(msg: String) extends FirrtlUserException with Product with Serializable
- 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)
- 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
- trait IsModule extends IsMember
References a module-like target (e.g.
References a module-like target (e.g. a ModuleTarget or an InstanceTarget)
- 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
- 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. - 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.
- sealed abstract class MemoryLoadFileType extends AnyRef
Representation of the two types of
readmem
statements available in Verilog. - final case class ModuleName(name: String, circuit: CircuitName) extends Named with Product with Serializable
- 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
- sealed trait Named extends AnyRef
Named classes associate an annotation with a component in a Firrtl circuit
- trait NoTargetAnnotation extends Annotation
If an Annotation does not target any Named thing in the circuit, then all updates just return the Annotation itself
- 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
- trait SingleTargetAnnotation[T <: Named] extends Annotation
An Annotation that targets a single Named thing
- 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)
- sealed trait TargetToken extends AnyRef
Building block to represent a Target of a FIRRTL component
- case class UnrecogizedAnnotationsException(msg: String) extends FirrtlUserException with Product with Serializable
- case class UnrecognizedAnnotation(underlying: JValue) extends NoTargetAnnotation with Product with Serializable
- class UnserializableAnnotationException extends FirrtlUserException
- case class UnserializeableAnnotation(error: String, content: String) extends NoTargetAnnotation with Product with Serializable
Wrapper Annotation for Annotations that cannot be serialized
Value Members
- object Annotation
- object AnnotationUtils
- object JsonProtocol extends LazyLogging
- object MemoryLoadFileType
- object Target
- case object TargetToken extends Product with Serializable
Object containing all TargetToken subclasses
- object UnserializableAnnotationException extends Serializable