Chisel

BlackBox

abstract class BlackBox extends Module

This class allows the connection to Verilog modules outside of chisel after generation

Source
hcl.scala
Example:
  1. class DSP48E1 extends BlackBox {
    val io = new [[Chisel.Bundle Bundle]] // Create I/O with same as DSP
    val dspParams = new [[Chisel.VerilogParameters VerilogParameters]] // Create Parameters to be specified
    setVerilogParams(dspParams)
    renameClock("clk", "clock")
    renameReset("rst")
    // Implement functionality of DSP to allow simulation verification
    }
Linear Supertypes
Module, Nameable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. BlackBox
  2. Module
  3. Nameable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new BlackBox()

Type Members

  1. type neededWireWraps = HashMap[StackTraceElement, ArrayBuffer[Data]]

    verifyWireWrap (Chisel3) - verify assignment semantics (type-only nodes must be wire-wrapped)

    verifyWireWrap (Chisel3) - verify assignment semantics (type-only nodes must be wire-wrapped)

    returns

    - HashMap of source lines (and associated nodes) requiring Wire() wrapping.

    Definition Classes
    Module

Abstract Value Members

  1. abstract def io: Data

    the I/O for this module

    the I/O for this module

    Definition Classes
    Module

Concrete Value Members

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

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def <>(src: Module): Unit

    Connect io with matching names for two modules

    Connect io with matching names for two modules

    Definition Classes
    Module
  5. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  6. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  7. var _clock: Option[Clock]

    Definition Classes
    Module
  8. def addClock(clock: Clock): Unit

    Add a clock to the module

    Add a clock to the module

    clock

    the clock to add

    Definition Classes
    Module
  9. def addDefaultReset: Unit

    Add a default reset to the module

    Add a default reset to the module

    Definition Classes
    Module
  10. def addModule[T <: Module](c: ⇒ T)(implicit p: Parameters = params): T

    Add a submodule to this module

    Add a submodule to this module

    Definition Classes
    Module
  11. def addModule[T <: Module](c: ⇒ T, f: PartialFunction[Any, Any]): T

    Add a submodule to this module

    Add a submodule to this module

    Definition Classes
    Module
  12. def addNode[T <: Node](node: T): T

    Definition Classes
    Module
  13. def addPin[T <: Data](pin: T, name: String = ""): T

    Add a pin with a name to the module

    Add a pin with a name to the module

    pin

    the I/O to add

    name

    A name for the pin

    Definition Classes
    Module
  14. def addResetPin(r: Bool): Bool

    returns

    the pin connected to the reset signal or creates a new one if no such pin exists

    Definition Classes
    Module
  15. def apply(name: String): Data

    Definition Classes
    Module
  16. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  17. def assert(cond: Bool, message: String): Unit

    Add an assertion in the code generated by a backend.

    Add an assertion in the code generated by a backend.

    Definition Classes
    Module
  18. def bfs(visit: (Node) ⇒ Unit): Unit

    A breadth first search of the graph of nodes

    A breadth first search of the graph of nodes

    Definition Classes
    Module
  19. val children: ArrayBuffer[Module]

    Definition Classes
    Module
  20. def clock: Clock

    returns

    the implied clock for this module

    Definition Classes
    Module
  21. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  22. def debug(data: Aggregate): Unit

    Definition Classes
    Module
  23. def debug(x: Node): Unit

    Insures a backend does not remove a signal because it is unreachable from the outputs.

    Insures a backend does not remove a signal because it is unreachable from the outputs.

    Definition Classes
    Module
  24. def dfs(visit: (Node) ⇒ Unit): Unit

    A depth first search of the graph of nodes

    A depth first search of the graph of nodes

    Definition Classes
    Module
  25. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  26. def equals(that: Any): Boolean

    Definition Classes
    Module → AnyRef → Any
  27. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  28. def findBinding(m: Node): Option[Binding]

    A method to trace the graph of nodes backwards looking at inputs

    A method to trace the graph of nodes backwards looking at inputs

    m

    Node to find bindings for

    returns

    nodes which have node m binded as their input

    Definition Classes
    Module
  29. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  30. def getPathName(separator: String = "_"): String

    separator

    The separator to use for the path name

    returns

    the absolute path to a component instance from toplevel

    Definition Classes
    Module
  31. def getPathName: String

    returns

    the absolute path to a component instance from toplevel

    Definition Classes
    Module
  32. val hashCode: Int

    Definition Classes
    Module → AnyRef → Any
  33. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  34. def mapClock(clkName: String): String

    Get the output name of a clock string

  35. var moduleName: String

    Name of the module this component generates (defaults to class name).

    Name of the module this component generates (defaults to class name).

    Definition Classes
    Module
  36. var name: String

    Name of the instance.

    Name of the instance.

    Definition Classes
    Nameable
  37. var named: Boolean

    named is used to indicate that name was set explicitly and should not be overriden

    named is used to indicate that name was set explicitly and should not be overriden

    Definition Classes
    Nameable
  38. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  39. def nextIndex: Int

    Definition Classes
    Module
  40. final def notify(): Unit

    Definition Classes
    AnyRef
  41. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  42. lazy val params: Parameters

    Definition Classes
    Module
  43. var parent: Module

    Definition Classes
    Module
  44. def printf(message: String, args: Node*): Unit

    Adds a printf to the module called each clock cycle

    Adds a printf to the module called each clock cycle

    message

    A c style sting to print out eg) %d, %x

    args

    Nodes whos data values should be printed

    Definition Classes
    Module
  45. def renameClock(clk: Clock, outName: String): Unit

    Rename a clk instance to have the output name of "outName"

    Rename a clk instance to have the output name of "outName"

    Note

    This maps from the current clk.name

  46. def renameClock(clkName: String, outName: String): Unit

    Rename any clock with the output name of "clkName" to "outName"

    Rename any clock with the output name of "clkName" to "outName"

    Note

    Only defined for this black box module, to generally rename the clock see Clock

  47. def renameReset(name: String): Unit

    This method renames the implicit reset for this module

  48. def reset: Bool

    returns

    the implied reset for this module

    Definition Classes
    Module
  49. def setModuleName(n: String): Unit

    Set the declaration name of the module to be string 'n'

    Set the declaration name of the module to be string 'n'

    Definition Classes
    Module
  50. def setName(n: String): Unit

    Set the name of this module to the string 'n'

    Set the name of this module to the string 'n'

    Definition Classes
    Nameable
    Example:
    1. my.io.node.setName("MY_IO_NODE")
  51. def setVerilogParameters(params: VerilogParameters): Unit

    Set the verilog parameters directly from a class VerilogParameters

    Set the verilog parameters directly from a class VerilogParameters

    params

    a object where all vals defined in the class are interpreted as verilog parameters

  52. def setVerilogParameters(string: String): Unit

    Set the verilog parameters to be this string

    Set the verilog parameters to be this string

    string

    this string must start with "#(" and end with ")" to generate valid verilog

  53. def stripComponent(s: String): String

    Definition Classes
    Module
  54. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  55. def toString(): String

    Definition Classes
    Module → AnyRef → Any
  56. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  57. final def wait(arg0: Long, arg1: Int): Unit

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  59. def wires: Array[(String, Bits)]

    Get the I/O names and connections

    Get the I/O names and connections

    Definition Classes
    Module

Inherited from Module

Inherited from Nameable

Inherited from AnyRef

Inherited from Any

Ungrouped