It is tempting to picture UALink as a clean line between two accelerators: requests enter one side, responses emerge from the other. The abstraction is useful — but it conceals almost everything that makes the protocol interesting, and almost everything that makes it difficult to verify.
Verifying UALink means following a transaction the way the silicon does: down through four layers, out ...
» read more