Skip to content
DenseChip
Learn
PracticeCode labInterview

DenseChip

Navigate

Menu

LearnPracticeCode labInterview

Tools

All toolsSV editorCode repoResume
DenseChip

Practice, courses, and chip-design tools in one focused workspace.

LearnPracticeCode labInterviewToolsLearning paths

© 2026 DenseChip

AboutContactPrivacyTerms
Skip to lesson

Course contents

  • How to Use This Course
  • Reading Path
  • Cache Coherency Glossary
  • The Shared Course Model
  • Cache Coherency Revision Sheet
  • Why Coherence Exists8
  • States and Protocols12
  • Transactions12
  • Races and Controller Design8
  • Progress and the Fabric16
  • Ordering and Synchronization12
  • Performance and Scalability12
  • Real Protocols12
    • MESI Versus MOESI Trade-Offs
    • CHI and ACE Message Models
    • TileLink and Custom Coherence Extensions
      • TileLink Permissions
      • TileLink Transactions
      • Custom Extensions and Their Risks
      • Protocol Comparison Sheet
  • SoC Integration12
  • Power, Clocking and Reliability12
  • Verification12
  • Debug and Bring-up12
  • Interview and Design Review17
  • Capstone: A Coherent Model Lab5
Loading lesson

‹Real Protocols
  1. Topics
  2. Cache Coherency
  3. Real Protocols
  4. TileLink and Custom Coherence Extensions

Part 8 · Real Protocols · All levels

TileLink and Custom Coherence Extensions

Read TileLink's channels, permissions and transfer messages on the course model, then judge what any custom protocol extension costs.

  • 4topics
  • 4lessons

TileLink is an open interconnect standard with a cached conformance level (TL-C). Its vocabulary looks unfamiliar: five lettered channels, permissions called Branch, Trunk and Tip, and messages called Acquire, Probe and Release. Underneath, it answers the same questions as the course protocol: who serializes a line, who may supply data, and which message tells the home that a transaction is complete. This topic maps it onto the course model, then uses what you learned to judge extensions that teams add to any base protocol.

Facts about TileLink are taken from the SiFive TileLink Specification, version 1.8.1 (27 January 2020). Where this topic compares with ACE and CHI it uses Arm IHI 0022 Issue H.c and Arm IHI 0050 Issue E.a, which the CHI and ACE lessons cover in depth.

Lesson

After it you can...

TileLink Permissions

Name the conformance levels, the five channels and their priority order, and map None, Branch, Trunk and Tip onto course states.

TileLink Transactions

Translate Acquire, Probe and Release flows into course messages, row by row, including the GrantAck completion.

Custom Extensions and Their Risks

Evaluate a proposed extension: state table diff, message class, new transient states and a model check.

Protocol Comparison Sheet

Compare the course model, ACE, CHI and TileLink on serialization, channels, states, completion, data routing and retry.

Suggested order: permissions, then transactions, then the comparison sheet. Read the extensions lesson last, because it uses the channel-priority argument from the first lesson.

Check yourself TileLink has no message called Inv. How does a TileLink home take a read copy away from a cache?

With a Probe on channel B whose parameter caps the cache's permission at None (toN). The cache answers on channel C with ProbeAck (or ProbeAckData if it must return dirty data), reporting the transition it made, for example BtoN. That pair plays the role of Inv and Inv-Ack.

Related topics

  • Shared course model

  • CHI and ACE message models

  • Message classes and deadlock

PreviousNext: TileLink Permissions

Up next

Up nextTileLink Permissions

Sign in to save progress

Practice this lessonReport an error

See also

  • MESI Versus MOESI Trade-Offs
  • CHI and ACE Message Models