Chisel

Complex

class Complex[T <: Data with Num[T]] extends Bundle with Num[Complex[T]]

Complex number representation create using the object Complex

Source
Complex.scala
Example:
  1. val myNum = Complex[Fixed](Fixed(3, 16, 8), Fixed(1, 16, 8))
Linear Supertypes
Num[Complex[T]], Bundle, Aggregate, Data, Node, Nameable, AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Complex
  2. Num
  3. Bundle
  4. Aggregate
  5. Data
  6. Node
  7. Nameable
  8. AnyRef
  9. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Complex(real: T, imag: T)

Value Members

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

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

    Definition Classes
    Any
  3. def ##[T <: Data](right: T): Complex.this.type

    Interface required by Cat is an operator to combine data nodes together

    Interface required by Cat is an operator to combine data nodes together

    Definition Classes
    Data
  4. def ##(b: Node): Node

    The cat operator to combine two values

    The cat operator to combine two values

    0x5 ## 0x3 => 0x53
    b

    Node to cat after

    returns

    a new node as the combination of both this node and b

    Definition Classes
    Node
  5. final def ##(): Int

    Definition Classes
    AnyRef → Any
  6. def %(r: Complex[T]): Complex[T]

    Uses the % operator defined in the types Is defined as:

    Uses the % operator defined in the types Is defined as:

    (this.real % r.real) + (this.imag % r.imag)i
    Definition Classes
    ComplexNum
  7. def *(r: T): Complex[T]

  8. def *(r: Complex[T]): Complex[T]

    A complex multiply, uses 3 multiplies by default Change to use four with the use_four_mults boolean variable

    A complex multiply, uses 3 multiplies by default Change to use four with the use_four_mults boolean variable

    Definition Classes
    ComplexNum
  9. def +(r: Complex[T]): Complex[T]

    Add a scalar value to both the real and imaginary parts

    Add a scalar value to both the real and imaginary parts

    Definition Classes
    ComplexNum
  10. def +(other: Bundle): Bundle

    Create a new Bundle with all the elements of both

    Create a new Bundle with all the elements of both

    Definition Classes
    Bundle
  11. def -(r: Complex[T]): Complex[T]

    Subtract a scalar value from both the real and imaginary parts

    Subtract a scalar value from both the real and imaginary parts

    Definition Classes
    ComplexNum
  12. def /(r: T): Complex[T]

  13. def /(r: Complex[T]): Complex[T]

    Definition Classes
    ComplexNum
  14. def :=(that: Data): Unit

    Definition Classes
    Data
  15. def <(b: Complex[T]): Bool

    Compare the magnitudes of the complex numbers

    Compare the magnitudes of the complex numbers

    Definition Classes
    ComplexNum
  16. def <=(b: Complex[T]): Bool

    Compare the magnitudes of the complex numbers

    Compare the magnitudes of the complex numbers

    Definition Classes
    ComplexNum
  17. def <>(src: Node): Unit

    Connect all elements contained in this to node 'src'

    Connect all elements contained in this to node 'src'

    Definition Classes
    BundleNode
    Example:
    1. // pass through all wires in this modules io to the sub module which have the same name
      // Note: ignores any extra defined in io
      mySubModule.io <> io
    Note

    The elements are checked for compatibility based on their name If elements are in src that are not in this Bundle no warning will be produced

  18. def =/=[T <: Data](right: T): Bool

    Definition Classes
    Data
  19. final def ==(arg0: AnyRef): Boolean

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

    Definition Classes
    Any
  21. def ===[T <: Data](right: T): Bool

    Definition Classes
    Data
  22. def >(b: Complex[T]): Bool

    Compare the magnitudes of the complex numbers

    Compare the magnitudes of the complex numbers

    Definition Classes
    ComplexNum
  23. def >=(b: Complex[T]): Bool

    Compare the magnitudes of the complex numbers

    Compare the magnitudes of the complex numbers

    Definition Classes
    ComplexNum
  24. def W0Wtransform(): Unit

    Eliminate any zero-width wires attached to this node

    Eliminate any zero-width wires attached to this node

    returns

    if the node was modified

    Definition Classes
    Node
  25. def ^^(src: Node): Unit

    Definition Classes
    Node
  26. val _id: Int

    The unique id of this node

    The unique id of this node

    Definition Classes
    Node
  27. def _isComplementOf(x: Node): Boolean

    Definition Classes
    Node
  28. def abs2: T

    Compute the magnitude of the complex number: real2 + imag2

  29. def apply(name: String): Data

    Definition Classes
    BundleData
  30. def asDirectionless(): Complex.this.type

    set this node as directionless

    set this node as directionless

    Definition Classes
    BundleData
  31. def asInput(): Complex.this.type

    Return this object as an INPUT

    Return this object as an INPUT

    Definition Classes
    BundleData
  32. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  33. def asOutput(): Complex.this.type

    Sets the direction (*dir*) of instances derived from Bits to OUTPUT or recursively sets members of Bundle/Vec to OUTPUT.

    Sets the direction (*dir*) of instances derived from Bits to OUTPUT or recursively sets members of Bundle/Vec to OUTPUT.

    returns

    this instance with its exact type.

    Definition Classes
    BundleData
  34. def assign(src: Node): Unit

    Definition Classes
    Node
  35. def canCSE: Boolean

    Definition Classes
    Node
  36. def checkPort(obj: Any, name: String): Boolean

    Check that 'name' is a valid component of Complex, ie) real or imag

    Check that 'name' is a valid component of Complex, ie) real or imag

    Attributes
    protected
    Definition Classes
    ComplexBundle
  37. lazy val chiselName: String

    Definition Classes
    Node
  38. var clock: Option[Clock]

    The clock for this node

    The clock for this node

    Definition Classes
    Node
  39. def clone(): Complex.this.type

    Definition Classes
    Data → AnyRef
  40. def cloneType(): Complex.this.type

    Clone a complex instantiation

    Clone a complex instantiation

    Definition Classes
    ComplexData
  41. def colonEquals(src: Bundle): Unit

    Attributes
    protected
    Definition Classes
    BundleData
  42. def colonEquals[T <: Data](that: Iterable[T]): Unit

    Attributes
    protected
    Definition Classes
    Data
  43. def colonEquals(that: Bits): Unit

    Attributes
    protected
    Definition Classes
    Data
  44. var comp: Option[proc]

    Definition Classes
    Data
  45. def componentOf: Module

    Get the module that this node is a part of or the top module if not assigned yet

    Get the module that this node is a part of or the top module if not assigned yet

    returns

    The module that this node is a part of

    Definition Classes
    Node
  46. def conj: Complex[T]

    Create a new complex number which is the conjugate of this one

  47. val consumers: LinkedHashSet[Node]

    nodes that consume one of my outputs

    nodes that consume one of my outputs

    Definition Classes
    Node
  48. def contains(name: String): Boolean

    Check if an element exists with that name

    Check if an element exists with that name

    Definition Classes
    Bundle
  49. def dblLitValue: Double

    Convert the node literal to a Double

    Convert the node literal to a Double

    Definition Classes
    Node
  50. var driveRand: Boolean

    Definition Classes
    Node
  51. lazy val elements: LinkedHashMap[String, Data]

    Definition Classes
    Bundle
  52. final def eq(arg0: AnyRef): Boolean

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

    Compare two nodes

    Compare two nodes

    that

    the node to compare with

    Definition Classes
    Node → AnyRef → Any
  54. def equalsForCSE(x: Node): Boolean

    Definition Classes
    Node
  55. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  56. def flatten: Array[(String, Bits)]

    Definition Classes
    BundleData
  57. def flip(): Complex.this.type

    Change all INPUT to OUTPUT and visa versa for all elements in this Bundle

    Change all INPUT to OUTPUT and visa versa for all elements in this Bundle

    Definition Classes
    BundleData
  58. def floLitValue: Float

    Convert the node literal to a Float

    Convert the node literal to a Float

    Definition Classes
    Node
  59. def fromBits(b: Bits): Complex.this.type

    Definition Classes
    Data
  60. def fromMap(elemmap: Map[String, Data]): Complex.this.type

    Connect all data nodes in the map as inputs for this bundle using the names in the map

    Connect all data nodes in the map as inputs for this bundle using the names in the map

    Definition Classes
    Bundle
  61. def fromNode(n: Node): Complex.this.type

    Factory method to create and assign a leaf-type instance out of a subclass of *Node* instance which we have lost the concrete type.

    Factory method to create and assign a leaf-type instance out of a subclass of *Node* instance which we have lost the concrete type.

    Definition Classes
    Data
  62. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  63. def getNode: Node

    returns

    The root node input

    Definition Classes
    Node
  64. def getWidth(): Int

    returns

    the width or number of bits used by this node

    Definition Classes
    BundleAggregateNode
    Exceptions thrown
    ChiselException

    if the width of the node is unknown

  65. def hashCode(): Int

    returns

    the unique hashCode for this node

    Definition Classes
    Node → AnyRef → Any
  66. def hashCodeForCSE: Int

    Definition Classes
    Node
  67. def illegalAssignment(that: Any): Unit

    Attributes
    protected
    Definition Classes
    Data
  68. val imag: T

  69. def infer: Boolean

    Called while we're walking the graph inferring the width of nodes.

    Called while we're walking the graph inferring the width of nodes. We return true if we should continue to walk the graph, either because there's a node whose width we don't know, or because we updated a node's width.

    Definition Classes
    Node
  70. def init(n: String, w: Int, ins: Node*): Node

    Init the node and calculate its width and add inputs to the node

    Init the node and calculate its width and add inputs to the node

    n

    name of node

    w

    the bit width of the node

    ins

    Nodes that are inputs to this node

    Definition Classes
    Node
  71. def init(n: String, widthFunc: (⇒ Node) ⇒ Width, ins: Node*): Node

    Init the node and calculate its width and add inputs to the node

    Init the node and calculate its width and add inputs to the node

    n

    name of node

    widthFunc

    the function to use to calculate the width of the node

    ins

    Nodes that are inputs to this node

    Definition Classes
    Node
  72. def initOf(n: String, widthfunc: (⇒ Node) ⇒ Width, ins: Iterable[Node]): Node

    Init the node and calculate its width and add inputs to the node

    Init the node and calculate its width and add inputs to the node

    n

    name of node

    widthfunc

    the function to use to calculate the width of the node

    ins

    Nodes that are inputs to this node

    Definition Classes
    Node
  73. val inputs: ArrayBuffer[Node]

    The inputs that this node depends on

    The inputs that this node depends on

    Definition Classes
    Node
  74. def isDirectionless: Boolean

    check if this node is neither INPUT or OUTPUT

    check if this node is neither INPUT or OUTPUT

    Definition Classes
    BundleData
  75. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  76. def isIo: Boolean

    returns

    this node is an I/O Node for a module

    Definition Classes
    Node
  77. def isIo_=(isIo: Boolean): Unit

    Definition Classes
    Node
  78. final def isLit: Boolean

    This function determines if a node is a literal, a fixed value

    This function determines if a node is a literal, a fixed value

    Definition Classes
    Node
  79. def isTopLevelIO: Boolean

    returns

    is this node I/O for the top level module

    Definition Classes
    Node
  80. var isTypeNode: Boolean

    Definition Classes
    Node
  81. def isTypeOnly: Boolean

    Chisel3 - type-only nodes (no data - no initialization or assignment) This is used to determine which nodes must be Wire() wrapped, and whether Wire() wrapping of the node is legal or not.

    Chisel3 - type-only nodes (no data - no initialization or assignment) This is used to determine which nodes must be Wire() wrapped, and whether Wire() wrapping of the node is legal or not.

    Definition Classes
    BundleDataNode
  82. def isUsedByClockHi: Boolean

    returns

    this node is a Register

    Definition Classes
    Node
  83. def isWired: Boolean

    Definition Classes
    AggregateData
  84. def isZeroWidth: Boolean

    returns

    this node has zero-width

    Definition Classes
    Node
  85. val line: StackTraceElement

    The trace information for chisel for this node

    The trace information for chisel for this node

    Definition Classes
    Node
  86. def litOf: Literal

    returns

    the literal value of a node

    Definition Classes
    Node
    Exceptions thrown
    ChiselException

    if there is no literal value available

  87. def litValue(default: BigInt = BigInt(-1)): BigInt

    returns

    the literal value of the node as a BigInt

    Bool(true).litValue() => BigInt(1)
    Definition Classes
    Node
  88. def max(b: Complex[T]): Complex[T]

    Definition Classes
    Num
  89. def maybeFlatten: Seq[Node]

    Deprecated: Do not use

    Deprecated: Do not use

    Definition Classes
    Node
  90. def min(b: Complex[T]): Complex[T]

    Definition Classes
    Num
  91. var modified: Boolean

    Definition Classes
    Node
  92. var name: String

    Name of the instance.

    Name of the instance.

    Definition Classes
    Nameable
  93. def nameIt(path: String, isNamingIo: Boolean): Unit

    Name the bundle, do not use directly, use setName instead

    Name the bundle, do not use directly, use setName instead

    Definition Classes
    BundleDataNode
  94. 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
  95. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  96. def needWidth(): Int

    returns

    the bitWidth of the node

    Definition Classes
    Node
    Exceptions thrown
    ChiselException

    if the width is not yet defined

  97. final def notify(): Unit

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

    Definition Classes
    AnyRef
  99. def params: Parameters

    Definition Classes
    Data
  100. def printTree(writer: PrintStream, depth: Int = 4, indent: String = ""): Unit

    Prints all members of a node and recursively its inputs up to a certain depth level This method is purely used for debugging

    Prints all members of a node and recursively its inputs up to a certain depth level This method is purely used for debugging

    Definition Classes
    Node
  101. var prune: Boolean

    Definition Classes
    Node
  102. val real: T

  103. def removeTypeNodes(): Unit

    Definition Classes
    BundleNode
  104. def replaceTree(newNode: Node): Unit

    Replace the subtree starting from this node with the indicated replacement

    Replace the subtree starting from this node with the indicated replacement

    newNode

    The node to start tree from

    Definition Classes
    Node
  105. def review(): Unit

    Review a node for optimization possibilities if its children have been updated

    Review a node for optimization possibilities if its children have been updated

    Definition Classes
    Node
  106. def setIsTypeNode: Unit

    make this node a type node

    make this node a type node

    Definition Classes
    BundleData
  107. def setIsWired(value: Boolean): Unit

    Definition Classes
    AggregateData
  108. 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")
  109. def setWidth(w: Int): Unit

    Force the bit width of a node

    Force the bit width of a node

    w

    the bit width to force

    Definition Classes
    Node
  110. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  111. def toBits(): UInt

    returns

    This node as a UInt

    Definition Classes
    Node
  112. def toBool(): Bool

    Try to convert this data to a Bool

    Try to convert this data to a Bool

    Definition Classes
    Data
    Exceptions thrown
    ChiselException

    if the width is not 1

  113. lazy val toNode: Node

    Definition Classes
    DataNode
  114. def toString(): String

    Definition Classes
    Bundle → AnyRef → Any
  115. def unary_-(): Complex[T]

    Definition Classes
    ComplexNum
  116. def usesInClockHi(i: Node): Boolean

    Definition Classes
    Node
  117. val view: Seq[String]

    Definition Classes
    Bundle
  118. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Num[Complex[T]]

Inherited from Bundle

Inherited from Aggregate

Inherited from Data

Inherited from Node

Inherited from Nameable

Inherited from AnyRef

Inherited from Any

Ungrouped