Begin adding TLDataBeats to uncore
This commit is contained in:
parent
404773eb9f
commit
2f733a60db
@ -25,13 +25,13 @@ class BasicCrossbarIO[T <: Data](n: Int, dType: T) extends Bundle {
|
||||
|
||||
abstract class PhysicalNetwork extends Module
|
||||
|
||||
class BasicCrossbar[T <: Data](n: Int, dType: T, count: Int = 1) extends PhysicalNetwork {
|
||||
class BasicCrossbar[T <: Data](n: Int, dType: T, count: Int = 1, needsLock: Option[PhysicalNetworkIO[T] => Bool] = None) extends PhysicalNetwork {
|
||||
val io = new BasicCrossbarIO(n, dType)
|
||||
|
||||
val rdyVecs = List.fill(n){Vec.fill(n)(Bool())}
|
||||
|
||||
io.out.zip(rdyVecs).zipWithIndex.map{ case ((out, rdys), i) => {
|
||||
val rrarb = Module(new LockingRRArbiter(io.in(0).bits, n, count))
|
||||
val rrarb = Module(new LockingRRArbiter(io.in(0).bits, n, count, needsLock))
|
||||
(rrarb.io.in, io.in, rdys).zipped.map{ case (arb, in, rdy) => {
|
||||
arb.valid := in.valid && (in.bits.header.dst === UInt(i))
|
||||
arb.bits := in.bits
|
||||
|
@ -10,12 +10,14 @@ case object TLAddrBits extends Field[Int]
|
||||
case object TLMasterXactIdBits extends Field[Int]
|
||||
case object TLClientXactIdBits extends Field[Int]
|
||||
case object TLDataBits extends Field[Int]
|
||||
case object TLDataBeats extends Field[Int]
|
||||
|
||||
abstract trait TileLinkParameters extends UsesParameters {
|
||||
val tlAddrBits = params(TLAddrBits)
|
||||
val tlClientXactIdBits = params(TLClientXactIdBits)
|
||||
val tlMasterXactIdBits = params(TLMasterXactIdBits)
|
||||
val tlDataBits = params(TLDataBits)
|
||||
val tlDataBeats = params(TLDataBeats)
|
||||
val tlWriteMaskBits = if(tlDataBits/8 < 1) 1 else tlDataBits
|
||||
val tlSubblockAddrBits = log2Up(tlWriteMaskBits)
|
||||
val tlAtomicOpcodeBits = log2Up(NUM_XA_OPS)
|
||||
|
Loading…
Reference in New Issue
Block a user