Absolute Verification Methodology Based Generic Process For Development of Efficient Verification Ips
Absolute Verification Methodology Based Generic Process For Development of Efficient Verification Ips
Absolute Verification Methodology Based Generic Process For Development of Efficient Verification Ips
VIVEK.S
Sibridge Technology Pvt. Ltd, Member Technical Staff, [email protected]
Bangalore, India.
ABSTRACT: Due to increasing cost and price of VLSI chips,a need for efficient way to verify the
IP designsresulting in chips to become fully operational is desired. This paper gives an insight on
how a generic methodology based Verification IP can be developed not onlyfor verifyingthe
designbut also integration with the same. Also reusability of Verification components are very
essential for reducing the turn-around time of the verification which is the major time consuming
activity in a chip development cycle.The proposed Absolute Verification Methodology aids in
faster approach to complete development of Verification IP.
INTRODUCTION
Verification plays a huge role in any chip design. In a chip design cycle, verification consumes
around 70% of the time while only about 30% of it is spent on design. Completeness of
verification is extremely critical. IP design is done depending on specification which is designed
with research and development. When an IP is designed by using hardware level languages, one
cannot be sure of correct operation until the chip is fabricated. But fabricating a chip incurs a huge
expense for any organization. After fabricationif the chip fails to produce the required
functionality, it is termed as failure resulting in huge loss of time, cost and effort. Therefore a
Design IP is subjected to verification initially. Main concern of the whole process is time,
efficiency, cost and proper functionality. Also there is a need to make sure that a verification IP
should support customizability, reuse friendly, debug-able, complete operation check. As per the
industry estimation, close to approximately 60% of chip re-spins are mainly due to functional
bugs. Therefore good class Verification IPs can be developed only by forecasting the development
and with efficient process.
PURPOSE OF VERIFICATION IP
Designing an IP based on specification is done with HDL, but until the design is finished, the
verification effort cannot be started. This results in loss of time since some part of the design has to
the completed for verification effort to be started. Thus Verification IP comes for the rescue i.e.
Parallel process on development of DIP and VIP is done. All functionality of a DIP is modelled in
VIP in parallel. Verification services include Testbench design/development, test-suites, Bus
Functional Models, coverage-driven verification, constrained randomization verification, assertion
based verification.
Functional
Normal operation operation Error injection Coverage
execution execution execution achievement
C
Forecasting
Forecasting is the main process before development of any VIP. Forecasting before
implementation makes objective of verification clear. Lots of brainstorming needs to be doneto
come up with an idea on how the VIP can be efficiently developed. If the is no proper planning
then it results in re-work resulting in delay and confusion. In this phase, different objectives are
taken care like
Specification understanding
First step is to have some knowledge over the protocol before developing the Verification IP. A
run through of the specification is recommended at this phasefor better understanding of the any
specification.
394
Testbench architecture &BFM
With above two section multiple scan would have resulted in better understanding of the
specification.At this phase, definition of the test bench architecture and BFM is done. This is very
crucial phase as it can stand the test of time, hence need to be fool proof. Lots of brainstorming
should be done during this phase.
Implementation
Architecture Overview
Discussion over the architecture is done ensuring every aspects has been taken care. This increases
the confidence in the architecture and prevent any further need to revisit. Development is started as
per the forecasted phases.
395
Cessation
Coverage achievement
For the functional completeness of VIP, coverage has to be 100%. To attain 100% coverage,
multiple test has to be created with different scenarios to address any missed bins. Cover groups
should address all the essential part of the specification to be covered. Functional verification is
very important in achieving the completeness of verification. Coverage should include checkers as
well because no checker should have triggered. If any checker is triggered then the coverage
should go low resulting is lower result of coverage.
On every phase the tick list should be marked based on completion of the development. Discipline
coding, well commented, reusable method, etc. has to be done for development of good VIP.
CUSTOMIZABILITY OF VIP
Test Suite
Precise document containing full functionality verified is mentioned. Multiple tests are
invokedthrough command line. During the run on multiple tests, a mechanism called as seed is
used. Based on different seeds different randomization is done by which many scenarios can be
achieved. By running the test suite multiple times, a lot of bugs can be found because of
randomization. Every seed is distinctive in nature and gives a different randomization. But a
controllability should be provided to track the seeds runs and their history of run. Command line
should provide flexibility to run different seeds for different test cases.
396
Constraint
randomization Control over
Test Suite
and log verbosity
configurability
Verification
Customizability Control over
component
of VIP feature support
integration
Checkers Register
Methodology
disabling on interface
generic
purpose
397
Checkers disabling
Erroneous scenarios are required to have its checkers disabled because it is expected to fail.
However, in this case, the failure of the checker implies the success of the test. Hence, an option to
disable checker should be provided to avoid a failure in report or in some cases, the stall of the
simulation.
Register interface
Most of the DIPs have their registers for configuration or self-capability. These registers has to be
flexible enough to be written in zero time, based on which the DIP can function accordingly. UVM
provides a mechanism called as RAL. Using RALa verification engineer can read or write the
registers without consuming any simulation time. Various operation like front door or back door
mechanism support has to be provided.
Methodology specific
Developing the VIP specific to a methodology is not recommended as the same VIP can be used
for different environments. Therefore the same VIP should be capable of supporting industry
standard methodologies like UVM, OVM or basic SV. Once the flexibility is there, same VIP can
be distributed to different environment without much effort. This saves a lot of time after
development and any resolution to a bug will automatically be resolved for all methodologies.
The Active VIP is configured as Device. In the verification environment the Active VIP is
connected as shown in Figure 3. Active VIP is responsible to generate stimulus to the Host DUT,
while Passive VIP is also responsible to check functional integrity of Host DUT. The scoreboard is
implemented between Active VIP and Passive VIP to validate the Data integrity.
Passive VIP
In this environment, one instance is configured as a Passive Host VIP and the second is configured
as a Passive Device VIP. The verification environment is shown in Figure 4, where Host DUT and
Device DUT is connected. Here the Passive VIP checks the data integrity, operation functionality
check and functional coverage. Both Host DUT and Device DUT is verified by this above
integration.
Passive VIP
398
CONCLUSION
REFERENCES
IEEE Computer Society. IEEE Standard for System Verilog-Unified Hardware Design,
Specification, and Verification Language - IEEE 1800-2009. 2009
Accellera Organization, Inc. Universal Verification Methodology (UVM) May 2012.
Mark Glasser, (2009) Open Verification Methodology Cookbook, Springer 2009.
399