Skip to content
This repository has been archived by the owner on Jun 24, 2021. It is now read-only.

Latest commit

 

History

History
56 lines (40 loc) · 2.53 KB

AsyncBundle.md

File metadata and controls

56 lines (40 loc) · 2.53 KB

Unified cross clock-domain queue interface. Utilizing the Chisel2 compatability layer.


final class AsyncBundle

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)

object FromAsyncBundle

Function to convert an AsyncBundle input interface to a DecoupledIO output.

  • apply [T <: Data](AsyncBundle[T], sync: Int = 3) => DecoupledIO[T]

object ToAsyncBundle

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)