Open Core Protocol (OCP) flexibility, configurability and scalabilityare the key elements making OCP massively used and successful intomajor electronics markets. Upon these characteristics any IP can adoptthe best interface for the connection to the OCPbackbone with immediate benefitfor bandwidth capability. This has made OCP broadly used in manyapplications like multimedia, telecom and gaming.
In these consumer market domains, time-to-market the key successfactor for products; as a consequence a straightforward and siliconproven verification process aiming at first-time-working SoC becomesmandatory to win over competitors and to avoid silicon re-spins.
<>In contrast to other protocols, the OCP characteristics offer tosystem architects an unprecedented added value that must be coupledwith powerful and silicon-proven verification techniques like the usageof mature VIP for the validation of functionality of the SoC with OCPon board. On the other hand, the substantial impossibility to define anOCPconformance test exposes SoC to functional risks, a serious worry forsystem designers.
However, any risk is drastically reduced when a solidand comprehensive VIP Qualification Process (QP) is available, becausethis 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 QualificationProcess is a dramatic challenge since the number of the allowedprofiles, interface configurations and any combination of them makepractically not viable to set up a QP according to such approach: themassive cost for the high multiplicity and the undetermined level ofreliability, a consequence of the lack of a OCP ISO conformance test.
The Qualification Process (QP) for OCP VIP implemented by YogitechVerification Team has been setup with a rigorous heuristic approach,and it is a distilled format of the long lasting experience of productsupport, with many OCP-based designs having ended on silicon.
It is based on a methodology capable to extend the OCP-IP consortiumofficial checks, coverage items and standard configurations with alarger number of profiles, filtered with a systematic methodology androbust metrics.
The QP selective regression test suite is shaped in such a way toget unprecedented level of cross-coverage over both the whole set ofprofiles and features. This approach increases OCP VIP quality androbustness to the highest level, allowing the final users to trust theverification process, whatever profile or configuration they havechosen to use.
Stepping down into details of the qualification process, it isnecessary to remind that OCP offers two degrees of freedom in profilinginterfaces: one dimension is the signals list; the other oneaccommodates the features list. Following this conceptualschematization of the standard we can describe any profile master as atwo-dimensional table where axes are the signals and the features,respectively.
|Figure1: A table master is a matrix able to accommodate signals and featuresfor each ocp profile, highlighting forbidden combinations.|
The table master in Figure 1 above includes blackened cells to represent the forbidden combinations ofsignals and features.
An actual profile is described by a table where it is possible tocharacterise different scenarios by simply checking the white cells ofthe enabled feature or the connected signal. By overlapping all thetables, filtering all the white cells with at least a check mark, allthe features and all the corresponding signals have been applied atleast once.
Even though this is not an exhaustive method, it is astraightforward way to create a comprehensive and distilled set of themany configurations of practical use. Then, this mapping processfacilitates detecting if gaps are still present, either in the featureslist or in the signals list.
|Figure2: OCP space results from the overlap of individual profiles wheretested combinations are checked out.|
As shown in Figure 2 above ,one can keep on accumulating scenarios for a complete coverage of allthe cells. Process can be extended until each of the cell has beenchecked a pre-defined number of times, the higher the number, the mostthe qualification process can be rated in terms of robustness.
The OCP VIP is made of an active part driving the interface signalsand 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 aconsequence all the OCP features and all the OCP signals need to beactivated.
For a qualification of the traffic, once a complete set of profileshas been created the associated tests can be efficiently shaped andexecuted. Tests can be random, semi random or deterministic and theycan be applied to more than one configuration.
As a mere example, if the number of configurations is K and one testis usable for the 50% of the configurations, in case of T testsavailable the regression will be based on 0.5*T*K scenarios. Thanks tothe randomization on tests, every scenario can be run several times andthis will increase the number of executed tests and consequently theconfidence on the VIP BFM quality.
During such process, the VIP monitor will check if signals weredriven correctly and any failure or misconduct will provide elements toimprove either the BFM or the monitor itself.
As previously mentioned VIP monitor is a static and dynamic protocolchecker and it is a fully passive agent helping in protocol violationand forbidden configurations detection. As well as the BFM, it needs tobe validated with respect to environments emulating both a faulty andcorrect behaviour; a faulty environment will cause the check to bealerted, a correct environment should not activate any of the checks.
If coverage is active on certain set of checks, tests andconfigurations can be further extended, verifying that each of thosechecks has been active. This means that the overall VIP robustness canbe made even better by adding random error injection and running twicethe full regression test. Benefits of the parallel approach are quiteevident, because both driving and checking are cross validated.
This QP for OCP allows a reliable exploitation of protocolflexibility and interface configurability, Thanks to the QPqualification process, flexibility and configurability are trustfullymirrored into the VIP that can be easily reused in multiple OCP basedprojects, at any level.
|Figure3. Methodology in use at yogitech to qualify ocp vip at every newproduct version release|
Quality and stability in an OCP VIP bring direct and indirectbenefits to the user. The process of qualification of the OCP VIP alsogenerates a reference model to be used for new OCP soft modelscreation.
In the following two cases are presented as examples: the first is aregression environment that the user can architect to validate its ownOCP model, the second one represents a smooth migration path thatstarts from a VIP implemented with a powerful and mature objectoriented language (the e-language) and it targets native System Verilogequivalent solution.
OCP VIP + QP become a Reference Model
In this case, a user proprietary assertion based model is validated andqualified against the OCP VIP reference model using a per-profileapproach.
As shown in Figure 4 below ,The assertion based model is typically not configurable and a new modelversion must be designed each time the customer changes the profile.After configuring the OCP VIP reference models (master and slave) inthe proper manner, according to the model profile to validate, aregression test is executed.
This process is similar to that adopted for the OCP VIP and it ismainly based on the protocol checker. In fact this element of thereference OCP VIP has been tested in a faulty and non-faultyenvironment, in other words with and without protocol errors and theobjective was to see only the expected error messages or not to see anyerror message. In the same way, for the user's defined assertion model,protocol errors are injected during the simulation in order to activateall the interested OCP checks that are also present in the new modelunder verification.
|Figure4 – Verification flow to achieve comprehensive regression process forqualification of Yogitech's OCP VIP|
Errors generated by the model under qualification are then comparedagainst those resulting from the reference model and they mustcorrespond. In this case the regression process is iterated twice, withand without protocol fault injections, in order to assure that all theOCP rules allowed for the profile have been properly implemented intothe model under test (avoid false positive in the user simulation) andall of them are semantically correct (avoid false negative in the usersimulation).
The process can be easily executed on a unique robust OCP VIP, everytime a new assertion model is created for a specific OCP profile,instead of creating application specific versions or design specificderivatives of the OCP VIP, with the consequential divergence ofmaintenance issues.
OCP VIP trustful migration from “e” to System Verilog
It is not so obvious that the quality and maturity of a VIP can beautomatically inherited by new VIP targeting the same protocol. Theprotocol knowledge and the VIP coverage respect to all the allowed andpossible configurations are embedded in the product and it is not sobanal to export to a new VIP.
The OCP VIP regression test suite is by construction complete enoughto cover almost all the OCP features and interfaces with a reasonablenumber of tests and then it can guarantee that also the new VIP in adifferent verification language, for instance in System Verilog, willbe complete and will have the same level of maturity.
Taking into account that technologies able to automatically orsemi-automatically wrap a native e-language core are available, thisprocess of quality migration can be divided in two steps. During afirst step the OCP VIP implemented by using the e-language (OCP eVC inthe following), qualified as core technology with the previouslymentioned methodology for the Qualification Process, is used as aproven and reliable model that can be wrapped and used in amulti-language verification environments.
In the second step, the wrapped eVC and the OCP qualificationprocess are used as reference model and regression test suite tovalidate another OCP VIP implemented in a different native language.
Figure 5 below shows the twosteps performed to port an e VIP in a native System Verilog solutionwith the goal to transfer the level of maturity of the reference VIPinto the new one.
|Figure5 ” A practical case: how Yogitech regression suite enable a robusttransfer of maturity through a technology transition|
During the first step the core technology (eVC) is wrapped in orderto get a System Verilog equivalent VIP. This VIP is usable into a System Verilog environment withnoevidence of the e embedded core. This process is automatic and it alsoincludes the translation for sequences or transactions used in thetests.
In the second step the new “wrapped” VIP is used as a referencemodel to validate the System Verilog native solution. It is connectedside-to-side to the System Verilog VIP, one time acting as a Masterthat initiates and drives OCP traffic and one time acting as a slavethat reacts to OCP traffic initiated by the new VIP. The second step isthen applied twice inverting the master and the slave to qualify boththe agents.
The silicon-proven core technology of the OCP eVC/uVC, wellpreserved by means of the Qualification Process presented here, makesthat both quality and robustness of the e model are transferred also toother solutions enabling robust and flexible VIP usage in a mixedlanguage verification environment.
Angelo Diblasi iscurrently a senior verification engineer, Yogitech, in the VerificationSolutions Business. In this role, he is responsible for theverification methodology and of the company's OCP Verification IP. Heleads a team that has gathered many years of experience supportingmultiple world-class companies in deploying OCP eVC in theirVerification flow.
Stefano Lorenzini isEngineering Manager at Yogitech and leads design teams carrying outactivities at both company's business lines of Verification Solutionsand “faultRobust Technology”. Stefano has gathered more than 12 yearsof experience in semiconductor industries as Alcatel and ST, where hewas managing ADSL and Gateway programs based on embeddedmultiprocessors and custom DSPs.
Gabriele Orlandi isGeneral Manager at Yogitech; as interim manager of the VerificationSolutions business unit, he takes care of the relationship withcompany's VIP licensees and selects market feedback to be included intoproducts' roadmap. Before joining Yogitech, Gabriele was a consultantof Italian industries and Research Institutes for business innovationand technology-based initiatives.