Hi all,

Need some clarification in the tilelink spec

  1. What is the difference between a Trunk and Branch ? I am not able to make it out from the spec.

  2. When will the final specification of Tilelink released ?



Where the path up the tree from the root/outermost agent is exclusive, that’s trunk. From the agent in the tree where there are multiple paths, those are branches. The most inward agent still on the trunk is the tip.

From the spec I understand that Trunk and Branch are having the same permission(read), then how is BtoT specified as Grow ?

Trunk and Branch are not the same. If you are the innermost agent with Trunk, ie. the Tip, you have write permissions if there are no Branches. If you are further outward along the Trunk from the Tip you have NO permissions. Branch is always inward from the Tip and always has read permissions.

The spec mentions in page-86
"In other words, implementations may choose to utilize an update-based protocol rather than an invalidation-based one."

Can I use tilelink to implement an invalidation-based protocol ?
Does Sifive processors support invalidation based or update based protocol ?

Our current implementations are invalidation-based.

Any updates on release of final Tilelink Specification ?