Skip to content

Commit

Permalink
Merge pull request #3637 from ksungkeun84/master
Browse files Browse the repository at this point in the history
Add IO Connections for Custom User Field in TL Channels within Xbar
  • Loading branch information
jerryz123 authored Jul 18, 2024
2 parents f50b0db + afe77ac commit 4b33216
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/main/scala/devices/tilelink/PhysicalFilter.scala
Original file line number Diff line number Diff line change
Expand Up @@ -240,7 +240,7 @@ class PhysicalFilter(params: PhysicalFilterParams)(implicit p: Parameters) exten

// Frame an appropriate deny message
val denyValid = RegInit(false.B)
val deny = Reg(in.d.bits)
val deny = Reg(chiselTypeOf(in.d.bits))
val d_opcode = TLMessages.adResponse(in.a.bits.opcode)
val d_grant = edgeIn.manager.anySupportAcquireB.B && deny.opcode === TLMessages.Grant
when (in.a.valid && !allow && deny_ready && a_first) {
Expand All @@ -262,7 +262,7 @@ class PhysicalFilter(params: PhysicalFilterParams)(implicit p: Parameters) exten
}
}

val out_d = Wire(in.d.bits)
val out_d = Wire(chiselTypeOf(in.d.bits))
out_d := out.d.bits

// Deny can have unconditional priority, because the only out.d message possible is
Expand Down
8 changes: 4 additions & 4 deletions src/main/scala/tilelink/Xbar.scala
Original file line number Diff line number Diff line change
Expand Up @@ -161,8 +161,8 @@ object TLXbar
val r = inputIdRanges(i)

if (connectAIO(i).exists(x=>x)) {
in(i).a.squeezeAll.waiveAll :<>= io_in(i).a.squeezeAll.waiveAll
in(i).a.bits.user := DontCare
in(i).a.squeezeAll.waiveAll :<>= io_in(i).a.squeezeAll.waiveAll
in(i).a.bits.source := io_in(i).a.bits.source | r.start.U
} else {
in(i).a := DontCare
Expand All @@ -182,8 +182,8 @@ object TLXbar
}

if (connectCIO(i).exists(x=>x)) {
in(i).c.squeezeAll.waiveAll :<>= io_in(i).c.squeezeAll.waiveAll
in(i).c.bits.user := DontCare
in(i).c.squeezeAll.waiveAll :<>= io_in(i).c.squeezeAll.waiveAll
in(i).c.bits.source := io_in(i).c.bits.source | r.start.U
} else {
in(i).c := DontCare
Expand Down Expand Up @@ -218,8 +218,8 @@ object TLXbar
val r = outputIdRanges(o)

if (connectAOI(o).exists(x=>x)) {
io_out(o).a.squeezeAll.waiveAll :<>= out(o).a.squeezeAll.waiveAll
out(o).a.bits.user := DontCare
io_out(o).a.squeezeAll.waiveAll :<>= out(o).a.squeezeAll.waiveAll
} else {
out(o).a := DontCare
io_out(o).a := DontCare
Expand All @@ -237,8 +237,8 @@ object TLXbar
}

if (connectCOI(o).exists(x=>x)) {
io_out(o).c.squeezeAll.waiveAll :<>= out(o).c.squeezeAll.waiveAll
out(o).c.bits.user := DontCare
io_out(o).c.squeezeAll.waiveAll :<>= out(o).c.squeezeAll.waiveAll
} else {
out(o).c := DontCare
io_out(o).c := DontCare
Expand Down

0 comments on commit 4b33216

Please sign in to comment.