package annotations
- Alphabetic
- Public
- All
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 DeletedAnnotation(xFormName: String, anno: Annotation) extends NoTargetAnnotation 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
MemoryArrayInitAnnotation(target: ReferenceTarget, values: Seq[BigInt]) extends MemoryInitAnnotation with Product with Serializable
Initialize the
target
memory with the array ofvalues
which must be the same size as the memory depth. -
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] with MemoryEmissionOption
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. -
case class
MemoryRandomInitAnnotation(target: ReferenceTarget) extends MemoryInitAnnotation with Product with Serializable
Randomly initialize the
target
memory.Randomly initialize the
target
memory. This is the same as the default behavior. -
case class
MemoryScalarInitAnnotation(target: ReferenceTarget, value: BigInt) extends MemoryInitAnnotation with Product with Serializable
Initialize all entries of the
target
memory with the scalarvalue
. - 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
-
trait
MultiTargetAnnotation extends Annotation
MultiTargetAnnotation keeps the renamed targets grouped within a single annotation.
-
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
PresetAnnotation(target: ReferenceTarget) extends SingleTargetAnnotation[ReferenceTarget] with DontTouchAllTargets with Product with Serializable
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
-
case class
PresetRegAnnotation(target: ReferenceTarget) extends SingleTargetAnnotation[ReferenceTarget] with RegisterEmissionOption with DontTouchAllTargets with Product with Serializable
Transform the targeted asynchronously-reset Reg into a bitstream preset Reg Thus you can use this annotation in order to initialize a register at the beginning of simulation or through the FPGA bit-stream to its
init
value.Transform the targeted asynchronously-reset Reg into a bitstream preset Reg Thus you can use this annotation in order to initialize a register at the beginning of simulation or through the FPGA bit-stream to its
init
value.The register must fulfil the following requirements: - the reset signal is
UInt(0)
- theinit
value is a Literal- target
ReferenceTarget to a Reg
-
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
MemoryNoSynthInit extends NoTargetAnnotation with Product with Serializable
Initializes the memory inside the
ifndef SYNTHESIS
block (default) -
object
MemorySynthInit extends NoTargetAnnotation with Product with Serializable
Initializes the memory outside the
ifndef SYNTHESIS
block - object PresetRegAnnotation extends Serializable
- object Target
-
object
TargetToken extends Product with Serializable
Object containing all TargetToken subclasses
- object TargetUtils
- object UnserializableAnnotationException extends Serializable
This is the documentation for Firrtl.