package options
- Alphabetic
- By Inheritance
- options
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Deprecated Type Members
- class BareShell extends AnyRef
A utility for working with command line options.
A utility for working with command line options. This provides no options by default other than "--help". This is intended for lower-level APIs which do not want to include options that are provided by Shell.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait BufferedCustomFileEmission extends CustomFileEmission
A buffered version of CustomFileEmission
A buffered version of CustomFileEmission
This is especially useful for serializing large data structures. When emitting Strings, it makes it much easier to avoid materializing the entire serialized String in memory. It also helps avoid materializing intermediate datastructures in memory. Finally, it reduces iteration overhead and helps optimize I/O performance.
It may seem strange to use
Array[Byte]
in an otherwise immutable API, but for maximal performance it is best to use the JVM primitive that file I/O uses. These Arrays should only used immutably even though the Java API technically does allow mutating them.- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait CustomFileEmission extends AnyRef
Mix-in that lets an Annotation serialize itself to a file separate from the output annotation file.
Mix-in that lets an Annotation serialize itself to a file separate from the output annotation file.
This can be used as a mechanism to serialize an Unserializable annotation or to write ancillary collateral used by downstream tooling, e.g., a TCL script or an FPGA constraints file. Any annotations using this mix-in will be serialized by the WriteOutputAnnotations phase. This is one of the last phases common to all Stages and should not have to be called/included manually.
Note: from the perspective of transforms generating annotations that mix-in this trait, the serialized files are not expected to be available to downstream transforms. Communication of information between transforms must occur through the annotations that will eventually be serialized to files.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- case class Dependency[+A <: DependencyAPI[_]](id: Either[Class[_ <: A], A with Singleton]) extends Product with Serializable
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait DependencyAPI[A <: DependencyAPI[A]] extends AnyRef
Mixin that defines dependencies between TransformLikes (hereafter referred to as "transforms")
Mixin that defines dependencies between TransformLikes (hereafter referred to as "transforms")
This trait forms the basis of the Dependency API of the Chisel/FIRRTL Hardware Compiler Framework. Dependencies are defined in terms of prerequisistes, optional prerequisites, optional prerequisites of, and invalidates. A prerequisite is a transform that must run before this transform. An optional prerequisites is transform that should run before this transform if the other transform is a target (or the prerequisite of a target). An optional prerequisite of is an optional prerequisite injected into another transform. Finally, invalidates define the set of transforms whose effects this transform undos/invalidates. (Invalidation then implies that a transform that is invalidated by this transform and needed by another transform will need to be re-run.)
This Dependency API only defines dependencies. A concrete DependencyManager is expected to be used to statically resolve a linear ordering of transforms that satisfies dependency requirements.
- A
some transform
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait DependencyManager[A, B <: TransformLike[A] with DependencyAPI[B]] extends TransformLike[A] with DependencyAPI[B]
A TransformLike that resolves a linear ordering of dependencies based on requirements.
A TransformLike that resolves a linear ordering of dependencies based on requirements.
- A
the type over which this transforms
- B
the type of the TransformLike
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- case class DependencyManagerException(message: String, cause: Throwable = null) extends RuntimeException with Product with Serializable
An exception arising from an in a DependencyManager
An exception arising from an in a DependencyManager
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait DoNotTerminateOnExit extends AnyRef
OptionParser mixin that causes the OptionParser to not call exit (call
sys.exit
) if the--help
option is passedOptionParser mixin that causes the OptionParser to not call exit (call
sys.exit
) if the--help
option is passed- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait DuplicateHandling extends OptionParser[AnnotationSeq]
A modified OptionParser with mutable termination and additional checks
A modified OptionParser with mutable termination and additional checks
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait ExceptOnError extends AnyRef
OptionParser mixin that converts to OptionsException
OptionParser mixin that converts to OptionsException
Scopt, by default, will print errors to stderr, e.g., invalid arguments will do this. However, a Stage uses StageUtils.dramaticError. By converting this to an OptionsException, a Stage can then catch the error an convert it to an OptionsException that a Stage can get at.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- sealed trait ExitCode extends AnyRef
The supertype of all exit codes
The supertype of all exit codes
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- sealed trait ExitFailure extends ExitCode
An ExitCode indicative of failure.
An ExitCode indicative of failure. This must be non-zero and should not conflict with a reserved exit code.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait HasShellOptions extends AnyRef
Indicates that this class/object includes options (but does not add these as a registered class)
Indicates that this class/object includes options (but does not add these as a registered class)
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait IdentityLike[A] extends AnyRef
Mix-in that makes a TransformLike guaranteed to be an identity function on some type.
Mix-in that makes a TransformLike guaranteed to be an identity function on some type.
- A
the transformed type
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- case class InputAnnotationFileAnnotation(file: String) extends NoTargetAnnotation with StageOption with Product with Serializable
Holds a filename containing one or more annotations.Annotation to be read
Holds a filename containing one or more annotations.Annotation to be read
- set with
-faf/--annotation-file
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- set with
- class OptionsException extends IllegalArgumentException
Indicate an error related to a bad Annotation or it's command line option equivalent.
Indicate an error related to a bad Annotation or it's command line option equivalent. This exception is always caught and converted to an error message by a Stage. Do not use this for communicating generic exception information.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait OptionsView[T] extends AnyRef
Type class defining a "view" of an AnnotationSeq
Type class defining a "view" of an AnnotationSeq
- T
the type to which this viewer converts an AnnotationSeq to
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- case class OutputAnnotationFileAnnotation(file: String) extends NoTargetAnnotation with StageOption with Product with Serializable
An explicit output _annotation_ file to write to
An explicit output _annotation_ file to write to
- set with
-foaf/--output-annotation-file
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- set with
- trait Phase extends TransformLike[AnnotationSeq] with DependencyAPI[Phase]
A mathematical transformation of an AnnotationSeq.
A mathematical transformation of an AnnotationSeq.
A Phase forms one unit in the Chisel/FIRRTL Hardware Compiler Framework (HCF). The HCF is built from a sequence of Phases applied to an AnnotationSeq. Note that a Phase may consist of multiple phases internally.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- class PhaseException extends RuntimeException
Indicate a generic error in a Phase
Indicate a generic error in a Phase
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- class PhaseManager extends DependencyManager[AnnotationSeq, Phase] with Phase
A Phase that will ensure that some other Phases and their prerequisites are executed.
A Phase that will ensure that some other Phases and their prerequisites are executed.
This tries to determine a phase ordering such that an AnnotationSeq output is produced that has had all of the requested Phase target transforms run without having them be invalidated.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- class PhasePrerequisiteException extends PhaseException
Indicates that a Phase is missing some mandatory information.
Indicates that a Phase is missing some mandatory information. This likely occurs either if a user ran something out of order or if the compiler did not run things in the correct order.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- case class ProgramArgsAnnotation(arg: String) extends NoTargetAnnotation with StageOption with Product with Serializable
Additional arguments
Additional arguments
- set with any trailing option on the command line
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait RegisteredLibrary extends HasShellOptions
A class that includes options that should be exposed as a group at the top level.
A class that includes options that should be exposed as a group at the top level.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- Note
To complete registration, include an entry in src/main/resources/META-INF/services/firrtl.options.RegisteredLibrary
- class Shell extends BareShell
A utility for working with command line options.
A utility for working with command line options. This comes prepopulated with common options for most uses.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- final class ShellOption[A] extends AnyRef
Contains information about a Shell command line option
Contains information about a Shell command line option
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- abstract class Stage extends Phase
A Stage represents one stage in the FIRRTL hardware compiler framework.
A Stage represents one stage in the FIRRTL hardware compiler framework. A Stage is, conceptually, a Phase that includes a command line interface.
The FIRRTL compiler is a stage as well as any frontend or backend that runs before/after FIRRTL. Concretely, Chisel is a Stage as is FIRRTL's Verilog emitter. Each stage performs a mathematical transformation on an AnnotationSeq where some input annotations are processed to produce different annotations. Command line options may be pulled in if available.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- final class StageError extends Error
Indicates that a Stage or Phase has run into a situation where it cannot continue.
- class StageMain extends AnyRef
Provides a main method for a Stage
Provides a main method for a Stage
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- sealed trait StageOption extends Unserializable
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- class StageOptions extends AnyRef
Options that every stage shares
Options that every stage shares
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- case class TargetDirAnnotation(directory: String = ".") extends NoTargetAnnotation with StageOption with Product with Serializable
Holds the name of the target directory
Holds the name of the target directory
- set with
-td/--target-dir
- if unset, a TargetDirAnnotation will be generated with the
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- set with
- trait TransformLike[A] extends LazyLogging
A polymorphic mathematical transform
A polymorphic mathematical transform
- A
the transformed type
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait Translator[A, B] extends TransformLike[A]
A TransformLike that internally translates the input type to some other type, transforms the internal type, and converts back to the original type.
A TransformLike that internally translates the input type to some other type, transforms the internal type, and converts back to the original type.
This is intended to be used to insert a TransformLike parameterized by type
B
into a sequence of TransformLikes parameterized by typeA
.- A
the type of the TransformLike
- B
the internal type
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- trait Unserializable extends AnyRef
An annotation that should not be serialized automatically WriteOutputAnnotations.
An annotation that should not be serialized automatically WriteOutputAnnotations. This usually means that this is an annotation that is used only internally to a Stage.
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
Deprecated Value Members
- object Dependency extends Serializable
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object DependencyManagerUtils
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object ExitSuccess extends ExitCode
ExitCode indicating success
ExitCode indicating success
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object GeneralError extends ExitFailure
An exit code indicating a general, non-specific error
An exit code indicating a general, non-specific error
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object InputAnnotationFileAnnotation extends HasShellOptions with Serializable
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- case object OptionsHelpException extends Exception with Product with Serializable
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object OutputAnnotationFileAnnotation extends HasShellOptions with Serializable
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object PhaseManager
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object ProgramArgsAnnotation extends Serializable
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- implicit object StageOptionsView extends OptionsView[StageOptions]
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object StageUtils
Utilities related to working with a Stage
Utilities related to working with a Stage
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object TargetDirAnnotation extends HasShellOptions with Serializable
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
- object Viewer
A shim to manage multiple "views" of an AnnotationSeq
A shim to manage multiple "views" of an AnnotationSeq
- Annotations
- @deprecated
- Deprecated
(Since version Chisel 7.0.0) All APIs in package firrtl are deprecated.
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.