class CircuitSerializationAnnotation extends NoTargetAnnotation with BufferedCustomFileEmission with WriteableCircuitAnnotation with Product with Serializable
Wraps a Circuit
for serialization via CustomFileEmission
- Source
- ChiselAnnotations.scala
- Alphabetic
- By Inheritance
- CircuitSerializationAnnotation
- Serializable
- WriteableCircuitAnnotation
- BufferedCustomFileEmission
- CustomFileEmission
- NoTargetAnnotation
- Annotation
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- Protected
Instance Constructors
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def +(other: String): String
- Implicit
- This member is added by an implicit conversion from CircuitSerializationAnnotation toany2stringadd[CircuitSerializationAnnotation] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
- def ->[B](y: B): (CircuitSerializationAnnotation, B)
- Implicit
- This member is added by an implicit conversion from CircuitSerializationAnnotation toArrowAssoc[CircuitSerializationAnnotation] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def baseFileName(annotations: AnnotationSeq): String
Output filename where serialized content will be written
Output filename where serialized content will be written
The full annotation sequence is a parameter to allow for the location where this annotation will be serialized to be a function of other annotations, e.g., if the location where information is written is controlled by a separate file location annotation.
- annotations
the annotation sequence at the time of emission
- Attributes
- protected
- Definition Classes
- CircuitSerializationAnnotation → CustomFileEmission
- def canEqual(that: Any): Boolean
- Definition Classes
- CircuitSerializationAnnotation → Equals
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def elaboratedCircuit: ElaboratedCircuit
- def emitLazily(annos: Seq[Annotation]): Iterable[String]
Emit the circuit including annotations
Emit the circuit including annotations
- Note
This API is lazy to improve performance and enable emitting circuits larger than 2 GiB
- def ensuring(cond: (CircuitSerializationAnnotation) => Boolean, msg: => Any): CircuitSerializationAnnotation
- Implicit
- This member is added by an implicit conversion from CircuitSerializationAnnotation toEnsuring[CircuitSerializationAnnotation] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: (CircuitSerializationAnnotation) => Boolean): CircuitSerializationAnnotation
- Implicit
- This member is added by an implicit conversion from CircuitSerializationAnnotation toEnsuring[CircuitSerializationAnnotation] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean, msg: => Any): CircuitSerializationAnnotation
- Implicit
- This member is added by an implicit conversion from CircuitSerializationAnnotation toEnsuring[CircuitSerializationAnnotation] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- def ensuring(cond: Boolean): CircuitSerializationAnnotation
- Implicit
- This member is added by an implicit conversion from CircuitSerializationAnnotation toEnsuring[CircuitSerializationAnnotation] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(obj: Any): Boolean
- Definition Classes
- CircuitSerializationAnnotation → Equals → AnyRef → Any
- final def filename(annotations: AnnotationSeq): File
Method that returns the filename where this annotation will be serialized.
Method that returns the filename where this annotation will be serialized.
- annotations
the annotations at the time of serialization
- Definition Classes
- CustomFileEmission
- val filename: String
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- val format: Format
- final def getBytes: Iterable[Byte]
A method that can convert this annotation to bytes that will be written to a file.
A method that can convert this annotation to bytes that will be written to a file.
If you only need to serialize a string, you can use the
getBytes
method:def getBytes: Iterable[Byte] = myString.getBytes
- Definition Classes
- BufferedCustomFileEmission → CustomFileEmission
- def getBytesBuffered: Iterable[Array[Byte]]
A buffered version of getBytes for more efficient serialization
A buffered version of getBytes for more efficient serialization
If you only need to serialize an
Iterable[String]
, you can use theString.getBytes
method. It's also helpful to create aview
which will do the.map
lazily instead of eagerly, improving GC performance.def getBytesBuffered: Iterable[Array[Byte]] = myListString.view.map(_.getBytes)
- Definition Classes
- CircuitSerializationAnnotation → BufferedCustomFileEmission
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- lazy val hashCode: Int
- Definition Classes
- CircuitSerializationAnnotation → AnyRef → Any
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def productArity: Int
- Definition Classes
- CircuitSerializationAnnotation → Product
- def productElement(n: Int): Any
- Definition Classes
- CircuitSerializationAnnotation → Product
- def productElementName(n: Int): String
- Definition Classes
- Product
- def productElementNames: Iterator[String]
- Definition Classes
- Product
- def productIterator: Iterator[Any]
- Definition Classes
- Product
- def productPrefix: String
- Definition Classes
- Product
- def replacements(file: File): AnnotationSeq
Optionally, a sequence of annotations that will replace this annotation in the output annotation file.
Optionally, a sequence of annotations that will replace this annotation in the output annotation file.
A non-empty implementation of this method is a mechanism for telling a downstream Stage how to deserialize the information that was serialized to a separate file. For example, if a FIRRTL circuit is serialized to a separate file, this method could include an input file annotation that a later stage can use to read the serialized FIRRTL circuit back in.
- Definition Classes
- CustomFileEmission
- def serialize: String
Optional pretty print
Optional pretty print
- Definition Classes
- Annotation
- Note
rarely used
- def suffix: Option[String]
Optional suffix of the output file
Optional suffix of the output file
- Attributes
- protected
- Definition Classes
- CircuitSerializationAnnotation → CustomFileEmission
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def update(renames: RenameMap): Seq[NoTargetAnnotation]
Update the target based on how signals are renamed
Update the target based on how signals are renamed
- Definition Classes
- NoTargetAnnotation → Annotation
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def writeToFileImpl(file: File, annos: Seq[Annotation]): Unit
Write the circuit and annotations to the .fir file
Write the circuit and annotations to the .fir file
- Attributes
- protected
- Definition Classes
- CircuitSerializationAnnotation → WriteableCircuitAnnotation
Deprecated Value Members
- def circuit: Circuit
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 6.7.0) Use elaboratedCircuit instead
- def copy(circuit: Circuit = this.circuit, filename: String = this.filename, format: Format = this.format): CircuitSerializationAnnotation
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 6.7.0) Don't copy, just create a new one.
- def formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from CircuitSerializationAnnotation toStringFormat[CircuitSerializationAnnotation] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @deprecated @inline()
- Deprecated
(Since version 2.12.16) Use
formatString.format(value)
instead ofvalue.formatted(formatString)
, or use thef""
string interpolator. In Java 15 and later,formatted
resolves to the new method in String which has reversed parameters.
- def →[B](y: B): (CircuitSerializationAnnotation, B)
- Implicit
- This member is added by an implicit conversion from CircuitSerializationAnnotation toArrowAssoc[CircuitSerializationAnnotation] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @deprecated
- Deprecated
(Since version 2.13.0) Use
->
instead. If you still wish to display it as one character, consider using a font with programming ligatures such as Fira Code.
This is the documentation for Chisel.
Package structure
The chisel3 package presents the public API of Chisel. It contains the concrete core types
UInt
,SInt
,Bool
,Clock
, andReg
, the abstract typesBits
,Aggregate
, andData
, and the aggregate typesBundle
andVec
.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
util
package.The
testers
package defines the basic interface for chisel testers.