Every engineer knows that system-on-a-chip (SoC)

Size: px
Start display at page:

Download "Every engineer knows that system-on-a-chip (SoC)"

Transcription

1 System Verilog digital SystemVerilog Assertions and Functional Coverage Support Advanced Verification Every engineer knows that system-on-a-chip (SoC) verification is hard. Several widely cited studies have concluded that functional verification consumes 60% to 80% of the resources during the register-transfer-level (RTL) phase of a typical SoC project. It s quite common for development teams to have more verification engineers than designers sometimes double the number. The situation only gets worse as SoC designs grow in size and complexity. For a better chance of first-silicon success, verification engineers have turned to a wide variety of advanced techniques. Nearly all of these approaches are based upon three concepts that lie at the very heart of SoC functional verification: assertions, coverage, and constraints. The ability to specify these three items during the design and verification process is key for the success of SoC projects. Modern verification languages, such as e, provide built-in constructs to express assertions, functional-coverage points, and constraints. The vast experience gained from these languages was leveraged in the development of SystemVerilog, the successor to the widely used Verilog hardware design language. SystemVerilog, which is standardized as IEEE Std , contains many of the essential verification-related features that are familiar to advanced-verification teams. Specifically, SystemVerilog has the following: intrinsic constructs for the specification of assertions to capture design intent; functional-coverage points to measure verification progress; and constraints to automate stimulus generation. This article focuses on the SystemVerilog constructs for assertions and functional coverage. It describes their verification planning. The article has three primary goals: to introduce the concepts of assertions and functional coverage to engineers who aren t already making use of them; to show specifically how SystemVerilog supports their specification; and to outline the impact that their use has on the verification planning process. Introduction to Assertions The concept of assertions has been around for a long time especially in the software world. Essentially, any engineer who has ever written a line of C to print out an error message about a detected internal inconsistency has written an assertion. Including assertions in code is very good practice. While it may be embarrassing to report errors to the users of a program, it is far better than continuing and possibly delivering incorrect results. By Tom Anderson RTL is, of course, just another form of code (specifying hardware rather than software). Thus, it isn t surprising that assertions also have become popular in the world of SoC design. Even before languages like SystemVerilog and PSL (IEEE Std ) provided built-in assertion constructs, designers and verification engineers would sometimes include code to check for unexpected conditions and generate a message. As shown in Figure 1, assertions document design intent for the inputs and outputs of a block as well as for the block s internal behavior. Assertions that reference only the block I/O are black-box, as they don t depend on internal implementation. End-to-end assertions specify behavior from the inputs to the outputs end to end. They then relate the expected results on the outputs to the values on the inputs. Assertions that reference internal design structures are white-box. They re tied to the RTL implementation. Figure 1: Assertions document design intent. Assertions that specify input or output protocols reflect not just a single block, but rather the interaction between the block and its neighbors. Output assertions check that the results from the block agree with what is expected by the other blocks receiving the output signals. Conversely, input assertions represent the range of inputs for which the block is designed. They screen out illegal inputs from other blocks. Input assertions are especially important for formal analysis, which can be applied to the block before any testbench or tests have been written. As shown in Figure 2, input assertions are treated as constraints. This ensures that formal analysis considers only legal input combinations. A problem detected by using illegal inputs is generally not of interest to the designer. Usually, it isn t a true design bug. 20 June / July 2007 Chip Design

2 in block-level formal analysis and simulation also run unchanged in full-chip testbench simulation. Chip-level assertions provide two valuable results: faster bug isolation and more thorough verification. digital Figure 2: Assertions enable formal analysis. System Verilog For each assertion that isn t converted to a constraint, formal analysis tries to either prove that the assertion can never be violated or generate a counter-example showing how a violation can occur. Some formal tools can generate the counter-example as a test case. This test case can be run in simulation. Or it can directly support the use of simulation debuggers. The bug causing the assertion violation can then be diagnosed in a familiar environment. Although many types of blocks can be completely verified by formal analysis, this isn t required by assertion-based verification. Some types of design intent may be easier to check in a traditional simulation testbench than with assertions. As shown in Figure 3, assertions add value in block-level testbench simulation as well as in formal analysis. Figure 4: Assertions in chip-level simulation are shown here. A bug buried deep inside a block can take literally thousands of cycles to propagate its effects to the chip output and be detected in the testbench. If an assertion catches this bug at its source, diagnosis time is reduced from hours or even days down to minutes. Furthermore, assertions sometimes detect bugs that would ve been missed by the testbench perhaps because the simulation test stopped before bug effects reached the outputs. Reducing their debug time and effort during the verification process is a major benefit for designers. It more than offsets the time that they spend to specify assertions. The designers also benefit from assertions placed on the inputs to their blocks. These assertions serve as screens to catch input values or sequences for which the blocks weren t designed. In chip-level simulations, violations of such assertions indicate disagreements over shared interfaces of adjoining blocks. As a result, designers don t waste time debugging problems when their colleagues don t follow the specified input protocols. Figure 3: This graphic shows assertions in block-level simulation. Most block-level testbenches are developed by designers, who generally don t use high-level verification techniques like objectoriented programming and constrained-random stimulus generation. The assertions therefore provide additional checking beyond the relatively simple testbenches created by designers. Assertions in simulation report any violations as they occur, making it quick and easy to diagnose design bugs. Although testbenches at the SoC level tend to be more sophisticated than for individual blocks, it s still important to run assertions. As shown in Figure 4, the same assertions used Finally, assertions have tremendous value beyond simulation. Some acceleration and emulation platforms provide the facility to compile assertions into the hardware. They provide checking during tests, such as booting an operating system. In rare cases, designers may even turn some assertions into hardware checks built into the final SoC. SystemVerilog Assertions The value of assertions in RTL had been well documented prior to the SystemVerilog definition effort within Accellera. The standards team wisely chose to make assertions a key part of the language. The SystemVerilog-assertion (SVA) subset provides a rich set of constructs to specify properties and sequences as building blocks for complex assertions. The assert construct is used to specify assertions. The assume construct is used to specify assumptions, which are typically properties on the design inputs. Chip Design June / July

3 System Verilog digital The syntax of simple assertions looks much like traditional Verilog. The FIFO overflow assertion mentioned in the last section might be written as follows: assert_no_underflow: assert property clk)!(fifo_read && fifo_empty && rst_n)); This assertion, named assert_no_overflow by the designer, reports a violation when the FIFO write signal and FIFO full signal are both active. This check is performed only when the reset signal is inactive and only on the clock s rising edge. Transient signal changes are therefore not considered. This is a good example of an assertion with high value in chip-level simulation. The FIFO bug can be detected when it occurs instead of when the corrupted data reaches the testbench checkers perhaps hundreds of cycles later. SystemVerilog assertions can be quite complex especially when sequences of signal values over multiple cycles are involved. A request-acknowledge handshake is a simple example of a sequence. A typical assertion might be whenever req is active, then ack must be active between 1 and 4 cycles later. This might be expressed by the following: assert_req_ack: assert property (@(posedge clk) disable iff(!rst_n) (req => ##[1:4] ack )); The assertion uses the => implication operator to indicate that an active request signal implies a later activation of the acknowledge signal. It also uses a disabling condition to suppress the assertion when the reset is active. Most assertions shouldn t be checked during reset. In addition, some types of assertions might not be applicable during SoC configuration and initialization. One of SVA s unique features is the action block. It allows a task to be specified for execution in the event of assertion pass or failure. For example, in this arbiter assertion: assert_unique_grant: assert property (@(posedge clk)!(grant_master_1 && grant_master_2 && rst_n)) else error_report_task; SVA provides many additional features for assertion specification including the ability to define local variables that are only valid within an assertion specification. It also provides liveness assertions in which something should eventually happen with no strict time bound. Some of these features aren t supported in all formal-analysis tools. SystemVerilog allows assertions to be placed directly in the RTL. It therefore takes advantage of the context of the surrounding code. Generally, designers like to specify their assertions in-line as they write their code. Verification engineers may not have permission to change the RTL, as they re more likely to place any additional assertions in the testbench. The SystemVerilog bind construct enables assertions to be placed in an entirely separate file, which is useful for encapsulating assertions to be reused on multiple projects. Introduction to Functional Coverage Regardless of the verification tools and techniques used on an SoC project, the development team needs a way to gauge progress. In the days of hand-written simulation tests, this determination was made with a simple test plan. The verification team would extract each major feature from the design specification, list the tests needed for each feature, write and debug the tests, and track progress against the list. Now that constrained-random simulation is the preferred method to generate stimulus for SoC projects, there s no longer a clear correspondence between features and tests. A single constrained-random run can exercise many different areas of the design. Plus, it can be hard for the verification team to determine what precisely is being verified by each test run. The best way to determine this is through the use of functional-coverage metrics. Here, important corner-case behavior is specified by the design and verification engineers and tracked over the course of the project to be sure that it is exercised. Verification languages provide three general types of functionalcoverage specification. The simplest category is functionalcoverage points consisting of signals, expressions, or sequences that must be exercised for thorough verification. In some cases, the signals or expressions may take on a wide range of values. It s therefore useful to define coverage groups with bins or buckets for different value ranges. Finally, cross coverage combines coverage groups to track all pair-wise combinations between the two groups. SystemVerilog Functional Coverage As with assertions, the SystemVerilog standards team knew the value of functional coverage from experiences with verification languages. They decided that similar features were needed. SystemVerilog provides three basic ways to specify functional-coverage points: the cover property, covergroup, and cross constructs. Specifying a coverage property is very similar to specifying an assertion. In fact, cover property is technically part of the SVA subset. Assertion languages also are very good for specifying coverage points. SVA therefore uses the same building blocks 22 June / July 2007 Chip Design

4 of sequences and properties for coverage as well as assertions. For example, the verification team might want to ensure that the two extremes (1 and 4 cycles) of the previously shown requestacknowledge handshake assertion are hit: minimum_grant: cover property (@(posedge clk) (req ##1 ack )); maximum_grant: cover property (@(posedge clk) (req ##4 ack )); The cover-property approach works well for defining individual coverage points. But there are times when coverage groups might be more appropriate. SystemVerilog provides the covergroup construct, which isn t part of SVA, to do this. The verification team for a network interface might want to track the payload size of incoming packets, for example, and ensure that the corner cases of empty, minimum, and maximum payloads are covered: The SystemVerilog functional-coverage constructs are designed to be used either in the testbench or within the design RTL. Yet not all simulators and formal tools provide support for all forms of coverage specification. Cover property is probably used mostly in the RTL while covergroup and cross are currently used in testbench code. As tool support expands, however, this is likely to change. SystemVerilog functional-coverage metrics can be gathered during any simulation run. As shown in Figure 5, functional coverage complements assertions by ensuring that important behavior is exercised at the same time that the assertions are being checked. Verification engineers stress that hitting all of the coverage goals while all assertions and other checkers pass is the key to completing the functional-verification process. digital System Verilog covergroup payloads_seen (@(packet_received); coverpoint payload_size { bins empty = { 0 }; bins minimum = { 1 }; bins maximum= { 255 }; bins others = default; } endgroup : payloads_seen SystemVerilog also provides the cross construct to offer cross coverage between two coverage points. The following specifies an enumerated type for three packet types defined for the interface. It adds a coverpoint to track the packet types and crosses the packet types with the payload sizes: enum { read, write, control } packet_type; covergroup packets_seen (@(packet_received); coverpoint payload_size { bins empty = { 0 }; bins minimum = { 1 }; bins maximum= { 255 }; bins others = default; } coverpoint packet_type; cross payload_size, packet_type; endgroup : packets_seen In general, the SystemVerilog cover-property construct is used whenever an expression or sequence is the best way to define the coverage point. The coverpoint construct is ideal when binning is required. For its part, covergroup collects together multiple coverage points that should be sampled at the same time. Figure 5: Functional coverage is depicted in the testbench. If the chosen formal-analysis tool can handle at least some types of SystemVerilog functional coverage, it can add significant value to the verification process. If formal analysis shows that a coverage point can never be reached, this result should be examined carefully. It s possible that a design bug is preventing the exercise of intended behavior. If formal analysis generates an input sequence that reaches a coverage point that isn t yet exercised in simulation, this can be a useful guidance for writing a directed test or modifying the constrained-random stimulus. As previously noted, one of the key motivations for specifying functional-coverage points is to measure what s being verified by constrained-random-stimulus test runs. Because there s no longer a clear correspondence between features and tests, the traditional test plan doesn t suffice. Instead, a modern verification plan establishes a correspondence between features and coverage points possibly one for one. Some verification plans specify assertions as well as coverage points. Maximum benefit from a verification plan and coverage metrics is achieved when they re linked together by a verification planning tool. The verification engineers can define the features, coverage points, assertions, module mappings, and other information Chip Design June / July

5 System Verilog digital directly in the tool rather than on a spreadsheet or paper document. The automated verification plan can then become an integral part of the tool flow and methodology. As coverage (and assertion) results are gathered and merged, the information can be reported against the verification plan. The verification team and management that must make the tape-out decision can then view the coverage metrics against the original feature list. Only when all of the features have been fully covered should taping out be considered. Bug discovery rate and other metrics also factor into the decision, however. For any chance at first-silicon success, the size and complexity of today s SoCs demand advanced verification methods, an effective verification planning process, and a solid verification methodology. Constrained-random stimulus generation, assertions in simulation and formal analysis, thorough functional coverage, and a coverage-driven verification process are all proven techniques to help achieve this goal. SystemVerilog has all of the constructs and features necessary to support these advanced verification approaches. On top of its many RTL features, it has powerful assertion-specification capabilities and functional-coverage support. These aspects leverage many years of experience with hardware verification languages. Incorporating these capabilities into the verification planning process from the very beginning enables a highly effective, coverage-driven verification process from plan to closure. The combination of SystemVerilog and solid plan-to-closure methodology reduces the overall time and effort for functional verification while improving design quality all using quantifiable metrics. The likelihood for an on-schedule first-silicon production shipment is therefore increased as is the commercial success of SoCs and the products that they make possible. Thomas L. Anderson is a Product Marketing Director at Cadence, where his responsibilities encompass formal analysis, assertion-based verification, and SystemVerilog. He has presented more than 100 conference talks and published more than 150 papers and technical articles, and holds an MS in Electrical Engineering and Computer Science from MIT and a BS in Computer Systems Engineering from the University of Massachusetts at Amherst. 24 June / July 2007 Chip Design

Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows

Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows Assertion Synthesis Enabling Assertion-Based Verification For Simulation, Formal and Emulation Flows Manual Assertion Creation is ABV Bottleneck Assertion-Based Verification adopted by leading design companies

More information

Using SystemVerilog Assertions for Creating Property-Based Checkers

Using SystemVerilog Assertions for Creating Property-Based Checkers Using SystemVerilog Assertions for Creating Property-Based Checkers Eduard Cerny Synopsys, Inc. Marlborough, USA edcerny@synopsys.com Dmitry Korchemny Intel Corp. Haifa, Israel dmitry.korchemny@intel.com

More information

Introduction to Functional Verification. Niels Burkhardt

Introduction to Functional Verification. Niels Burkhardt Introduction to Functional Verification Overview Verification issues Verification technologies Verification approaches Universal Verification Methodology Conclusion Functional Verification issues Hardware

More information

Design for Verification Blueprint for Productivity and Product Quality

Design for Verification Blueprint for Productivity and Product Quality Design for Verification Blueprint for Productivity and Product Quality Rindert Schutten Tom Fitzpatrick Synopsys, Inc. April 2003 2003 Synopsys, Inc. Overview Emerging design and verification technologies

More information

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH

BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH WHITE PAPER METRIC-DRIVEN VERIFICATION ENSURES SOFTWARE DEVELOPMENT QUALITY BY STEVE BROWN, CADENCE DESIGN SYSTEMS AND MICHEL GENARD, VIRTUTECH INTRODUCTION The complexity of electronic systems is rapidly

More information

SVA4T: SystemVerilog Assertions - Techniques, Tips, Tricks, and Traps

SVA4T: SystemVerilog Assertions - Techniques, Tips, Tricks, and Traps SVA4T: SystemVerilog Assertions - Wolfgang Ecker, Volkan Esen, Thomas Kruse, Thomas Steininger Infineon Technologies Peter Jensen Syosil Consulting Abstract ABV (Assertion Based Verification) is a very

More information

SystemVerilog Is Getting Even Better!

SystemVerilog Is Getting Even Better! by, SystemVerilog Is Getting Even Better! An Update on the Proposed 2009 SystemVerilog Standard Part 2 presented by Clifford E. Cummings Sunburst Design, Inc. cliffc@sunburst-design.com www.sunburst-design.com

More information

Use, Analysis, and Debug of SystemVerilog Assertions

Use, Analysis, and Debug of SystemVerilog Assertions Use, Analysis, and Debug of SystemVerilog Assertions Agenda Introduction Source Code Tracing Assertion Checking Analyzing and Debugging Waveform Active Annotation Property Result Table Standards: The Life

More information

Digital Design Verification

Digital Design Verification Digital Design Verification Course Instructor: Debdeep Mukhopadhyay Dept of Computer Sc. and Engg. Indian Institute of Technology Madras, Even Semester Course No: CS 676 1 Verification??? What is meant

More information

Chapter 13: Verification

Chapter 13: Verification Chapter 13: Verification Prof. Ming-Bo Lin Department of Electronic Engineering National Taiwan University of Science and Technology Digital System Designs and Practices Using Verilog HDL and FPGAs @ 2008-2010,

More information

Model Checking based Software Verification

Model Checking based Software Verification Model Checking based Software Verification 18.5-2006 Keijo Heljanko Keijo.Heljanko@tkk.fi Department of Computer Science and Engineering Helsinki University of Technology http://www.tcs.tkk.fi/~kepa/ 1/24

More information

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts)

Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Dr. Greg Tumbush, gtumbush@uccs.edu Lab #5: Design Example: Keypad Scanner and Encoder - Part 1 (120 pts) Objective The objective of lab assignments 5 through 9 are to systematically design and implement

More information

Improved Software Testing Using McCabe IQ Coverage Analysis

Improved Software Testing Using McCabe IQ Coverage Analysis White Paper Table of Contents Introduction...1 What is Coverage Analysis?...2 The McCabe IQ Approach to Coverage Analysis...3 The Importance of Coverage Analysis...4 Where Coverage Analysis Fits into your

More information

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation

ESP-CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation Datasheet -CV Custom Design Formal Equivalence Checking Based on Symbolic Simulation Overview -CV is an equivalence checker for full custom designs. It enables efficient comparison of a reference design

More information

A Verilog HDL Test Bench Primer Application Note

A Verilog HDL Test Bench Primer Application Note A Verilog HDL Test Bench Primer Application Note Table of Contents Introduction...1 Overview...1 The Device Under Test (D.U.T.)...1 The Test Bench...1 Instantiations...2 Figure 1- DUT Instantiation...2

More information

Efficient Project Management and Verification Sign-off Using Questa Verification Management

Efficient Project Management and Verification Sign-off Using Questa Verification Management Efficient Project Management and Verification Sign-off Using Questa Verification Management by Suresh Babu P., Chakravarthi M.G., Test and Verification Solutions India Pvt. Ltd. ABSTRACT Test and Verification

More information

A New Paradigm for Synchronous State Machine Design in Verilog

A New Paradigm for Synchronous State Machine Design in Verilog A New Paradigm for Synchronous State Machine Design in Verilog Randy Nuss Copyright 1999 Idea Consulting Introduction Synchronous State Machines are one of the most common building blocks in modern digital

More information

Solutions for Mixed-Signal SoC Verification New techniques that are making advanced SoC verification possible

Solutions for Mixed-Signal SoC Verification New techniques that are making advanced SoC verification possible New techniques that are making advanced SoC verification possible By Kishore Karnane and Sathishkumar Balasubramanian, Cadence esign Systems Performing full-chip verification of large mixed-signal systems

More information

The Role of Automation Systems in Management of Change

The Role of Automation Systems in Management of Change The Role of Automation Systems in Management of Change Similar to changing lanes in an automobile in a winter storm, with change enters risk. Everyone has most likely experienced that feeling of changing

More information

The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao.

The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao. Logging makes sense for testbench debug The structured application of advanced logging techniques for SystemVerilog testbench debug and analysis. By Bindesh Patel and Amanda Hsiao. SystemVerilog provides

More information

Automating Root-Cause Analysis to Reduce Time to Find Bugs by Up to 50%

Automating Root-Cause Analysis to Reduce Time to Find Bugs by Up to 50% Automating Root-Cause Analysis to Reduce Time to Find Bugs by Up to 50% By Kishore Karnane and Corey Goss, Cadence Design Systems If you re spending more than 50% of your verification effort in debug,

More information

Understanding DO-254 Compliance for the Verification of Airborne Digital Hardware

Understanding DO-254 Compliance for the Verification of Airborne Digital Hardware White Paper Understanding DO-254 Compliance for the of Airborne Digital Hardware October 2009 Authors Dr. Paul Marriott XtremeEDA Corporation Anthony D. Stone Synopsys, Inc Abstract This whitepaper is

More information

An Introduction to. Metrics. used during. Software Development

An Introduction to. Metrics. used during. Software Development An Introduction to Metrics used during Software Development Life Cycle www.softwaretestinggenius.com Page 1 of 10 Define the Metric Objectives You can t control what you can t measure. This is a quote

More information

Smarter Balanced Assessment Consortium. Recommendation

Smarter Balanced Assessment Consortium. Recommendation Smarter Balanced Assessment Consortium Recommendation Smarter Balanced Quality Assurance Approach Recommendation for the Smarter Balanced Assessment Consortium 20 July 2012 Summary When this document was

More information

Verilog: always @ Blocks

Verilog: always @ Blocks Verilog: always @ Blocks hris Fletcher U Berkeley Version 0.2008.9.4 September 5, 2008 Introduction Sections. to.6 discuss always@ blocks in Verilog, and when to use the two major flavors of always@ block,

More information

Finite State Machine Design and VHDL Coding Techniques

Finite State Machine Design and VHDL Coding Techniques Finite State Machine Design and VHDL Coding Techniques Iuliana CHIUCHISAN, Alin Dan POTORAC, Adrian GRAUR "Stefan cel Mare" University of Suceava str.universitatii nr.13, RO-720229 Suceava iulia@eed.usv.ro,

More information

System / Verification: Performance & Debug Track Abstracts

System / Verification: Performance & Debug Track Abstracts System / Verification: Performance & Debug Track Abstracts VER2.201 Reducing Snapshot Creation Turnaround for UVM- SV Based TB Using MSIE Approach STMicroelectronics Abhishek Jain - STMicroelectronics

More information

System Verilog Testbench Tutorial Using Synopsys EDA Tools

System Verilog Testbench Tutorial Using Synopsys EDA Tools System Verilog Testbench Tutorial Using Synopsys EDA Tools Developed By Abhishek Shetty Guided By Dr. Hamid Mahmoodi Nano-Electronics & Computing Research Center School of Engineering San Francisco State

More information

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION

APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION 1 APPROACHES TO SOFTWARE TESTING PROGRAM VERIFICATION AND VALIDATION Validation: Are we building the right product? Does program meet expectations of user? Verification: Are we building the product right?

More information

PREFACE WHY THIS BOOK IS IMPORTANT

PREFACE WHY THIS BOOK IS IMPORTANT PREFACE If you survey hardware design groups, you will learn that between 60% and 80% of their effort is now dedicated to verification. Unlike synthesizeable coding, there is no particular coding style

More information

Design and Verification of Nine port Network Router

Design and Verification of Nine port Network Router Design and Verification of Nine port Network Router G. Sri Lakshmi 1, A Ganga Mani 2 1 Assistant Professor, Department of Electronics and Communication Engineering, Pragathi Engineering College, Andhra

More information

Introduction to Digital System Design

Introduction to Digital System Design Introduction to Digital System Design Chapter 1 1 Outline 1. Why Digital? 2. Device Technologies 3. System Representation 4. Abstraction 5. Development Tasks 6. Development Flow Chapter 1 2 1. Why Digital

More information

Hardware Assertion Checkers in On-line Detection of Faults in a Hierarchical-Ring Network-On-Chip

Hardware Assertion Checkers in On-line Detection of Faults in a Hierarchical-Ring Network-On-Chip Hardware Assertion Checkers in On-line Detection of Faults in a Hierarchical-Ring Network-On-Chip Jean-Samuel Chenard, Stephan Bourduas, Nathaniel Azuelos, Marc Boulé and Zeljko Zilic McGill University,

More information

FPGA Prototyping Primer

FPGA Prototyping Primer FPGA Prototyping Primer S2C Inc. 1735 Technology Drive, Suite 620 San Jose, CA 95110, USA Tel: +1 408 213 8818 Fax: +1 408 213 8821 www.s2cinc.com What is FPGA prototyping? FPGA prototyping is the methodology

More information

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP

Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP Appendix M INFORMATION TECHNOLOGY (IT) YOUTH APPRENTICESHIP PROGRAMMING & SOFTWARE DEVELOPMENT AND INFORMATION SUPPORT & SERVICES PATHWAY SOFTWARE UNIT UNIT 5 Programming & and Support & s: (Unit 5) PAGE

More information

Coverity White Paper. Effective Management of Static Analysis Vulnerabilities and Defects

Coverity White Paper. Effective Management of Static Analysis Vulnerabilities and Defects Effective Management of Static Analysis Vulnerabilities and Defects Introduction According to a recent industry study, companies are increasingly expanding their development testing efforts to lower their

More information

Testing LTL Formula Translation into Büchi Automata

Testing LTL Formula Translation into Büchi Automata Testing LTL Formula Translation into Büchi Automata Heikki Tauriainen and Keijo Heljanko Helsinki University of Technology, Laboratory for Theoretical Computer Science, P. O. Box 5400, FIN-02015 HUT, Finland

More information

Getting off the ground when creating an RVM test-bench

Getting off the ground when creating an RVM test-bench Getting off the ground when creating an RVM test-bench Rich Musacchio, Ning Guo Paradigm Works rich.musacchio@paradigm-works.com,ning.guo@paradigm-works.com ABSTRACT RVM compliant environments provide

More information

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS

GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS Embedded Systems White Paper GETTING STARTED WITH ANDROID DEVELOPMENT FOR EMBEDDED SYSTEMS September 2009 ABSTRACT Android is an open source platform built by Google that includes an operating system,

More information

V.34 Fax Verification

V.34 Fax Verification By John Lunsford 04-2006 Overview Voice over the Internet Protocol (VoIP) has enjoyed a great deal of recent industry press coverage and considerable commercial acceptance as well. A recent analysis of

More information

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001

Agenda. Michele Taliercio, Il circuito Integrato, Novembre 2001 Agenda Introduzione Il mercato Dal circuito integrato al System on a Chip (SoC) La progettazione di un SoC La tecnologia Una fabbrica di circuiti integrati 28 How to handle complexity G The engineering

More information

IMPLEMENTING A SECURITY ANALYTICS ARCHITECTURE

IMPLEMENTING A SECURITY ANALYTICS ARCHITECTURE IMPLEMENTING A SECURITY ANALYTICS ARCHITECTURE Solution Brief SUMMARY New security threats demand a new approach to security management. Security teams need a security analytics architecture that can handle

More information

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse:

Below is a diagram explaining the data packet and the timing related to the mouse clock while receiving a byte from the PS-2 mouse: PS-2 Mouse: The Protocol: For out mini project we designed a serial port transmitter receiver, which uses the Baud rate protocol. The PS-2 port is similar to the serial port (performs the function of transmitting

More information

Revolutionized DB2 Test Data Management

Revolutionized DB2 Test Data Management Revolutionized DB2 Test Data Management TestBase's Patented Slice Feature Provides a Fresh Solution to an Old Set of DB2 Application Testing Problems The challenge in creating realistic representative

More information

Lecture 10: Multiple Clock Domains

Lecture 10: Multiple Clock Domains Bluespec SystemVerilog Training Lecture 10: Multiple Clock Domains Copyright Bluespec, Inc., 2005-2008 Lecture 10: Multiple Clock Domains The Clock type, and functions Modules with different clocks Clock

More information

Minimizing code defects to improve software quality and lower development costs.

Minimizing code defects to improve software quality and lower development costs. Development solutions White paper October 2008 Minimizing code defects to improve software quality and lower development costs. IBM Rational Software Analyzer and IBM Rational PurifyPlus software Kari

More information

Best Practices for Verification, Validation, and Test in Model- Based Design

Best Practices for Verification, Validation, and Test in Model- Based Design 2008-01-1469 Best Practices for Verification, Validation, and in Model- Based Design Copyright 2008 The MathWorks, Inc. Brett Murphy, Amory Wakefield, and Jon Friedman The MathWorks, Inc. ABSTRACT Model-Based

More information

Designing VM2 Application Boards

Designing VM2 Application Boards Designing VM2 Application Boards This document lists some things to consider when designing a custom application board for the VM2 embedded controller. It is intended to complement the VM2 Datasheet. A

More information

An Automated Development Process for Interlocking Software that. Cuts Costs and Provides Improved Methods for Checking Quality.

An Automated Development Process for Interlocking Software that. Cuts Costs and Provides Improved Methods for Checking Quality. An Automated Development Process for Interlocking Software that Cuts Costs and Provides Improved Methods for Checking Quality and Safety Authors: Claes Malmnäs Prover Technology Rosenlundsgatan 54 118

More information

1394 Bus Analyzers. Usage Analysis, Key Features and Cost Savings. Background. Usage Segmentation

1394 Bus Analyzers. Usage Analysis, Key Features and Cost Savings. Background. Usage Segmentation 1394 Bus Analyzers Usage Analysis, Key Features and Cost Savings By Dr. Michael Vonbank DapUSA Inc., and Dr. Kurt Böhringer, Hitex Development Tools GmbH Background When developing products based on complex

More information

Step 2 Go2Group Automation Self Assessment

Step 2 Go2Group Automation Self Assessment 2010-02-01 To Be (Automated) or Not To Be (Manual): A Dilemma for Small Development Shops? Automated software testing has long been an integral part of big software development organizations but is often

More information

AMS Verification at SoC Level: A practical approach for using VAMS vs SPICE views

AMS Verification at SoC Level: A practical approach for using VAMS vs SPICE views AMS Verification at SoC Level: A practical approach for using VAMS vs SPICE views Nitin Pant, Gautham Harinarayan, Manmohan Rana Accellera Systems Initiative 1 Agenda Need for SoC AMS Verification Mixed

More information

Enhancing SQL Server Performance

Enhancing SQL Server Performance Enhancing SQL Server Performance Bradley Ball, Jason Strate and Roger Wolter In the ever-evolving data world, improving database performance is a constant challenge for administrators. End user satisfaction

More information

Windows Server 2003 migration: Your three-phase action plan to reach the finish line

Windows Server 2003 migration: Your three-phase action plan to reach the finish line WHITE PAPER Windows Server 2003 migration: Your three-phase action plan to reach the finish line Table of contents Executive summary...2 Windows Server 2003 and the big migration question...3 If only migration

More information

JOURNAL OF OBJECT TECHNOLOGY

JOURNAL OF OBJECT TECHNOLOGY JOURNAL OF OBJECT TECHNOLOGY Online at http://www.jot.fm. Published by ETH Zurich, Chair of Software Engineering JOT, 2006 Vol. 5, No. 6, July - August 2006 On Assuring Software Quality and Curbing Software

More information

Requirements-driven Verification Methodology for Standards Compliance

Requirements-driven Verification Methodology for Standards Compliance Requirements-driven Verification Methodology for Standards Compliance Serrie-justine Chapman (TVS) serrie@testandverification.com Mike Bartley (TVS) mike@testandverification.com Darren Galpin (Infineon)

More information

Lecture Notes on Linear Search

Lecture Notes on Linear Search Lecture Notes on Linear Search 15-122: Principles of Imperative Computation Frank Pfenning Lecture 5 January 29, 2013 1 Introduction One of the fundamental and recurring problems in computer science is

More information

What Is Specific in Load Testing?

What Is Specific in Load Testing? What Is Specific in Load Testing? Testing of multi-user applications under realistic and stress loads is really the only way to ensure appropriate performance and reliability in production. Load testing

More information

DO-254 Requirements Traceability

DO-254 Requirements Traceability DO-254 Requirements Traceability Louie De Luna, Aldec - June 04, 2013 DO-254 enforces a strict requirements-driven process for the development of commercial airborne electronic hardware. For DO-254, requirements

More information

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX

Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX White Paper Testing Low Power Designs with Power-Aware Test Manage Manufacturing Test Power Issues with DFTMAX and TetraMAX April 2010 Cy Hay Product Manager, Synopsys Introduction The most important trend

More information

7 Ways To Explode Your Profits as a Tint Professional and Change your Life Forever!

7 Ways To Explode Your Profits as a Tint Professional and Change your Life Forever! WINDOW FILM CUTTING SYSTEM 7 Ways To Explode Your Profits as a Tint Professional and Change your Life Forever! 2012 Tint Tek The automobile window tinting industry is a highly profitable trade and, for

More information

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL

DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL IJVD: 3(1), 2012, pp. 15-20 DESIGN AND VERIFICATION OF LSR OF THE MPLS NETWORK USING VHDL Suvarna A. Jadhav 1 and U.L. Bombale 2 1,2 Department of Technology Shivaji university, Kolhapur, 1 E-mail: suvarna_jadhav@rediffmail.com

More information

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program.

Software Testing. Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Software Testing Definition: Testing is a process of executing a program with data, with the sole intention of finding errors in the program. Testing can only reveal the presence of errors and not the

More information

Programming Languages

Programming Languages Programming Languages Programming languages bridge the gap between people and machines; for that matter, they also bridge the gap among people who would like to share algorithms in a way that immediately

More information

VHDL Test Bench Tutorial

VHDL Test Bench Tutorial University of Pennsylvania Department of Electrical and Systems Engineering ESE171 - Digital Design Laboratory VHDL Test Bench Tutorial Purpose The goal of this tutorial is to demonstrate how to automate

More information

Secure Software Programming and Vulnerability Analysis

Secure Software Programming and Vulnerability Analysis Secure Software Programming and Vulnerability Analysis Christopher Kruegel chris@auto.tuwien.ac.at http://www.auto.tuwien.ac.at/~chris Testing and Source Code Auditing Secure Software Programming 2 Overview

More information

T-79.186 Reactive Systems: Introduction and Finite State Automata

T-79.186 Reactive Systems: Introduction and Finite State Automata T-79.186 Reactive Systems: Introduction and Finite State Automata Timo Latvala 14.1.2004 Reactive Systems: Introduction and Finite State Automata 1-1 Reactive Systems Reactive systems are a class of software

More information

Could a Managed Services Agreement Save Your Company Tens of Thousands of Dollars Each Year?

Could a Managed Services Agreement Save Your Company Tens of Thousands of Dollars Each Year? MANAGED IT SERVICES Could a Managed Services Agreement Save Your Company Tens of Thousands of Dollars Each Year? A lot of business owners, executives, and managers have a love-hate relationship with managed

More information

Managing Agile Projects in TestTrack GUIDE

Managing Agile Projects in TestTrack GUIDE Managing Agile Projects in TestTrack GUIDE Table of Contents Introduction...1 Automatic Traceability...2 Setting Up TestTrack for Agile...6 Plan Your Folder Structure... 10 Building Your Product Backlog...

More information

IPC-D-356 Simplified. Written by Rich Nedbal. DownStream Technologies, LLC IPC-D-356 Simplified Page 1

IPC-D-356 Simplified. Written by Rich Nedbal. DownStream Technologies, LLC IPC-D-356 Simplified Page 1 IPC-D-356 Simplified Written by Rich Nedbal Scope: Everybody has heard of the IPC by now, and a few of you out there have actually tried to use some of the IPC formats. What you may not know is that the

More information

What makes a good process?

What makes a good process? Rob Davis Everyone wants a good process. Our businesses would be more profitable if we had them. But do we know what a good process is? Would we recognized one if we saw it? And how do we ensure we can

More information

Introducing Formal Methods. Software Engineering and Formal Methods

Introducing Formal Methods. Software Engineering and Formal Methods Introducing Formal Methods Formal Methods for Software Specification and Analysis: An Overview 1 Software Engineering and Formal Methods Every Software engineering methodology is based on a recommended

More information

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip

Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip Design and Implementation of an On-Chip timing based Permutation Network for Multiprocessor system on Chip Ms Lavanya Thunuguntla 1, Saritha Sapa 2 1 Associate Professor, Department of ECE, HITAM, Telangana

More information

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1

Quartus II Software Design Series : Foundation. Digitale Signalverarbeitung mit FPGA. Digitale Signalverarbeitung mit FPGA (DSF) Quartus II 1 (DSF) Quartus II Stand: Mai 2007 Jens Onno Krah Cologne University of Applied Sciences www.fh-koeln.de jens_onno.krah@fh-koeln.de Quartus II 1 Quartus II Software Design Series : Foundation 2007 Altera

More information

Introduction to Automated Testing

Introduction to Automated Testing Introduction to Automated Testing What is Software testing? Examination of a software unit, several integrated software units or an entire software package by running it. execution based on test cases

More information

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR)

Total Quality Management (TQM) Quality, Success and Failure. Total Quality Management (TQM) vs. Process Reengineering (BPR) Total Quality Management (TQM) Quality, Success and Failure Total Quality Management (TQM) is a concept that makes quality control a responsibility to be shared by all people in an organization. M7011

More information

White Paper. Software Development Best Practices: Enterprise Code Portal

White Paper. Software Development Best Practices: Enterprise Code Portal White Paper Software Development Best Practices: Enterprise Code Portal An Enterprise Code Portal is an inside the firewall software solution that enables enterprise software development organizations

More information

Lab 2.1 Tracking Down the Bugs

Lab 2.1 Tracking Down the Bugs Lab 2.1 Tracking Down the Bugs Chapter 7 (To Err is Human ) discusses strategies for debugging finding and fixing problems with IT systems. In this lab, we focus on the early stages of debugging, where

More information

Test What You ve Built

Test What You ve Built Test What You ve Built About Your Presenter IBM i Professional for 16 Years. Primary Focus is IBM i Engineering / Programming Well Versed in 2E. Well Versed in RPG (All Flavors) Well Versed in CM Products

More information

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer

Software Engineering Best Practices. Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer Software Engineering Best Practices Christian Hartshorne Field Engineer Daniel Thomas Internal Sales Engineer 2 3 4 Examples of Software Engineering Debt (just some of the most common LabVIEW development

More information

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur

Module 10. Coding and Testing. Version 2 CSE IIT, Kharagpur Module 10 Coding and Testing Lesson 26 Debugging, Integration and System Testing Specific Instructional Objectives At the end of this lesson the student would be able to: Explain why debugging is needed.

More information

Chapter 17 Software Testing Strategies Slide Set to accompany Software Engineering: A Practitioner s Approach, 7/e by Roger S. Pressman Slides copyright 1996, 2001, 2005, 2009 by Roger S. Pressman For

More information

Introduction to Synoptic

Introduction to Synoptic Introduction to Synoptic 1 Introduction Synoptic is a tool that summarizes log files. More exactly, Synoptic takes a set of log files, and some rules that tell it how to interpret lines in those logs,

More information

IEC 61131-3. The Fast Guide to Open Control Software

IEC 61131-3. The Fast Guide to Open Control Software IEC 61131-3 The Fast Guide to Open Control Software 1 IEC 61131-3 The Fast Guide to Open Control Software Introduction IEC 61131-3 is the first vendor-independent standardized programming language for

More information

ModelSim-Altera Software Simulation User Guide

ModelSim-Altera Software Simulation User Guide ModelSim-Altera Software Simulation User Guide ModelSim-Altera Software Simulation User Guide 101 Innovation Drive San Jose, CA 95134 www.altera.com UG-01102-2.0 Document last updated for Altera Complete

More information

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs.

TECH. Requirements. Why are requirements important? The Requirements Process REQUIREMENTS ELICITATION AND ANALYSIS. Requirements vs. CH04 Capturing the Requirements Understanding what the customers and users expect the system to do * The Requirements Process * Types of Requirements * Characteristics of Requirements * How to Express

More information

Simplify survey research with IBM SPSS Data Collection Data Entry

Simplify survey research with IBM SPSS Data Collection Data Entry IBM SPSS Data Collection Data Entry Simplify survey research with IBM SPSS Data Collection Data Entry Advanced, survey-aware software for creating surveys and capturing responses Highlights Create compelling,

More information

Combinational Logic Design Process

Combinational Logic Design Process Combinational Logic Design Process Create truth table from specification Generate K-maps & obtain logic equations Draw logic diagram (sharing common gates) Simulate circuit for design verification Debug

More information

Codesign: The World Of Practice

Codesign: The World Of Practice Codesign: The World Of Practice D. Sreenivasa Rao Senior Manager, System Level Integration Group Analog Devices Inc. May 2007 Analog Devices Inc. ADI is focused on high-end signal processing chips and

More information

12 Proven Principles for Process Improvement & Organizational Success

12 Proven Principles for Process Improvement & Organizational Success 12 Proven Principles for Process Improvement & Organizational Success EU SEPG Conference June 2008 Dr. Richard Bechtold : Slide #: 2 12 Proven Principles for Process Improvement and Organizational Success

More information

Managing Variability in Software Architectures 1 Felix Bachmann*

Managing Variability in Software Architectures 1 Felix Bachmann* Managing Variability in Software Architectures Felix Bachmann* Carnegie Bosch Institute Carnegie Mellon University Pittsburgh, Pa 523, USA fb@sei.cmu.edu Len Bass Software Engineering Institute Carnegie

More information

PCI Express Overview. And, by the way, they need to do it in less time.

PCI Express Overview. And, by the way, they need to do it in less time. PCI Express Overview Introduction This paper is intended to introduce design engineers, system architects and business managers to the PCI Express protocol and how this interconnect technology fits into

More information

Next-generation e-commerce for retail: How to optimize cross-channel marketing, sales and service.

Next-generation e-commerce for retail: How to optimize cross-channel marketing, sales and service. Next-generation e-commerce for retail: How to optimize cross-channel marketing, sales and service. > ATTRACT AND RETAIN HIGHLY PROFITABLE CUSTOMERS > PROVIDE SEAMLESS CROSS-CHANNEL SHOPPING > EXTEND CAPABILITIES

More information

IBM Business Monitor. BPEL process monitoring

IBM Business Monitor. BPEL process monitoring IBM Business Monitor BPEL process monitoring 2011 IBM Corporation This presentation will give you an understanding of monitoring BPEL processes using IBM Business Monitor. BPM_BusinessMonitor_BPEL_Monitoring.ppt

More information

Verification. Formal. OneSpin 360 LaunchPad Adaptive Formal Platform. www.onespin-solutions.com May 2015

Verification. Formal. OneSpin 360 LaunchPad Adaptive Formal Platform. www.onespin-solutions.com May 2015 Formal Verification OneSpin 360 LaunchPad Adaptive Formal Platform www.onespin-solutions.com May 2015 Copyright OneSpin Solutions 2015 Slide 2 Automated Apps: Enabling Mainstream Formal Verification Apps

More information

ARM Webinar series. ARM Based SoC. Abey Thomas

ARM Webinar series. ARM Based SoC. Abey Thomas ARM Webinar series ARM Based SoC Verification Abey Thomas Agenda About ARM and ARM IP ARM based SoC Verification challenges Verification planning and strategy IP Connectivity verification Performance verification

More information

Slave Computer 1 Slave Computer 2

Slave Computer 1 Slave Computer 2 MotoTally Networking Guide Windows XP Introduction This networking guide will show you how to configure your computers on a network so you can run multiple instances of MotoTally on multiple computers,

More information

ECM Migration Without Disrupting Your Business: Seven Steps to Effectively Move Your Documents

ECM Migration Without Disrupting Your Business: Seven Steps to Effectively Move Your Documents ECM Migration Without Disrupting Your Business: Seven Steps to Effectively Move Your Documents A White Paper by Zia Consulting, Inc. Planning your ECM migration is just as important as selecting and implementing

More information

How to Use Supply Chain Design to Craft Successful M&A Activities

How to Use Supply Chain Design to Craft Successful M&A Activities How to Use Supply Chain Design to Craft Successful M&A Activities Mergers and acquisitions (M&A) present an incomparable number of options for the design of the new organization s supply chain; a staggering

More information

Software Process for QA

Software Process for QA Software Process for QA Basic approaches & alternatives CIS 610, W98 / M Young 1/7/98 1 This introduction and overview is intended to provide some basic background on software process (sometimes called

More information