Package

firrtl

Permalink

package firrtl

Source
package.scala
Linear Supertypes
Content Hierarchy
SystemVerilogCompilerIRToWorkingIREmitterVerilogEmitterFirrtlEmitterMinimumVerilogEmitterParameterNotSpecifiedExceptionMiddleFirrtlToLowFirrtlDocStringSystemVerilogEmitterOneFilePerModuleVerilogCompilerEmittedModuleEmittedFirrtlModuleEmittedVerilogModulePortKindLowFirrtlOptimizationEmitCircuitAnnotationHighFormAttributeMemoryArrayInitInvalidStringLitExceptionHasParserExecutionOptionsManagerRegKindHighFirrtlEmitterLowFormParserExceptionInvalidEscapeCharExceptionParameterRedefinedExceptionSyntaxErrorsExceptionSeqTransformCoreTransformEmittedFirrtlCircuitAnnotationMiddleFirrtlEmitterConnectEmissionOptionConnectEmissionOptionDefaultHighFirrtlCompilerEmittedVerilogCircuitAnnotationMinimumLowFirrtlOptimizationSingleFileInstanceKindDependencyAPIMigrationCompilerAddDescriptionNodesResolveAndCheckUnknownFlowMemoryEmissionOptionDefaultMemKindEmittedCircuitAnnotation[T]EmittedFirrtlModuleAnnotationOutputConfigLowFirrtlEmitterEmitAllModulesAnnotationChirrtlToHighFirrtlHighFirrtlToMiddleFirrtlKindUnknownKindNodeKindPoisonKindExpKindWireKindEmissionOptionNodeEmissionOptionMemoryEmissionOptionRegisterEmissionOptionPortEmissionOptionWireEmissionOptionTransformMidFormSinkFlowHasCommonOptionsEmittedFirrtlCircuitCircuitFormChirrtlFormUnknownFormNodeEmissionOptionDefaultMiddleFirrtlCompilerCommonOptionsLowFirrtlCompilerNoneCompilerMinimumVerilogCompilerEmittedAnnotation[T]EmittedModuleAnnotation[T]FirrtlUserExceptionRegisterEmissionOptionDefaultFirrtlExecutionSuccessAttributeAnnotationComposableOptionsFirrtlExecutionOptionsMemoryRandomInitEmittedVerilogCircuitPortEmissionOptionDefaultDescriptionAnnotationDocStringAnnotationMPortDirMInferMWriteMReadWriteMReadEmitAnnotationEmittedComponentEmittedCircuitSourceFlowFlowDuplexFlowWireEmissionOptionDefaultMemoryScalarInitEmittedVerilogModuleAnnotationChirrtlEmitterFirrtlExecutionResultFirrtlExecutionFailureSeqTransformBasedDescriptionMemoryInitValue
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. firrtl
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. class AddDescriptionNodes extends Transform with DependencyAPIMigration

    Permalink

    Wraps modules or statements with their respective described nodes.

    Wraps modules or statements with their respective described nodes. Descriptions come from DescriptionAnnotation. Describing a module or any of its ports will turn it into a DescribedMod. Describing a Statement will turn it into a (private) DescribedStmt.

    Note

    should only be used by VerilogEmitter, described nodes will break other transforms.

  2. class AnnotationSeq extends AnyRef

    Permalink

    Container of all annotations for a Firrtl compiler

  3. case class Attribute(string: StringLit) extends FirrtlNode with Description with Product with Serializable

    Permalink

    A Verilog-style attribute.

    A Verilog-style attribute.

    string

    the attribute

  4. case class AttributeAnnotation(target: Target, description: String) extends DescriptionAnnotation with Product with Serializable

    Permalink

    An Verilog-style attribute.

    An Verilog-style attribute.

    target

    the object being given an attribute

    description

    the attribute

  5. case class CDefMPort(info: Info, name: String, tpe: Type, mem: String, exps: Seq[Expression], direction: MPortDir) extends Statement with HasInfo with UseSerializer with Product with Serializable

    Permalink
  6. case class CDefMemory(info: Info, name: String, tpe: Type, size: BigInt, seq: Boolean, readUnderWrite: ir.ReadUnderWrite.Value = ReadUnderWrite.Undefined) extends Statement with HasInfo with UseSerializer with Product with Serializable

    Permalink
  7. class ChirrtlEmitter extends FirrtlEmitter

    Permalink
  8. case class CircuitState(circuit: Circuit, form: CircuitForm, annotations: AnnotationSeq, renames: Option[RenameMap]) extends Product with Serializable

    Permalink

    Current State of the Circuit

    Current State of the Circuit

    circuit

    The current state of the Firrtl AST

    form

    The current form of the circuit

    annotations

    The current collection of Annotation

    renames

    A map of Named things that have been renamed. Generally only a return value from Transforms

  9. trait ConnectEmissionOption extends EmissionOption

    Permalink

    Emission customization options for connect

  10. case class CustomTransformException(cause: Throwable) extends Exception with Product with Serializable

    Permalink

    Wraps exceptions from CustomTransforms so they can be reported appropriately

  11. trait DependencyAPIMigration extends AnyRef

    Permalink

    This trait helps ease migration from old CircuitForm specification of dependencies to Dependency API specification of dependencies.

    This trait helps ease migration from old CircuitForm specification of dependencies to Dependency API specification of dependencies. This trait implements deprecated, abstract Transform methods (inputForm and outputForm) for you and sets default values for dependencies:

    • prerequisites are empty
    • optionalPrerequisites are empty
    • optionalPrerequisiteOf are empty
    • all transforms are invalidated

    For more information, see: https://bit.ly/2Voppre

  12. sealed trait Description extends FirrtlNode

    Permalink

    Base trait for a description that gives some information about a FirrtlNode.

    Base trait for a description that gives some information about a FirrtlNode. Usually, we would like to emit these descriptions in some way.

  13. sealed trait DescriptionAnnotation extends Annotation

    Permalink

    A base trait for Annotations that describe a FirrtlNode.

    A base trait for Annotations that describe a FirrtlNode. Usually, we would like to emit these descriptions in some way.

  14. case class DocString(string: StringLit) extends FirrtlNode with Description with Product with Serializable

    Permalink

    A docstring description (a comment)

    A docstring description (a comment)

    string

    a comment

  15. case class DocStringAnnotation(target: Target, description: String) extends DescriptionAnnotation with Product with Serializable

    Permalink

    A docstring description (a comment).

    A docstring description (a comment).

    target

    the object being described

    description

    the docstring describing the object

  16. trait EmissionOption extends AnyRef

    Permalink

    Base type for emission customization options NOTE: all the following traits must be mixed with SingleTargetAnnotation[T <: Named] in order to be taken into account in the Emitter

  17. case class EmitAllModulesAnnotation(emitter: Class[_ <: Emitter]) extends EmitAnnotation with Product with Serializable

    Permalink
  18. sealed trait EmitAnnotation extends NoTargetAnnotation

    Permalink
  19. case class EmitCircuitAnnotation(emitter: Class[_ <: Emitter]) extends EmitAnnotation with Product with Serializable

    Permalink
  20. sealed trait EmittedAnnotation[T <: EmittedComponent] extends NoTargetAnnotation with CustomFileEmission

    Permalink

    Traits for Annotations containing emitted components

  21. sealed abstract class EmittedCircuit extends EmittedComponent

    Permalink
  22. sealed trait EmittedCircuitAnnotation[T <: EmittedCircuit] extends EmittedAnnotation[T]

    Permalink
  23. sealed abstract class EmittedComponent extends AnyRef

    Permalink
  24. final case class EmittedFirrtlCircuit(name: String, value: String, outputSuffix: String) extends EmittedCircuit with Product with Serializable

    Permalink
  25. case class EmittedFirrtlCircuitAnnotation(value: EmittedFirrtlCircuit) extends EmittedCircuitAnnotation[EmittedFirrtlCircuit] with Product with Serializable

    Permalink
  26. final case class EmittedFirrtlModule(name: String, value: String, outputSuffix: String) extends EmittedModule with Product with Serializable

    Permalink
  27. case class EmittedFirrtlModuleAnnotation(value: EmittedFirrtlModule) extends EmittedModuleAnnotation[EmittedFirrtlModule] with Product with Serializable

    Permalink
  28. sealed abstract class EmittedModule extends EmittedComponent

    Permalink
  29. sealed trait EmittedModuleAnnotation[T <: EmittedModule] extends EmittedAnnotation[T]

    Permalink
  30. final case class EmittedVerilogCircuit(name: String, value: String, outputSuffix: String) extends EmittedCircuit with Product with Serializable

    Permalink
  31. case class EmittedVerilogCircuitAnnotation(value: EmittedVerilogCircuit) extends EmittedCircuitAnnotation[EmittedVerilogCircuit] with Product with Serializable

    Permalink
  32. final case class EmittedVerilogModule(name: String, value: String, outputSuffix: String) extends EmittedModule with Product with Serializable

    Permalink
  33. case class EmittedVerilogModuleAnnotation(value: EmittedVerilogModule) extends EmittedModuleAnnotation[EmittedVerilogModule] with Product with Serializable

    Permalink
  34. trait Emitter extends Transform

    Permalink

    Defines old API for Emission.

    Defines old API for Emission. Deprecated

  35. case class EmitterException(message: String) extends PassException with Product with Serializable

    Permalink
  36. sealed abstract class FirrtlEmitter extends Transform with Emitter

    Permalink
  37. final class FirrtlProtos extends AnyRef

    Permalink
  38. class FirrtlUserException extends RuntimeException with NoStackTrace

    Permalink

    Exception indicating user error

    Exception indicating user error

    These exceptions indicate a problem due to bad input and thus do not include a stack trace. This can be extended by custom transform writers.

  39. trait Flow extends AnyRef

    Permalink
  40. class HighFirrtlEmitter extends FirrtlEmitter

    Permalink
  41. case class InvalidEscapeCharException(message: String) extends ParserException with Product with Serializable

    Permalink
  42. case class InvalidStringLitException(message: String) extends ParserException with Product with Serializable

    Permalink
  43. trait Kind extends AnyRef

    Permalink
  44. abstract class LexerHelper extends AnyRef

    Permalink
  45. class LowFirrtlEmitter extends FirrtlEmitter

    Permalink
  46. abstract class MPortDir extends FirrtlNode

    Permalink
  47. class MemoizedHash[T] extends AnyRef

    Permalink
  48. case class MemoryArrayInit(values: Seq[BigInt]) extends MemoryInitValue with Product with Serializable

    Permalink
  49. trait MemoryEmissionOption extends EmissionOption

    Permalink

    Emission customization options for memories

  50. sealed trait MemoryInitValue extends AnyRef

    Permalink
  51. case class MemoryScalarInit(value: BigInt) extends MemoryInitValue with Product with Serializable

    Permalink
  52. class MiddleFirrtlEmitter extends FirrtlEmitter

    Permalink
  53. class MinimumVerilogEmitter extends VerilogEmitter with Emitter

    Permalink
  54. class ModuleGraph extends AnyRef

    Permalink

    Maintains a one to many graph of each modules instantiated child module.

    Maintains a one to many graph of each modules instantiated child module. This graph can be searched for a path from a child module back to one of it's parents. If one is found a recursive loop has happened The graph is a map between the name of a node to set of names of that nodes children

  55. class Namespace extends AnyRef

    Permalink
  56. trait NodeEmissionOption extends EmissionOption

    Permalink

    Emission customization options for nodes

  57. final case class OneFilePerModule(targetDir: String) extends OutputConfig with Product with Serializable

    Permalink
  58. sealed abstract class OutputConfig extends AnyRef

    Permalink

    Firrtl output configuration specified by FirrtlExecutionOptions

    Firrtl output configuration specified by FirrtlExecutionOptions

    Derived from the fields of the execution options

    See also

    FirrtlExecutionOptions.getOutputConfig

  59. case class ParameterNotSpecifiedException(message: String) extends ParserException with Product with Serializable

    Permalink
  60. case class ParameterRedefinedException(message: String) extends ParserException with Product with Serializable

    Permalink
  61. class ParserException extends FirrtlUserException

    Permalink
  62. trait PortEmissionOption extends EmissionOption

    Permalink

    Emission customization options for IO ports

  63. trait RegisterEmissionOption extends EmissionOption

    Permalink

    Emission customization options for registers

  64. final class RenameMap extends AnyRef

    Permalink

    Map old names to new names

    Map old names to new names

    Transforms that modify names should return a RenameMap with the CircuitState These are mutable datastructures for convenience

  65. trait ResolvedAnnotationPaths extends AnyRef

    Permalink

    Extend for transforms that require resolved targets in their annotations Ensures all targets in annotations of a class in annotationClasses are resolved before the execute method

  66. abstract class SeqTransform extends Transform with SeqTransformBased

    Permalink

    For transformations that are simply a sequence of transforms

  67. trait SeqTransformBased extends AnyRef

    Permalink
  68. final case class SingleFile(targetFile: String) extends OutputConfig with Product with Serializable

    Permalink
  69. case class SyntaxErrorsException(message: String) extends ParserException with Product with Serializable

    Permalink
  70. class SystemVerilogEmitter extends VerilogEmitter

    Permalink
  71. trait Transform extends TransformLike[CircuitState] with DependencyAPI[Transform]

    Permalink

    The basic unit of operating on a Firrtl AST

  72. case class VRandom(width: BigInt) extends Expression with Product with Serializable

    Permalink
  73. class VerilogEmitter extends SeqTransform with Emitter

    Permalink
  74. class Visitor extends AbstractParseTreeVisitor[FirrtlNode] with ParseTreeVisitor[FirrtlNode]

    Permalink
  75. type WDefInstance = DefInstance

    Permalink
  76. case class WDefInstanceConnector(info: Info, name: String, module: String, tpe: Type, portCons: Seq[(Expression, Expression)]) extends Statement with IsDeclaration with UseSerializer with Product with Serializable

    Permalink
  77. type WRef = Reference

    Permalink
  78. type WSubAccess = SubAccess

    Permalink
  79. type WSubField = SubField

    Permalink
  80. type WSubIndex = SubIndex

    Permalink
  81. trait WireEmissionOption extends EmissionOption

    Permalink

    Emission customization options for wires

  82. class WrappedExpression extends AnyRef

    Permalink
  83. case class WrappedInt(value: BigInt) extends Product with Serializable

    Permalink
  84. class WrappedType extends AnyRef

    Permalink
  85. class WrappedWidth extends AnyRef

    Permalink
  86. class ChirrtlToHighFirrtl extends CoreTransform

    Permalink

    This transforms "CHIRRTL", the chisel3 IR, to "Firrtl".

    This transforms "CHIRRTL", the chisel3 IR, to "Firrtl". Note the resulting circuit has only IR nodes, not WIR.

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use 'new TransformManager(Forms.MinimalHighForm, Forms.ChirrtlForm)'. This will be removed in 1.4.

  87. sealed abstract class CircuitForm extends Ordered[CircuitForm]

    Permalink

    Current form of the Firrtl Circuit

    Current form of the Firrtl Circuit

    Form is a measure of addition restrictions on the legality of a Firrtl circuit. There is a notion of "highness" and "lowness" implemented in the compiler by extending scala.math.Ordered. "Lower" forms add additional restrictions compared to "higher" forms. This means that "higher" forms are strictly supersets of the "lower" forms. Thus, that any transform that operates on HighForm can also operate on MidForm or LowForm

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Mix-in the DependencyAPIMigration trait into your Transform and specify its Dependency API dependencies. See: https://bit.ly/2Voppre

  88. case class CommonOptions(topName: String = "", targetDirName: String = ".", globalLogLevel: logger.LogLevel.Value = LogLevel.None, logToFile: Boolean = false, logClassNames: Boolean = false, classLogLevels: Map[String, logger.LogLevel.Value] = Map.empty, programArgs: Seq[String] = Seq.empty) extends ComposableOptions with Product with Serializable

    Permalink

    Most of the chisel toolchain components require a topName which defines a circuit or a device under test.

    Most of the chisel toolchain components require a topName which defines a circuit or a device under test. Much of the work that is done takes place in a directory. It would be simplest to require topName to be defined but in practice it is preferred to defer this. For example, in chisel, by deferring this it is possible for the execute there to first elaborate the circuit and then set the topName from that if it has not already been set.

    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use a FirrtlOptionsView, LoggerOptionsView, or construct your own view of an AnnotationSeq

  89. trait Compiler extends Transform with DependencyAPIMigration

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Migrate to firrtl.stage.transforms.Compiler. This will be removed in 1.4.

  90. trait ComposableOptions extends AnyRef

    Permalink

    Use this trait to define an options class that can add its private command line options to a externally declared parser.

    Use this trait to define an options class that can add its private command line options to a externally declared parser. NOTE In all derived trait/classes, if you intend on maintaining backwards compatibility, be sure to add new options at the end of the current ones and don't remove any existing ones.

    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use firrtl.options.HasScoptOptions and/or library/transform registration

  91. sealed abstract class CoreTransform extends SeqTransform

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.2) Use a TransformManager or some other Stage/Phase class. Will be removed in 1.4.

  92. class ExecutionOptionsManager extends HasParser with HasCommonOptions

    Permalink

    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use new FirrtlStage infrastructure

  93. class FIRRTLException extends RuntimeException

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) External users should use either FirrtlUserException or their own hierarchy

  94. case class FirrtlExecutionFailure(message: String) extends FirrtlExecutionResult with Product with Serializable

    Permalink

    The firrtl compilation failed.

    The firrtl compilation failed.

    message

    Some kind of hint as to what went wrong.

    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use FirrtlStage and examine the output AnnotationSeq directly

  95. case class FirrtlExecutionOptions(inputFileNameOverride: String = "", outputFileNameOverride: String = "", compilerName: String = "verilog", infoModeName: String = "append", inferRW: Seq[String] = Seq.empty, firrtlSource: Option[String] = None, customTransforms: Seq[Transform] = List.empty, annotations: List[Annotation] = List.empty, annotationFileNameOverride: String = "", outputAnnotationFileName: String = "", emitOneFilePerModule: Boolean = false, dontCheckCombLoops: Boolean = false, noDCE: Boolean = false, annotationFileNames: List[String] = List.empty, firrtlCircuit: Option[Circuit] = None) extends ComposableOptions with Product with Serializable

    Permalink

    The options that firrtl supports in callable component sense

    The options that firrtl supports in callable component sense

    inputFileNameOverride

    default is targetDir/topName.fir

    outputFileNameOverride

    default is targetDir/topName.v the .v is based on the compilerName parameter

    compilerName

    which compiler to use

    annotations

    annotations to pass to compiler

    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use a FirrtlOptionsView or construct your own view of an AnnotationSeq

  96. sealed trait FirrtlExecutionResult extends AnyRef

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use FirrtlStage and examine the output AnnotationSeq directly

  97. class FirrtlExecutionSuccess extends FirrtlExecutionResult

    Permalink

    Indicates a successful execution of the firrtl compiler, returning the compiled result and the type of compile

    Indicates a successful execution of the firrtl compiler, returning the compiled result and the type of compile

    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use FirrtlStage and examine the output AnnotationSeq directly

  98. trait HasCommonOptions extends AnyRef

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Specify command line arguments in an Annotation mixing in HasScoptOptions

  99. trait HasFirrtlOptions extends AnyRef

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Specify command line arguments in an Annotation mixing in HasScoptOptions

  100. abstract class HasParser extends AnyRef

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use firrtl.options.{ExecutionOptionsManager, TerminateOnExit, DuplicateHandling}

  101. class HighFirrtlCompiler extends Compiler

    Permalink

    Emits input circuit Will replace Chirrtl constructs with Firrtl

    Emits input circuit Will replace Chirrtl constructs with Firrtl

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use stage.{FirrtlStage, FirrtlMain} stage.transforms.Compiler(Seq(Dependency[HighFirrtlEmitter]))

  102. class HighFirrtlToMiddleFirrtl extends CoreTransform

    Permalink

    Expands aggregate connects, removes dynamic accesses, and when statements.

    Expands aggregate connects, removes dynamic accesses, and when statements. Checks for uninitialized values. Must accept a well-formed graph. Operates on working IR nodes.

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use 'new TransformManager(Forms.MidForm, Forms.Deduped)'. This will be removed in 1.4.

  103. class IRToWorkingIR extends CoreTransform

    Permalink

    Converts from the bare intermediate representation (ir.scala) to a working representation (WIR.scala)

    Converts from the bare intermediate representation (ir.scala) to a working representation (WIR.scala)

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use 'new TransformManager(Forms.WorkingIR, Forms.MinimalHighForm)'. This will be removed in 1.4.

  104. class LowFirrtlCompiler extends Compiler

    Permalink

    Emits lowered input circuit

    Emits lowered input circuit

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use stage.{FirrtlStage, FirrtlMain} stage.transforms.Compiler(Dependency[LowFirrtlEmitter])

  105. class LowFirrtlOptimization extends CoreTransform

    Permalink

    Runs a series of optimization passes on LowFirrtl

    Runs a series of optimization passes on LowFirrtl

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use 'new TransformManager(Forms.LowFormOptimized, Forms.LowForm)'. This will be removed in 1.4.

    Note

    This is currently required for correct Verilog emission TODO Fix the above note

  106. class MiddleFirrtlCompiler extends Compiler

    Permalink

    Emits middle Firrtl input circuit

    Emits middle Firrtl input circuit

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use stage.{FirrtlStage, FirrtlMain} stage.transforms.Compiler(Dependency[MiddleFirrtlEmitter])

  107. class MiddleFirrtlToLowFirrtl extends CoreTransform

    Permalink

    Expands all aggregate types into many ground-typed components.

    Expands all aggregate types into many ground-typed components. Must accept a well-formed graph of only middle Firrtl features. Operates on working IR nodes.

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use 'new TransformManager(Forms.LowForm, Forms.MidForm)'. This will be removed in 1.4.

  108. class MinimumLowFirrtlOptimization extends CoreTransform

    Permalink

    Runs runs only the optimization passes needed for Verilog emission

    Runs runs only the optimization passes needed for Verilog emission

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use 'new TransformManager(Forms.LowFormMinimumOptimized, Forms.LowForm)'. This will be removed in 1.4.

  109. class MinimumVerilogCompiler extends Compiler

    Permalink

    Emits Verilog without optimizations

    Emits Verilog without optimizations

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use stage.{FirrtlStage, FirrtlMain} stage.transforms.Compiler(Dependency[MinimumVerilogEmitter])

  110. class NoneCompiler extends Compiler

    Permalink

    Emits input circuit with no changes

    Emits input circuit with no changes

    Primarily useful for changing between .fir and .pb serialized formats

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use stage.{FirrtlStage, FirrtlMain} or stage.transforms.Compiler(Seq(Dependency[ChirrtlEmitter]))

  111. class ResolveAndCheck extends CoreTransform

    Permalink

    Resolves types, kinds, and flows, and checks the circuit legality.

    Resolves types, kinds, and flows, and checks the circuit legality. Operates on working IR nodes and high Firrtl.

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use 'new TransformManager(Forms.Resolved, Forms.WorkingIR)'. This will be removed in 1.4.

  112. class SystemVerilogCompiler extends VerilogCompiler

    Permalink

    Currently just an alias for the VerilogCompiler

    Currently just an alias for the VerilogCompiler

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use stage.{FirrtlStage, FirrtlMain} stage.transforms.Compiler(Dependency[SystemVerilogEmitter])

  113. type TargetDirAnnotation = firrtl.options.TargetDirAnnotation

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use firrtl.stage.TargetDirAnnotation

  114. class VerilogCompiler extends Compiler

    Permalink

    Emits Verilog

    Emits Verilog

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Use stage.{FirrtlStage, FirrtlMain} stage.transforms.Compiler(Dependency[VerilogEmitter])

Value Members

  1. object Addw extends PrimOp with Product with Serializable

    Permalink
  2. object AnnotationSeq

    Permalink
  3. object BuildInfo extends Product with Serializable

    Permalink

    This object was generated by sbt-buildinfo.

  4. object CircuitState extends Serializable

    Permalink
  5. object ConnectEmissionOptionDefault extends ConnectEmissionOption with Product with Serializable

    Permalink

    default Emitter behavior for connect

  6. object Dshlw extends PrimOp with Product with Serializable

    Permalink
  7. object DuplexFlow extends Flow with Product with Serializable

    Permalink
  8. object EmitAllModulesAnnotation extends HasShellOptions with Serializable

    Permalink
  9. object EmitCircuitAnnotation extends HasShellOptions with Serializable

    Permalink
  10. object EmptyExpression extends Expression with UseSerializer with Product with Serializable

    Permalink
  11. object ExpKind extends Kind with Product with Serializable

    Permalink
  12. object FileUtils

    Permalink
  13. object Implicits

    Permalink
  14. object InstanceKind extends Kind with Product with Serializable

    Permalink
  15. object MInfer extends MPortDir with Product with Serializable

    Permalink
  16. object MRead extends MPortDir with Product with Serializable

    Permalink
  17. object MReadWrite extends MPortDir with Product with Serializable

    Permalink
  18. object MWrite extends MPortDir with Product with Serializable

    Permalink
  19. object Mappers

    Permalink
  20. object MemKind extends Kind with Product with Serializable

    Permalink
  21. object MemoizedHash

    Permalink
  22. object MemoryEmissionOptionDefault extends MemoryEmissionOption with Product with Serializable

    Permalink

    default Emitter behavior for memories

  23. object MemoryRandomInit extends MemoryInitValue with Product with Serializable

    Permalink
  24. object Namespace

    Permalink
  25. object NodeEmissionOptionDefault extends NodeEmissionOption with Product with Serializable

    Permalink

    default Emitter behavior for nodes

  26. object NodeKind extends Kind with Product with Serializable

    Permalink
  27. object Parser extends LazyLogging

    Permalink
  28. object PoisonKind extends Kind with Product with Serializable

    Permalink
  29. object PortEmissionOptionDefault extends PortEmissionOption with Product with Serializable

    Permalink

    default Emitter behavior for IO ports

  30. object PortKind extends Kind with Product with Serializable

    Permalink
  31. object PrimOps extends LazyLogging

    Permalink

    Definitions and Utility functions for ir.PrimOps

  32. object RegKind extends Kind with Product with Serializable

    Permalink
  33. object RegisterEmissionOptionDefault extends RegisterEmissionOption with Product with Serializable

    Permalink

    default Emitter behavior for registers

  34. object RenameMap

    Permalink
  35. object SinkFlow extends Flow with Product with Serializable

    Permalink
  36. object SourceFlow extends Flow with Product with Serializable

    Permalink
  37. object Subw extends PrimOp with Product with Serializable

    Permalink
  38. object UnknownFlow extends Flow with Product with Serializable

    Permalink
  39. object UnknownKind extends Kind with Product with Serializable

    Permalink
  40. object Utils extends LazyLogging

    Permalink
  41. object VerilogEmitter

    Permalink
  42. object WDefInstance

    Permalink
  43. object WInvalid extends Expression with UseSerializer with Product with Serializable

    Permalink
  44. object WRef

    Permalink
  45. object WSubAccess

    Permalink
  46. object WSubField

    Permalink
  47. object WSubIndex

    Permalink
  48. object WVoid extends Expression with UseSerializer with Product with Serializable

    Permalink
  49. object WireEmissionOptionDefault extends WireEmissionOption with Product with Serializable

    Permalink

    default Emitter behavior for wires

  50. object WireKind extends Kind with Product with Serializable

    Permalink
  51. object WrappedExpression

    Permalink
  52. object WrappedType

    Permalink
  53. object WrappedWidth

    Permalink
  54. package analyses

    Permalink
  55. implicit def annoSeqToSeq(as: AnnotationSeq): Seq[Annotation]

    Permalink
  56. package annotations

    Permalink
  57. package antlr

    Permalink
  58. package backends

    Permalink
  59. package benchmark

    Permalink
  60. object bitWidth

    Permalink
  61. object castRhs

    Permalink
  62. package checks

    Permalink
  63. object connectFields

    Permalink
  64. package constraint

    Permalink
  65. package features

    Permalink
  66. object flattenType

    Permalink
  67. object fromBits

    Permalink
  68. package fuzzer

    Permalink
  69. object getWidth

    Permalink
  70. package graph

    Permalink
  71. package ir

    Permalink
  72. package jqf

    Permalink
  73. package options

    Permalink
  74. package passes

    Permalink
  75. package proto

    Permalink
  76. object seqCat

    Permalink
  77. implicit def seqToAnnoSeq(xs: Seq[Annotation]): AnnotationSeq

    Permalink
  78. package stage

    Permalink

    The stage package provides an implementation of the FIRRTL compiler using the firrtl.options package.

    The stage package provides an implementation of the FIRRTL compiler using the firrtl.options package. This primarily consists of:

  79. object toBits

    Permalink

    Given an expression, return an expression consisting of all sub-expressions concatenated (or flattened).

  80. package transforms

    Permalink
  81. package traversals

    Permalink
  82. package util

    Permalink

Deprecated Value Members

  1. object ChirrtlForm extends CircuitForm with Product with Serializable

    Permalink

    Chirrtl Form

    Chirrtl Form

    The form of the circuit emitted by Chisel. Not a true Firrtl form. Includes cmem, smem, and mport IR nodes which enable declaring memories separately form their ports. A "Higher" form than HighForm

    See CDefMemory and CDefMPort

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Mix-in the DependencyAPIMigration trait into your Transform and specify its Dependency API dependencies. See: https://bit.ly/2Voppre

  2. object CompilerUtils extends LazyLogging

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) This will be removed in 1.4

  3. object Driver

    Permalink

    The driver provides methods to access the firrtl compiler.

    The driver provides methods to access the firrtl compiler. Invoke the compiler with either a FirrtlExecutionOption

    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use firrtl.stage.FirrtlStage

    Examples:
    1. firrtl.Driver.execute(Array("--top-name Dummy --compiler verilog".split(" +"))

      each approach has its own endearing aspects

    2. ,
    3. val optionsManager = new ExecutionOptionsManager("firrtl")
      optionsManager.register(
          FirrtlExecutionOptionsKey ->
          new FirrtlExecutionOptions(topName = "Dummy", compilerName = "verilog"))
      firrtl.Driver.execute(optionsManager)

      or a series of command line arguments

    See also

    CompilerUtils.mergeTransforms to see how customTransformations are inserted

    firrtlTests/DriverSpec.scala in the test directory for a lot more examples

  4. object FIRRTLException extends Serializable

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) External users should use either FirrtlUserException or their own hierarchy

  5. object FirrtlExecutionSuccess

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use FirrtlStage and examine the output AnnotationSeq directly

  6. object HighForm extends CircuitForm with Product with Serializable

    Permalink

    High Form

    High Form

    As detailed in the Firrtl specification https://github.com/ucb-bar/firrtl/blob/master/spec/spec.pdf

    Also see firrtl.ir

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Mix-in the DependencyAPIMigration trait into your Transform and specify its Dependency API dependencies. See: https://bit.ly/2Voppre

  7. object LowForm extends CircuitForm with Product with Serializable

    Permalink

    Low Form

    Low Form

    The "lowest" form. In addition to the restrictions in MidForm:

    • All aggregate types (vector/bundle) must have been removed
    • All implicit truncations must be made explicit
    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Mix-in the DependencyAPIMigration trait into your Transform and specify its Dependency API dependencies. See: https://bit.ly/2Voppre

  8. object MidForm extends CircuitForm with Product with Serializable

    Permalink

    Middle Form

    Middle Form

    A "lower" form than HighForm with the following restrictions:

    • All widths must be explicit
    • All whens must be removed
    • There can only be a single connection to any element
    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Mix-in the DependencyAPIMigration trait into your Transform and specify its Dependency API dependencies. See: https://bit.ly/2Voppre

  9. val TargetDirAnnotation: firrtl.options.TargetDirAnnotation.type

    Permalink
    Annotations
    @deprecated
    Deprecated

    (Since version 1.2) Use firrtl.stage.TargetDirAnnotation

  10. object UnknownForm extends CircuitForm with Product with Serializable

    Permalink

    Unknown Form

    Unknown Form

    Often passes may modify a circuit (e.g. InferTypes), but return a circuit in the same form it was given.

    For this use case, use UnknownForm. It cannot be compared against other forms.

    TODO(azidar): Replace with PreviousForm, which more explicitly encodes this requirement.

    Annotations
    @deprecated
    Deprecated

    (Since version FIRRTL 1.3) Mix-in the DependencyAPIMigration trait into your Transform and specify its Dependency API dependencies. See: https://bit.ly/2Voppre

Inherited from AnyRef

Inherited from Any

Ungrouped