Package

firrtl

ir

Permalink

package ir

Visibility
  1. Public
  2. All

Type Members

  1. abstract class AggregateType extends Type

    Permalink
  2. case class AnalogType(width: Width) extends GroundType with Product with Serializable

    Permalink
  3. case class Attach(info: Info, exprs: Seq[Expression]) extends Statement with HasInfo with Product with Serializable

    Permalink
  4. case class Block(stmts: Seq[Statement]) extends Statement with Product with Serializable

    Permalink
  5. case class BundleType(fields: Seq[Field]) extends AggregateType with Product with Serializable

    Permalink
  6. case class Circuit(info: Info, modules: Seq[DefModule], main: String) extends FirrtlNode with HasInfo with Product with Serializable

    Permalink
  7. case class Conditionally(info: Info, pred: Expression, conseq: Statement, alt: Statement) extends Statement with HasInfo with Product with Serializable

    Permalink
  8. case class Connect(info: Info, loc: Expression, expr: Expression) extends Statement with HasInfo with Product with Serializable

    Permalink
  9. case class DefInstance(info: Info, name: String, module: String) extends Statement with IsDeclaration with Product with Serializable

    Permalink
  10. case class DefMemory(info: Info, name: String, dataType: Type, depth: Int, writeLatency: Int, readLatency: Int, readers: Seq[String], writers: Seq[String], readwriters: Seq[String], readUnderWrite: Option[String] = None) extends Statement with IsDeclaration with Product with Serializable

    Permalink
  11. abstract class DefModule extends FirrtlNode with IsDeclaration

    Permalink

    Base class for modules

  12. case class DefNode(info: Info, name: String, value: Expression) extends Statement with IsDeclaration with Product with Serializable

    Permalink
  13. case class DefRegister(info: Info, name: String, tpe: Type, clock: Expression, reset: Expression, init: Expression) extends Statement with IsDeclaration with Product with Serializable

    Permalink
  14. case class DefWire(info: Info, name: String, tpe: Type) extends Statement with IsDeclaration with Product with Serializable

    Permalink
  15. abstract class Direction extends FirrtlNode

    Permalink

    Port Direction

  16. case class DoPrim(op: PrimOp, args: Seq[Expression], consts: Seq[BigInt], tpe: Type) extends Expression with Product with Serializable

    Permalink
  17. case class DoubleParam(name: String, value: Double) extends Param with Product with Serializable

    Permalink

    IEEE Double Precision Parameter (for Verilog real)

  18. abstract class Expression extends FirrtlNode

    Permalink
  19. case class ExtModule(info: Info, name: String, ports: Seq[Port], defname: String, params: Seq[Param]) extends DefModule with Product with Serializable

    Permalink

    External Module

    External Module

    Generally used for Verilog black boxes

    defname

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

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

    Permalink

    Field of BundleType

  21. case class FileInfo(info: StringLit) extends Info with Product with Serializable

    Permalink
  22. abstract class FirrtlNode extends AnyRef

    Permalink

    Intermediate Representation

  23. case class FixedLiteral(value: BigInt, width: Width, point: Width) extends Literal with Product with Serializable

    Permalink
  24. case class FixedType(width: Width, point: Width) extends GroundType with Product with Serializable

    Permalink
  25. abstract class GroundType extends Type

    Permalink
  26. trait HasInfo extends AnyRef

    Permalink
  27. trait HasName extends AnyRef

    Permalink
  28. abstract class Info extends FirrtlNode

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

    Permalink

    Integer (of any width) Parameter

  30. class IntWidth extends Width with Product

    Permalink
  31. trait IsDeclaration extends HasName with HasInfo

    Permalink
  32. case class IsInvalid(info: Info, expr: Expression) extends Statement with HasInfo with Product with Serializable

    Permalink
  33. abstract class Literal extends Expression

    Permalink
  34. case class Module(info: Info, name: String, ports: Seq[Port], body: Statement) extends DefModule with Product with Serializable

    Permalink

    Internal Module

    Internal Module

    An instantiable hardware block

  35. case class MultiInfo(infos: Seq[Info]) extends Info with Product with Serializable

    Permalink
  36. case class Mux(cond: Expression, tval: Expression, fval: Expression, tpe: Type) extends Expression with Product with Serializable

    Permalink
  37. abstract class Orientation extends FirrtlNode

    Permalink

    Orientation of Field

  38. sealed abstract class Param extends FirrtlNode

    Permalink

    Parameters for external modules

  39. case class PartialConnect(info: Info, loc: Expression, expr: Expression) extends Statement with HasInfo with Product with Serializable

    Permalink
  40. case class Port(info: Info, name: String, direction: Direction, tpe: Type) extends FirrtlNode with IsDeclaration with Product with Serializable

    Permalink

    DefModule Port

  41. abstract class PrimOp extends FirrtlNode

    Permalink

    Primitive Operation

    Primitive Operation

    See PrimOps

  42. case class Print(info: Info, string: StringLit, args: Seq[Expression], clk: Expression, en: Expression) extends Statement with HasInfo with Product with Serializable

    Permalink
  43. case class RawStringParam(name: String, value: String) extends Param with Product with Serializable

    Permalink

    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

  44. case class Reference(name: String, tpe: Type) extends Expression with HasName with Product with Serializable

    Permalink
  45. case class SIntLiteral(value: BigInt, width: Width) extends Literal with Product with Serializable

    Permalink
  46. case class SIntType(width: Width) extends GroundType with Product with Serializable

    Permalink
  47. abstract class Statement extends FirrtlNode

    Permalink
  48. case class Stop(info: Info, ret: Int, clk: Expression, en: Expression) extends Statement with HasInfo with Product with Serializable

    Permalink
  49. case class StringLit(string: String) extends FirrtlNode with Product with Serializable

    Permalink
  50. case class StringParam(name: String, value: StringLit) extends Param with Product with Serializable

    Permalink

    String Parameter

  51. case class SubAccess(expr: Expression, index: Expression, tpe: Type) extends Expression with Product with Serializable

    Permalink
  52. case class SubField(expr: Expression, name: String, tpe: Type) extends Expression with HasName with Product with Serializable

    Permalink
  53. case class SubIndex(expr: Expression, value: Int, tpe: Type) extends Expression with Product with Serializable

    Permalink
  54. abstract class Type extends FirrtlNode

    Permalink
  55. case class UIntLiteral(value: BigInt, width: Width) extends Literal with Product with Serializable

    Permalink
  56. case class UIntType(width: Width) extends GroundType with Product with Serializable

    Permalink
  57. case class ValidIf(cond: Expression, value: Expression, tpe: Type) extends Expression with Product with Serializable

    Permalink
  58. case class VectorType(tpe: Type, size: Int) extends AggregateType with Product with Serializable

    Permalink
  59. abstract class Width extends FirrtlNode

    Permalink

Value Members

  1. object ClockType extends GroundType with Product with Serializable

    Permalink
  2. object Default extends Orientation with Product with Serializable

    Permalink
  3. object EmptyStmt extends Statement with Product with Serializable

    Permalink
  4. object Flip extends Orientation with Product with Serializable

    Permalink
  5. object GroundType

    Permalink
  6. object Input extends Direction with Product with Serializable

    Permalink
  7. object IntWidth

    Permalink

    Positive Integer Bit Width of a GroundType

  8. object MultiInfo extends Serializable

    Permalink
  9. object NoInfo extends Info with Product with Serializable

    Permalink
  10. object Output extends Direction with Product with Serializable

    Permalink
  11. object StringLit extends Serializable

    Permalink
  12. object UnknownType extends Type with Product with Serializable

    Permalink
  13. object UnknownWidth extends Width with Product with Serializable

    Permalink

Ungrouped