Design Verification Code and Toggle Coverage Course 7.

Slides:



Advertisements
Similar presentations
Using Macros and Visual Basic for Applications (VBA) with Excel
Advertisements

Tutorial 12: Enhancing Excel with Visual Basic for Applications
Georgia Institute of Technology DrJava Appendix A Barb Ericson Georgia Institute of Technology May 2006.
Visual Basic 2010 How to Program. © by Pearson Education, Inc. All Rights Reserved.2.
Visual Basic 2010 How to Program Reference: Instructor: Maysoon Bin Duwais slides Visual Basic 2010 how to program by Deitel © by Pearson Education,
Guide to Oracle10G1 Introduction To Forms Builder Chapter 5.
The IDE (Integrated Development Environment) provides a DEBUGGER for locating and correcting errors in program logic (logic errors not syntax errors) The.
Macros Tutorial Week 20. Objectives By the end of this tutorial you should understand how to: Create macros Assign macros to events Associate macros with.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
Pasewark & Pasewark Microsoft Office XP: Introductory Course 1 INTRODUCTORY MICROSOFT WORD Lesson 7 – Working With Documents.
1 Chapter 3: Getting Started with Tasks 3.1 Introduction to Tasks and Wizards 3.2 Creating a Frequency Report 3.3 Generating HTML, PDF, and RTF Output.
Office 2003 Post-Advanced Concepts and Techniques M i c r o s o f t Word Project 8 Working with Macros and Visual Basic for Applications (VBA)
ADVANCED MICROSOFT POWERPOINT Lesson 6 – Creating Tables and Charts
Design Verification Design Profiler Course 8. All materials updated on: September 30, Design Profiler Design Profiler is a tool integrated within.
Chapter 9 Macros, Navigation Forms, PivotTables, and PivotCharts
Working with Drivers and Printers Lesson 6. Skills Matrix Technology SkillObjective DomainObjective # Understanding Drivers and Devices Install and configure.
Lecture Roger Sutton CO357 Computing for Business and Accounting 13: Automation and Control (Macros and Form controls ) 1.
XP New Perspectives on Introducing Microsoft Office XP Tutorial 1 1 Introducing Microsoft Office XP Tutorial 1.
Simulink ® Interface Course 13 Active-HDL Interfaces.
| | Tel: | | Computer Training & Personal Development Microsoft Office PowerPoint 2007 Expert.
© 2008 The McGraw-Hill Companies, Inc. All rights reserved. WORD 2007 M I C R O S O F T ® THE PROFESSIONAL APPROACH S E R I E S Lesson 22 Macros.
CCS APPS CODE COVERAGE. CCS APPS Code Coverage Definition: –The amount of code within a program that is exercised Uses: –Important for discovering code.
CHAPTER 9 Introducing Microsoft Office Learning Objectives Start Office programs and explore common elements Use the Ribbon Work with files Use.
User Interface Elements of User Interface Group View.
IE 411/511: Visual Programming for Industrial Applications
CHAPTER 9 Introducing Microsoft Office Learning Objectives Start Office programs and explore common elements Use the Ribbon Work with files Use.
Copyright © 2007, Oracle. All rights reserved. Managing Concurrent Requests.
T U T O R I A L  2009 Pearson Education, Inc. All rights reserved. 1 2 Welcome Application Introducing the Visual Basic 2008 Express Edition IDE.
Automating Database Processing Chapter 6. Chapter Introduction Design and implement user-friendly menu – Called navigation form Macros – Automate repetitive.
Simulink ® Interface Course 13 Active-HDL Interfaces.
Rendering. Rendering is the process of computing frames of video and sections of audio so that they can be played smoothly in Final Cut Pro. Once rendered,
Accelerated Waveform Design Entry and Simulation Course 16.
1 The EDIT Program The Edit program is a full screen text editor that allows you to: Create text files Create text files Edit an existing text files Edit.
HDL Bencher FPGA Design Workshop. For Academic Use Only Presentation Name 2 Objectives After completing this module, you will be able to:  Describe the.
Playing Back Scripts In HP LoadRunner >>>>>>>>>>>>>>>>>>>>>>
CPSC1301 Computer Science 1 Overview of Dr. Java.
Program Design and Coding
Microsoft Visual Basic 2012 CHAPTER THREE Program Design and Coding.
OCC Network Drives  H:\  P:\ 
Active-HDL Interfaces Debugging C Code Course 10.
Active-HDL Interfaces Building VHPI Applications C Compilation Course 9.
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Creating Graphical User Interfaces (GUI’s) with MATLAB By Jeffrey A. Webb OSU Gateway Coalition Member.
For additional assistance, please call the Help Desk Searching 1. If a Search window does not appear after logging into the system, click the Search icon.
Programmable Logic Training Course HDL Editor
3 Copyright © 2004, Oracle. All rights reserved. Working in the Forms Developer Environment.
Slide 1 Using Menu Bar & Common Dialog Boxes. Slide 2 Setting Up the Main Items v First open the form on which you want the menu located v Then start.
Session 2: Basic HTML HTML Coding Spring 2009 The LIS Web Team Presents.
© 2008, Renesas Technology America, Inc., All Rights Reserved 1 Introduction Purpose  This training course describes Coverage, a utility that is used.
1 VHDL & Verilog Simulator. Modelsim. 2 Change the directory to where your files exist (All of the files must be in a same folder). Modelsim.
Chapter 28. Copyright 2003, Paradigm Publishing Inc. CHAPTER 28 BACKNEXTEND 28-2 LINKS TO OBJECTIVES Table Calculations Table Properties Fields in a Table.
1 Berger Jean-Baptiste
1. Using word you can create the document and edit them later, as and when required,by adding more text, modifying the existing text, deleting/moving.
XP New Perspectives on Creating Web Pages With Word Tutorial 1 1 Creating Web Pages With Word Tutorial 1.
Copyright © 2007 by Pearson Education 1 UNIT 6A COMBINATIONAL CIRCUIT DESIGN WITH VHDL by Gregory L. Moss Click hyperlink below to select: Tutorial for.
Chapter 2: The Visual Studio.NET Development Environment Visual Basic.NET Programming: From Problem Analysis to Program Design.
COMPREHENSIVE Excel Tutorial 12 Expanding Excel with Visual Basic for Applications.
Dive Into® Visual Basic 2010 Express
Chapter 2: The Visual Studio .NET Development Environment
SECTION 1: Add-ons to PowerPoint
How to debug an application
AESA – Module 8: Using Dashboards and Data Monitors
Tutorial 5: Working with Excel Tables, PivotTables, and PivotCharts
Important terms Black-box testing White-box testing Regression testing
ALEPH Version 22 Beginning Cataloging
Introducing Microsoft Office 2010
Important terms Black-box testing White-box testing Regression testing
Tutorial 7 – Integrating Access With the Web and With Other Programs
Presentation transcript:

Design Verification Code and Toggle Coverage Course 7

All materials updated on: September 30, Code Coverage Code Coverage is a tool integrated within Active- HDL. It is a debugging tool that allows you to check how efficient your HDL source code is. It gives detailed information about the statements that are executed during design simulation. Code Coverage examines each executable statement and checks how many times it has been executed. It also provides detailed information about the conditional statement execution – so called Branch Coverage.

All materials updated on: September 30, Enabling Code Coverage Open the Design Settings window from the Design menu. Select the Code Coverage/Profiler tab. Select Coverage radio button in the Enable section. Specify the name of the output file directory. Press OK button. To enable Code Coverage you have to:

All materials updated on: September 30, 2005 When a design simulation is initialized by a DO-macro file and you would like to use Code Coverage, you have to initialize simulation with following options: 7.2 Enabling Code Coverage asim -cc -cc_dest $DSN/coverage testbench This will enable Code Coverage data gathering in default mode i.e. information will be collected for each unit. To distinguish each instance from the others, use syntax: asim -cc –cc_hierarchy -cc_dest $DSN/coverage testbench Note: Please refer to on-line documentation for more details on asim command usage.

All materials updated on: September 30, Invoking Code Coverage Viewer When your simulation is finished, you can run the Code Coverage Viewer from the Tools menu in Active-HDL. All data gathered by Code Coverage can be presented in a graphical and textual form in the Code Coverage Viewer window.

All materials updated on: September 30, Code Coverage To load the Code Coverage data collected during simulation run: Select Open… from the File menu or use button in the main toolbar. Find results.ccl file. It should have been created in previously specified path.

All materials updated on: September 30, Code Coverage There are two panels in the Code Coverage Viewer window: Hierarchy pane - displays the hierarchical structure of the design Source Code /Details pane Hierarchy pane Source Code tab Details tab

All materials updated on: September 30, Hierarchy Window The icon captions in the design hierarchy tree can be either green (for 100% covered items) or red (for items that are not fully covered). The Units tab in the left pane shows Code Coverage statistics for all units used in the design, irrespective of their position in the hierarchy tree. The Instances tab in the left pane shows the elaborated structure of the design and Code Coverage (CC) and Branch Coverage (BC) statistics for each item and its children in the design tree.

All materials updated on: September 30, Hierarchy Window You can select which instantiations should be displayed using list-box or button in the Main Tool Bar. You can choose whether all instantiations should be displayed, instantiations with all statements executed, or instances with unexecuted statements or use customized view. To customize visibility, you should use the Filter dialog box.

All materials updated on: September 30, Source Code Tab The source code of module selected in Hierarchy pane is displayed in the Source tab. Executed statements are displayed in green color. The number of executions is also shown to the left of corresponding line. Statements that were not executed at all are in red. Executed statements Not executed statements Number of executions Statements that are not meant to be executed Branch Coverage statistics

All materials updated on: September 30, Details Tab The Details tab allows you to present the results of the coverage in graphical form. The participation and visual presentation of executed and not executed lines is shown in the form of pie charts. The first chart (Results for selected item) shows the amount of executed lines for a selected instance in green color and the amount of not executed lines for a selected instance in red color. The second chart (Results for selected item and all its children) shows the amount of executed lines for a selected instance with children in green color and the amount of not executed lines for a selected instance with children in red. Code Coverage Branch Coverage Code Coverage Branch Coverage

All materials updated on: September 30, Merge Code Coverage Data It is possible to verify efficiency of your test suite using the Code Coverage Merge feature. You can combine the data gathered for individual simulation runs and see how good your test set is.

All materials updated on: September 30, Merge Code Coverage Data To combine Code Coverage data obtained in two separate simulation sessions, you need to issue the following command in the Console Window. cc merge -merge_branches UUT UUT -dir $DSN\coverage1 -dir $DSN\coverage2 -dest $DSN\coverage_merged This will merge data starting from the specified instances (UUT). This is particularly useful when combining data from simulation of two different top-level units containing the same tested units. Alternatively, the –merge_hierarchies switch will combine whole trees, if top-level units have same name and structure. cc merge -merge_hierarchies -dir $DSN\coverage1 -dir $DSN\coverage2 -dest $DSN\coverage_merged

All materials updated on: September 30, Merge Code Coverage Data You can also merge the Code Coverage Data on the ‘per- unit’ basis. Using this technique, information for the units will be combined regardless of their location in hierarchy. cc merge -merge -dir $DSN\coverage1 -dir $DSN\coverage2 -dest $DSN\coverage_merged

All materials updated on: September 30, 2005 Toggle Coverage Toggle Coverage is a tool integrated into Active-HDL. Toggle Coverage measures design activity in terms of changes of signal logic values. It efficiently helps to verify the quality of the stimulus and locate "dead" structures of the design. Signals that were not initialized during simulation or not exercised properly by the testbench can be easily identified.

All materials updated on: September 30, Enabling Toggle Coverage Initialize simulation session On the Structure tab select desired signals/unit and use the Toggle Coverage|Toggle On... option from the Simulation menu. You can also start Toggle Coverage session using toggle command: toggle -toggle_type full /UUT/I17/* To enable Toggle Coverage session you have to: In the Toggle Coverage Options window you can specify the settings of the Toggle Coverage session. A report is written automatically to the subfolder specified in the Toggle Coverage Options window when the endsim command is used or when the Toggle Coverage engine is switched off.

All materials updated on: September 30, Toggle Coverage Options window The Toggle Coverage Options dialog box allows you to specify the settings of the Toggle Coverage session. In this window, you can specify: Type of the working mode. When a signal should be considered as toggled. How unknown values should be treated. The name and settings of the report file.

All materials updated on: September 30, 2005 The Toggle Coverage engine can generate four different types of reports: Init mode Assign mode Full mode Activity mode 7.15 Toggle Coverage modes The mode can be specified in the Toggle Coverage Options window or by using the toggle –toggle_type command.

All materials updated on: September 30, Toggle Coverage - Init mode The Init mode checks if selected signals have been at least once set to ‘0’ or ‘1’ value. This mode is useful to verify whether selected signals were initialized or not. The macro below invokes toggle coverage with proper switches listed below: toggle -toggle_type init -rec /*

All materials updated on: September 30, Toggle Coverage - Init mode You can also use the Toggle Coverage Options window. Initialize simulation and select top-level unit in the Structure tab. Use the Toggle On... option from the Simulation menu. In the Toggle Coverage Options window select the Init radio button and change name of the report file to init_mode.xml

All materials updated on: September 30, Toggle Coverage - Init mode After execution of run_init_mode.do macro appropriate toggle coverage report file is generated and then displayed in HDL Editor window. You can check that some signals, e.g. D_L and D_H have not been properly initialized: RESULTS Signal NameToggled _________________________________ BUSTYES D_H [1:0]NO D_L [3:0]NO END_SIMYES GEN_CLKYES GEN_RESYES HOLDYES

All materials updated on: September 30, Toggle Coverage - Assign mode The Assign mode provides information on how many pulses happened on a signal while the signal was being monitored. In Verilog designs, the Toggle Coverage counts 0 and 1 pulses. For VHDL the L and H values of the std_ulogic type are also included in the statistics. To invoke gathering assign data for the NEW_CARD signal, please execute run_assign_mode.do macro: toggle -toggle_type assign NEW_CARD

All materials updated on: September 30, Toggle Coverage - Assign mode You can also use the Toggle Coverage Options window. Initialize simulation and find NEW_CARD signal in the Structure tab. Use the Toggle On... option from the Simulation menu. In the Toggle Coverage Options window select the Assign radio button and change name of the report file to assign_mode.xml.

All materials updated on: September 30, Toggle Coverage - Assign mode After execution of run_assign_mode.do macro, a new toggle coverage report file is generated. This mode, for example, can be used to count how many times action “new card” is executed: RESULTS Signal NameToggled"0" assigns"1" assigns ___________________________________________________ NEW_CARDYES1515 ___________________________________________________

All materials updated on: September 30, Toggle Coverage - Full mode In the Full mode signals are checked to detect if both rising and falling edges occurred. Additionally, the edge definition can be customized with the -posedge/-negedge switch. Macro run_full_mode.do gathers the full data for all ports of the “UUT” unit: toggle -toggle_type full -posedge "01 L1 Z1" /UUT/*

All materials updated on: September 30, Toggle Coverage - Full mode Using Full mode you can verify whether proper edge has ever occurred on selected signals. In our example, the posedge has not occurred on LEDS(4), but the negedge did. Signal NameToggledNegedgesPosedges ____________________________________________________________ UUT/LEDS(7)NO00 UUT/LEDS(6)NO00 UUT/LEDS(5)NO00 UUT/LEDS(4)NO10 UUT/LEDS(3)NO10 UUT/LEDS(2)YES11 UUT/LEDS(1)YES11 UUT/LEDS(0)YES11

All materials updated on: September 30, Toggle Coverage – Activity mode The Activity mode provides information on how many rising and falling edges happened on a signal while the signal was monitored. The last example run_activity_mode.do gathers the activity data for all output ports. Additionally, the XML format has been used: toggle -toggle_type activity -xml activity_mode.xml -rec /UUT/*

All materials updated on: September 30, Toggle Coverage - Assign mode You can also use the Toggle Coverage Options window. Initialize simulation and select UUT unit in the Structure tab. Use the Toggle On... option from the Simulation menu. In the Toggle Coverage Options window select the Activity radio button and change name of the report file to activity_mode.xml

All materials updated on: September 30, Toggle Coverage – Activity mode Report for the last macro run_activity_mode.do shows in colors which signals have been toggled or not. Additionally, the summary data could be useful for statistical verification and switch-power optimization.

All materials updated on: September 30, Toggle Coverage Options The toggle report is written automatically when the simulation is finished, when the Toggle Coverage engine is switched off by selecting the Toggle Off option, or when you choose the Toggle Report option. The Toggle Disable option temporarily disable collecting toggle data. Toggle Clear option clears toggle data collected so far without saving it to a file.

All materials updated on: September 30, Toggle Coverage Viewer The Toggle Coverage results can be viewed in the Toggle Coverage Viewer. This tool is available in the Active-HDL’s Tools menu.

All materials updated on: September 30, Toggle Coverage Viewer To load the Toggle Coverage data collected during simulation run: Select Open… from the File menu or use button in the main toolbar. Find toggle.xml file. It should have been created in the $DSN/toggle folder by default.

All materials updated on: September 30, 2005 Using the Show/Hide hierarchy browser button hierarchical mode can be enabled Toggle Coverage Viewer By default the results are displayed in form of a flat list showing all signals and their hierarchical paths. Signals that have not been properly toggled are displayed in red and the others in green.

All materials updated on: September 30, Toggle Coverage Viewer The view can be customized with filter that allows to display either all the signals, ones that have been covered and not covered. Also, the columns displaying the number of Posedges, Negedges and signal type (if such option has been used) can be individually enabled.