Skip to main content

Advanced OOP and Testbench Guidelines

  • Chapter
System Verilog for Verification
  • 5372 Accesses

Abstract

How would you create a complex class for a bus transaction that also performs error injection and has variable delays? The first approach is to put everything in a large, flat class. This approach is simple to build and easy to understand (all the code is right there in one class), but can be slow to develop and debug. Additionally, such a large class is a maintenance burden, as anyone who wants to make a new transaction behavior has to edit the same file. Just as you would never create a complex RTL design using just one Verilog module, you should break classes down into smaller, reusable blocks.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 109.00
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 139.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2008 Springer Science+Business Media, LLC

About this chapter

Cite this chapter

Spear, C. (2008). Advanced OOP and Testbench Guidelines. In: System Verilog for Verification. Springer, Boston, MA. https://doi.org/10.1007/978-0-387-76530-3_8

Download citation

  • DOI: https://doi.org/10.1007/978-0-387-76530-3_8

  • Publisher Name: Springer, Boston, MA

  • Print ISBN: 978-1-4419-4561-7

  • Online ISBN: 978-0-387-76530-3

  • eBook Packages: EngineeringEngineering (R0)

Publish with us

Policies and ethics