A team designs a PCI Express endpoint and its testbench. Every test passes. At the first interoperability event, the endpoint fails to work with three other vendors' root ports. The team had read one requirement in the specification differently from everyone else, and since the same engineers wrote the design and the tests, the tests checked the same misreading. The design was consistent with itself, not with the standard.
How do you check an implementation against the specification, rather than against your own reading of it?
The obvious answer is a thorough in-house testbench. But a testbench checks what its authors believe the specification says. When the designer and the verification engineer sit together and resolve ambiguities together, their misunderstandings agree, and the tests pass. The check needs a second, independent reading of the specification, ideally one already tested against many other implementations.
Verification IP (VIP) is a reusable, independently written implementation of a standard protocol for testbenches:
VIP part | Does |
|---|---|
Active agent | Plays the partner: drives legal traffic, corner cases and injected errors, and responds as a compliant partner would |
Protocol checker | Assertions for every rule of the standard (lesson 15.3) |
Monitor and scoreboard hooks | Rebuilt transactions for the user's checks (lessons 15.4, 15.5) |
Coverage model | The standard's situations, ready to measure (lesson 15.6) |
Compliance sequences | Tests derived from the standard's requirements |
Situation | Choice | Because |
|---|---|---|
Standard protocol (PCIe, USB, Ethernet, AXI) | Buy VIP | An independent reading, already exercised against many designs; the standard is too large to model from scratch |
Your own protocol (DCLink) | Build it, with a separate author | Nobody else has it; independence comes from a different engineer writing from the specification alone |
Interoperability sign-off | Compliance testing and plugfests | The final test is real partners, not models |
Compliance programmes test silicon against the standard, often at events where many vendors' products are tested together.
Interoperability is the real goal: a VIP pass is evidence, a working link with other vendors' parts is proof.
Feedback: every interoperability failure becomes a new test, in the VIP or in your own suite.
Standard | Compliance |
|---|---|
PCI Express | PCI-SIG compliance workshops; passing products are listed on the Integrators List (fact P37) |
USB | USB-IF certification programme (fact P37) |
AMBA AXI | No certification; Arm's protocol assertions and commercial VIP serve as the independent check (fact A29) |
The opening endpoint (illustrative) was re-verified with commercial VIP, whose checker flagged the misread requirement on the first test. Two other issues found by the VIP's compliance sequences were also present in silicon; all three were fixed in the next revision, which passed the following compliance workshop.
If both were written from the same misreading of the specification, the tests check the misreading, not the standard.
It plays a compliant partner and drives legal corner cases and injected errors the design must handle.
A design and testbench from the same team share the same misreadings of the specification.
VIP is an independent model of the standard: agent, checker, coverage and compliance sequences.
Buy it for standards, build it independently for your own protocols, and finish with compliance on silicon.