uncore

HasDataBeatCounters

trait HasDataBeatCounters extends AnyRef

Utility trait containing wiring functions to keep track of how many data beats have been sent or recieved over a particular uncore.TileLinkChannel or pair of channels.

Won't count message types that don't have data. Used in uncore.XactTracker and uncore.FinishUnit.

Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. HasDataBeatCounters
  2. AnyRef
  3. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Type Members

  1. type HasBeat = TileLinkChannel with HasTileLinkBeatId

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  5. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  6. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. def connectDataBeatCounter[S <: TileLinkChannel](inc: Bool, data: S, beat: UInt): (UInt, Bool)

    Returns the current count on this channel and when a message is done

    Returns the current count on this channel and when a message is done

    inc

    increment the counter (usually .valid or .fire())

    data

    the actual channel data

    beat

    count to return for single-beat messages

  9. def connectIncomingDataBeatCounter[T <: TileLinkChannel](in: DecoupledIO[T]): Bool

    Returns done but not cnt.

    Returns done but not cnt. Use the addr_beat subbundle instead of cnt for beats on incoming channels in case of network reordering.

  10. def connectIncomingDataBeatCounterWithHeader[T <: TileLinkChannel](in: DecoupledIO[LogicalNetworkIO[T]]): Bool

    Counter for beats on incoming DecoupledIO[LogicalNetworkIO[]]s returns done

  11. def connectIncomingDataBeatCountersWithHeader[T <: TileLinkChannel with HasClientTransactionId](in: DecoupledIO[LogicalNetworkIO[T]], entries: Int, getId: (LogicalNetworkIO[T]) ⇒ UInt): Vec[Bool]

    If the network might interleave beats from different messages, we need a Vec of counters, one for every outstanding message id that might be interleaved.

    If the network might interleave beats from different messages, we need a Vec of counters, one for every outstanding message id that might be interleaved.

    getId

    mapping from Message to counter id

  12. def connectOutgoingDataBeatCounter[T <: TileLinkChannel](in: DecoupledIO[T], beat: UInt = UInt(0)): (UInt, Bool)

    Counter for beats on outgoing chisel.DecoupledIO

  13. def connectTwoWayBeatCounter[T <: TileLinkChannel, S <: TileLinkChannel](max: Int, up: DecoupledIO[T], down: DecoupledIO[S], beat: UInt = UInt(0), track: (T) ⇒ Bool = (t: T) => Bool(true)): (Bool, UInt, Bool, UInt, Bool)

    Provides counters on two channels, as well a meta-counter that tracks how many messages have been sent over the up channel but not yet responded to over the down channel

    Provides counters on two channels, as well a meta-counter that tracks how many messages have been sent over the up channel but not yet responded to over the down channel

    max

    max number of outstanding ups with no down

    up

    outgoing channel

    down

    incoming channel

    beat

    overrides cnts on single-beat messages

    track

    whether up's message should be tracked

    returns

    a tuple containing whether their are outstanding messages, up's count, up's done, down's count, down's done

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

    Definition Classes
    AnyRef
  15. def equals(arg0: Any): Boolean

    Definition Classes
    AnyRef → Any
  16. def finalize(): Unit

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

    Definition Classes
    AnyRef → Any
  18. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  19. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  20. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  21. final def notify(): Unit

    Definition Classes
    AnyRef
  22. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  23. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  24. def toString(): String

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

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped