Class

firrtl.VerilogEmitter

VerilogRender

Related Doc: package VerilogEmitter

Permalink

class VerilogRender extends AnyRef

Used by getRenderer, it has machinery to produce verilog from IR. Making this a class allows access to particular parts of the verilog emission.

Source
VerilogEmitter.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. VerilogRender
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new VerilogRender(m: Module, moduleMap: Map[String, DefModule])(implicit writer: Writer)

    Permalink
  2. new VerilogRender(m: Module, moduleMap: Map[String, DefModule], circuitName: String, emissionOptions: EmissionOptions)(implicit writer: Writer)

    Permalink
  3. new VerilogRender(description: Seq[Description], portDescriptions: Map[String, Seq[Description]], m: Module, moduleMap: Map[String, DefModule], circuitName: String, emissionOptions: EmissionOptions)(implicit writer: Writer)

    Permalink

    description

    a description of the start module

    portDescriptions

    a map of port name to description

    m

    the start module

    moduleMap

    a map of modules so submodules can be discovered

    writer

    where rendered information is placed.

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def addFormal(clk: Expression, en: Expression, stmt: Seq[Any], info: Info, msg: StringLit): Unit

    Permalink
  5. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  6. def assign(e: Expression, value: Expression, info: Info): Unit

    Permalink
  7. def assign(e: Expression, infoExpr: InfoExpr): Unit

    Permalink
  8. val assigns: ArrayBuffer[Seq[Any]]

    Permalink
  9. val asyncInitials: ArrayBuffer[Seq[Any]]

    Permalink
  10. val asyncResetAlwaysBlocks: ArrayBuffer[(Expression, Expression, Seq[Any])]

    Permalink
  11. val attachAliases: ArrayBuffer[Seq[Any]]

    Permalink
  12. val attachSynAssigns: ArrayBuffer[Seq[Any]]

    Permalink
  13. def bigIntToVLit(bi: BigInt): String

    Permalink
  14. def build_attribute(attrs: String): Seq[Seq[String]]

    Permalink
  15. def build_comment(desc: String): Seq[Seq[String]]

    Permalink
  16. def build_description(d: Seq[Description]): Seq[Seq[String]]

    Permalink
  17. def build_netlist(s: Statement): Unit

    Permalink
  18. def build_ports(): Unit

    Permalink
  19. def build_streams(s: Statement): Unit

    Permalink
  20. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate() @throws( ... )
  21. def declare(b: String, n: String, t: Type, info: Info): Unit

    Permalink
  22. def declare(b: String, n: String, t: Type, info: Info, preset: Expression): Any

    Permalink
  23. def declareVectorType(b: String, n: String, tpe: Type, size: BigInt, info: Info, preset: Expression): Unit

    Permalink
  24. def declareVectorType(b: String, n: String, tpe: Type, size: BigInt, info: Info): Unit

    Permalink
  25. val declares: ArrayBuffer[Seq[Any]]

    Permalink
  26. def emitVerilogBind(overrideName: String, body: String): DefModule

    Permalink

    This emits a verilog module that can be bound to a module defined in chisel.

    This emits a verilog module that can be bound to a module defined in chisel. It uses the same machinery as the general emitter in order to insure that parameters signature is exactly the same as the module being bound to

    overrideName

    Override the module name

    body

    the body of the bind module

    returns

    A module constructed from the body

  27. def emit_streams(): Unit

    Permalink
  28. def emit_verilog(): DefModule

    Permalink

    The standard verilog emitter, wraps up everything into the verilog

  29. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  30. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  31. def formalStatement(op: ir.Formal.Value, cond: Expression): Seq[Any]

    Permalink
  32. val formals: LinkedHashMap[Expression, ArrayBuffer[Seq[Any]]]

    Permalink
  33. def garbageAssign(e: Expression, syn: Expression, garbageCond: Expression, info: Info): ArrayBuffer[Seq[Any]]

    Permalink
  34. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  35. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
    Annotations
    @HotSpotIntrinsicCandidate()
  36. val ifdefDeclares: Map[String, ArrayBuffer[Seq[Any]]]

    Permalink
  37. val ifdefInitials: Map[String, ArrayBuffer[Seq[Any]]]

    Permalink
  38. def initialize(e: Expression, reset: Expression, init: Expression): Any

    Permalink
  39. def initialize_mem(s: DefMemory, opt: MemoryEmissionOption): Unit

    Permalink
  40. val initials: ArrayBuffer[Seq[Any]]

    Permalink
  41. val instdeclares: ArrayBuffer[Seq[Any]]

    Permalink
  42. def invalidAssign(e: Expression): ArrayBuffer[Seq[Any]]

    Permalink
  43. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  44. var maxMemSize: BigInt

    Permalink
  45. val memoryInitials: ArrayBuffer[Seq[Any]]

    Permalink
  46. val moduleTarget: ModuleTarget

    Permalink
  47. val namespace: Namespace

    Permalink
  48. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  49. val netlist: LinkedHashMap[WrappedExpression, InfoExpr]

    Permalink
  50. val noResetAlwaysBlocks: LinkedHashMap[Expression, ArrayBuffer[Seq[Any]]]

    Permalink
  51. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  52. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @HotSpotIntrinsicCandidate()
  53. val portdefs: ArrayBuffer[Seq[Any]]

    Permalink
  54. def printf(str: StringLit, args: Seq[Expression]): Seq[Any]

    Permalink
  55. def rand_string(t: Type): Seq[Any]

    Permalink
  56. def rand_string(t: Type, ifdef: String): Seq[Any]

    Permalink
  57. def rand_string(t: Type, ifdefOpt: Option[String]): Seq[Any]

    Permalink
  58. def regUpdate(r: Expression, clk: Expression, reset: Expression, init: Expression): ArrayBuffer[_ >: Seq[Any] with (Expression, Expression, Seq[Any]) <: Equals]

    Permalink
  59. def simulate(clk: Expression, en: Expression, s: Seq[Any], cond: Option[String], info: Info): ArrayBuffer[Seq[Any]]

    Permalink
  60. val simulates: ArrayBuffer[Seq[Any]]

    Permalink
  61. def stop(ret: Int): Seq[Any]

    Permalink
  62. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  63. def toString(): String

    Permalink
    Definition Classes
    AnyRef → Any
  64. def update(e: Expression, value: Expression, clk: Expression, en: Expression, info: Info): ArrayBuffer[Seq[Any]]

    Permalink
  65. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  66. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  67. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Deprecated Value Members

  1. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @Deprecated @deprecated @throws( classOf[java.lang.Throwable] )
    Deprecated

    (Since version ) see corresponding Javadoc for more information.

Inherited from AnyRef

Inherited from Any

Ungrouped