firrtl.options

package firrtl.options

Members list

Packages

Type members

Deprecated classlikes

class BareShell(val applicationName: String)

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.

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.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Shell.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class Shell
trait CLI

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.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type

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 firrtl.options.phases.WriteOutputAnnotations 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.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type
object Dependency

Attributes

Companion
class
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Phase.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type
Dependency.type
case class Dependency[+A <: DependencyAPI[_]](id: Either[Class[_ <: A], A & Singleton])

Attributes

Companion
object
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Phase.scala
Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
trait DependencyAPI[A <: DependencyAPI[A]]

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.

Type parameters

A

some transform

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Phase.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type

A TransformLike that resolves a linear ordering of dependencies based on requirements.

A TransformLike that resolves a linear ordering of dependencies based on requirements.

Type parameters

A

the type over which this transforms

B

the type of the TransformLike

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
DependencyManager.scala
Supertypes
trait DependencyAPI[B]
trait TransformLike[A]
trait LazyLogging
class Object
trait Matchable
class Any
Show all
Known subtypes
class PhaseManager
case class DependencyManagerException(message: String, cause: Throwable = ...) extends RuntimeException

An exception arising from an in a DependencyManager

An exception arising from an in a DependencyManager

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
DependencyManager.scala
Supertypes
trait Product
trait Equals
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
DependencyManager.scala
Supertypes
class Object
trait Matchable
class Any
Self type

OptionParser mixin that causes the OptionParser to not call exit (call sys.exit) if the --help option is passed

OptionParser mixin that causes the OptionParser to not call exit (call sys.exit) if the --help option is passed

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
OptionParser.scala
Supertypes
class Object
trait Matchable
class Any
Self type
OptionParser[_]
trait DuplicateHandling extends OptionParser[AnnotationSeq]

A modified OptionParser with mutable termination and additional checks

A modified OptionParser with mutable termination and additional checks

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
OptionParser.scala
Supertypes
class OptionParser[AnnotationSeq]
class OptionDefCallback[AnnotationSeq]
class Object
trait Matchable
class Any

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.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
OptionParser.scala
Supertypes
class Object
trait Matchable
class Any
Self type
OptionParser[_]
sealed trait ExitCode

The supertype of all exit codes

The supertype of all exit codes

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
ExitCodes.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait ExitFailure
object GeneralError
object ExitSuccess
sealed trait ExitFailure extends ExitCode

An ExitCode indicative of failure. This must be non-zero and should not conflict with a reserved exit code.

An ExitCode indicative of failure. This must be non-zero and should not conflict with a reserved exit code.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
ExitCodes.scala
Supertypes
trait ExitCode
class Object
trait Matchable
class Any
Known subtypes
object GeneralError
object ExitSuccess extends ExitCode

ExitCode indicating success

ExitCode indicating success

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
ExitCodes.scala
Supertypes
trait ExitCode
class Object
trait Matchable
class Any
Self type
object GeneralError extends ExitFailure

An exit code indicating a general, non-specific error

An exit code indicating a general, non-specific error

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
ExitCodes.scala
Supertypes
trait ExitFailure
trait ExitCode
class Object
trait Matchable
class Any
Self type

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)

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Registration.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait IdentityLike[A]

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.

Type parameters

A

the transformed type

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Phase.scala
Supertypes
class Object
trait Matchable
class Any
Self type

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

Value parameters

value

input annotation filename

Attributes

Companion
object
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
trait Serializable
trait StageOption
trait Annotation
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Show all
Self type
class OptionsException(val message: String, cause: Throwable = ...) extends IllegalArgumentException

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.

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.

Value parameters

cause

the reason for this exception (a Java Throwable)

message

exception message String

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Exceptions.scala
Supertypes
class IllegalArgumentException
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
case object OptionsHelpException extends Exception

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
OptionParser.scala
Supertypes
trait Singleton
trait Product
trait Mirror
trait Product
trait Equals
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Self type
trait OptionsView[T]

Type class defining a "view" of an AnnotationSeq

Type class defining a "view" of an AnnotationSeq

Type parameters

T

the type to which this viewer converts an AnnotationSeq to

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
OptionsView.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes

An explicit output annotation file to write to

An explicit output annotation file to write to

  • set with -foaf/--output-annotation-file

Value parameters

value

output annotation filename

Attributes

Companion
object
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
trait Serializable
trait StageOption
trait Annotation
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Show all
Self type

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.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Phase.scala
Supertypes
trait LazyLogging
class Object
trait Matchable
class Any
Show all
Known subtypes
class PhaseException(val message: String, cause: Throwable = ...) extends RuntimeException

Indicate a generic error in a Phase

Indicate a generic error in a Phase

Value parameters

cause

an underlying Exception that this wraps

message

exception message

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Exceptions.scala
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
Known subtypes
class PhaseManager(val targets: Seq[PhaseDependency], val currentState: Seq[PhaseDependency] = ..., val knownObjects: Set[Phase] = ...) extends DependencyManager[AnnotationSeq, Phase], 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.

Value parameters

targets

the Phases you want to run

Attributes

Companion
object
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
DependencyManager.scala
Supertypes
trait Phase
trait LazyLogging
class Object
trait Matchable
class Any
Show all
object PhaseManager

Attributes

Companion
class
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
DependencyManager.scala
Supertypes
class Object
trait Matchable
class Any
Self type
class PhasePrerequisiteException(message: String, cause: Throwable = ...) extends PhaseException

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.

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.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Exceptions.scala
Supertypes
class RuntimeException
class Exception
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
case class ProgramArgsAnnotation(arg: String) extends NoTargetAnnotation, StageOption

Additional arguments

Additional arguments

  • set with any trailing option on the command line

Value parameters

value

one String argument

Attributes

Companion
object
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
trait Serializable
trait StageOption
trait Annotation
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Self type

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.

Attributes

Note

To complete registration, include an entry in src/main/resources/META-INF/services/firrtl.options.RegisteredLibrary

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Registration.scala
Supertypes
class Object
trait Matchable
class Any
class Shell(applicationName: String) extends BareShell

A utility for working with command line options. This comes prepopulated with common options for most uses.

A utility for working with command line options. This comes prepopulated with common options for most uses.

Value parameters

applicationName

the application associated with these command line options

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Shell.scala
Supertypes
class BareShell
class Object
trait Matchable
class Any
final class ShellOption[A](val longOption: String, val toAnnotationSeq: A => AnnotationSeq, val helpText: String, val shortOption: Option[String] = ..., val helpValueName: Option[String] = ...)(implicit evidence$1: Read[A])

Contains information about a Shell command line option

Contains information about a Shell command line option

Type parameters

the

type of the command line argument

Value parameters

helpText

help text

helpValueName

a string to show as a placeholder argument in help text

longOption

a long, double-dash option

shortOption

an optional single-dash option

toAnnotationSeq

a function to convert the type into an AnnotationSeq

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Registration.scala
Supertypes
class Object
trait Matchable
class Any
abstract class Stage extends Phase

A Stage represents one stage in the FIRRTL hardware compiler framework. A Stage is, conceptually, a Phase that includes a command line interface.

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.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Stage.scala
Supertypes
trait Phase
trait LazyLogging
class Object
trait Matchable
class Any
Show all
Known subtypes
class ChiselStage
final class StageError(val code: ExitFailure = ..., cause: Throwable = ...) extends Error

Indicates that a Stage or Phase has run into a situation where it cannot continue.

Indicates that a Stage or Phase has run into a situation where it cannot continue.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Exceptions.scala
Supertypes
class Error
class Throwable
trait Serializable
class Object
trait Matchable
class Any
Show all
class StageMain(val stage: Stage)

Provides a main method for a Stage

Provides a main method for a Stage

Value parameters

stage

the stage to run

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Stage.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object ChiselMain
sealed trait StageOption extends Unserializable

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type
class StageOptions

Options that every stage shares

Options that every stage shares

Value parameters

an

input annotation file

outputAnnotationFileName

an output annotation filename

programArgs

explicit program arguments

targetDirName

a target (build) directory

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageOptions.scala
Supertypes
class Object
trait Matchable
class Any

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
package.scala
Supertypes
class Object
trait Matchable
class Any
Self type
object StageUtils

Utilities related to working with a Stage

Utilities related to working with a Stage

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageUtils.scala
Supertypes
class Object
trait Matchable
class Any
Self type
StageUtils.type
case class TargetDirAnnotation(directory: String = ...) extends NoTargetAnnotation, StageOption

Holds the name of the target directory

Holds the name of the target directory

Value parameters

value

target directory name

Attributes

Companion
object
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
trait Serializable
trait StageOption
trait Annotation
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Companion
class
Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
trait Product
trait Mirror
class Object
trait Matchable
class Any
Show all
Self type
trait TransformLike[A] extends LazyLogging

A polymorphic mathematical transform

A polymorphic mathematical transform

Type parameters

A

the transformed type

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Phase.scala
Supertypes
trait LazyLogging
class Object
trait Matchable
class Any
Known subtypes
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 type A.

Type parameters

A

the type of the TransformLike

B

the internal type

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
Phase.scala
Supertypes
trait TransformLike[A]
trait LazyLogging
class Object
trait Matchable
class Any

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.

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.

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
StageAnnotations.scala
Supertypes
class Object
trait Matchable
class Any
Known subtypes
Self type
object Viewer

A shim to manage multiple "views" of an AnnotationSeq

A shim to manage multiple "views" of an AnnotationSeq

Attributes

Deprecated
[Since version Chisel 7.0.0] All APIs in package firrtl are deprecated.
Source
OptionsView.scala
Supertypes
class Object
trait Matchable
class Any
Self type
Viewer.type