package stage
- Alphabetic
- By Inheritance
- stage
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class ChiselCircuitAnnotation extends NoTargetAnnotation with ChiselOption with Unserializable with Product with Serializable
Stores a Chisel Circuit
- case class ChiselGeneratorAnnotation(gen: () => RawModule) extends NoTargetAnnotation with Unserializable with Product with Serializable
An firrtl.annotations.Annotation storing a function that returns a Chisel module
An firrtl.annotations.Annotation storing a function that returns a Chisel module
- gen
a generator function
- sealed trait ChiselOption extends AnyRef
Mixin that indicates that this is an firrtl.annotations.Annotation used to generate a ChiselOptions view.
- class ChiselOptions extends AnyRef
- case class ChiselOutputFileAnnotation(file: String) extends NoTargetAnnotation with ChiselOption with Unserializable with Product with Serializable
- class CircuitSerializationAnnotation extends NoTargetAnnotation with BufferedCustomFileEmission with WriteableCircuitAnnotation with Product with Serializable
Wraps a
Circuit
for serialization viaCustomFileEmission
- case class DesignAnnotation[DUT <: RawModule](design: DUT, layers: Seq[Layer] = Seq.empty) extends NoTargetAnnotation with Unserializable with Product with Serializable
Contains the top-level elaborated Chisel design.
Contains the top-level elaborated Chisel design.
By default is created during Chisel elaboration and passed to the FIRRTL compiler.
- DUT
Type of the top-level Chisel design
- design
top-level Chisel design
- case class IncludeInlineTestsForModuleAnnotation(glob: String) extends NoTargetAnnotation with Unserializable with ChiselOption with Product with Serializable
- case class IncludeInlineTestsWithNameAnnotation(glob: String) extends NoTargetAnnotation with Unserializable with ChiselOption with Product with Serializable
- case class RemapLayer(oldLayer: Layer, newLayer: Layer) extends NoTargetAnnotation with ChiselOption with Unserializable with Product with Serializable
This records a mapping from an old chisel3.layer.Layer to a new chisel3.layer.Layer.
This records a mapping from an old chisel3.layer.Layer to a new chisel3.layer.Layer.
This is intended to be used by a downstream Chisel project that is using an upstream Chisel project which has different layers and the user would like to align the upstream project with the downstream.
- oldLayer
the old layer that should be remapped
- newLayer
the new layer that the old layer should be replaced with
- case class SourceRootAnnotation(directory: File) extends NoTargetAnnotation with Unserializable with ChiselOption with Product with Serializable
A root directory for source files, used for enhanced error reporting
A root directory for source files, used for enhanced error reporting
More than one may be provided. If a source file is found in more than one source root, the first match will be used in error reporting.
- case class WarningConfigurationAnnotation(value: String) extends NoTargetAnnotation with Unserializable with ChiselOption with Product with Serializable
- case class WarningConfigurationFileAnnotation(value: File) extends NoTargetAnnotation with Unserializable with ChiselOption with Product with Serializable
Value Members
- final val pleaseSwitchToCIRCT: String("this feature will not be supported as part of the migration to the MLIR-based FIRRTL Compiler (MFC). For more information about this migration, please see the Chisel ROADMAP.md. Please switch to circt.stage.ChiselStage.")
- object ChiselCircuitAnnotation extends AbstractFunction1[ElaboratedCircuit, ChiselCircuitAnnotation] with Serializable
- object ChiselGeneratorAnnotation extends HasShellOptions with Serializable
- implicit object ChiselOptionsView extends OptionsView[ChiselOptions]
- Annotations
- @nowarn()
- object ChiselOutputFileAnnotation extends HasShellOptions with Serializable
- object CircuitSerializationAnnotation extends Serializable
- case object IncludeInlineTestsForModule extends HasShellOptions with Product with Serializable
- case object IncludeInlineTestsWithName extends HasShellOptions with Product with Serializable
- case object IncludeUtilMetadata extends NoTargetAnnotation with ChiselOption with HasShellOptions with Unserializable with Product with Serializable
Include metadata for chisel utils.
Include metadata for chisel utils.
Some built-in Chisel utilities (like chisel3.util.SRAM) can optionally be built with metadata. Adding this option will include the metadata when building relevant blocks.
Use as CLI option
--include-util-metadata
. - case object PrintFullStackTraceAnnotation extends NoTargetAnnotation with ChiselOption with HasShellOptions with Unserializable with Product with Serializable
On an exception, this will cause the full stack trace to be printed as opposed to a pruned stack trace.
- object RemapLayer extends HasShellOptions with Serializable
- object SourceRootAnnotation extends HasShellOptions with Serializable
- case object ThrowOnFirstErrorAnnotation extends NoTargetAnnotation with ChiselOption with HasShellOptions with Unserializable with Product with Serializable
On recoverable errors, this will cause Chisel to throw an exception instead of continuing.
- case object UseLegacyWidthBehavior extends NoTargetAnnotation with ChiselOption with HasShellOptions with Unserializable with Product with Serializable
Use legacy Chisel width behavior.
Use legacy Chisel width behavior.
This should only be used for checking for unexpected semantic changes when bumping to Chisel 7.0.0.
Use as CLI option
--use-legacy-width
.There are two width bugs fixed in Chisel 7.0 that could affect the semantics of user code. Enabling this option will restore the old, buggy behavior, described below:
1. The width of shift-right when shift amount is >= the width of the argument
When this option is enabled, the behavior is as follows:
- Calling
.getWidth
on the resulting value will report the width as 0. - The width of the resulting value will be treated as 1-bit for generating Verilog.
2. The width of
ChiselEnum
valuesWhen this option is enabled, the behavior is as follows:
- Calling
.getWidth
on a specific ChiselEnum value will give the width needed to encode the enum. This is the minimum width needed to encode the maximum value encoded by the enum. - The resulting FIRRTL will have the minimum width needed to encode the literal value for just that specific enum value.
- Calling
- case object UseSRAMBlackbox extends NoTargetAnnotation with ChiselOption with HasShellOptions with Unserializable with Product with Serializable
Use Blackbox implementation for SRAM
Use Blackbox implementation for SRAM
Use as CLI option
--use-sram-blackbox
. - object WarningConfigurationAnnotation extends HasShellOptions with Serializable
- object WarningConfigurationFileAnnotation extends HasShellOptions with Serializable
- case object WarningsAsErrorsAnnotation extends NoTargetAnnotation with ChiselOption with HasShellOptions with Unserializable with Product with Serializable
When enabled, warnings will be treated as errors.
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.