Class/Object

chisel3.util

Queue

Related Docs: object Queue | package util

Permalink

class Queue[T <: Data] extends Module

A hardware module implementing a Queue

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

Instance Constructors

  1. new Queue(gen: T, entries: Int, pipe: Boolean, flow: Boolean, _reset: Bool)

    Permalink
  2. new Queue(gen: T, entries: Int, pipe: Boolean = false, flow: Boolean = false, override_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.

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 IO[T <: core.Data](iodef: T): iodef.type

    Permalink

    This must wrap the datatype used to set the io field of any Module.

    This must wrap the datatype used to set the io field of any Module. i.e. All concrete modules must have defined io in this form: [lazy] val io[: io type] = IO(...[: io type])

    Items in [] are optional.

    The granted iodef WILL NOT be cloned (to allow for more seamless use of anonymous Bundles in the IO) and thus CANNOT have been bound to any logic. This will error if any node is bound (e.g. due to logic in a Bundle constructor, which is considered improper).

    TODO(twigg): Specifically walk the Data definition to call out which nodes are problematic.

    Definition Classes
    Module
  5. def annotate(annotation: ChiselAnnotation): Unit

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

    Permalink
    Definition Classes
    Any
  7. val clock: core.Clock

    Permalink
    Definition Classes
    Module
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. val compileOptions: CompileOptions

    Permalink
    Definition Classes
    Module
  10. def desiredName: String

    Permalink

    Desired name of this module.

    Desired name of this module.

    Definition Classes
    Module
  11. val entries: Int

    Permalink

    The max number of entries in the queue

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

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

    Permalink
    Definition Classes
    HasId → AnyRef → Any
  14. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  15. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  16. lazy val getPorts: Seq[Port]

    Permalink
    Definition Classes
    Module
  17. def hashCode(): Int

    Permalink
    Definition Classes
    HasId → AnyRef → Any
  18. def instanceName: String

    Permalink

    Signal name (for simulation).

    Signal name (for simulation).

    Definition Classes
    Module → HasId → InstanceId
  19. val io: QueueIO[T]

    Permalink

    IO for this Module.

    IO for this Module. At the Scala level (pre-FIRRTL transformations), connections in and out of a Module may only go through io elements.

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

    Permalink
    Definition Classes
    Any
  21. final val name: String

    Permalink

    Legalized name of this module.

    Legalized name of this module.

    Definition Classes
    Module
  22. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  23. final def notify(): Unit

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

    Permalink
    Definition Classes
    AnyRef
  25. def parentModName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  26. def parentPathName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  27. def pathName: String

    Permalink
    Definition Classes
    HasId → InstanceId
  28. val reset: core.Bool

    Permalink
    Definition Classes
    Module
  29. def suggestName(name: ⇒ String): Queue.this.type

    Permalink
    Definition Classes
    HasId
  30. final def synchronized[T0](arg0: ⇒ T0): T0

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

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

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

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

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

Inherited from core.Module

Inherited from HasId

Inherited from InstanceId

Inherited from AnyRef

Inherited from Any

Ungrouped