9. TileLink and Diplomacy Reference
TileLink is the cache coherence and memory protocol used by RocketChip and other Chipyard generators. It is how different modules like caches, memories, peripherals, and DMA devices communicate with each other.
RocketChip’s TileLink implementation is built on top of Diplomacy, a framework for exchanging configuration information among Chisel generators in a two-phase elaboration scheme. For a detailed explanation of Diplomacy, see the paper by Cook, Terpstra, and Lee.
A brief overview of how to connect simple TileLink widgets can be found in the MMIO Peripherals section. This section will provide a detailed reference for the TileLink and Diplomacy functionality provided by RocketChip.
A detailed specification of the TileLink 1.7 protocol can be found on the SiFive website.
- 9.1. TileLink Node Types
- 9.2. Diplomacy Connectors
- 9.3. TileLink Edge Object Methods
- 9.4. Register Node
- 9.5. Diplomatic Widgets
- 9.5.1. TLBuffer
- 9.5.2. AXI4Buffer
- 9.5.3. AXI4UserYanker
- 9.5.4. AXI4Deinterleaver
- 9.5.5. TLFragmenter
- 9.5.6. AXI4Fragmenter
- 9.5.7. TLSourceShrinker
- 9.5.8. AXI4IdIndexer
- 9.5.9. TLWidthWidget
- 9.5.10. TLFIFOFixer
- 9.5.11. TLXbar and AXI4Xbar
- 9.5.12. TLToAXI4 and AXI4ToTL
- 9.5.13. TLROM
- 9.5.14. TLRAM and AXI4RAM