Packages

package ir

Content Hierarchy
Ordering
  1. Alphabetic
Visibility
  1. Public
  2. Protected

Type Members

  1. abstract class AggregateType extends Type
  2. case class AliasType(name: String) extends Type with UseSerializer with Product with Serializable
  3. case class AnalogType(width: Width) extends GroundType with UseSerializer with Product with Serializable
  4. case class Attach(info: Info, exprs: Seq[Expression]) extends Statement with HasInfo with UseSerializer with Product with Serializable
  5. case class Block(stmts: Seq[Statement]) extends Statement with UseSerializer with Product with Serializable
  6. case class BooleanPropertyLiteral(value: Boolean) extends Expression with UseSerializer with Product with Serializable
  7. case class BundleType(fields: Seq[Field]) extends AggregateType with UseSerializer with Product with Serializable
  8. case class Circuit(info: Info, modules: Seq[DefModule], main: String, typeAliases: Seq[DefTypeAlias] = Seq.empty, layers: Seq[Layer] = Seq.empty, options: Seq[DefOption] = Seq.empty) extends FirrtlNode with HasInfo with UseSerializer with Product with Serializable
  9. case class CircuitWithAnnos(circuit: Circuit, annotations: Seq[Annotation]) extends FirrtlNode with UseSerializer with Product with Serializable
  10. case class ClassPropertyType(name: String) extends PropertyType with Product with Serializable
  11. case class Conditionally(info: Info, pred: Expression, conseq: Statement, alt: Statement) extends Statement with HasInfo with UseSerializer with Product with Serializable
  12. case class Connect(info: Info, loc: Expression, expr: Expression) extends Statement with HasInfo with UseSerializer with Product with Serializable
  13. case class ConstType(underlying: Type) extends Type with UseSerializer with Product with Serializable
  14. case class DefClass(info: Info, name: String, ports: Seq[Port], body: Statement) extends DefModule with UseSerializer with Product with Serializable

    Class definition

  15. case class DefInstance(info: Info, name: String, module: String, tpe: Type = UnknownType) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  16. case class DefInstanceChoice(info: Info, name: String, default: String, option: String, choices: Seq[(String, String)]) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  17. case class DefMemory(info: Info, name: String, dataType: Type, depth: BigInt, writeLatency: Int, readLatency: Int, readers: Seq[String], writers: Seq[String], readwriters: Seq[String], readUnderWrite: ReadUnderWrite.Value = ReadUnderWrite.Undefined) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  18. abstract class DefModule extends FirrtlNode with IsDeclaration

    Base class for modules

  19. case class DefNode(info: Info, name: String, value: Expression) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  20. case class DefObject(info: Info, name: String, cls: String) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  21. case class DefOption(info: Info, name: String, cases: Seq[DefOptionCase]) extends Product with Serializable
  22. case class DefOptionCase(info: Info, name: String) extends Product with Serializable
  23. case class DefRegister(info: Info, name: String, tpe: Type, clock: Expression) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  24. case class DefRegisterWithReset(info: Info, name: String, tpe: Type, clock: Expression, reset: Expression, init: Expression) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  25. case class DefTypeAlias(info: Info, name: String, tpe: Type) extends Statement with UseSerializer with Product with Serializable

    Record/bundle type definition that names a FIRRTL type with an alias name

  26. case class DefWire(info: Info, name: String, tpe: Type) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  27. sealed abstract class Direction extends FirrtlNode

    Port Direction

  28. case class DoPrim(op: PrimOp, args: Seq[Expression], consts: Seq[BigInt], tpe: Type) extends Expression with UseSerializer with Product with Serializable
  29. case class DoubleParam(name: String, value: Double) extends Param with UseSerializer with Product with Serializable

    IEEE Double Precision Parameter (for Verilog real)

  30. case class DoublePropertyLiteral(value: Double) extends Expression with UseSerializer with Product with Serializable
  31. abstract class Expression extends FirrtlNode
  32. case class ExtModule(info: Info, name: String, ports: Seq[Port], defname: String, params: Seq[Param]) extends DefModule with UseSerializer with Product with Serializable

    External Module

    External Module

    Generally used for Verilog black boxes

    defname

    Defined name of the external module (ie. the name Firrtl will emit)

  33. case class Field(name: String, flip: Orientation, tpe: Type) extends FirrtlNode with HasName with UseSerializer with Product with Serializable

    Field of BundleType

  34. case class FileInfo(escaped: String) extends Info with Product with Serializable

    Stores the string of a file info annotation in its escaped form.

  35. abstract class FirrtlNode extends AnyRef

    Intermediate Representation

  36. abstract class GroundType extends Type
  37. trait HasInfo extends AnyRef
  38. trait HasName extends AnyRef
  39. abstract class Info extends FirrtlNode with UseSerializer
  40. case class IntModule(info: Info, name: String, ports: Seq[Port], intrinsic: String, params: Seq[Param]) extends DefModule with UseSerializer with Product with Serializable

    Intrinsic Module

    Intrinsic Module

    Used for compiler intrinsics.

    intrinsic

    Defined intrinsic of the module

  41. case class IntParam(name: String, value: BigInt) extends Param with UseSerializer with Product with Serializable

    Integer (of any width) Parameter

  42. class IntWidth extends Width with Product with UseSerializer
  43. case class IntegerPropertyLiteral(value: BigInt) extends Literal with UseSerializer with Product with Serializable
  44. trait IsDeclaration extends HasName with HasInfo
  45. case class IsInvalid(info: Info, expr: Expression) extends Statement with HasInfo with UseSerializer with Product with Serializable
  46. case class Layer(info: Info, name: String, convention: LayerConvention.Type, body: Seq[Layer]) extends FirrtlNode with IsDeclaration with UseSerializer with Product with Serializable
  47. case class LayerBlock(info: Info, layer: String, body: Statement) extends Statement with UseSerializer with Product with Serializable
  48. abstract class Literal extends Expression
  49. case class Module(info: Info, name: String, ports: Seq[Port], body: Statement) extends DefModule with UseSerializer with Product with Serializable

    Internal Module

    Internal Module

    An instantiable hardware block

  50. case class Mux(cond: Expression, tval: Expression, fval: Expression, tpe: Type = UnknownType) extends Expression with UseSerializer with Product with Serializable
  51. abstract class Orientation extends FirrtlNode

    Orientation of Field

  52. sealed abstract class Param extends FirrtlNode

    Parameters for external modules

  53. case class PathPropertyLiteral(value: String) extends Expression with UseSerializer with Product with Serializable
  54. case class Port(info: Info, name: String, direction: Direction, tpe: Type) extends FirrtlNode with IsDeclaration with UseSerializer with Product with Serializable

    DefModule Port

  55. abstract class PrimOp extends FirrtlNode

    Primitive Operation

    Primitive Operation

    See PrimOps

  56. final class Print extends Statement with HasInfo with IsDeclaration with UseSerializer with Product with Serializable
  57. case class ProbeDefine(info: Info, sink: Expression, probeExpr: Expression) extends Statement with UseSerializer with Product with Serializable
  58. case class ProbeExpr(expr: Expression, tpe: Type = UnknownType) extends Expression with UseSerializer with Product with Serializable
  59. case class ProbeForce(info: Info, clock: Expression, cond: Expression, probe: Expression, value: Expression) extends Statement with UseSerializer with Product with Serializable
  60. case class ProbeForceInitial(info: Info, probe: Expression, value: Expression) extends Statement with UseSerializer with Product with Serializable
  61. case class ProbeRead(expr: Expression, tpe: Type = UnknownType) extends Expression with UseSerializer with Product with Serializable
  62. case class ProbeRelease(info: Info, clock: Expression, cond: Expression, probe: Expression) extends Statement with UseSerializer with Product with Serializable
  63. case class ProbeReleaseInitial(info: Info, probe: Expression) extends Statement with UseSerializer with Product with Serializable
  64. case class ProbeType(underlying: Type) extends Type with UseSerializer with Product with Serializable
  65. case class PropAssign(info: Info, loc: Expression, expr: Expression) extends Statement with HasInfo with UseSerializer with Product with Serializable
  66. case class PropExpr(info: Info, tpe: Type, op: PropPrimOp, args: Seq[Expression]) extends Expression with UseSerializer with Product with Serializable

    Property expressions.

    Property expressions.

    Unlike other primitives, Property expressions serialize as a tree directly in their rvalue context.

  67. sealed abstract class PropPrimOp extends AnyRef

    Property primitive operations.

  68. sealed abstract class PropertyType extends Type with UseSerializer
  69. case class RWProbeExpr(expr: Expression, tpe: Type = UnknownType) extends Expression with UseSerializer with Product with Serializable
  70. case class RWProbeType(underlying: Type) extends Type with UseSerializer with Product with Serializable
  71. case class RawStringParam(name: String, value: String) extends Param with UseSerializer with Product with Serializable

    Raw String Parameter Useful for Verilog type parameters

    Raw String Parameter Useful for Verilog type parameters

    Note

    Firrtl doesn't guarantee anything about this String being legal in any backend

  72. case class Reference(name: String, tpe: Type = UnknownType) extends Expression with HasName with UseSerializer with Product with Serializable
  73. case class SIntLiteral(value: BigInt, width: Width) extends Literal with UseSerializer with Product with Serializable
  74. case class SIntType(width: Width) extends GroundType with UseSerializer with Product with Serializable
  75. case class SequencePropertyType(tpe: PropertyType) extends PropertyType with Product with Serializable
  76. case class SequencePropertyValue(tpe: Type, values: Seq[Expression]) extends Expression with UseSerializer with Product with Serializable
  77. abstract class Statement extends FirrtlNode
  78. final class Stop extends Statement with HasInfo with IsDeclaration with UseSerializer with Product with Serializable
  79. case class StringLit(string: String) extends FirrtlNode with Product with Serializable
  80. case class StringParam(name: String, value: StringLit) extends Param with UseSerializer with Product with Serializable

    String Parameter

  81. case class StringPropertyLiteral(value: String) extends Expression with UseSerializer with Product with Serializable
  82. case class SubAccess(expr: Expression, index: Expression, tpe: Type) extends Expression with UseSerializer with Product with Serializable
  83. case class SubField(expr: Expression, name: String, tpe: Type = UnknownType) extends Expression with HasName with UseSerializer with Product with Serializable
  84. case class SubIndex(expr: Expression, value: Int, tpe: Type) extends Expression with UseSerializer with Product with Serializable
  85. abstract class Type extends FirrtlNode

    Types of FirrtlNode

  86. case class UIntLiteral(value: BigInt, width: Width) extends Literal with UseSerializer with Product with Serializable
  87. case class UIntType(width: Width) extends GroundType with UseSerializer with Product with Serializable
  88. case class ValidIf(cond: Expression, value: Expression, tpe: Type) extends Expression with UseSerializer with Product with Serializable
  89. case class VectorType(tpe: Type, size: Int) extends AggregateType with UseSerializer with Product with Serializable
  90. final class Verification extends Statement with HasInfo with IsDeclaration with UseSerializer with Product with Serializable
  91. case class Version(major: Int, minor: Int, patch: Int) extends Product with Serializable
  92. abstract class Width extends FirrtlNode

Value Members

  1. case object AnyRefPropertyType extends PropertyType with Product with Serializable
  2. case object AsyncResetType extends GroundType with UseSerializer with Product with Serializable
  3. object Block extends Serializable
  4. case object BooleanPropertyType extends PropertyType with Product with Serializable
  5. case object ClockType extends GroundType with UseSerializer with Product with Serializable
  6. object DefInstance extends Serializable
  7. case object Default extends Orientation with Product with Serializable
  8. case object DoublePropertyType extends PropertyType with Product with Serializable
  9. case object EmptyStmt extends Statement with UseSerializer with Product with Serializable
  10. object FileInfo extends Serializable
  11. case object Flip extends Orientation with Product with Serializable
  12. object Formal extends Enumeration
  13. object GroundType
  14. case object Input extends Direction with Product with Serializable
  15. object IntWidth

    Positive Integer Bit Width of a GroundType

  16. case object IntegerAddOp extends PropPrimOp with Product with Serializable
  17. case object IntegerMulOp extends PropPrimOp with Product with Serializable
  18. case object IntegerPropertyType extends PropertyType with Product with Serializable
  19. case object IntegerShrOp extends PropPrimOp with Product with Serializable
  20. object LayerConvention
  21. case object NoInfo extends Info with Product with Serializable
  22. case object Output extends Direction with Product with Serializable
  23. case object PathPropertyType extends PropertyType with Product with Serializable
  24. object Print extends Serializable
  25. object ReadUnderWrite extends Enumeration
  26. case object ResetType extends GroundType with UseSerializer with Product with Serializable
  27. object SIntLiteral extends Serializable
  28. object Serializer
  29. object Stop extends Serializable
  30. object StringLit extends Serializable
  31. case object StringPropertyType extends PropertyType with Product with Serializable
  32. object UIntLiteral extends Serializable
  33. case object UnknownType extends Type with UseSerializer with Product with Serializable
  34. case object UnknownWidth extends Width with UseSerializer with Product with Serializable
  35. object Verification extends Serializable

Ungrouped