object Queue
- Alphabetic
- By Inheritance
- Queue
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- class ShadowFactory extends AnyRef
A factory for creating shadow queues.
A factory for creating shadow queues. This is created using the
withShadow
method.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def apply[T <: Data](enq: ReadyValidIO[T], entries: Int = 2, pipe: Boolean = false, flow: Boolean = false, useSyncReadMem: Boolean = false, flush: Option[Bool] = None): DecoupledIO[T]
Create a Queue and supply a DecoupledIO containing the product.
Create a Queue and supply a DecoupledIO containing the product.
- enq
input (enqueue) interface to the queue, also determines type of queue elements.
- entries
depth (number of elements) of 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.- useSyncReadMem
True uses SyncReadMem instead of Mem as an internal memory element.
- flush
Optional Bool signal, if defined, the Queue.hasFlush will be true, and connect correspond signal to Queue instance.
- returns
output (dequeue) interface from the queue.
consumer.io.in <> Queue(producer.io.out, 16)
Example: - final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def irrevocable[T <: Data](enq: ReadyValidIO[T], entries: Int = 2, pipe: Boolean = false, flow: Boolean = false, useSyncReadMem: Boolean = false, flush: Option[Bool] = None): IrrevocableIO[T]
Create a queue and supply a IrrevocableIO containing the product.
Create a queue and supply a IrrevocableIO containing the product. Casting from DecoupledIO is safe here because we know the Queue has Irrevocable semantics. we didn't want to change the return type of apply() for backwards compatibility reasons.
- enq
DecoupledIO signal to enqueue.
- 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.
- useSyncReadMem
True uses SyncReadMem instead of Mem as an internal memory element.
- flush
Optional Bool signal, if defined, the Queue.hasFlush will be true, and connect correspond signal to Queue instance.
- returns
a DecoupledIO signal which should connect to the dequeue signal.
consumer.io.in <> Queue(producer.io.out, 16)
Example: - final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- def withShadow[T <: Data](enq: ReadyValidIO[T], entries: Int = 2, pipe: Boolean = false, flow: Boolean = false, useSyncReadMem: Boolean = false, flush: Option[Bool] = None): (DecoupledIO[T], ShadowFactory)
Create a Queue and supply a DecoupledIO containing the product.
Create a Queue and supply a DecoupledIO containing the product. This additionally returns a ShadowFactory which can be used to build shadow datapaths that work in lockstep with this Queue.
- enq
input (enqueue) interface to the queue, also determines type of queue elements.
- entries
depth (number of elements) of 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.- useSyncReadMem
True uses SyncReadMem instead of Mem as an internal memory element.
- flush
Optional Bool signal, if defined, the Queue.hasFlush will be true, and connect correspond signal to Queue instance.
- returns
output (dequeue) interface from the queue and a ShadowFactory for creating shadow Queues
This is the documentation for Chisel.
Package structure
The chisel3 package presents the public API of Chisel. It contains the concrete core types
UInt
,SInt
,Bool
,Clock
, andReg
, the abstract typesBits
,Aggregate
, andData
, and the aggregate typesBundle
andVec
.The Chisel package is a compatibility layer that attempts to provide chisel2 compatibility in chisel3.
Utility objects and methods are found in the
util
package.The
testers
package defines the basic interface for chisel testers.