Using VCS with White-Box Verification Techniques

Size: px
Start display at page:

Download "Using VCS with White-Box Verification Techniques"

Transcription

1 Thomas L. Anderson 0-In Design Automation, Inc. ABSTRACT Because of its simulation efficiency, VCS is an excellent tool for traditional "black-box" verification, in which a testbench stimulates inputs and checks outputs for expected results based upon the design specification. With the large size of today's ASIC and IC designs, it is becoming more difficult to achieve controllability and observability of all parts of the design from primary inputs and outputs. The risk is that bugs deep inside the design will be missed because their effects were never observed when running the testbench. One solution is the use of "white-box" techniques to supplement traditional specification-based black-box simulation. These techniques include formal verification of design properties, directed tests that are designed to trigger certain internal conditions, embedded checkers that monitor for specific behaviors deep inside the design and formal verification targeting the embedded checkers. Such techniques are especially valuable with VCS since any overhead from the additional logic has minimal effect upon the simulation speed. The white-box approach is especially beneficial in a design environment with reused IP blocks. It can be very hard to reuse an IP testbench once the IP block is included in a larger chip. Embedded checkers can verify IP blocks both in standalone VCS simulations and in chip-level VCS simulations after IP integration, allowing white-box verification techniques to be leveraged by both IP providers and IP users in a reuse-oriented design.

2 1.0 Introduction As large chip designs get more and more complex, functional verification is becoming the dominant task in the development process. A widely cited 1998 case study from Nortel [2] reported that verification consumed two-thirds of a product design cycle. Many other companies have confirmed similar experiences, with anecdotal accounts of functional verification occupying as much as 90% of some projects. Reuse-oriented designs, in which major blocks are recycled from existing designs or acquired from external IP suppliers, tend to shift the balance of effort away from design and toward verification. Under this pressure, development teams are increasingly looking for new and innovative ways to verify designs more quickly. 2.0 Traditional Black-Box Verification Most complex chip designs start with a paper specification. Typically, this specification includes a high-level description of functionality and definitions for all chip inputs, chip outputs and architecturally-visible state elements. This specification is transformed into RTL, gates or transistors by designers and the resulting implementation must be verified to conform to the original specification. This verification effort is typically the responsibility of dedicated verification engineers who work alongside the hardware designers. The idea of black-box verification is fundamental to this method of operation. It is taken as a given that a designer should not write the verification tests for his or her own logic, since the same assumptions will be made in the tests as in the design. If a verification engineer goes back to the original specification and writes tests using his or her own interpretation, this provides crosschecking between the design implementation and the verification test. Further, many verification engineers argue that they should know as little as possible about the details of the implementation so that the design is verified strictly from the specification. Verifying a design exclusively by writing tests to manipulate chip inputs and monitor chip outputs is the essence of the black-box approach. In theory, black-box testing should be sufficient to verify that a design implementation matches the specification and is therefore functionally correct. However, there are several issues: The specification may not be complete, especially in terms of corner-case behavior. It may be very hard to set up all specified operations strictly from the chip inputs. It may be very hard to check all specified behavior strictly from the chip outputs. It may be very hard to track down the source of bugs exhibited at the chip outputs. Certain types of implementation errors are hard to stimulate with functional tests. The last issue may be the most difficult for many complex chip projects. Consider the case of a fairly common design bug in which a FIFO is written even after it is full. The effect of such a FIFO over-run is likely to be corrupted data, but unless a functional test happens to trigger a FIFO full condition and the associated overwrite, the bug will remain undetected. A FIFO is generally not an architecturally visible element, and so a verification engineer following a strict 2

3 black-box approach will not know about the FIFO and will not know (or care) whether or not the full and empty conditions are triggered by the functional test suite. Even if a functional test happens to trigger the FIFO over-run, other conditions within the chip during the test may prevent the corrupted data from propagating to the chip outputs. Even if the corrupted data does propagate to the outputs, it will not be detected unless the verification engineer has a test monitor set up to detect the problem. Finally, even if the verification test detects the corrupted data, it may be very hard to track back to the source of the problem deep within the chip. Especially in networking and telecommunications applications, data corrupted in an internal FIFO may take thousands of cycles to propagate to the chip outputs. 3.0 Some Common Extensions The limitations of black-box verification for large, complex chips suggest that supplemental approaches are needed. Increasingly, development teams have concluded that the verification engineers cannot rely exclusively on black-box methodology when writing tests. The typical project flow requires the verification engineers to first write the black-box tests strictly from the specification, and then to write additional tests designed expressly to trigger certain interesting internal behavior such as the FIFO full and empty conditions mentioned earlier. Such a process may not require the verification engineer to become an expert on the implementation, but it does mean that he or she needs to work with the design engineer to understand the worry cases in the design. Most of the limitations of black-box verification still apply. Even if a sufficiently important worry case is defined, it may be hard to write a test that triggers the condition from the chip inputs. It also may be hard to observe bug effects at the chip outputs, which leads verification engineers to probe and display some internal chip signals in VCS simulation to try to locate bugs. Properly hooking up a monitor to internal signals and keeping the monitor updated as the design changes can be significant challenges. The main issue with this approach is that it is only as good as the tests written by the verification engineer. It is hard to think of all the interesting internal behavior to be exercised and hard to verify that the tests do what is intended to trigger this behavior. Verification engineers lose sleep over what cases they may have forgotten when writing tests. The usual way to try to close the gap for complex designs is to supplement the hand-written tests with some form of extended simulation that stimulates the design with random vectors or random sequences. Developing a testbench that stimulates the design in new legal ways as opposed to possibly illegal random patterns on all inputs is hard. The specification for the chip should define the legal input combinations and sequences, but these need to be captured in the test generation code of the extended simulation testbench. Further, the chances of a random test actually triggering a bug deep inside the design and the chances that the effects will randomly propagate to the outputs and be detected there are distressingly small. The only way to make significant advancement beyond black-box techniques is to improve the controllability or the observability of the design during the verification process. The latter is 3

4 easier; many design and verification engineers use Verilog $display statements to detect interesting conditions either error cases or specific deep behavior to raise alerts during simulation when these conditions occur. For example, a designer might choose to display a warning message whenever an FSM transitions to an error state. Consider the previous case of a FIFO that can over-run and corrupt data. If the FIFO has a full signal available, then it is easy for a design or verification engineer to display a message if the enqueue signal is asserted when the FIFO is already full. If the FIFO corruption is detected when it happens, rather than when the effects eventually propagate to the chip outputs many cycles later, it can be much easier to track down the source of the bug. Of course, if signals are not conveniently available, then the engineer may have to add special logic just to support the check and display. Such logic must be surrounded by Synopsys synthesis off/on directives to ensure that it does not get fabricated in the chip, and special treatment may also be needed to ensure that the check logic does not affect the results from RTL code coverage analysis tools. Improving simulation controllability is a harder problem, and solutions tend to fall into one of two domains. The first approach is testbench automation, which is a direct descendent of ATPG tools for improving the fault coverage of manufacturing test vectors. The argument is that if ATPG can improve fault coverage, then testbench automation can improve RTL code coverage in much the same way. This argument misses two key points. The first problem is that there is no bug model for RTL that corresponds to the stuck-at fault model for testing chips in manufacturing. Even if testbench automation greatly increases the RTL code coverage and exercises the design in a way that stimulates a bug, detection of the bug relies on detection of bug effects at the chip outputs, or perhaps by some sort of internal $display check. The second problem is that virtually all ATPG algorithms rely on the ability to freely manipulate the design inputs to set up conditions to trigger faults. Since testbench automation operates in the functional verification domain, it cannot make the same assumption. All input changes and sequences must conform to the specification, since a generated test is worthless if it triggers a bug via illegal inputs. This means that the engineer using the tool must describe a set of constraints for legal input behavior, a task that most users find extremely difficult. 4.0 The Role of Formal Verification Such techniques as $display statements are the first steps toward what is sometimes called whitebox verification. This term stresses the contrast with black-box verification, since knowledge of the chip design is used during verification, rather than being intentionally ignored. One wellknown white-box approach is formal verification, in which mathematical techniques are used to prove an assertion or property of the design. The property to be proven may be related to the chip s overall functional specification, or may represent internal design behavior. The FIFO example described earlier is an interesting case for formal verification. A statement such as the FIFO will never enqueue when it is already full makes a logical target for a formal proof. If a formal verification tool can prove mathematically that this assertion is always true, i.e., that there is no way that the design can ever over-run the FIFO, then this is a very valuable piece 4

5 of knowledge. This knowledge relieves the design and verification engineers from having to develop many test cases or random sequences to stress-test the design to see if a FIFO error ever occurs. The goal of formal verification is wonderful, and formal verification does prove useful in some circumstances, but there are some serious limitations and barriers to its wide adoption. Users sometimes consider using formal verification to replace functional tests and simulation as a way to verify designs. One problem is that it is prohibitively difficult to write a set of properties or assertions that completely represents all the intended behavior of a design. The result is that formal verification has found its widest use as a supplement to simulation rather than as a replacement. A verification engineer may write only a few key properties and use a formal tool to try to prove them in parallel with more traditional simulation tests. In the course of proving a property, a formal algorithm essentially explores all the possible ways to manipulate a design. All input changes must conform to the constraints for legal behavior but, as noted previously, specifying these constraints is a challenge. In extreme cases, such as a serial bus controller or a deeply embedded processor, input sequences many thousands of cycles long may be required to uncover the one case that disproves an assertion. The constraints must be complete to ensure that this entire sequence is within specification. Because it must explore a design exhaustively, formal verification can run only on designs of limited size. Conventional wisdom dictates that formal techniques are best applied on design blocks of less than 10,000 gates. Thus, complete formal verification of a contemporary multimillion gate chip requires runs on hundreds of small blocks. This only exacerbates the constraint problem. Few designers fully specify interfaces between blocks as small as 10,000 gates and so constraining the inputs of blocks this small may require a great deal of new specification work to define allowed behavior on these interfaces. The difficulty of writing enough properties to provide significant verification and the difficulty of developing sufficiently robust constraints are significant barriers to the use of formal verification. As a consequence, formal tools are used almost exclusively by specialists. This is in sharp contrast to VCS-based functional testing, which enjoys a large, trained user base. 5.0 Introduction to Semi-Formal Verification It would be highly desirable to be able to take advantage of the power of formal verification while easing some of its restrictions and benefiting from the huge knowledge base for VCS-based simulation techniques. A new approach, sometimes dubbed semi-formal verification, is emerging to meet this need. Four key attributes of semi-formal verification differentiate it from more traditional techniques: Formal methods are used to amplify existing simulation tests. Embedded checks define the properties targeted by formal methods. Embedded checks define the input constraints. Semi-formal verification supplements, not replaces, simulation. 5

6 The key to this approach is viewing semi-formal verification as amplifying the design and verification engineering knowledge already embodied in a testbench and functional test suite. The rationale is that the power of the formal algorithms should be used to explore new behaviors in the design rather than to duplicate the stimulus already available from the existing black-box tests. During any VCS simulation run, seed states are captured to serve as starting points for the formal methods. A semi-formal verification tool starts from each state in the seed, and tries to find new stimulus sequences that will violate assertions about the design. In so doing, the tool discovers legal behaviors that could have occurred but did not in the functional tests. The assertions targeted may include everything from simple formal verification properties to complex rules about how interfaces and internal data structures must operate in the design. Some of these complex rules can be hard to specify within the limitations of property languages, so a better approach is to use embedded checkers to specify these rules. Checkers are monitors that the design or verification engineer can add to the design to specify rules of operation. Ideally, the monitors can be expressed directly in Verilog so that the engineer does not need to learn a new language. Embedded checkers might include: checkers for data path elements, such as verifying that data is not lost while flowing down a pipeline or corrupted in a FIFO or memory checkers for control structures, such as verifying that an arbitration scheme is correct or that a state machine is operating properly checkers for interfaces, such as verifying multi-cycle timing relationships between signals or checking that a tri-state bus is always driven Complex checkers that directly reference buses and design structures are more intuitive for the designer and provide interesting, meaningful targets for the formal algorithms. If a semi-formal tool discovers a novel stimulus sequence that can over-write data in a FIFO or violate an interface protocol rule, this is a bug that might not have been found with black-box techniques. Unless a verification engineer had written a test to set up the same conditions and sequence discovered by the formal methods or unless random tests happened to trigger this behavior the bug would have made it into silicon. The third category of embedded checkers, those that monitor for interface rules, define legal behavior across an interface. Therefore, a set of checkers on an interface can be converted trivially to constraints. This ensures that a semi-formal tool only uses legal manipulations on the inputs as it creates new stimulus sequences that deviate from the seed. Instrumenting an interface with a set of checkers to define the protocol is generally easier than using a constraint language to capture the rules for legal and illegal behavior. Checkers that specify semi-formal targets and constraints may also have value in the functional simulation process. If these checkers have simulation models, they can be included in any VCS simulation to detect whether any existing functional test violates a checker rule. If this is the case, then a design bug has been detected and it should be fixed before running semi-formal verification. As stated earlier, the goal is to reserve the use of formal methods for exploring new behaviors that were not already reached by existing tests. 6

7 Checkers may be included in functional simulation in one of several ways. They can be included directly in the RTL, although this requires Synopsys off/on directives to ensure that the checker logic is not synthesized into the chip. A better approach is to place the checkers into a separate file that uses Verilog hierarchical references to monitor the signals from the RTL. This file is then included in VCS runs but not in synthesis compilations. A hybrid approach is the generation of the separate checker file from directives in the RTL. If the directives use the Verilog comment syntax, they are ignored during synthesis and require no special handling. By leveraging existing tests and testbenches, semi-formal verification is an add-on to traditional VCS functional simulations. This approach is consistent with the prevailing view that formal verification is best used as a supplement to simulation rather than as a replacement. Further, some semi-formal tools may also leverage VCS to confirm checker violations. If the stimulus sequence discovered by the formal methods is run in a simulation, and the checker reports a violation, this verifies that the bug can be reproduced in the design or verification engineer s own environment. Once a VCS simulation run exhibits the violation, the engineer can use such familiar methods as dumpfiles and waveforms to track down the source of the bug. 6.0 Design Environments and Design Reuse One advantage of the semi-formal verification approach is that it is applicable throughout the development process. Once checkers are added to a block, they can be included in any VCS simulation at the block- or full-chip level. After simulation with checkers, tests for individual blocks can be amplified by formal methods to make the blocks more robust before they are integrated into the full chip. Block-level testing is minimal on many projects and amplification provides a way to improve the situation without requiring any new tests to be written. At the full-chip level, it makes sense to leave the checkers in the individual blocks since each new test may stimulate a particular block and a particular checker in new ways. These checkers can also help to pinpoint the cause of errors in full-chip simulations. Chip-level verification engineers are likely to supplement the intra-block checkers with additional checkers on the main interfaces between blocks and on any on-chip buses. Running chip-level functional simulations with the full set of checkers within and between key blocks can provide a significant increase in the observability of bugs deep within the design. Finally, it often makes sense to amplify seed states captured for key blocks from chip-level simulation, especially blocks that had no block-level testbenches. The inputs, outputs and internal state of a block may be captured from VCS in a manner similar to generating a dumpfile. This state may be used as a seed for formal methods to amplify the effects of the chip-level functional tests on that particular block. There is no fundamental difference between a seed captured from a block-level testbench and a seed captured from a particular block in a chip-level testbench. In either case, a semi-formal tool can use this seed to improve controllability and explore the block in new ways. The idea of using block-level checkers in full-chip simulations is especially valuable in a design reuse environment. If the block is designed for reuse, either within the same company or as a 7

8 commercial IP product, checkers help to document design intent and to ensure that the engineer integrating the block uses it properly. Specifically, a robust set of checkers on the interface between the IP block and the user s application logic is very valuable. If the application logic does not obey proper protocol rules on the interface, a checker immediately reports that the block is not being used properly. 7.0 White-Box Verification Results A recently published case study [1] described a development project that was carefully monitored to assess the impact of using the white-box techniques of embedded checkers and semi-formal verification. This project involved the design and verification of a Dual-CPU PCI Bridge, as shown below. PCI Bridge CPU CPU req gnt req gnt CPU Bus Arbiter req gnt ID Table ID Fo rm at CPU Interface ID Count Fo rm at PCI Master Memory PCI Bus Memory Interface PCI Slave M e m or Two examples of bugs found by white-box techniques in this design are especially illustrative of the approach. The first bug was found in simulation by one of the checkers attached to the PCI bus to monitor for correct protocol behavior. The PCI slave in the memory interface asserted the Trdy signal before the DevSel signal, a violation of the PCI protocol. This bug was detected when the checker reported the violation during a block-level test that stimulated the PCI slave, and turned out to be due to a slave state machine problem. The second bug example is a serious corner-case bug that almost certainly would not have been found by traditional techniques. The scenario is that one CPU issues a two-cycle write, but is interrupted in the middle when the arbiter gives the processor bus grant to the other CPU. The effect was that only one word of data is written into the FIFO connecting the CPU and the PCI master. However, the PCI master recognizes the command as a two-cycle write and therefore pops two words from the FIFO without checking validity. The PCI master designer had never considered the possibility that a two-cycle write could be interrupted on the CPU bus. This bug was detected by an embedded FIFO checker whose do not dequeue when empty rule was violated when the PCI master read the invalid second word. This rule was never violated in functional simulations, since no test was written for an interrupted two-cycle write. However, when semi-formal verification amplified the seeds from the functional tests, and used the FIFO checker rule as a target for its formal methods, it was able to discover and report the bug scenario. Thus, it found a serious bug that otherwise would have remained undetected. 8

9 8.0 Conclusion The complexity of today s large chip designs is causing a verification crisis. It is almost impossible for verification engineers to think of all corner case conditions and to write enough black-box tests. Even when a black-box test detects the effects of a bug at the chip outputs, it can be difficult and time-consuming to track down the bug source deep within the chip. Random tests and hardware-software co-verification provide additional stimulus but do not necessarily find more bugs. White-box verification techniques are increasingly being used to supplement traditional functional verification via tests in simulation. White-box methods, especially when they leverage the power of semi-formal verification, can find bugs more quickly, closer to the source, and discover corner-case bugs that would otherwise have made it into silicon. 9.0 References 1. Using Embedded Checkers to Solve Verification Challenges by Scott Switzer and David Landoll (published in DesignCon 2000 IP World Forum Proceedings) 2. Functional Verification of ASICs in Silicon Intensive Systems by Allan Silburt (published in DesignCon98 On-Chip System Design Conference Proceedings) 3. Formal Methods Technology Validation with Guided Search of the State Space by C. Han Yang and David L. Dill (published in Proceedings of the 35th Design Automation Conference) 4. Hybrid Verification Using Saturated Simulation by Adnan Aziz, Jim Kukula and Tom Shiple (published in Proceedings of the 35th Design Automation Conference) 5. A Decision Procedure for Bit-Vector Arithmetic by Clark W. Barrett, David L. Dill and Jeremy R. Levitt (published in Proceedings of the 35th Design Automation Conference) 6. Hardware/Software Co-Design of the Stanford FLASH Multiprocessor by Mark Heinrich, David Ofelt, Mark A. Horowitz and John Hennessy (published in Proceedings of the IEEE, Vol. 85, No. 3, March 1997) 7. Integrating Formal Verification Methods with a Conventional Project Design Flow by Th. Eiríksson (published in Proceedings of the 33rd Design Automation Conference) 8. Validation Coverage Analysis for Complex Digital Designs by Richard C. Ho and Mark A. Horowitz (published in ICCAD '96 IEEE/ACM Digest of Technical Papers) 9. Architecture Validation for Processors by Richard C. Ho, C. Han Yang, Mark A. Horowitz and David L. Dill (published in Proceedings of the 22nd Annual International Symposium on Computer Architecture) 9

CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION

CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION CREATIVE ASSERTION AND CONSTRAINT METHODS FOR FORMAL DESIGN VERIFICATION Joseph Richards SGI, High Performance Systems Development Mountain View, CA richards@sgi.com Abstract The challenges involved in

More information

CS/ECE 5780/6780: Embedded System Design

CS/ECE 5780/6780: Embedded System Design CS/ECE 5780/6780: Embedded System Design John Regehr Lecture 18: Introduction to Verification What is verification? Verification: A process that determines if the design conforms to the specification.

More information

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification?

Administrivia. ECE/CS 5780/6780: Embedded System Design. Acknowledgements. What is verification? Administrivia ECE/CS 5780/6780: Embedded System Design Scott R. Little Lab 8 status report. Set SCIBD = 52; (The Mclk rate is 16 MHz.) Lecture 18: Introduction to Hardware Verification Scott R. Little

More information

Leveraging Formal Verification Throughout the Entire Design Cycle

Leveraging Formal Verification Throughout the Entire Design Cycle Leveraging Formal Verification Throughout the Entire Design Cycle Verification Futures Page 1 2012, Jasper Design Automation Objectives for This Presentation Highlight several areas where formal verification

More information

ASIC world. Start Specification Design Verification Layout Validation Finish

ASIC world. Start Specification Design Verification Layout Validation Finish AMS Verification Agenda ASIC world ASIC Industrial Facts Why Verification? Verification Overview Functional Verification Formal Verification Analog Verification Mixed-Signal Verification DFT Verification

More information

Choosing an Intellectual Property Core

Choosing an Intellectual Property Core Choosing an Intellectual Property Core MIPS Technologies, Inc. June 2002 One of the most important product development decisions facing SOC designers today is choosing an intellectual property (IP) core.

More information

Formal Technology in the Post Silicon lab

Formal Technology in the Post Silicon lab Formal Technology in the Post Silicon lab Real-Life Application Examples Haifa Verification Conference Jamil R. Mazzawi Lawrence Loh Jasper Design Automation Focus of This Presentation Finding bugs in

More information

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts

ADVANCED DIGITAL IC DESIGN. Digital Verification Basic Concepts 1 ADVANCED DIGITAL IC DESIGN (SESSION 6) Digital Verification Basic Concepts Need for Verification 2 Exponential increase in the complexity of ASIC implies need for sophisticated verification methods to

More information

Overview of Digital Design with Verilog HDL 1

Overview of Digital Design with Verilog HDL 1 Overview of Digital Design with Verilog HDL 1 1.1 Evolution of Computer-Aided Digital Design Digital circuit design has evolved rapidly over the last 25 years. The earliest digital circuits were designed

More information

Efficient Failure Triage with Automated Debug: a Case Study by Sean Safarpour, Evean Qin, and Mustafa Abbas, Vennsa Technologies Inc.

Efficient Failure Triage with Automated Debug: a Case Study by Sean Safarpour, Evean Qin, and Mustafa Abbas, Vennsa Technologies Inc. Efficient Failure Triage with Automated Debug: a Case Study by Sean Safarpour, Evean Qin, and Mustafa Abbas, Vennsa Technologies Inc. Functional debug is a dreadful yet necessary part of today s verification

More information

SystemVerilog Assertions in the Design Process 213

SystemVerilog Assertions in the Design Process 213 SystemVerilog Assertions in the Design Process 213 6.6 RTL Design Assertions, generated during the architectural planning phases, greatly facilitate the writing of the RTL implementation because they help

More information

World Class Verilog & SystemVerilog Training

World Class Verilog & SystemVerilog Training World Class Verilog & SystemVerilog Training Sunburst Design - Expert Verilog-2001 FSM, Multi-Clock Design & Verification Techniques by Recognized Verilog & SystemVerilog Guru, Cliff Cummings of Sunburst

More information

Speed up Emulation Debugging using Whitebox Assertions

Speed up Emulation Debugging using Whitebox Assertions Speed up Emulation Debugging using Whitebox Assertions Ricky Wang ricky@atrenta.com This presentation may contain forward-looking statements regarding product development. Information or statements contained

More information

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 ISSN

International Journal of Scientific & Engineering Research, Volume 4, Issue 11, November-2013 ISSN 58 Assertion Based Verification of AMBA-AHB Using Synopsys VCS Akshay Mann, Ashwani Kumar Abstract-The successof assertion based functional verification depends on the debugging environment associated

More information

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design

Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Bulletproofing FSM Verification Automated Approach to Detect Corner Case Issues in an FSM Design Lisa Piper Technical Marketing Real Intent Inc., Sunnyvale, CA Comprehensive verification of Finite State

More information

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1

Verification and Validation. Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation Ian Sommerville 2004 Software Engineering, 7th edition. Chapter 22 Slide 1 Verification vs validation Verification: "Are we building the product right?. The software should

More information

EECS 4340: Computer Hardware Design Unit 4: Validation

EECS 4340: Computer Hardware Design Unit 4: Validation EECS 4340: Unit 4: Validation Prof. Simha Sethumadhavan Reference Book: System Verilog for Verification Agenda Last Unit Design abstractions Basic primitives This Unit Validation Forthcoming Design Tips

More information

7.3.3 Same Inputs in Antecedent and Consequent

7.3.3 Same Inputs in Antecedent and Consequent Formal Verification Using Assertions 249 There are some special scenarios in which the user may want to intentionally toggle the reset signal during a session. This may be needed to check conditions such

More information

Part 5. Verification and Validation

Part 5. Verification and Validation Software Engineering Part 5. Verification and Validation - Verification and Validation - Software Testing Ver. 1.7 This lecture note is based on materials from Ian Sommerville 2006. Anyone can use this

More information

Constraint Verification

Constraint Verification Constraint Verification Constraint verification refers to the verification of the contents of an SDC file to flag situations where the specified constraints are either incorrect, or incomplete, both of

More information

Verifying the Correctness of the PA 7300LC Processor

Verifying the Correctness of the PA 7300LC Processor Verifying the Correctness of the PA 7300LC Processor Functional verification was divided into presilicon and postsilicon phases. Software models were used in the presilicon phase, and fabricated chips

More information

Test Scenarios and Coverage

Test Scenarios and Coverage Test Scenarios and Coverage Testing & Verification Dept. of Computer Science & Engg,, IIT Kharagpur Pallab Dasgupta Professor, Dept. of Computer Science & Engg., Professor-in in-charge, AVLSI Design Lab,

More information

DO-254 Testing of High Speed FPGA Interfaces by Nir Weintroub, CEO, and Sani Jabsheh, Verisense

DO-254 Testing of High Speed FPGA Interfaces by Nir Weintroub, CEO, and Sani Jabsheh, Verisense DO-254 Testing of High Speed FPGA Interfaces by Nir Weintroub, CEO, and Sani Jabsheh, Verisense As the complexity of electronics for airborne applications continues to rise, an increasing number of applications

More information

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I

ECE 587 Hardware/Software Co-Design Lecture 11 Verification I ECE 587 Hardware/Software Co-Design Spring 2018 1/23 ECE 587 Hardware/Software Co-Design Lecture 11 Verification I Professor Jia Wang Department of Electrical and Computer Engineering Illinois Institute

More information

Challenges in Verification of Clock Domain Crossings

Challenges in Verification of Clock Domain Crossings Challenges in Verification of Clock Domain Crossings Vishnu C. Vimjam and Al Joseph Real Intent Inc., Sunnyvale, CA, USA Notice of Copyright This material is protected under the copyright laws of the U.S.

More information

Is Power State Table Golden?

Is Power State Table Golden? Is Power State Table Golden? Harsha Vardhan #1, Ankush Bagotra #2, Neha Bajaj #3 # Synopsys India Pvt. Ltd Bangalore, India 1 dhv@synopsys.com 2 ankushb@synopsys.com 3 nehab@synopsys.com Abstract: Independent

More information

Assertive Verification: A Ten-Minute Primer

Assertive Verification: A Ten-Minute Primer Assertive Verification: A Ten-Minute Primer As published on 8/16/02 in EEDesign.com And Written by Saeed Coates, Paradigm Works, Inc. www.paradigm-works.com Table of Contents 1.1 Introduction: The Verification

More information

Definitions. Key Objectives

Definitions. Key Objectives CHAPTER 2 Definitions Key Objectives & Types of models & & Black box versus white box Definition of a test Functional verification requires that several elements are in place. It relies on the ability

More information

Focussing Assertion Based Verification Effort for Best Results

Focussing Assertion Based Verification Effort for Best Results Focussing Assertion Based Verification Effort for Best Results Mark Litterick (Verification Consultant) mark.litterick@verilab.com 2 Introduction Project background Overview of ABV including methodology

More information

CS 250 VLSI Design Lecture 11 Design Verification

CS 250 VLSI Design Lecture 11 Design Verification CS 250 VLSI Design Lecture 11 Design Verification 2012-9-27 John Wawrzynek Jonathan Bachrach Krste Asanović John Lazzaro TA: Rimas Avizienis www-inst.eecs.berkeley.edu/~cs250/ IBM Power 4 174 Million Transistors

More information

Simulation-Based FlexRay TM Conformance Testing an OVM success story

Simulation-Based FlexRay TM Conformance Testing an OVM success story Simulation-Based FlexRay TM Conformance Testing an OVM success story Mark Litterick, Co-founder & Verification Consultant, Verilab Abstract This article presents a case study on how the Open Verification

More information

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation

Design Process. Design : specify and enter the design intent. Verify: Implement: verify the correctness of design and implementation Design Verification 1 Design Process Design : specify and enter the design intent Verify: verify the correctness of design and implementation Implement: refine the design through all phases Kurt Keutzer

More information

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013!

Testing! Prof. Leon Osterweil! CS 520/620! Spring 2013! Testing Prof. Leon Osterweil CS 520/620 Spring 2013 Relations and Analysis A software product consists of A collection of (types of) artifacts Related to each other by myriad Relations The relations are

More information

CSE Verification Plan

CSE Verification Plan CSE 45493-3 Verification Plan 1 Verification Plan This is the specification for the verification effort. It indicates what we are verifying and how we are going to do it! 2 Role of the Verification Plan

More information

An Evaluation of the Advantages of Moving from a VHDL to a UVM Testbench by Shaela Rahman, Baker Hughes

An Evaluation of the Advantages of Moving from a VHDL to a UVM Testbench by Shaela Rahman, Baker Hughes An Evaluation of the Advantages of Moving from a VHDL to a UVM Testbench by Shaela Rahman, Baker Hughes FPGA designs are becoming too large to verify by visually checking waveforms, as the functionality

More information

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology)

Contents 1 Introduction 2 Functional Verification: Challenges and Solutions 3 SystemVerilog Paradigm 4 UVM (Universal Verification Methodology) 1 Introduction............................................... 1 1.1 Functional Design Verification: Current State of Affair......... 2 1.2 Where Are the Bugs?.................................... 3 2 Functional

More information

DRVerify: The Verification of Physical Verification

DRVerify: The Verification of Physical Verification DRVerify: The Verification of Physical Verification Sage Design Automation, Inc. Santa Clara, California, USA Who checks the checker? DRC (design rule check) is the most fundamental physical verification

More information

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University

Hardware Design Environments. Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Hardware Design Environments Dr. Mahdi Abbasi Computer Engineering Department Bu-Ali Sina University Outline Welcome to COE 405 Digital System Design Design Domains and Levels of Abstractions Synthesis

More information

Ten Reasons to Optimize a Processor

Ten Reasons to Optimize a Processor By Neil Robinson SoC designs today require application-specific logic that meets exacting design requirements, yet is flexible enough to adjust to evolving industry standards. Optimizing your processor

More information

Cypress Adopts Questa Formal Apps to Create Pristine IP

Cypress Adopts Questa Formal Apps to Create Pristine IP Cypress Adopts Questa Formal Apps to Create Pristine IP DAVID CRUTCHFIELD, SENIOR PRINCIPLE CAD ENGINEER, CYPRESS SEMICONDUCTOR Because it is time consuming and difficult to exhaustively verify our IP

More information

HECTOR: Formal System-Level to RTL Equivalence Checking

HECTOR: Formal System-Level to RTL Equivalence Checking ATG SoC HECTOR: Formal System-Level to RTL Equivalence Checking Alfred Koelbl, Sergey Berezin, Reily Jacoby, Jerry Burch, William Nicholls, Carl Pixley Advanced Technology Group Synopsys, Inc. June 2008

More information

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series

Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series Design Verification An Introduction Main References Hardware Design Verification: Simulation and Formal Method-Based Approaches William K Lam Prentice Hall Modern Semiconductor Design Series A Roadmap

More information

A Formal Verification Methodology for Checking Data Integrity

A Formal Verification Methodology for Checking Data Integrity A Formal Verification Methodology for ing Data Integrity Yasushi Umezawa, Takeshi Shimizu Fujitsu Laboratories of America, Inc., Sunnyvale, CA, USA yasushi.umezawa@us.fujitsu.com, takeshi.shimizu@us.fujitsu.com

More information

Verification of Clock Domain Crossing Jitter and Metastability Tolerance using Emulation

Verification of Clock Domain Crossing Jitter and Metastability Tolerance using Emulation Verification of Clock Domain Crossing Jitter and Metastability Tolerance using Emulation Ashish Hari ashish_hari@mentor.com Suresh Krishnamurthy k_suresh@mentor.com Amit Jain amit_jain@mentor.com Yogesh

More information

idrm: Fixing the broken interface between design and manufacturing

idrm: Fixing the broken interface between design and manufacturing idrm: Fixing the broken interface between design and manufacturing Abstract Sage Design Automation, Inc. Santa Clara, California, USA This paper reviews the industry practice of using the design rule manual

More information

CHAPTER 1 INTRODUCTION

CHAPTER 1 INTRODUCTION CHAPTER 1 INTRODUCTION Rapid advances in integrated circuit technology have made it possible to fabricate digital circuits with large number of devices on a single chip. The advantages of integrated circuits

More information

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink

Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Reducing the cost of FPGA/ASIC Verification with MATLAB and Simulink Graham Reith Industry Manager Communications, Electronics and Semiconductors MathWorks Graham.Reith@mathworks.co.uk 2015 The MathWorks,

More information

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE

DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE DEVELOPMENT AND VERIFICATION OF AHB2APB BRIDGE PROTOCOL USING UVM TECHNIQUE N.G.N.PRASAD Assistant Professor K.I.E.T College, Korangi Abstract: The AMBA AHB is for high-performance, high clock frequency

More information

Post processing techniques to accelerate assertion development Ajay Sharma

Post processing techniques to accelerate assertion development Ajay Sharma Post processing techniques to accelerate assertion development Ajay Sharma 2014 Synopsys, Inc. All rights reserved. 1 Agenda Introduction to Assertions Traditional flow for using ABV in Simulations/Emulation/Prototyping

More information

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were

For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were CHAPTER-2 HARDWARE DESCRIPTION LANGUAGES 2.1 Overview of HDLs : For a long time, programming languages such as FORTRAN, PASCAL, and C Were being used to describe computer programs that were sequential

More information

Chapter 9. Software Testing

Chapter 9. Software Testing Chapter 9. Software Testing Table of Contents Objectives... 1 Introduction to software testing... 1 The testers... 2 The developers... 2 An independent testing team... 2 The customer... 2 Principles of

More information

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE

DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE DESIGN AND VERIFICATION ANALYSIS OF APB3 PROTOCOL WITH COVERAGE Akhilesh Kumar and Richa Sinha Department of E&C Engineering, NIT Jamshedpur, Jharkhand, India ABSTRACT Today in the era of modern technology

More information

Eliminating Routing Congestion Issues with Logic Synthesis

Eliminating Routing Congestion Issues with Logic Synthesis Eliminating Routing Congestion Issues with Logic Synthesis By Mike Clarke, Diego Hammerschlag, Matt Rardon, and Ankush Sood Routing congestion, which results when too many routes need to go through an

More information

Chapter 5: ASICs Vs. PLDs

Chapter 5: ASICs Vs. PLDs Chapter 5: ASICs Vs. PLDs 5.1 Introduction A general definition of the term Application Specific Integrated Circuit (ASIC) is virtually every type of chip that is designed to perform a dedicated task.

More information

Practical Approaches to Formal Verification. Mike Bartley, TVS

Practical Approaches to Formal Verification. Mike Bartley, TVS Practical Approaches to Formal Verification Mike Bartley, TVS 1 Acknowledgements This paper is based on work performed by TVS with ARM Specific thanks should go to Laurent Arditi Bryan Dickman Daryl Stuart

More information

Digital Design Methodology (Revisited) Design Methodology: Big Picture

Digital Design Methodology (Revisited) Design Methodology: Big Picture Digital Design Methodology (Revisited) Design Methodology Design Specification Verification Synthesis Technology Options Full Custom VLSI Standard Cell ASIC FPGA CS 150 Fall 2005 - Lec #25 Design Methodology

More information

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers

Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Addressing Verification Bottlenecks of Fully Synthesized Processor Cores using Equivalence Checkers Subash Chandar G (g-chandar1@ti.com), Vaideeswaran S (vaidee@ti.com) DSP Design, Texas Instruments India

More information

Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics

Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics Optimizing Emulator Utilization by Russ Klein, Program Director, Mentor Graphics INTRODUCTION Emulators, like Mentor Graphics Veloce, are able to run designs in RTL orders of magnitude faster than logic

More information

Qualification of Verification Environments Using Formal Techniques

Qualification of Verification Environments Using Formal Techniques Qualification of Verification Environments Using Formal Techniques Raik Brinkmann DVClub on Verification Qualification April 28 2014 www.onespin-solutions.com Copyright OneSpin Solutions 2014 Copyright

More information

Digital Design Methodology

Digital Design Methodology Digital Design Methodology Prof. Soo-Ik Chae Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008, John Wiley 1-1 Digital Design Methodology (Added) Design Methodology Design Specification

More information

CS 250! VLSI System Design

CS 250! VLSI System Design CS 250! VLSI System Design Lecture 6 Design Verification 2014 09-16! Professor Jonathan Bachrach! slides by John Lazzaro TA: Colin Schmidt www-inst.eecs.berkeley.edu/~cs250/ CS 250 L6: Design Verification

More information

OpenVera Assertions. March Synopsys, Inc.

OpenVera Assertions. March Synopsys, Inc. OpenVera Assertions March 2003 2003 Synopsys, Inc. Introduction The amount of time and manpower that is invested in finding and removing bugs is growing faster than the investment in creating the design.

More information

With design complexity increasing significantly

With design complexity increasing significantly With design complexity increasing significantly over the years, the verification of asynchronous designs has become one of the biggest challenges in modern systems-on-a-chip (SoCs). Functional simulation,

More information

Complex Signal Processing Verification under DO-254 Constraints by François Cerisier, AEDVICES Consulting

Complex Signal Processing Verification under DO-254 Constraints by François Cerisier, AEDVICES Consulting Complex Signal Processing Verification under DO-254 Constraints by François Cerisier, AEDVICES Consulting Building a complex signal processing function requires a deep understanding of the signal characteristics

More information

Reuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation

Reuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation Reuse MATLAB Functions and Simulink Models in UVM Environments with Automatic SystemVerilog DPI Component Generation by Tao Jia, HDL Verifier Development Lead, and Jack Erickson, HDL Product Marketing

More information

A Practical Solution to Fixing Netlist X-Pessimism

A Practical Solution to Fixing Netlist X-Pessimism A Practical Solution to Fixing Netlist X-Pessimism Most functional verification for SoC and FPGA designs is done prior to RTL hand-off to digital synthesis, since gate-level simulations take longer to

More information

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001

Midterm Exam, October 24th, 2000 Tuesday, October 24th, Human-Computer Interaction IT 113, 2 credits First trimester, both modules 2000/2001 257 Midterm Exam, October 24th, 2000 258 257 Midterm Exam, October 24th, 2000 Tuesday, October 24th, 2000 Course Web page: http://www.cs.uni sb.de/users/jameson/hci Human-Computer Interaction IT 113, 2

More information

Coverage Metrics for Post-Silicon Validation. Tim Cheng, Ming Gao, and Peter Lisherness Univ. of California, Santa Barbara

Coverage Metrics for Post-Silicon Validation. Tim Cheng, Ming Gao, and Peter Lisherness Univ. of California, Santa Barbara Coverage Metrics for Post-Silicon Validation Tim Cheng, Ming Gao, and Peter Lisherness Univ. of California, Santa Barbara Coverage Metrics for Post-Si Validation PI: Cheng 2 Inadequacy of Existing Metrics

More information

Navigating the RTL to System Continuum

Navigating the RTL to System Continuum Navigating the RTL to System Continuum Calypto Design Systems, Inc. www.calypto.com Copyright 2005 Calypto Design Systems, Inc. - 1 - The rapidly evolving semiconductor industry has always relied on innovation

More information

DTNS: a Discrete Time Network Simulator for C/C++ Language Based Digital Hardware Simulations

DTNS: a Discrete Time Network Simulator for C/C++ Language Based Digital Hardware Simulations DTNS: a Discrete Time Network Simulator for C/C++ Language Based Digital Hardware Simulations KIMMO KUUSILINNA, JOUNI RIIHIMÄKI, TIMO HÄMÄLÄINEN, and JUKKA SAARINEN Digital and Computer Systems Laboratory

More information

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks

Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks Design and Verification of FPGA and ASIC Applications Graham Reith MathWorks 2014 The MathWorks, Inc. 1 Agenda -Based Design for FPGA and ASIC Generating HDL Code from MATLAB and Simulink For prototyping

More information

Control of Processes in Operating Systems: The Boss-Slave Relation

Control of Processes in Operating Systems: The Boss-Slave Relation Control of Processes in Operating Systems: The Boss-Slave Relation R. Stockton Gaines Communications Research Division, Institute for Defense Analyses, Princeton NJ and The RAND Corporation, Santa Monica

More information

Portable Stimulus vs Formal vs UVM A Comparative Analysis of Verification Methodologies Throughout the Life of an IP Block

Portable Stimulus vs Formal vs UVM A Comparative Analysis of Verification Methodologies Throughout the Life of an IP Block Portable Stimulus vs Formal vs UVM A Comparative Analysis of Verification Methodologies Throughout the Life of an IP Block Gaurav Bhatnagar Staff Engineer, Analog Devices, Inc David Brownell Manager, Analog

More information

Regression testing. Whenever you find a bug. Why is this a good idea?

Regression testing. Whenever you find a bug. Why is this a good idea? Regression testing Whenever you find a bug Reproduce it (before you fix it!) Store input that elicited that bug Store correct output Put into test suite Then, fix it and verify the fix Why is this a good

More information

Graph-Based IP Verification in an ARM SoC Environment by Andreas Meyer, Verification Technologist, Mentor Graphics Corporation

Graph-Based IP Verification in an ARM SoC Environment by Andreas Meyer, Verification Technologist, Mentor Graphics Corporation Graph-Based IP Verification in an ARM SoC Environment by Andreas Meyer, Verification Technologist, Mentor Graphics Corporation The use of graph-based verification methods for block designs has been shown

More information

Øystein Kolsrud Jasper Design Automation

Øystein Kolsrud Jasper Design Automation Industrial Application of Formal Verification Øystein Kolsrud Jasper Design Automation Copyright Notice and Proprietary Information Published: March 17, 2009 Copyright 2006-2009 Jasper Design Automation,

More information

Boost FPGA Prototype Productivity by 10x

Boost FPGA Prototype Productivity by 10x Boost FPGA Prototype Productivity by 10x Introduction Modern ASICs have become massively complex due in part to the growing adoption of system on chip (SoC) development methodologies. With this growing

More information

Errata and Clarifications to the PCI-X Addendum, Revision 1.0a. Update 3/12/01 Rev P

Errata and Clarifications to the PCI-X Addendum, Revision 1.0a. Update 3/12/01 Rev P Errata and Clarifications to the PCI-X Addendum, Revision 1.0a Update 3/12/01 Rev P REVISION REVISION HISTORY DATE P E1a-E6a, C1a-C12a 3/12/01 2 Table of Contents Table of Contents...3 Errata to PCI-X

More information

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay

Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Advanced VLSI Design Prof. Virendra K. Singh Department of Electrical Engineering Indian Institute of Technology Bombay Lecture 40 VLSI Design Verification: An Introduction Hello. Welcome to the advance

More information

ENGR 3410: MP #1 MIPS 32-bit Register File

ENGR 3410: MP #1 MIPS 32-bit Register File ENGR 3410: MP #1 MIPS 32-bit Register File Due: Before class, September 23rd, 2008 1 Introduction The purpose of this machine problem is to create the first large component of our MIPS-style microprocessor

More information

Comprehensive CDC Verification with Advanced Hierarchical Data Models

Comprehensive CDC Verification with Advanced Hierarchical Data Models Comprehensive CDC Verification with Advanced Hierarchical Data Models by Anwesha Choudhury, Ashish Hari, Aditya Vij, and Ping Yeung Mentor, A Siemens Business The size and complexity of designs, and the

More information

How to Automate A Complete Register. Verification Environment

How to Automate A Complete Register. Verification Environment How to Automate A Complete Register Verification Environment Executive Summary Memory mapped registers provide re-configurability and control to an Intellectual Property Block (IP) or System on Chip design

More information

The Application of Formal Technology on Fixed-Point Arithmetic SystemC Designs

The Application of Formal Technology on Fixed-Point Arithmetic SystemC Designs The Application of Formal Technology on Fixed-Point Arithmetic SystemC Designs Sven Beyer, OneSpin Solutions, Munich, Germany, sven.beyer@onespin-solutions.com Dominik Straßer, OneSpin Solutions, Munich,

More information

7.3 Case Study - FV of a traffic light controller

7.3 Case Study - FV of a traffic light controller Formal Verification Using Assertions 247 7.3 Case Study - FV of a traffic light controller 7.3.1 Model This design represents a simple traffic light controller for a North-South and East-West intersection.

More information

System Verification of Hardware Optimization Based on Edge Detection

System Verification of Hardware Optimization Based on Edge Detection Circuits and Systems, 2013, 4, 293-298 http://dx.doi.org/10.4236/cs.2013.43040 Published Online July 2013 (http://www.scirp.org/journal/cs) System Verification of Hardware Optimization Based on Edge Detection

More information

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto

Recommended Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto Recommed Design Techniques for ECE241 Project Franjo Plavec Department of Electrical and Computer Engineering University of Toronto DISCLAIMER: The information contained in this document does NOT contain

More information

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing?

Testing. ECE/CS 5780/6780: Embedded System Design. Why is testing so hard? Why do testing? Testing ECE/CS 5780/6780: Embedded System Design Scott R. Little Lecture 24: Introduction to Software Testing and Verification What is software testing? Running a program in order to find bugs (faults,

More information

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011

Higher-order Testing. Stuart Anderson. Stuart Anderson Higher-order Testing c 2011 Higher-order Testing Stuart Anderson Defining Higher Order Tests 1 The V-Model V-Model Stages Meyers version of the V-model has a number of stages that relate to distinct testing phases all of which are

More information

Chapter 8 Software Testing. Chapter 8 Software testing

Chapter 8 Software Testing. Chapter 8 Software testing Chapter 8 Software Testing 1 Topics covered Introduction to testing Stages for testing software system are: Development testing Release testing User testing Test-driven development as interleave approach.

More information

Formal Verification: Not Just for Control Paths

Formal Verification: Not Just for Control Paths Formal Verification: Not Just for Control Paths by Rusty Stuber, Mentor, A Siemens Business Formal property verification is sometimes considered a niche methodology ideal for control path applications.

More information

Cover Page. The handle holds various files of this Leiden University dissertation

Cover Page. The handle   holds various files of this Leiden University dissertation Cover Page The handle http://hdl.handle.net/1887/22891 holds various files of this Leiden University dissertation Author: Gouw, Stijn de Title: Combining monitoring with run-time assertion checking Issue

More information

Power Up Hardware/Software Verification Productivity by Matthew Ballance, Mentor Graphics

Power Up Hardware/Software Verification Productivity by Matthew Ballance, Mentor Graphics Power Up Hardware/Software Verification Productivity by Matthew Ballance, Mentor Graphics Today s complex designs increasingly include at least one, and often more, embedded processors. Given software

More information

Data path verification on cross-domain with formal scoreboard

Data path verification on cross-domain with formal scoreboard Data path verification on cross-domain with formal scoreboard Liu Jun, Intel Mobile Communications, Munich, Germany (jun.b.liut@intel.com) Abstract In today s complex System on Chip (SOC) designs, multiple

More information

Full-Chip Pattern Integration

Full-Chip Pattern Integration Introduction Full-Chip Pattern Integration Failing tests; schedule slips; silicon re-spins; development tools that break with each new design. A growing number of test engineers are faced with these critical

More information

JasperGold. Agenda. High-Level Formal Verification

JasperGold. Agenda. High-Level Formal Verification JasperGold High-Level Formal Verification Vigyan Singhal Harry D. Foster 1 Agenda Jasper introduction Model checking Block-level verification - High-level requirements - Formal testplan - Coverage Formal

More information

Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions

Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions Pragmatic Simulation-Based Verification of Clock Domain Crossing Signals and Jitter using SystemVerilog Assertions Mark Litterick (Verification Consultant) mark.litterick@verilab.com 2 Introduction Clock

More information

TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1

TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1 TOOLS AND TECHNIQUES FOR TEST-DRIVEN LEARNING IN CS1 ABSTRACT Test-Driven Development is a design strategy where a set of tests over a class is defined prior to the implementation of that class. The goal

More information

The CoreConnect Bus Architecture

The CoreConnect Bus Architecture The CoreConnect Bus Architecture Recent advances in silicon densities now allow for the integration of numerous functions onto a single silicon chip. With this increased density, peripherals formerly attached

More information

Assertions: Too good to be reserved for verification only.

Assertions: Too good to be reserved for verification only. Assertions: Too good to be reserved for verification only. Written by Brian Bailey Abstract There has been a lot of talk in the industry about the usefulness of assertions as part of a complete verification

More information

Agilent E2929A/B Opt. 200 PCI-X Performance Optimizer. User s Guide

Agilent E2929A/B Opt. 200 PCI-X Performance Optimizer. User s Guide Agilent E2929A/B Opt. 200 PCI-X Performance Optimizer User s Guide S1 Important Notice All information in this document is valid for both Agilent E2929A and Agilent E2929B testcards. Copyright 2001 Agilent

More information