Skip to content

An RTL generator for a last-level shared inclusive TileLink cache controller

License

Notifications You must be signed in to change notification settings

moniriki/rocket-chip-inclusive-cache

 
 

Repository files navigation

Rocket Chip SoC Inclusive Cache Generator

This block package contains an RTL generator for creating instances of a coherent, last-level, inclusive cache. The InclusiveCache controller enforces coherence among a set of caching clients using an invalidation-based coherence policy implemetated on top of the the TileLink 1.8.1 coherence messaging protocol. This policy is implemented using a full-map of directory bits stored with each cache block's metadata tag.

The InclusiveCache is a TileLink adapter; it can be used as a drop-in replacement for Rocket-Chip's tilelink.BroadcastHub coherence manager. It additionally supplies a SW-controlled interface for flusing cache blocks based on physical addresses.

The following parameters of the cache are easily Config-urable: size, ways, banking and sub-banking factors, external bandwidth, network interface buffering.

Stand-alone unit tests coming soon.

This repository is a replacement for https://github.com/sifive/block-inclusivecache-sifive

About

An RTL generator for a last-level shared inclusive TileLink cache controller

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Scala 100.0%