Class/Object

Chisel

Queue

Related Docs: object Queue | package Chisel

Permalink

class Queue[T <: Data] extends Module

A hardware module implementing a Queue

T

the type of data to queue

Source
ChiselUtil.scala
Example:
  1. val q = new Queue(UInt(), 16)
      q.io.enq <> producer.io.out
      consumer.io.in <> q.io.deq
Linear Supertypes
Module, Nameable, AnyRef, Any
Type Hierarchy Learn more about scaladoc diagrams
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Queue
  2. Module
  3. Nameable
  4. AnyRef
  5. Any
  1. Hide All
  2. Show all
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Queue(gen: T, entries: Int, pipe: Boolean = false, flow: Boolean = false, _reset: Option[Bool] = None)

    Permalink

    gen

    The type of data to queue

    entries

    The max number of entries in the queue

    pipe

    True if a single entry queue can run at full throughput (like a pipeline). The ready signals are combinationally coupled.

    flow

    True if the inputs can be consumed on the same cycle (the inputs "flow" through the queue immediately). The valid signals are coupled.

    _reset

    The reset signal to pass to this queue

Type Members

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

    Permalink

    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

Value Members

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

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

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

    Permalink

    Connect io with matching names for two modules

    Connect io with matching names for two modules

    Definition Classes
    Module
  4. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  5. var _clock: Option[Clock]

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

    Permalink

    Add a clock to the module

    Add a clock to the module

    clock

    the clock to add

    Definition Classes
    Module
  7. def addDefaultReset: Unit

    Permalink

    Add a default reset to the module

    Add a default reset to the module

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

    Permalink

    Add a submodule to this module

    Add a submodule to this module

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

    Permalink

    Add a submodule to this module

    Add a submodule to this module

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

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

    Permalink

    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
  12. def addResetPin(r: Bool): Bool

    Permalink

    returns

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

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

    Permalink
    Definition Classes
    Module
  14. final def asInstanceOf[T0]: T0

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

    Permalink

    Add an assertion in the code generated by a backend.

    Add an assertion in the code generated by a backend.

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

    Permalink

    A breadth first search of the graph of nodes

    A breadth first search of the graph of nodes

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

    Permalink
    Definition Classes
    Module
  18. def clock: Clock

    Permalink

    returns

    the implied clock for this module

    Definition Classes
    Module
  19. def clone(): AnyRef

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

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

    Permalink

    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
  22. val deq_ptr: Counter

    Permalink
  23. def dfs(visit: (Node) ⇒ Unit): Unit

    Permalink

    A depth first search of the graph of nodes

    A depth first search of the graph of nodes

    Definition Classes
    Module
  24. val do_deq: Bool

    Permalink
  25. val do_enq: Bool

    Permalink
  26. val do_flow: Bool

    Permalink
  27. val empty: Bool

    Permalink
  28. val enq_ptr: Counter

    Permalink
  29. val entries: Int

    Permalink

    The max number of entries in the queue

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

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

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

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

    Permalink

    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
  34. val full: Bool

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

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

    Permalink

    separator

    The separator to use for the path name

    returns

    the absolute path to a component instance from toplevel

    Definition Classes
    Module
  37. def getPathName: String

    Permalink

    returns

    the absolute path to a component instance from toplevel

    Definition Classes
    Module
  38. val hashCode: Int

    Permalink
    Definition Classes
    Module → AnyRef → Any
  39. val io: QueueIO[T]

    Permalink

    The I/O for this queue

    The I/O for this queue

    Definition Classes
    QueueModule
  40. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  41. val maybe_flow: Bool

    Permalink
  42. val maybe_full: Bool

    Permalink
  43. var moduleName: String

    Permalink

    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
  44. var name: String

    Permalink

    Name of the instance.

    Name of the instance.

    Definition Classes
    Nameable
  45. var named: Boolean

    Permalink

    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
  46. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  47. def nextIndex: Int

    Permalink
    Definition Classes
    Module
  48. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  49. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  50. lazy val params: Parameters

    Permalink
    Definition Classes
    Module
  51. var parent: Module

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

    Permalink

    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
  53. val ptr_diff: UInt

    Permalink
  54. val ptr_match: Bool

    Permalink
  55. val ram: Mem[T]

    Permalink
  56. def reset: Bool

    Permalink

    returns

    the implied reset for this module

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

    Permalink

    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
  58. def setName(n: String): Unit

    Permalink

    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")
  59. def stripComponent(s: String): String

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

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

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

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

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

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

    Permalink

    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