Packages

package ir

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. abstract class AggregateType extends Type
  2. case class AnalogType(width: Width) extends GroundType with UseSerializer with Product with Serializable
  3. case class Attach(info: Info, exprs: Seq[Expression]) extends Statement with HasInfo with UseSerializer with Product with Serializable
  4. case class Block(stmts: Seq[Statement]) extends Statement with UseSerializer with Product with Serializable
  5. trait Bound extends Constraint

    Bounds of IntervalType

  6. case class BundleType(fields: Seq[Field]) extends AggregateType with UseSerializer with Product with Serializable
  7. case class CalcBound(arg: Constraint) extends Bound with Product with Serializable
  8. case class CalcWidth(arg: Constraint) extends Width with UseSerializer with Product with Serializable
  9. case class Circuit(info: Info, modules: Seq[DefModule], main: String) extends FirrtlNode with HasInfo with UseSerializer with Product with Serializable
  10. case class Closed(value: BigDecimal) extends IsKnown with Bound 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 DefInstance(info: Info, name: String, module: String, tpe: Type = UnknownType) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  14. 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
  15. abstract class DefModule extends FirrtlNode with IsDeclaration

    Base class for modules

  16. case class DefNode(info: Info, name: String, value: Expression) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  17. case class DefRegister(info: Info, name: String, tpe: Type, clock: Expression, reset: Expression, init: Expression) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  18. case class DefWire(info: Info, name: String, tpe: Type) extends Statement with IsDeclaration with UseSerializer with Product with Serializable
  19. sealed abstract class Direction extends FirrtlNode

    Port Direction

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

    IEEE Double Precision Parameter (for Verilog real)

  22. abstract class Expression extends FirrtlNode
  23. 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)

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

    Field of BundleType

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

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

  26. abstract class FirrtlNode extends AnyRef

    Intermediate Representation

  27. case class FixedLiteral(value: BigInt, width: Width, point: Width) extends Literal with UseSerializer with Product with Serializable
  28. case class FixedType(width: Width, point: Width) extends GroundType with UseSerializer with Product with Serializable
  29. abstract class GroundType extends Type
  30. trait HasInfo extends AnyRef
  31. trait HasName extends AnyRef
  32. trait HashCode extends AnyRef
  33. abstract class Info extends FirrtlNode with UseSerializer
  34. case class IntParam(name: String, value: BigInt) extends Param with UseSerializer with Product with Serializable

    Integer (of any width) Parameter

  35. class IntWidth extends Width with Product with UseSerializer
  36. case class IntervalType(lower: Bound, upper: Bound, point: Width) extends GroundType with Product with Serializable
  37. trait IsDeclaration extends HasName with HasInfo
  38. case class IsInvalid(info: Info, expr: Expression) extends Statement with HasInfo with UseSerializer with Product with Serializable
  39. abstract class Literal extends Expression
  40. 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

  41. case class MultiInfo(infos: Seq[Info]) extends Info with Product with Serializable
  42. case class Mux(cond: Expression, tval: Expression, fval: Expression, tpe: Type = UnknownType) extends Expression with UseSerializer with Product with Serializable
  43. case class Open(value: BigDecimal) extends IsKnown with Bound with Product with Serializable
  44. abstract class Orientation extends FirrtlNode

    Orientation of Field

  45. sealed abstract class Param extends FirrtlNode

    Parameters for external modules

  46. case class PartialConnect(info: Info, loc: Expression, expr: Expression) extends Statement with HasInfo with UseSerializer with Product with Serializable
  47. case class Port(info: Info, name: String, direction: Direction, tpe: Type) extends FirrtlNode with IsDeclaration with UseSerializer with Product with Serializable

    DefModule Port

  48. abstract class PrimOp extends FirrtlNode

    Primitive Operation

    Primitive Operation

    See PrimOps

  49. case class Print(info: Info, string: StringLit, args: Seq[Expression], clk: Expression, en: Expression) extends Statement with HasInfo with UseSerializer with Product with Serializable
  50. 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

  51. sealed trait RefLikeExpression extends Expression

    Represents reference-like expression nodes: SubField, SubIndex, SubAccess and Reference The following fields can be cast to RefLikeExpression in every well formed firrtl AST: - SubField.expr, SubIndex.expr, SubAccess.expr - IsInvalid.expr, Connect.loc, PartialConnect.loc - Attach.exprs

  52. case class Reference(name: String, tpe: Type = UnknownType, kind: Kind = UnknownKind, flow: Flow = UnknownFlow) extends Expression with HasName with UseSerializer with RefLikeExpression with Product with Serializable
  53. case class SIntLiteral(value: BigInt, width: Width) extends Literal with UseSerializer with Product with Serializable
  54. case class SIntType(width: Width) extends GroundType with UseSerializer with Product with Serializable
  55. abstract class Statement extends FirrtlNode
  56. case class Stop(info: Info, ret: Int, clk: Expression, en: Expression) extends Statement with HasInfo with UseSerializer with Product with Serializable
  57. case class StringLit(string: String) extends FirrtlNode with Product with Serializable
  58. case class StringParam(name: String, value: StringLit) extends Param with UseSerializer with Product with Serializable

    String Parameter

  59. class StructuralHash extends AnyRef
  60. case class SubAccess(expr: Expression, index: Expression, tpe: Type, flow: Flow = UnknownFlow) extends Expression with UseSerializer with RefLikeExpression with Product with Serializable
  61. case class SubField(expr: Expression, name: String, tpe: Type = UnknownType, flow: Flow = UnknownFlow) extends Expression with HasName with UseSerializer with RefLikeExpression with Product with Serializable
  62. case class SubIndex(expr: Expression, value: Int, tpe: Type, flow: Flow = UnknownFlow) extends Expression with UseSerializer with RefLikeExpression with Product with Serializable
  63. abstract class Type extends FirrtlNode

    Types of FirrtlNode

  64. case class UIntLiteral(value: BigInt, width: Width) extends Literal with UseSerializer with Product with Serializable
  65. case class UIntType(width: Width) extends GroundType with UseSerializer with Product with Serializable
  66. case class ValidIf(cond: Expression, value: Expression, tpe: Type) extends Expression with UseSerializer with Product with Serializable
  67. case class VarBound(name: String) extends IsVar with Bound with Product with Serializable
  68. case class VarWidth(name: String) extends Width with IsVar with Product with Serializable
  69. case class VectorType(tpe: Type, size: Int) extends AggregateType with UseSerializer with Product with Serializable
  70. case class Verification(op: Formal.Value, info: Info, clk: Expression, pred: Expression, en: Expression, msg: StringLit) extends Statement with HasInfo with UseSerializer with Product with Serializable
  71. abstract class Width extends FirrtlNode

Value Members

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

    Positive Integer Bit Width of a GroundType

  13. object KnownBound
  14. object MultiInfo extends Serializable
  15. object NoInfo extends Info with Product with Serializable
  16. object Output extends Direction with Product with Serializable
  17. object ReadUnderWrite extends Enumeration
  18. object Reference extends Serializable
  19. object ResetType extends GroundType with UseSerializer with Product with Serializable
  20. object SIntLiteral extends Serializable
  21. object Serializer
  22. object StringLit extends Serializable
  23. object StructuralHash

    This object can performs a "structural" hash over any firrtl Module.

    This object can performs a "structural" hash over any firrtl Module. It ignores: - [firrtl.ir.Expression Expression] types - Any [firrtl.ir.Info Info] fields - Description on DescribedStmt - each identifier name is replaced by a unique integer which only depends on the order of declaration and is thus deterministic - Module names are ignored.

    Because of the way we "agnostify" bundle types, all SubField access nodes need to have a known bundle type. Thus - in a lot of cases, like after reading firrtl from a file - you need to run the firrtl type inference before hashing.

    Please note that module hashes don't include any submodules. Two structurally equivalent modules are only functionally equivalent if they are part of the same circuit and thus all modules referred to in DefInstance are the same.

  24. object UIntLiteral extends Serializable
  25. object UnknownBound extends Bound with Product with Serializable
  26. object UnknownType extends Type with UseSerializer with Product with Serializable
  27. object UnknownWidth extends Width with UseSerializer with Product with Serializable

Ungrouped