OCP VIP: A cost effective and robust qualification process for multimedia and telecom SoC designs
Angelo Di Blasi, Gabriele Orlandi and Stefano Lorenzini, Yogitech
By Angelo Di Blasi, Gabriele Orlandi and Stefano Lorenzini, Yogitech
Embedded.com
(01/09/08, 12:37:00 AM EST)
Open Core Protocol (OCP) flexibility, configurability and scalability are the key elements making OCP massively used and successful into major electronics markets. Upon these characteristics any IP can adopt the best interface for the connection to the OCP backbone with immediate benefit for bandwidth capability. This has made OCP broadly used in many applications like multimedia, telecom and gaming.

In these consumer market domains, time-to-market the key success factor for products; as a consequence a straightforward and silicon proven verification process aiming at first-time-working SoC becomes mandatory to win over competitors and to avoid silicon re-spins.

<>In contrast to other protocols, the OCP characteristics offer to system architects an unprecedented added value that must be coupled with powerful and silicon-proven verification techniques like the usage of mature VIP for the validation of functionality of the SoC with OCP on board. On the other hand, the substantial impossibility to define an OCP conformance test exposes SoC to functional risks, a serious worry for system designers.

However, any risk is drastically reduced when a solid and comprehensive VIP Qualification Process (QP) is available, because this will ensure best-in-class quality level, a measure of reliability, then robustness.

The ideal scenario
The ideal scenario of achieving an exhaustive OCP VIP Qualification Process is a dramatic challenge since the number of the allowed profiles, interface configurations and any combination of them make practically not viable to set up a QP according to such approach: the massive cost for the high multiplicity and the undetermined level of reliability, a consequence of the lack of a OCP ISO conformance test.

The Qualification Process (QP) for OCP VIP implemented by Yogitech Verification Team has been setup with a rigorous heuristic approach, and it is a distilled format of the long lasting experience of product support, with many OCP-based designs having ended on silicon.

It is based on a methodology capable to extend the OCP-IP consortium official checks, coverage items and standard configurations with a larger number of profiles, filtered with a systematic methodology and robust metrics.

The QP selective regression test suite is shaped in such a way to get unprecedented level of cross-coverage over both the whole set of profiles and features. This approach increases OCP VIP quality and robustness to the highest level, allowing the final users to trust the verification process, whatever profile or configuration they have chosen to use.

Stepping down into details of the qualification process, it is necessary to remind that OCP offers two degrees of freedom in profiling interfaces: one dimension is the signals list; the other one accommodates the features list. Following this conceptual schematization of the standard we can describe any profile master as a two-dimensional table where axes are the signals and the features, respectively.

Figure 1: A table master is a matrix able to accommodate signals and features for each ocp profile, highlighting forbidden combinations.

The table master in Figure 1 above includes blackened cells to represent the forbidden combinations of signals and features.

An actual profile is described by a table where it is possible to characterise different scenarios by simply checking the white cells of the enabled feature or the connected signal. By overlapping all the tables, filtering all the white cells with at least a check mark, all the features and all the corresponding signals have been applied at least once.

Even though this is not an exhaustive method, it is a straightforward way to create a comprehensive and distilled set of the many configurations of practical use. Then, this mapping process facilitates detecting if gaps are still present, either in the features list or in the signals list.

Figure 2: OCP space results from the overlap of individual profiles where tested combinations are checked out.

As shown in Figure 2 above, one can keep on accumulating scenarios for a complete coverage of all the cells. Process can be extended until each of the cell has been checked a pre-defined number of times, the higher the number, the most the qualification process can be rated in terms of robustness.

The OCP VIP is made of an active part driving the interface signals and a passive one, monitoring the timing correctness, phase ordering, etc., of interface signals resulting in two validation aspects. Regarding the active part, the so called Bus Functional Model (BFM), the qualification process is focussed on signal driving and as a consequence all the OCP features and all the OCP signals need to be activated.

For a qualification of the traffic, once a complete set of profiles has been created the associated tests can be efficiently shaped and executed. Tests can be random, semi random or deterministic and they can be applied to more than one configuration.

As a mere example, if the number of configurations is K and one test is usable for the 50% of the configurations, in case of T tests available the regression will be based on 0.5*T*K scenarios. Thanks to the randomization on tests, every scenario can be run several times and this will increase the number of executed tests and consequently the confidence on the VIP BFM quality.

During such process, the VIP monitor will check if signals were driven correctly and any failure or misconduct will provide elements to improve either the BFM or the monitor itself.

As previously mentioned VIP monitor is a static and dynamic protocol checker and it is a fully passive agent helping in protocol violation and forbidden configurations detection. As well as the BFM, it needs to be validated with respect to environments emulating both a faulty and correct behaviour; a faulty environment will cause the check to be alerted, a correct environment should not activate any of the checks.

If coverage is active on certain set of checks, tests and configurations can be further extended, verifying that each of those checks has been active. This means that the overall VIP robustness can be made even better by adding random error injection and running twice the full regression test. Benefits of the parallel approach are quite evident, because both driving and checking are cross validated.

This QP for OCP allows a reliable exploitation of protocol flexibility and interface configurability, Thanks to the QP qualification process, flexibility and configurability are trustfully mirrored into the VIP that can be easily reused in multiple OCP based projects, at any level.

Figure 3. Methodology in use at yogitech to qualify ocp vip at every new product version release

Quality and stability in an OCP VIP bring direct and indirect benefits to the user. The process of qualification of the OCP VIP also generates a reference model to be used for new OCP soft models creation.

In the following two cases are presented as examples: the first is a regression environment that the user can architect to validate its own OCP model, the second one represents a smooth migration path that starts from a VIP implemented with a powerful and mature object oriented language (the e-language) and it targets native System Verilog equivalent solution.

OCP VIP + QP become a Reference Model
In this case, a user proprietary assertion based model is validated and qualified against the OCP VIP reference model using a per-profile approach.

As shown in Figure 4 below, The assertion based model is typically not configurable and a new model version must be designed each time the customer changes the profile. After configuring the OCP VIP reference models (master and slave) in the proper manner, according to the model profile to validate, a regression test is executed.

This process is similar to that adopted for the OCP VIP and it is mainly based on the protocol checker. In fact this element of the reference OCP VIP has been tested in a faulty and non-faulty environment, in other words with and without protocol errors and the objective was to see only the expected error messages or not to see any error message. In the same way, for the user's defined assertion model, protocol errors are injected during the simulation in order to activate all the interested OCP checks that are also present in the new model under verification.

Figure 4 - Verification flow to achieve comprehensive regression process for qualification of Yogitech's OCP VIP

Errors generated by the model under qualification are then compared against those resulting from the reference model and they must correspond. In this case the regression process is iterated twice, with and without protocol fault injections, in order to assure that all the OCP rules allowed for the profile have been properly implemented into the model under test (avoid false positive in the user simulation) and all of them are semantically correct (avoid false negative in the user simulation).

The process can be easily executed on a unique robust OCP VIP, every time a new assertion model is created for a specific OCP profile, instead of creating application specific versions or design specific derivatives of the OCP VIP, with the consequential divergence of maintenance issues.

OCP VIP trustful migration from "e" to System Verilog
It is not so obvious that the quality and maturity of a VIP can be automatically inherited by new VIP targeting the same protocol. The protocol knowledge and the VIP coverage respect to all the allowed and possible configurations are embedded in the product and it is not so banal to export to a new VIP.

The OCP VIP regression test suite is by construction complete enough to cover almost all the OCP features and interfaces with a reasonable number of tests and then it can guarantee that also the new VIP in a different verification language, for instance in System Verilog, will be complete and will have the same level of maturity.

Taking into account that technologies able to automatically or semi-automatically wrap a native e-language core are available, this process of quality migration can be divided in two steps. During a first step the OCP VIP implemented by using the e-language (OCP eVC in the following), qualified as core technology with the previously mentioned methodology for the Qualification Process, is used as a proven and reliable model that can be wrapped and used in a multi-language verification environments.

In the second step, the wrapped eVC and the OCP qualification process are used as reference model and regression test suite to validate another OCP VIP implemented in a different native language.

Figure 5 below shows the two steps performed to port an e VIP in a native System Verilog solution with the goal to transfer the level of maturity of the reference VIP into the new one.

Figure 5 " A practical case: how Yogitech regression suite enable a robust transfer of maturity through a technology transition

During the first step the core technology (eVC) is wrapped in order to get a System Verilog equivalent VIP. This VIP is usable into a System Verilog environment with no evidence of the e embedded core. This process is automatic and it also includes the translation for sequences or transactions used in the tests.

In the second step the new "wrapped" VIP is used as a reference model to validate the System Verilog native solution. It is connected side-to-side to the System Verilog VIP, one time acting as a Master that initiates and drives OCP traffic and one time acting as a slave that reacts to OCP traffic initiated by the new VIP. The second step is then applied twice inverting the master and the slave to qualify both the agents.

The silicon-proven core technology of the OCP eVC/uVC, well preserved by means of the Qualification Process presented here, makes that both quality and robustness of the e model are transferred also to other solutions enabling robust and flexible VIP usage in a mixed language verification environment.

Angelo Diblasi is currently a senior verification engineer, Yogitech, in the Verification Solutions Business. In this role, he is responsible for the verification methodology and of the company's OCP Verification IP. He leads a team that has gathered many years of experience supporting multiple world-class companies in deploying OCP eVC in their Verification flow.

Stefano Lorenzini is Engineering Manager at Yogitech and leads design teams carrying out activities at both company's business lines of Verification Solutions and "faultRobust Technology". Stefano has gathered more than 12 years of experience in semiconductor industries as Alcatel and ST, where he was managing ADSL and Gateway programs based on embedded multiprocessors and custom DSPs.

Gabriele Orlandi is General Manager at Yogitech; as interim manager of the Verification Solutions business unit, he takes care of the relationship with company's VIP licensees and selects market feedback to be included into products' roadmap. Before joining Yogitech, Gabriele was a consultant of Italian industries and Research Institutes for business innovation and technology-based initiatives.