├── .github └── workflows │ └── main.yml ├── .gitignore ├── .gitmodules ├── .mill-version ├── .scalafmt.conf ├── LICENSE ├── LICENSE.SiFive ├── Makefile ├── README.md ├── common.sc ├── scripts └── state_transition.py └── src ├── main ├── resources │ ├── ClockMask2.v │ └── TLLogWriter.v └── scala │ └── huancun │ ├── BankedXbar.scala │ ├── BaseDirectory.scala │ ├── BaseMSHR.scala │ ├── BaseSinkC.scala │ ├── Common.scala │ ├── CtrlUnit.scala │ ├── DataStorage.scala │ ├── HCCacheParameters.scala │ ├── HuanCun.scala │ ├── MSHRAlloc.scala │ ├── MetaData.scala │ ├── RefillBuffer.scala │ ├── RequestBuffer.scala │ ├── SinkA.scala │ ├── SinkB.scala │ ├── SinkD.scala │ ├── SinkE.scala │ ├── Slice.scala │ ├── SourceA.scala │ ├── SourceB.scala │ ├── SourceC.scala │ ├── SourceD.scala │ ├── SourceE.scala │ ├── TopDownMonitor.scala │ ├── debug │ └── DirectoryLogger.scala │ ├── inclusive │ ├── Directory.scala │ ├── MSHR.scala │ └── SinkC.scala │ ├── noninclusive │ ├── Directory.scala │ ├── MSHR.scala │ ├── ProbeHelper.scala │ ├── SinkC.scala │ └── SliceCtrl.scala │ ├── prefetch │ ├── BestOffsetPrefetch.scala │ ├── PrefetchParameters.scala │ ├── PrefetchReceiver.scala │ ├── Prefetcher.scala │ ├── TPmeta.scala │ └── TPmetaParameters.scala │ └── utils │ ├── CustomAnnotations.scala │ ├── SRAMTemplate.scala │ ├── SRAMWrapper.scala │ └── Throttle.scala └── test └── scala ├── huancun ├── AcquireTester.scala ├── AllocatorTest.scala ├── DSTest.scala ├── ExampleSystem.scala ├── FakeClient.scala ├── L2Tester.scala ├── TLDebugNode.scala ├── TestTop.scala └── tlctest │ ├── DirConflictTester.scala │ ├── RandomTester.scala │ └── TLCTest.scala └── tltest ├── BigIntUtils.scala ├── TLCAgent.scala └── TLCScalaMessage.scala /.github/workflows/main.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/.github/workflows/main.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/.gitignore -------------------------------------------------------------------------------- /.gitmodules: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/.gitmodules -------------------------------------------------------------------------------- /.mill-version: -------------------------------------------------------------------------------- 1 | 0.11.1 2 | -------------------------------------------------------------------------------- /.scalafmt.conf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/.scalafmt.conf -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/LICENSE -------------------------------------------------------------------------------- /LICENSE.SiFive: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/LICENSE.SiFive -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/README.md -------------------------------------------------------------------------------- /common.sc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/common.sc -------------------------------------------------------------------------------- /scripts/state_transition.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/scripts/state_transition.py -------------------------------------------------------------------------------- /src/main/resources/ClockMask2.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/resources/ClockMask2.v -------------------------------------------------------------------------------- /src/main/resources/TLLogWriter.v: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/resources/TLLogWriter.v -------------------------------------------------------------------------------- /src/main/scala/huancun/BankedXbar.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/BankedXbar.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/BaseDirectory.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/BaseDirectory.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/BaseMSHR.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/BaseMSHR.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/BaseSinkC.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/BaseSinkC.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/Common.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/Common.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/CtrlUnit.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/CtrlUnit.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/DataStorage.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/DataStorage.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/HCCacheParameters.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/HCCacheParameters.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/HuanCun.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/HuanCun.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/MSHRAlloc.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/MSHRAlloc.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/MetaData.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/MetaData.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/RefillBuffer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/RefillBuffer.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/RequestBuffer.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/RequestBuffer.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SinkA.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SinkA.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SinkB.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SinkB.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SinkD.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SinkD.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SinkE.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SinkE.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/Slice.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/Slice.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SourceA.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SourceA.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SourceB.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SourceB.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SourceC.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SourceC.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SourceD.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SourceD.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/SourceE.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/SourceE.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/TopDownMonitor.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/TopDownMonitor.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/debug/DirectoryLogger.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/debug/DirectoryLogger.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/inclusive/Directory.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/inclusive/Directory.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/inclusive/MSHR.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/inclusive/MSHR.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/inclusive/SinkC.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/inclusive/SinkC.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/noninclusive/Directory.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/noninclusive/Directory.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/noninclusive/MSHR.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/noninclusive/MSHR.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/noninclusive/ProbeHelper.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/noninclusive/ProbeHelper.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/noninclusive/SinkC.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/noninclusive/SinkC.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/noninclusive/SliceCtrl.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/noninclusive/SliceCtrl.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/prefetch/BestOffsetPrefetch.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/prefetch/BestOffsetPrefetch.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/prefetch/PrefetchParameters.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/prefetch/PrefetchParameters.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/prefetch/PrefetchReceiver.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/prefetch/PrefetchReceiver.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/prefetch/Prefetcher.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/prefetch/Prefetcher.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/prefetch/TPmeta.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/prefetch/TPmeta.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/prefetch/TPmetaParameters.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/prefetch/TPmetaParameters.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/utils/CustomAnnotations.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/utils/CustomAnnotations.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/utils/SRAMTemplate.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/utils/SRAMTemplate.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/utils/SRAMWrapper.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/utils/SRAMWrapper.scala -------------------------------------------------------------------------------- /src/main/scala/huancun/utils/Throttle.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/main/scala/huancun/utils/Throttle.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/AcquireTester.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/AcquireTester.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/AllocatorTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/AllocatorTest.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/DSTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/DSTest.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/ExampleSystem.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/ExampleSystem.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/FakeClient.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/FakeClient.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/L2Tester.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/L2Tester.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/TLDebugNode.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/TLDebugNode.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/TestTop.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/TestTop.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/tlctest/DirConflictTester.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/tlctest/DirConflictTester.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/tlctest/RandomTester.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/tlctest/RandomTester.scala -------------------------------------------------------------------------------- /src/test/scala/huancun/tlctest/TLCTest.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/huancun/tlctest/TLCTest.scala -------------------------------------------------------------------------------- /src/test/scala/tltest/BigIntUtils.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/tltest/BigIntUtils.scala -------------------------------------------------------------------------------- /src/test/scala/tltest/TLCAgent.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/tltest/TLCAgent.scala -------------------------------------------------------------------------------- /src/test/scala/tltest/TLCScalaMessage.scala: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/OpenXiangShan/HuanCun/HEAD/src/test/scala/tltest/TLCScalaMessage.scala --------------------------------------------------------------------------------