Unified cross clock-domain queue interface. Utilizing the Chisel2 compatability layer.
The unified cross clock-domain queue interface.
final class AsyncBundle[T <: Data](val depth: Int, gen: T) extends Bundle
- I/O, type and Paramter
name | type | direction | description |
---|---|---|---|
T | Data | type | payload type |
depth | Int | param | size of queue |
gen | T | param | type parameter |
mem | Vec[T] | U | queue content for sink to read |
ridx | UInt | U.flip | read pointer from sink (grey code) |
widx | UInt | U | write pointer for source (grey code) |
ridx_valid | Bool | U.flip | sink side read pointer valid |
widx_valid | Bool | U | source side write pointer valid |
source_reset_n | Bool | U | source side reset (active low) |
sink_reset_n | Bool | U.flip | sink side reset (active low) |
Function to convert an AsyncBundle
input interface to a DecoupledIO
output.
- apply
[T <: Data](AsyncBundle[T], sync: Int = 3) => DecoupledIO[T]
Function to convert a ReadyValudIO
input to an AsyncBundle
output.
- apply
[T <: Data](ReadyValidIO[T], depth: Int = 8, sync: Int = 3) => AsyncBundle[T]
Last updated: 09/07/2017
CC BY-NC-SA 4.0, © (2017) Wei Song
Apache 2.0, © (2016-2017) SiFive, Inc
BSD, © (2012-2014, 2016) The Regents of the University of California (Regents)