Beruflich Dokumente
Kultur Dokumente
Development of OVM Verification Environment for Functional Verification of Quad Serial Peripheral Interface
Kiran N.
CGB0910003 M. Sc. [Engg.] in VLSI System Design
Academic Guide : Cyril Prasanna Raj . P HoD, Dept. of EEE, MSRSAS, Bangalore.
Industrial Guide : Linu Thomas, Manager, IC Design Engineering, Broadcom (I) Pvt. Ltd.
M.S.Ramaiah School of Advanced Studies
QSPI
Project Objectives
To review literature on Quad SPI module, OVM and verification environments To study Quad SPI module functionality and arrive at functional specifications for verification environment To develop OVM based verification environment for Quad SPI To identify suitable test cases and verify functionality of Quad SPI To perform functional verification and achieving maximum possible coverage of the QSPI module for various test cases.
have
been
Maximum coverage for QSPI IP using the VCS tool and the waveform debug tool VERDI is reported.
Introduction
Quad SPI module is an advanced version of the commonly used Serial Peripheral Interface (SPI) module. The SPI is used for synchronous serial data communication between a host processor and the peripherals connected to it. It is master-slave protocol type of interface. It was primarily developed by Motorola In its most general form the SPI consists of two data lines and two control lines.
Introduction cont..
The two control lines are Chip Select(CS) which is used to select the corresponding peripheral device connected and then Clock Select (SCLK) which is used for synchronizing the data transfer. The two data lines are for the data input and output. The SPI in general consists of a shift register which is used to shift data into and out of the interface and a serial buffer which stores the data when the module is made inactive. The Quad SPI module consists of four data lines and a characteristic two control lines. The QSPI module which is verified in this project can also operate in dual mode in which there are two data lines and two control lines
Introduction cont..
The QSPI module finds its application in System On Chip (SoC) designs to assists the hard core processor to communicate with the peripherals attached to it. Since the interconnect is small the noise immunity is best in case of serial communication which the QSPI uses and also the frequency of operation is around 6MHz is which is ideal and well suited for on chip operations. Verification methodologies are a must to tackle verification complexities and design closure times. Out of the popular verification methodologies (Open Verification Methodology) OVM preferred in the industry for SoC designs.
10
Introduction cont..
OVM is Functional verification methodology developed using the System verilog (Hardware Design Verification language)HDVL The three main building blocks of OVM include OVM_ components, OVM_env and OVM_test. Component classes include 1. Sequencer 2. Driver 3. Monitor 4. Scoreboard Env class helps connect all the components together. QSPI
M.S.Ramaiah School of Advanced Studies
11
12
13
14
Literature Review
SPI module plays an important role in the embedded systems and SoC designs as they provide a high speed and high noise immunity mode of communication between the host processor and the corresponding peripheral connected.[1] The goal of adopting a particular methodology is to obtain maximum level of confidence in the quality of the design in a given amount of time and engineering resources. For achieving this goal methodologies use assertions, functional abstraction, automation through randomization, reuse all at the same time.OVM supports all the above features and also functional verification. [2]
15
For good quality of verification always functional verification of the design should be prioratized. Test writing writing should be intense and attack the design by first random tests and then constraining the random vectors and finally usage of assertion and directed tests to plug holes in verification[4][5]
M.S.Ramaiah School of Advanced Studies
16
2.
2008
17
18
19
20
21
22
23
24
25
Read operation
26
Coverage Analysis
Coverage value represents the verification effort carried on the designs.
Line Coverage: It is the measure to check for the total number of lines of code which is being executed.
Condition Coverage: It is the measure to check for completeness about all the conditions present in the code. FSM Coverage: It is a measure to find out the state transitions & unvisited states in an FSM Toggle Coverage: It measures the transitions of the stimulus [changes in the signal logic] w.r.t the execution of the code.
M.S.Ramaiah School of Advanced Studies
27
Regression Result
28
The final coverages obtained Line :89.88 Conditional: 83.63 Toggle: 58.93
100 80 60 40 20 0 Coverage
29
30
Conclusion
The design implementation flow and the verification methodology adopted for verifying the QSPI has been designed and verified. The environment has been designed, which is developed using the OVM base classes is reusable and configurable according to any serial communication design A verification environment has been developed to verify this QSPI design and functional coverage is reported for the implemented design. Function simulation and function coverage is carried out using Synopsys VCS, VERDI tools
M.S.Ramaiah School of Advanced Studies
31
Conclusion cont..
Functional verification of QSPI is carried out by applying constraint random test cases. Line coverage is reported 89.32%, conditional coverage is reported at 83.62% and toggle coverage is reported at 58.33% for constraints random test cases The coverages values obtained are only for the functionality of the module which is required for the SoC on which is implemented and hence the overall coverage of the module can be increased if the entire functionality of the design is verified
32
33
Literature
1.
Books
Santanu Chattopadhyay (2010), Embedded System Design, PHI learning pvt. Ltd., USA.
2.
34
Literature
Technical Papers
3. D. Geist, G. Biran, T. Arons, M. Slavkin, Y. Nustov, M. Farkas, K. Holtz (2008), A Methodology For the Verification of a System on Chip, DAC, Louisiana.
4. Pretez landau, Guy Regev (2009), A Methodology for Timely Verification of a Complex SoC, Percello Ltd., USA.
35
Literature
Technical Papers Contd.,
5. Parag Goel, Pushkar Naik (October 22nd 2011), System Verilog
6. A. Molina and O. Cadenas (2007), Functional verification: approaches and challenges, Computer architecture Department, Universitat politecnica de catalunya, Barcelona, Spain.
36
Literature
7.
Data sheets
S25FL128R, S25FL256R, S25FL512R Marketing
8.
Daniel
McKenna,
Using
the
QuadSPI
Module
on
37
Thank You
38