Andrew bond icera

1,088 views
1,020 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,088
On SlideShare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
21
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Andrew bond icera

  1. 1. Adopting SystemVerilog / OVM Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 1
  2. 2. Overview • The “Verification Challenge” at Icera • Why we are interested in SystemVerilog and OVM • Plus points • Minus points • Making the switch less painful • Conclusions Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 2
  3. 3. Verification @ Icera Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 3
  4. 4. Verification @ Icera • Two silicon design sites • Small design team • Even smaller verification team • All designers must help with verification • Verification split into 3 tasks: • Designers own “smoke” testing • Sign-off verification environments • Formal Property Checking • Cadence Incisive customer Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 4
  5. 5. Verification @ Icera System Inter-Connect Memory Sub-System CPU Programmable DSP Chip Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 5
  6. 6. Why SystemVerilog / OVM? Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 6
  7. 7. Why SystemVerilog / OVM? • The “Open” in OVM • Vendor / License independence • Visibility of source code • A World full of developers • Methodology seemed sound • Evolved from the eRM/URM we have previously used • Incorporates another mature methodology in AVM • SystemVerilog is still fundamentally a HDL • More familiar to “part-time” verification engineers • Native to the simulator • SystemVerilog class based approach familiar to C++ programmers Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 7
  8. 8. Plus Points • Getting started is quick • LRM in general provides good SystemVerilog examples • The OVM Reference and User Guide are pretty good • Can get good feedback from the OVM Forum • Successfully created “real” verification environments • Roughly equivalent development time as equivalent e environments • Including multiple layers of UVCs Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 8
  9. 9. Plus Points • Constraints aren’t as complex • Strangely this can make both the development and debug easier • So far haven’t encountered a blocking issue • SystemVerilog seems a natural testbench language • The DPI is a massive improvement over the PLI/VPI Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 9
  10. 10. Minus Points • Vendor support • Supported language features aren’t always known before you find them • Can make design choices hard – lots of simple test cases • Debug features aren’t as mature as they are for other supported languages • AVM and URM • Not 100% harmonious – you will be referred to the old documentation • Some concepts are blurred – sequences/scenarios, comparators Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 10
  11. 11. Minus Points • Few good quality examples of more complex concepts • Those provided with the source code vary in style, quality and documentation level • OVM Forum examples can be hard to find • The Factory: where, when and how to use isn’t always obvious • The definition of a master / slave • Coverage / Covergroups • Statically defined • Goes against the factory based approach of OVM • Can make creating coverage base classes tricky • Flexibility of bin definitions • Multi-cycle coverage requires support code Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 11
  12. 12. Making the Switch Less Painful Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 12
  13. 13. Making the Switch Less Painful • Start from the bottom • A UVC doesn’t have to relate to a specific design block • Get your base classes right • There is no such thing as a “soft” constraint • It’s easier to add something than take it away • Randomized scenario driven verification over constrained random • Start with what the design has to achieve and work outwards. With the more limited SystemVerilog constraints, this is a more natural fit • Combinatorial / multi-cycle interfaces are still awkward • Try and keep to a TLM even when the interface isn’t a simple fit • The print statement is your new best friend! Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 13
  14. 14. Conclusions Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 14
  15. 15. Conclusions • You can create an “Advanced Verification Environment” using SystemVerilog and OVM as it stands today in roughly the same timescales as other advanced verification languages • Part-time verification engineers do seem more comfortable creating SystemVerilog infrastructure than with other advanced verification languages • Vendor support is getting better • Yet to see the vendor-specific value-add • Yet to see how “Open” OVM really is • SystemVerilog / OVM is just a tool and not a miracle • There is no substitute for knowing what you are verifying and why Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 15
  16. 16. THANK YOU Copyright 2009 Icera Inc Andrew Bond DVClub 22nd April 2009 16

×