FIFO¶
FIFOs (first-in, first-out) are on-chip scratchpads with additional control logic for address-less enqueue/dequeue operations. FIFOs preserve the ordering between elements as they are enqueued. A FIFO’s deq operation always returns the oldest enqueued element which has not yet been dequeued.
Static methods
object FIFO | |
---|---|
Infix methods
class FIFO[T] | |
---|---|
def empty(): Bit
Returns true when this FIFO contains no elements, false otherwise.
|
|
def full(): Bit
Returns true when this FIFO cannot fit any more elements, false otherwise.
|
|
def almostEmpty(): Bit
Returns true when this FIFO contains exactly one element, false otherwise.
|
|
def almostFull(): Bit
Returns true when this FIFO can fit exactly one more element, false otherwise.
|
|
def numel(): Index
Returns the number of elements currently in this FIFO.
|
|
def enq(data: T): Unit
Creates an enqueue (write) port of data to this FIFO.
|
|
def deq(): T
Creates a dequeue (destructive read) port from this FIFO.
|
|
def deq(en: Bit): T
Creates a dequeue (destructive read) port from this FIFO, enabled by en.
|
|
def peek(): T
Creates a non-destructive read port from this FIFO.
|
|
def load(dram: DRAMDenseTile1[T]): Unit
Creates a dense, burst load from the specified region of DRAM to this on-chip memory.
|
|
def gather(dram: DRAMSparseTile[T]): Unit
Creates a sparse load from the specified sparse region of DRAM to this on-chip memory.
|