From f35a6a574f3386d282f9fcd9ef1fd692fe9e9c1c Mon Sep 17 00:00:00 2001 From: Henry Cook Date: Mon, 16 Mar 2015 13:25:01 -0700 Subject: [PATCH] Add a queue on released data coming in to L2 --- uncore/src/main/scala/cache.scala | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/uncore/src/main/scala/cache.scala b/uncore/src/main/scala/cache.scala index 8c65a20f..bc12cfeb 100644 --- a/uncore/src/main/scala/cache.scala +++ b/uncore/src/main/scala/cache.scala @@ -322,14 +322,22 @@ class L2HellaCacheBank(bankId: Int) extends HierarchicalCoherenceAgent require(isPow2(nWays)) val tshrfile = Module(new TSHRFile(bankId)) - val meta = Module(new L2MetadataArray) - val data = Module(new L2DataArray(1)) - tshrfile.io.inner <> io.inner - tshrfile.io.meta <> meta.io - tshrfile.io.data <> data.io + //TODO: Expose queue depths and data array pipeline cycles as parameters? + tshrfile.io.inner.acquire <> io.inner.acquire + tshrfile.io.inner.probe <> io.inner.probe + tshrfile.io.inner.release <> Queue(io.inner.release) + tshrfile.io.inner.grant <> io.inner.grant + tshrfile.io.inner.finish <> io.inner.finish + io.outer <> tshrfile.io.outer io.incoherent <> tshrfile.io.incoherent + + val meta = Module(new L2MetadataArray) + tshrfile.io.meta <> meta.io + + val data = Module(new L2DataArray(1)) + tshrfile.io.data <> data.io } class TSHRFileIO extends HierarchicalTLIO {