From 69d6499e3e6a8e017576bbc884ded2cebe6b6ba6 Mon Sep 17 00:00:00 2001 From: "Wesley W. Terpstra" Date: Thu, 14 May 2020 16:56:04 -0700 Subject: [PATCH] Fragmenter: when extending denied, we must also extend corrupt The TL spec requires denied messages with data to be also corrupt. In cases where the Fragmenter extends the denied signal, it must also ensure that corrupt is also raised. --- src/main/scala/tilelink/Fragmenter.scala | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/main/scala/tilelink/Fragmenter.scala b/src/main/scala/tilelink/Fragmenter.scala index 063d4beab0..1766760e0b 100644 --- a/src/main/scala/tilelink/Fragmenter.scala +++ b/src/main/scala/tilelink/Fragmenter.scala @@ -228,7 +228,8 @@ class TLFragmenter(val minSize: Int, val maxSize: Int, val alwaysMin: Boolean = // Take denied only from the first beat and hold that value val d_denied = out.d.bits.denied holdUnless dFirst when (dHasData) { - in.d.bits.denied := d_denied + in.d.bits.denied := d_denied + in.d.bits.corrupt := d_denied || out.d.bits.corrupt } }