Package

firrtl

options

Permalink

package options

Source
package.scala
Linear Supertypes
Content Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. options
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. trait DependencyAPI[A <: DependencyAPI[A]] extends AnyRef

    Permalink

    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, dependents, and invalidates. A prerequisite is a transform that must run before this transform. A dependent is a transform that must run after this transform. (This can be viewed as a means of injecting a prerequisite into some other 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

  2. trait DependencyManager[A, B <: TransformLike[A] with DependencyAPI[B]] extends TransformLike[A] with DependencyAPI[B]

    Permalink

    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

  3. case class DependencyManagerException(message: String, cause: Throwable = null) extends RuntimeException with Product with Serializable

    Permalink

    An exception arising from an in a DependencyManager

  4. trait DoNotTerminateOnExit extends AnyRef

    Permalink

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

  5. trait DuplicateHandling extends OptionParser[AnnotationSeq]

    Permalink

    A modified OptionParser with mutable termination and additional checks

  6. trait ExceptOnError extends AnyRef

    Permalink

    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.

  7. sealed trait ExitCode extends AnyRef

    Permalink

    The supertype of all exit codes

  8. sealed trait ExitFailure extends ExitCode

    Permalink

    An ExitCode indicative of failure.

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

  9. trait HasShellOptions extends AnyRef

    Permalink

    Indicates that this class/object includes options (but does not add these as a registered class)

  10. case class InputAnnotationFileAnnotation(file: String) extends NoTargetAnnotation with StageOption with Product with Serializable

    Permalink

    Holds a filename containing one or more annotations.Annotation to be read

    Holds a filename containing one or more annotations.Annotation to be read

  11. class OptionsException extends IllegalArgumentException

    Permalink

    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.

  12. trait OptionsView[T] extends AnyRef

    Permalink

    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

  13. case class OutputAnnotationFileAnnotation(file: String) extends NoTargetAnnotation with StageOption with Product with Serializable

    Permalink

    An explicit output _annotation_ file to write to

    An explicit output _annotation_ file to write to

    • set with -foaf/--output-annotation-file
  14. trait Phase extends TransformLike[AnnotationSeq] with DependencyAPI[Phase]

    Permalink

    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.

  15. class PhaseException extends RuntimeException

    Permalink

    Indicate a generic error in a Phase

  16. class PhaseManager extends Phase with DependencyManager[AnnotationSeq, Phase]

    Permalink

    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.

  17. class PhasePrerequisiteException extends PhaseException

    Permalink

    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.

  18. trait PreservesAll[A <: DependencyAPI[A]] extends AnyRef

    Permalink

    A trait indicating that no invalidations occur, i.e., all previous transforms are preserved

    A trait indicating that no invalidations occur, i.e., all previous transforms are preserved

    A

    some TransformLike

  19. case class ProgramArgsAnnotation(arg: String) extends NoTargetAnnotation with StageOption with Product with Serializable

    Permalink

    Additional arguments

    Additional arguments

    • set with any trailing option on the command line
  20. trait RegisteredLibrary extends HasShellOptions

    Permalink

    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.

    Note

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

  21. trait RegisteredTransform extends HasShellOptions

    Permalink

    A Transform that includes an option that should be exposed at the top level.

    A Transform that includes an option that should be exposed at the top level.

    Note

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

  22. class Shell extends AnyRef

    Permalink

    A utility for working with command line options

  23. final class ShellOption[A] extends AnyRef

    Permalink

    Contains information about a Shell command line option

  24. abstract class Stage extends Phase

    Permalink

    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.

  25. final class StageError extends Error

    Permalink

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

  26. class StageMain extends AnyRef

    Permalink

    Provides a main method for a Stage

  27. sealed trait StageOption extends AnyRef

    Permalink
  28. class StageOptions extends AnyRef

    Permalink

    Options that every stage shares

  29. case class TargetDirAnnotation(directory: String = ".") extends NoTargetAnnotation with StageOption with Product with Serializable

    Permalink

    Holds the name of the target directory

    Holds the name of the target directory

  30. trait TransformLike[A] extends LazyLogging

    Permalink

    A polymorphic mathematical transform

    A polymorphic mathematical transform

    A

    the transformed type

  31. trait Translator[A, B] extends TransformLike[A]

    Permalink

    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.

    A

    the type of the TransformLike

    B

    the internal type

  32. trait Unserializable extends AnyRef

    Permalink

    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.

Value Members

  1. object ExitSuccess extends ExitCode

    Permalink

    ExitCode indicating success

  2. object GeneralError extends ExitFailure

    Permalink

    An exit code indicating a general, non-specific error

  3. object InputAnnotationFileAnnotation extends HasShellOptions with Serializable

    Permalink
  4. object OptionsHelpException extends Exception with Product with Serializable

    Permalink
  5. object OutputAnnotationFileAnnotation extends HasShellOptions with Serializable

    Permalink
  6. object PhaseManager

    Permalink
  7. object ProgramArgsAnnotation extends Serializable

    Permalink
  8. implicit object StageOptionsView extends OptionsView[StageOptions]

    Permalink
  9. object StageUtils

    Permalink

    Utilities related to working with a Stage

  10. object TargetDirAnnotation extends HasShellOptions with Serializable

    Permalink
  11. object Viewer

    Permalink

    A shim to manage multiple "views" of an AnnotationSeq

  12. object WriteDeletedAnnotation extends NoTargetAnnotation with StageOption with HasShellOptions with Product with Serializable

    Permalink

    If this Annotation exists in an AnnotationSeq, then a WriteOutputAnnotations will include DeletedAnnotations when it writes to a file.

    If this Annotation exists in an AnnotationSeq, then a WriteOutputAnnotations will include DeletedAnnotations when it writes to a file.

    • set with '--write-deleted'
  13. package phases

    Permalink

Inherited from AnyRef

Inherited from Any

Ungrouped