Catálogo de publicaciones - libros

Compartir en
redes sociales


Writing Testbenches using System Verilog

Janick Bergeron;

Accesos/Suscripciones

Este recurso está disponible en las siguientes plataformas

Tabla de contenidos

What is Verification?

Janick Bergeron

Verification is a process, not a set of testbenches.

Verification can be only accomplished through an independent path between a specification and an implementation. It is important to understand where that independence starts and to know what is being verified.

Verification can be performed at various levels of the design hierarchy, with varying degrees of visibility within those hierarchies. I prefer a black-box approach because it yields portable testbenches. Augment with grey and white-box testbenches to meet your goals.

Consider verification at the beginning of the design. If a function would be difficult to verify, modify the design to give the necessary observability and controllability over the function.

Make your verification components reusable across different testbenches, across block and system-level testbenches and across different projects.

Pp. 1-22

Verification Technologies

Janick Bergeron

Despite reporting many false errors, linting and other static code checking technologies are still the most efficient mechanism for finding certain classes of problems.

Simulators are only as good as the model they are simulating. Simulators offer many performance enhancing options and the possibility to co-simulate with other languages or simulators.

Assertion-based verification is a powerful addition to any verification methodology. This approach allows the quick identification of problems, where and when they occur.

Verification-specific SystemVerilog features offer an increase in productivity because of their specialization to the verification task and their support for coverage-driven random-based verification.

Use code and functional coverage metrics to provide a quantitative assessment of your progress. Do not focus on reaching 100 percent at all cost. Do not consider the job done when you’ve reached your initial coverage goals.

Use a source control system and an issue tracking system to manage your code and bug reports.

Pp. 23-76

The Verification Plan

Janick Bergeron

Verification is a process, not a set of testbenches.

Verification can be only accomplished through an independent path between a specification and an implementation. It is important to understand where that independence starts and to know what is being verified.

Verification can be performed at various levels of the design hierarchy, with varying degrees of visibility within those hierarchies. I prefer a black-box approach because it yields portable testbenches. Augment with grey and white-box testbenches to meet your goals.

Consider verification at the beginning of the design. If a function would be difficult to verify, modify the design to give the necessary observability and controllability over the function.

Make your verification components reusable across different testbenches, across block and system-level testbenches and across different projects.

Pp. 77-111

High-Level Modeling

Janick Bergeron

With the introduction of soft ionization techniques such as Matrix Assisted Laser Desorption Ionization (MALDI), and Electrospray Ionization (ESI), proteins have become accessible to mass spectrometric analyses. Since then, mass spectrometry has become the method of choice for sensitive, reliable and inexpensive protein and peptide identification. With the increasing number of full genome sequences for a variety of organisms and the numerous protein databases constructed thereof, all the tools necessary for the high-throughput protein identification with mass spectrometry are in place. This chapter highlights the different mass spectrometric techniques currently applied in proteome research by giving a brief overview of methods for identification of posttranslational modifications and discussing their suitability of strategies for automated data analysis.

Pp. 113-196

Stimulus and Response

Janick Bergeron

Model your clock signals in a . Be careful about time resolution issues, delta cycle alignment and implicit synchronization of asynchronous signals.

Encapsulate repetitive physical-level operations into bus-functional tasks. Collect all of the bus-functional tasks for a physical interface or protocol into a bus-functional model. Detect concurrent activation of bus-functional tasks within the same bus-functional model using a semaphore.

Design an effective transaction-level interface with a suitable transaction completion and status notification mechanism.

Provide callbacks in bus-functional models and response monitors to enable access to symbol-level protocol parameters and inject symbol-level errors.

Pp. 197-278

Architecting Testbenches

Janick Bergeron

Verification is a process, not a set of testbenches.

Verification can be only accomplished through an independent path between a specification and an implementation. It is important to understand where that independence starts and to know what is being verified.

Verification can be performed at various levels of the design hierarchy, with varying degrees of visibility within those hierarchies. I prefer a black-box approach because it yields portable testbenches. Augment with grey and white-box testbenches to meet your goals.

Consider verification at the beginning of the design. If a function would be difficult to verify, modify the design to give the necessary observability and controllability over the function.

Make your verification components reusable across different testbenches, across block and system-level testbenches and across different projects.

Pp. 279-331

Simulation Management

Janick Bergeron

Despite reporting many false errors, linting and other static code checking technologies are still the most efficient mechanism for finding certain classes of problems.

Simulators are only as good as the model they are simulating. Simulators offer many performance enhancing options and the possibility to co-simulate with other languages or simulators.

Assertion-based verification is a powerful addition to any verification methodology. This approach allows the quick identification of problems, where and when they occur.

Verification-specific SystemVerilog features offer an increase in productivity because of their specialization to the verification task and their support for coverage-driven random-based verification.

Use code and functional coverage metrics to provide a quantitative assessment of your progress. Do not focus on reaching 100 percent at all cost. Do not consider the job done when you’ve reached your initial coverage goals.

Use a source control system and an issue tracking system to manage your code and bug reports.

Pp. 333-370

Información

Tipo: libros

ISBN impreso

978-0-387-29221-2

ISBN electrónico

978-0-387-31275-0

Editor responsable

Springer Nature

País de edición

Reino Unido

Fecha de publicación