258
Signalscan Waves User Guide Product Version 6.5 June 2000 1994-2000 Cadence Design Systems, Inc. All rights reserved. Printed in the United States of America. Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in this document are attributed to Cadence with the appropriate symbol. For queries regarding Cadence’s trademarks, contact the corporate legal department at the address shown above or call 1-800-862-4522. All other trademarks are the property of their respective holders. Restricted Print Permission: This publication is protected by copyright and any unauthorized use of this publication may violate copyright, trademark, and other laws. Except as specified in this permission statement, this publication may not be copied, reproduced, modified, published, uploaded, posted, transmitted, or distributed in any way, without prior written permission from Cadence. This statement grants you permission to print one (1) hard copy of this publication subject to the following conditions: 1. The publication may be used solely for personal, informational, and noncommercial purposes; 2. The publication may not be modified in any way; 3. Any copy of the publication or portion thereof must include all original copyright, trademark, and other proprietary notices and this permission statement; and 4. Cadence reserves the right to revoke this authorization at any time, and any such use shall be discontinued immediately upon written notice from Cadence. Disclaimer: Information in this publication is subject to change without notice and does not represent a commitment on the part of Cadence. The information contained herein is the proprietary and confidential information of Cadence or its licensors, and is supplied subject to, and may be used only by Cadence’s customer in accordance with, a written agreement between Cadence and its customer. Except as may be explicitly set forth in such agreement, Cadence does not make, and expressly disclaims, any representations or warranties as to the completeness, accuracy or usefulness of the information contained in this document. Cadence does not warrant that use of such information will not infringe any third party rights, nor does Cadence assume any liability for damages or costs of any kind that may result from use of such information. Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth in FAR52.227-14 and DFAR252.227-7013 et seq. or its successor.

Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Product Version 6.5June 2000

1994-2000 Cadence Design Systems, Inc. All rights reserved.Printed in the United States of America.

Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA

Trademarks: Trademarks and service marks of Cadence Design Systems, Inc. (Cadence) contained in thisdocument are attributed to Cadence with the appropriate symbol. For queries regarding Cadence’s trademarks,contact the corporate legal department at the address shown above or call 1-800-862-4522.

All other trademarks are the property of their respective holders.

Restricted Print Permission: This publication is protected by copyright and any unauthorized use of thispublication may violate copyright, trademark, and other laws. Except as specified in this permission statement,this publication may not be copied, reproduced, modified, published, uploaded, posted, transmitted, ordistributed in any way, without prior written permission from Cadence. This statement grants you permission toprint one (1) hard copy of this publication subject to the following conditions:

1. The publication may be used solely for personal, informational, and noncommercial purposes;2. The publication may not be modified in any way;3. Any copy of the publication or portion thereof must include all original copyright, trademark, and other

proprietary notices and this permission statement; and4. Cadence reserves the right to revoke this authorization at any time, and any such use shall be

discontinued immediately upon written notice from Cadence.

Disclaimer: Information in this publication is subject to change without notice and does not represent acommitment on the part of Cadence. The information contained herein is the proprietary and confidentialinformation of Cadence or its licensors, and is supplied subject to, and may be used only by Cadence’s customerin accordance with, a written agreement between Cadence and its customer. Except as may be explicitly setforth in such agreement, Cadence does not make, and expressly disclaims, any representations or warrantiesas to the completeness, accuracy or usefulness of the information contained in this document. Cadence doesnot warrant that use of such information will not infringe any third party rights, nor does Cadence assume anyliability for damages or costs of any kind that may result from use of such information.

Restricted Rights: Use, duplication, or disclosure by the Government is subject to restrictions as set forth inFAR52.227-14 and DFAR252.227-7013 et seq. or its successor.

Page 2: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Contents

1Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

Overview of Signalscan Waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12Sample Signalscan Waves Session . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Opening Signalscan Waves from the Affirma SimVision Analysis Environment . . . . 13Finding an Object . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Grouping Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Defining an Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14Setting a Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15Viewing Sequence Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16Creating a Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17Defining a Mnemonic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18Creating a Register Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19Using the Control—Go To Submenu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21Exiting Signalscan Waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Remaining Chapters in this Manual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2Invoking Signalscan Waves . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

Automatically Restoring Your Configuration Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25Invoking Signalscan Waves from SimControl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

Adding New Objects to Existing Waveform Windows . . . . . . . . . . . . . . . . . . . . . . . . . 27Invoking Signalscan Waves from the Operating System . . . . . . . . . . . . . . . . . . . . . . . . . 28

Invoking Signalscan Waves on UNIX Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29Invoking Signalscan Waves on Windows Platforms . . . . . . . . . . . . . . . . . . . . . . . . . . 33Initial Signalscan Waves Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

June 2000 2 Product Version 6.5

Page 3: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

3Navigating Through Your Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Traversing Your Design Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36Current File Field and Drop-Down List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38Current Instance Field and Drop-Down List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Bookmarks Field and Drop-Down List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40Instances Pane and Instances Filter Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41Variables Pane, Nodes/Variables Filter Field and Variable Type Buttons . . . . . . . . . . 42Groups Field and Drop-Down List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42To Add Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Creating Busses with Bus Templates . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Bus Template Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43Bus Template Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Displaying Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Displaying All Probed Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Displaying Selected Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

4The Waveform Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Overview of The Waveform Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47The Waveform Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Viewing Signals in the Waveform Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Using the Predefined Markers in the Waveform Pane . . . . . . . . . . . . . . . . . . . . . . . . 49Defining and Using Custom Markers in the Waveform Pane . . . . . . . . . . . . . . . . . . . 53Using the Zooming Features of the Waveform Window . . . . . . . . . . . . . . . . . . . . . . . 54

The Time Status and Times Panes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54TimeA Marker . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56Interactive Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57Cursor1 and Cursor2 Markers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

The Multi-List Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58The Names Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Selecting Objects in the Names Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61Reordering Objects in the Names Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Searching for Objects in the Names Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

June 2000 3 Product Version 6.5

Page 4: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Adding Comments to the Names Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63Changing the Height of an Analog Object in the Names Pane . . . . . . . . . . . . . . . . . . 64Changing the Names Pane Width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

The Button Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65The Menu Bar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

File Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66Edit Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77Control Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82View Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84Format Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87Options Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91Windows Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93Help Menu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95

Defining and Using Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95Defining and Using Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96

Defining an Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Scrolling the Events Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Modifying an Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Finding an Event . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99

Defining and Using Busses . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Creating a User-Defined Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99Modifying a Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Viewing Components of a Bus in the Waveform Window . . . . . . . . . . . . . . . . . . . . . 102

Using the Signalscan Waves Cause Finder . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102Invoking from the Waveform Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

Defining and Using Constants and Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105Defining and Using Mnemonics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

Defining a Mnemonic Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Defining a Mnemonic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109Modifying a Mnemonic Map . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110Applying a Mnemonic to a Bus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111

Viewing Waveforms in Sequence Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Sequence Time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Using the Multivalue Indication Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112

June 2000 4 Product Version 6.5

Page 5: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Viewing Multi-Dimensional Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114Printing the Waveform Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 117

5Defining Design Views . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120

Overview of the Register Window . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Multiple Register Windows . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122View-Only Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122TimeA Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Current Sim Time Field . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123RegPage Name and Selected Variable Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Selection Mode and Text Mode Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Previous and Next Value Change . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Using the Define Mode Interactive Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Multi-List Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Register Pane . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126Register and Multi-List Pane Sizes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126

Creating and Customizing a Register Page . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127Selecting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Grouping and Ungrouping Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Adding Simulation Objects to the Register Page . . . . . . . . . . . . . . . . . . . . . . . . . . . 129Modifying Object Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Adding Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Modifying Text . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Moving Text and Simulation Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 130Changing the Font Size of Text Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Rearranging Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131Deleting Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 131

6Analog Analysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132

Using Overlay Groups with Analog Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Creating an Overlay Group . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 133Modifying Overlay Groups . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Converting Overlaid Signals to Stacked Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . 134

June 2000 5 Product Version 6.5

Page 6: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Printing Overlay Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Using the Analog Waveform Height Bracket . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 134Zooming and Panning Analog Signals and Overlay Groups . . . . . . . . . . . . . . . . . . . . . 135

Using the Vertical Zoom Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135Using the Horizontal Zoom Features . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Using the Area Zoom Feature . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 136Panning Analog Waveforms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137

Customizing the Display of Analog Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137Grids . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137Data Points and Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Minimum and Maximum Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Display Scale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139

Saving Analog Display Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Performing Analog-to-Digital Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 141Creating and Using Analog Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143

Escaping Special Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144Specifying Expressions with Constant Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144Specifying Expressions in a Do-File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Expression Example Using Analog to Digital Function . . . . . . . . . . . . . . . . . . . . . . 145

Performing Measurements on Analog Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Value at Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147Slope For Values at Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 148Minimum, Maximum, and Peak-to-Peak Between Cursors . . . . . . . . . . . . . . . . . . . 150Rise/Fall Time at Cursor1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Average Values Between Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153RMS Values Between Cursors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 155

7Transaction-Based Verification . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157

Transaction Representation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 157Hierarchical Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Multiple Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

Creating Transactions from Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Defining Basic Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 161Defining Bounded and Hierarchical Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . 163

June 2000 6 Product Version 6.5

Page 7: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Assigning Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164TVM Declaration/Registration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Defining Multi-Threaded TVMs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165Identifying Related Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168

8Viewing Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174

Basic Transaction Elements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174Transaction Hierarchies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175Transaction Navigation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176Locating Errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178

The error_count Variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179

9Recording Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 181

Transaction Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Module Instances: TVMs, Tests, and DUVs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Threads: TVM Threads, Test Threads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Transactions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182Transaction Tags . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183

Properties . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Property Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183Property Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184Basic Property Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Property Formatting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187Property Type and Format Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187Interpolated Format Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 188Property Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191Searching Property Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192

Transaction Recording System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192TRST Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 192Module Instance System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195Thread System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 198Transaction System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203

June 2000 7 Product Version 6.5

Page 8: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Transaction Tag System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 210Property System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 212Property Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 213Utility System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 215

Error Rollup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216Verilog Plus Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

Logging Operations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 216

ASaving and Restoring Your Configuration . . . . . . . . . . . . . . . . . . . . 218

Do-Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218.signalscanrc File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218

Saving Your Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 218Restoring Your Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 220

BSignalscan Waves Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

Lexical Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221

. (period) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221about . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 221add . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222ali[as] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224always . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224cd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224cen[ter] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225clo[se] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225col[lapse] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225con[tinue] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225cop[y] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226cre[ate] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226cut . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227def[ine] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227

June 2000 8 Product Version 6.5

Page 9: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

del[ete] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233desel[ect] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233dis[play] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234dup[licate] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234exe[cute] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234exp[and] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234find . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235gen[erate] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235hide . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235inc[lude] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236info . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236init[iate] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236inv[ert] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236locate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237me[rge] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237mov[e] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237once . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 237open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238pa[ste] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238print . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238pwd . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240quit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240rel[ease] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240ren[ame] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240rep[lace] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240reveal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241sel[ect] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241set . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241shift . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242

June 2000 9 Product Version 6.5

Page 10: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 242ste[p] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243sto[p] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243term[inate] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243topl[evel] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243undo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243upscope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243wait . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243write . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244zoom . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244

CHot Keys, Colors, and Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245

Hot Keys . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245Custom Buttons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246

Using the Define Buttons Form . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 246Entering a Signalscan Waves Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248

Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Custom Colors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249Colors When Zooming Out . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 250

Index.............................................................................................................................. 252

June 2000 10 Product Version 6.5

Page 11: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

1Introduction

This chapter provides you with a brief overview of the Signalscan Waves waveform viewingtool and includes a simple example of a Signalscan Waves session. This chapter alsocontains a brief description of the contents of each of the remaining chapters in this manual.

This chapter contains the following sections:

■ “Overview of Signalscan Waves” on page 12

■ “Sample Signalscan Waves Session” on page 12

■ “Remaining Chapters in this Manual” on page 22

June 2000 11 Product Version 6.5

Page 12: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

Overview of Signalscan Waves

Signalscan Waves is a powerful tool for analyzing your simulation results and debugging yourdesigns. Its high-performance, waveform viewing technology lets you analyze large amountsof complex simulation data both quickly and accurately.

The reason for the high performance level of Signalscan Waves is its use of the SST2Signalscan Turbo 2 (SST2) database format. You can open SST2 databases from differentsimulations and view them simultaneously. You can use a simulator to generate an SST2database, or you can use Signalscan Waves to automatically translate a VCD file into anSST2 database file. For design flows that rely on VCD files, Signalscan Waves can alsotranslate an SST2 database file into the VCD format.

You can use Signalscan Waves interactively with the simulator by using the AffirmaTM

SimVision analysis environment, which lets you view the waveforms of your simulation resultsas they are generated, or you can view a post-simulation results database. You can also viewresults from several previous simulations together in the same Waveform window with datafrom a currently running simulation, so that you can quickly and easily compare current andpast results.

Sample Signalscan Waves Session

This session provides you with a simple example that shows you how to open and analyzean SST2 database in Signalscan Waves.

June 2000 12 Product Version 6.5

Page 13: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

Opening Signalscan Waves from the Affirma SimVision AnalysisEnvironment

Objects that are selected in the Source File Browser in the SimControl window appear in theWaveform window, as shown in Figure 1-1 on page 13. If you select other objects in theSimControl window and then click the Waveform View button again, the newly selectedobjects appear in the same Waveform window.

The names of the objects and their current values are listed in the Names pane of theWaveform window, and their waveforms are shown in the Waveform pane.

Click the Waveform View button in the upper-right corner of the SimControlwindow. The Signalscan Waves Waveform window appears, showing thewaveforms of your current simulation results, as shown in Figure 1-1 on page 13.

Figure 1-1 The Signalscan Waves Waveform Window

Time Status Pane

TimesPane

WaveformPane

Horizontal Resize BarsNames Pane

Multi-ListPane

June 2000 13 Product Version 6.5

Page 14: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

The Time Status pane shows the time value of the TimeA marker, the simulation end time,and the difference in time between the Cursor1 and Cursor2 markers.

The TimeA marker synchronizes the Waveform window and the Register window at the samesimulation time value. The values of the objects in the Names pane and the values of anyobjects that are displayed on Register pages are the values that those objects have at TimeA.

Cursor1 and Cursor2 are used as temporary markers in the Waveform pane for functionssuch as zooming and performing measurements.

See “The Time Status and Times Panes” on page 54 for instructions on how to reset TimeA,Cursor1, and Cursor2.

Finding an Object

Choose Edit—Find and Edit—Find Next to search for an object name in the Names pane.

Grouping Objects

Objects in the Names pane are organized into groups. A group is a collection of objects thatare displayed together. You can define multiple groups, and you can place any object anynumber of times in one or more groups.

By default, Signalscan Waves creates a Group A for you when you first open a Waveformwindow. You can rename this group and create new groups. You can select objects and copyand paste them or drag them into new groups.

To scroll the Waveform window display to a particular group, change the Multi-List pane (asshown in Figure 1-1 on page 13) to list Groups and click on the name of the group that youwant to see.

See “Defining and Using Groups” on page 95 for more information on grouping objects forviewing.

Defining an Event

An event is a set of objects that have a specific set of values. You can easily navigate to eachsimulation time at which a particular event occurs.

To define an event:

1. In the Waveform window, click on an object in the Names pane.

June 2000 14 Product Version 6.5

Page 15: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

2. Choose Edit—Create—Event to create the event.

An Events window appears.

The event event001 is created using the selected object and its value at Cursor1, asshown in Figure 1-2 on page 15.

Figure 1-2 Events Window

To scroll the Waveform window to display the next occurrence of an event, change theMulti-List pane to list Events and click on the name of the event that you want to find.

See “Defining and Using Events” on page 96 for information on how to change the name,value, and composition of an event.

Setting a Marker

You can define markers to mark locations in your simulation that you want to quickly return tolater.

To create a marker, choose Edit—Create—Marker. A form appears showing the Cursor1time as the default marker time, as shown in Figure 1-3 on page 16.

June 2000 15 Product Version 6.5

Page 16: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

Figure 1-3 Creating a Marker

This form lets you specify a name for the marker and edit the time. The marker is placed atthe marker time that you specify.

To scroll the Waveform window to display a particular marker, change the Multi-List pane tolist Markers and click on the name of the marker that you want to view.

See “Defining and Using Custom Markers in the Waveform Pane” on page 53 for moreinformation on creating and using markers.

Viewing Sequence Time

Sequence Time lets you view and debug activities that conceptually take place at the samesimulation time, but are actually executed in a specific order by the simulator.

Sequence Time works with another feature, Multivalue Indication, which marks single timeunits during which an object changes value more than once. Multivalue Indication points ona waveform are identified by pink dots. See Figure 4-41 on page 113 and Figure 4-5 onpage 55 for examples of these points.

To expand a time point to see the true sequential ordering of events:

1. Click on a pink dot in the Waveform window.

This positions Cursor1 at the dot.

June 2000 16 Product Version 6.5

Page 17: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

2. Choose View—Expand Sequence Time—At Cursor1.

The time point expands to show the sequence of all of the events that take place at thatsimulation time, as shown in Figure 1-4 on page 17.

Figure 1-4 Expanded Sequence Time

For more information about Sequence Time and Multivalue Indication, and for instructions onhow to record sequence time so that you can expand it in Signalscan Waves, see “ViewingWaveforms in Sequence Time” on page 112.

Creating a Bus

To create a bus:

1. In the Names pane, select the objects that you want to put together as a bus.

June 2000 17 Product Version 6.5

Page 18: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

2. Click your middle mouse button in the Names pane where you want to place the new busin the waveform display.

3. Select Edit—Create—Bus.

The Make Bus From Selected Variable(s) form appears, as shown in Figure 1-5 onpage 18.

Figure 1-5 Defining a Bus

4. Click OK.

For more information about modifying and using busses, see “Defining and Using Busses” onpage 99.

Defining a Mnemonic

Signalscan Waves lets you define mnemonics for any values, and display those mnemonicsin the Waveform and Register windows.

To define a mnemonic:

1. Select Options—Define Mnemonic Maps.

The Define Mnemonic Mapping form displays, as shown in Figure 1-6 on page 19.

June 2000 18 Product Version 6.5

Page 19: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

2. Click anywhere in the Value pane, and enter a value.

3. Press the Tab key, or click anywhere in the Mnemonic pane, and enter the mnemonic forthat value.

Figure 1-6 Define Mnemonic Mapping Form

To apply a mnemonic to a bus:

1. Select a bus in the Names pane of the Waveform window.

2. Choose Format—Variable Radix.

3. Select a mnemonic map name from the bottom of the list of options on the pull-downmenu.

For more information on defining mnemonics and applying them to busses, see “Defining andUsing Mnemonics” on page 107 and “Applying a Mnemonic to a Bus” on page 111.

Creating a Register Page

Register pages show customized views of your design. To create a Register page:

Value Pane

Mnemonic Pane

June 2000 19 Product Version 6.5

Page 20: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

1. Select the objects that you want to show on your Register page from the Names pane ofthe Waveform window.

2. Choose Edit—Create—Register Page.

3. A Create Register form appears, as shown in Figure 1-7 on page 20.

Figure 1-7 Register Page Form

4. Type rpage1 as the register name and click OK.

5. A Register page, named rpage1 , is created and is displayed in the Register window, asshown in Figure 1-8 on page 21. The selected objects are listed in the Register pane ofthis window.

June 2000 20 Product Version 6.5

Page 21: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

Figure 1-8 Register Window

The register values are displayed for the time that the TimeA marker indicates. When youmove the TimeA marker in the Waveform window, these register values update automatically.

The Register window can display multiple Register pages. To switch between pages, click onthe name of the Register page that you want to view in the Multi-List pane on the right-handside of the Register window.

Using the Control—Go To Submenu

The Control—Go To menu option appears on several Signalscan Waves windows: theWaveform window, the Source Code window, the Register window, and the Design Browser.

The Control—Go To menu option activates a submenu that contains the following options:

Table 1-1 Control—Go To Submenu Options

Option Description

Cause Displays the cause of the selected register,variable, or net value in the Source Code window.See “Using the Signalscan Waves Cause Finder”on page 102 for more information.

Multi-ListPane

Register Pane

June 2000 21 Product Version 6.5

Page 22: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

Exiting Signalscan Waves

To close the session or exit from Signalscan Waves:

1. Choose File—Exit from any Signalscan Waves window.

A form displays the message:

Are you sure you want to exit Signalscan Waves?

2. Click Exit.

To save this particular Signalscan Waves configuration (groups, markers, events, windowpositions, and many other features), choose Save Do-File instead of Exit. See Appendix A,“Saving and Restoring Your Configuration,” for more information on saving and restoringSignalscan Waves configurations.

If you want to exit Signalscan Waves at the same time that you exit the Affirma SimVisionanalysis environment:

1. Choose Options—Preferences in the SimVision SimControl window.

2. Choose the box at the top of the form that is labeled:

On exiting SimControl, also exit Waveforms

Remaining Chapters in this Manual

This manual contains the following remaining chapters:

Definition Displays the definition of the selected variable in theSource Code window.This option only appears ifyou have a standalone Signalscan license and arenot running Signalscan Waves with the AffirmaSimvision analysis environment.

Schematic Displays the selected structure in the SchematicTracer. Schematic Tracer is not available in thisrelease.

Table 1-1 Control—Go To Submenu Options

Option Description

June 2000 22 Product Version 6.5

Page 23: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideIntroduction

Chapter 2, “Invoking Signalscan Waves,” describes the different ways in which you can invokeSignalscan Waves.

Chapter 3, “Navigating Through Your Design,” describes how you can traverse your designhierarchy and select objects for viewing in a Waveform window if you are not using the AffirmaSimVision analysis environment to do this.

Chapter 4, “The Waveform Window,” describes how to use a Waveform window to find signalsand events, place time markers, rearrange signals, view Sequence Time, define busses,define mnemonics, and print waveforms.

Chapter 5, “Defining Design Views,” describes how to use the Register window to createcustomized views of your design on register pages.

Chapter 6, “Analog Analysis,” describes how you can manipulate analog signals and performvarious measurements and calculations on them.

Chapter 7, “Transaction-Based Verification” provides you with an introduction totransaction-based verification — a process that lets you simulate and debug your designs ata high level of abstraction.

Chapter 8, “Viewing Transactions” describes how to display transactions along with signalsand scopes in your design.

Chapter 9, “Recording Transactions” describes how to collect transaction information for yourdesign.

Appendix A, “Saving and Restoring Your Configuration,” tells you how to create and useDo-Files to save and restore a particular Signalscan Waves configuration.

Appendix B, “Signalscan Waves Commands,” gives the syntax of the Signalscan Wavescommands that you can enter in a Do-File.

Appendix C, “Hot Keys, Colors, and Buttons,” lists the Signalscan Waves keyboard shortcutsand describes how to customize the Signalscan Waves colors and button bars.

June 2000 23 Product Version 6.5

Page 24: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

2Invoking Signalscan Waves

You can invoke Signalscan Waves from the SimControl window in the Affirma™ SimVisionanalysis environment or directly from your operating system. This chapter describes themethods by which you can invoke the Signalscan Waves waveform viewer, both from theAffirma SimVision analysis environment and from your operating system.

This chapter contains the following sections:

■ “Automatically Restoring Your Configuration Settings” on page 25

■ “Invoking Signalscan Waves from SimControl” on page 25

■ “Invoking Signalscan Waves from the Operating System” on page 28

June 2000 24 Product Version 6.5

Page 25: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

Automatically Restoring Your Configuration Settings

Regardless of the method by which you invoke Signalscan Waves, the program always triesto execute an optional Do-File, .signalscanrc , from the current directory when you firstinvoke it. If it cannot find a .signalscanrc file in the current working directory, SignalscanWaves looks in your home directory. If the file does not exist, Signalscan Waves starts withthe default appearance and color scheme.

See Appendix A, “Saving and Restoring Your Configuration,” for more information on usingDo-Files to save and restore Signalscan Waves configurations.

Invoking Signalscan Waves from SimControl

You invoke Signalscan Waves from the SimControl window of the Affirma SimVision analysisenvironment by selecting the objects whose waveforms you want to view from the Signal FlowBrowser and then performing one of the following operations from the SimControl window:

■ Select Wave Trace from the Source File Browser pop-up menu.

Press the right mouse button in the Source File Browser window to display the SourceFile Browser pop-up menu, shown in Figure 2-1 on page 26, and choose the WaveTrace menu option.

June 2000 25 Product Version 6.5

Page 26: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

Figure 2-1 Select Wave Trace from the Source File Browser Pop-Up Menu

The simulator probes the selected items if it has not already done so, the SignalscanWaves Waveform window opens, and the waveforms of the selected items appear in theWaveform window, as shown in Figure 2-2 on page 27.

Note: If you do not select any items in the Signal Flow Browser, the Wave Trace pop-upmenu option is grayed out, and you cannot use it to invoke Signalscan Waves.

■ Choose Tools—Waveform from the SimControl main menu.

June 2000 26 Product Version 6.5

Page 27: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

The Signalscan Waves Waveform window opens and displays the waveforms of theselected items, as shown in Figure 2-2 on page 27.

Note: If you do not select any items in the Signal Flow Browser before you use theTools—Waveform menu option, an empty Waveform window appears.

■ Click the Waveform View button.

Note: If you do not select any items before you click the Waveform View button, anempty Waveform window appears.

Adding New Objects to Existing Waveform Windows

After you invoke Signalscan Waves using one of the above operations, a Signalscan WavesWaveform window appears, containing the waveforms of all of the items that you haveselected, as shown in Figure 2-2 on page 27.

Figure 2-2 Items Selected in SimControl Appear in the Waveform Window

You can click the Waveform View button at the top of the SimControl, Navigator,Watch, or Signal Flow Browser window. The Signalscan Waves Waveform windowopens and displays the waveforms of the selected items, as shown in Figure 2-2on page 27.

Signalscan Waves Waveform WindowSimControl Window

June 2000 27 Product Version 6.5

Page 28: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

Once you open a Signalscan Waves Waveform window, you can use any one of theinvocation operations that are listed in this section to add selected items to the openWaveform window at any time during your session. However, you must set the insertionmarker (click your middle or right mouse button) in the Names pane of the open Waveformwindow at the location at which you want to add the new items before you perform theinvocation operation.

Signalscan Waves adds any new items that you select just before the insertion marker in theWaveform window. You can then use groups and comments to organize the different sets ofitems that you add to the Waveform window. See Chapter 5, “Defining Design Views,” forinstructions on how to do this.

Items that you select in any Affirma SimVision analysis environment window are alsosimultaneously selected (highlighted) in the Signalscan Waves Waveform window if you havepreviously added them to the Waveform window. Similarly, items that you select in the Namespane of the Waveform window are simultaneously selected in any Affirma SimVision analysisenvironment windows in which those items appear.

Note: If you run a simulation for some time before you set probes on some items, and thenyou view those items in Signalscan Waves, values prior to the times at which you set theprobes display as undefined in Signalscan Waves.

Invoking Signalscan Waves from the Operating System

You can enter a command line or click a desktop button to invoke Signalscan Waves directlyfrom your operating system, without using the Affirma SimVision analysis environment. Whenyou start Signalscan Waves from your operating system, the Waveform window appears, asit does when you use the Affirma SimVision analysis environment to start Signalscan Waves.However, if you have a standalone Signalscan license, a Control window appears from whichyou can connect to a simulation database file and perform other related tasks. Figure 2-3 onpage 29 shows the Signalscan Waves Control window that opens when you invokeSignalscan Waves directly and you only have the standalone Signalscan Waves license.

June 2000 28 Product Version 6.5

Page 29: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

Figure 2-3 Signalscan Control Window

The following sections describe the files that you must use to invoke Signalscan Wavesdirectly from the operating system and describe how to invoke Signalscan Waves on UNIXand Windows NT platforms.

Invoking Signalscan Waves on UNIX Platforms

To invoke Signalscan Waves from your UNIX command prompt, use the following commandsyntax:

% signalscan [ options ] [ input_filename ...]

The following sections explain the signalscan command-line options and describe theinput files that you can specify with the signalscan command.

Signalscan Waves Command-Line Options

To see a list of the options that you can use with the signalscan command, you can, enter:

June 2000 29 Product Version 6.5

Page 30: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

% signalscan -h

Table 2-1 on page 30 describes these options:

Table 2-1 Signalscan Waves Command-Line Options

Option Description

-analog Use the default analog configuration. Thedifferences between this and the digital (default)configuration are as follows:

■ Analog overlay in the Design Browser is turnedon by default.

■ Grid in the Waveform Window is turned on bydefault.

■ Default button bar configuration in theWaveform window is different.

-auto Automatically convert input files tofilename .dsn and filename .trn withoutprompting for confirmation or a new filename.

-big Run the graphical user interface using larger fonts.

-black or -blackwhite Display the graphical user interface in black andwhite.

-compress Translate a VCD file to the compressed SST2database file format.

-digital Use the default configuration.

-do do_filename Execute the specified Do-File. See Appendix A,“Saving and Restoring Your Configuration,” forinstructions on how to create and use Do-Files.

-gray or -grey Display the graphical user interface in grayscale.

-h or -help Display a list of the signalscan command-lineoptions.

-hidectrlwin Hide the Control window.

-noposition Do not use the windows manager’s default windowposition.

June 2000 30 Product Version 6.5

Page 31: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

Signalscan Waves Input Files

Signalscan Waves operates on SST2 database files and on Do-Files. These files are calledinput files, and you can specify them on the Signalscan command line, as follows:

-position Use the windows manager’s default windowposition. This is the default.

-product affirma Start Signalscan Waves using the license providedwith the Affirma SimVision analysis environment,rather than with a standalone Signalscan license.

-sequence Translate a VCD file to the SST2 database fileformat with sequence information.

-small Run the graphical user interface with the defaultfont size.

-sst sst2_database_name Specify the name of the output SST2 database, ifyou are converting a database to SST2 format. Theresulting files are calledsst2_database_name .trn andsst2_database_name .dsn .

-stdio Read commands from the standard input inaddition to accepting input from the window menus.This option is only available on UNIX systems.

-v or -vers or -version Display the Signalscan Waves version number andexit.

-vcd vcd_filename Specify the name of the output VCD file, if you areconverting a database to VCD format.

-waves Start Signalscan Waves by opening the Waveformwindow instead of the Control window. If you open adatabase, the Design Browser does notautomatically open. Use the Windows menu pm tjeWaveform window to open the Design Browser orany other window that you need.

-x Exit Signalscan Waves after any file translation. Youmust also specify the -product affirma optionwhen using the -x option.

Table 2-1 Signalscan Waves Command-Line Options, continued

Option Description

June 2000 31 Product Version 6.5

Page 32: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

■ You specify a transition data file, or .trn file, as in the following example:

% signalscan mydesign.trn

Note: You cannot specify a .dsn file as an input file.

■ You specify a Do-File, or .do file, with the -do option, as in the following example:

% signalscan -do mydesign.do

■ You can specify both a Do-File and a transition data file, as in the following example:

% signalscan -do color.do -do otherpreferences.do mydesign.trn

■ You can specify a directory name, as in the following example:

% signalscan waves.shm

If you specify any directory name, Signalscan Waves opens all of the .trn files that itfinds in that directory.

■ You can specify a VCD file, as in the following example:

% signalscan mydesign.dump

Signalscan Waves converts the specified VCD file into an SST2 database, so that inaddition to mydesign.dump , you also have mydesign.dsn and mydesign.trn .Signalscan Waves then operates on the new SST2 database.

Note: When Signalscan Waves converts a VCD file to SST2 format, some information,such as port information, is lost from the design.

If you do not specify an input file on the signalscan command line, you must either chooseFile—Open Simulation File from the Signalscan Waves Waveform window to select andopen a .trn file or choose File—Execute Do-File to select and execute a .do commandfile.

If you do specify an input file, Signalscan Waves loads that file during startup.

June 2000 32 Product Version 6.5

Page 33: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

Table 2-2 on page 33 describes the input files that Signalscan Waves uses.

Invoking Signalscan Waves on Windows Platforms

You can use any of the following methods to invoke Signalscan Waves on Windows 95,Windows 98, or Windows NT:

■ Double-click on a .trn file.

■ Select the Signalscan Waves version that you want to use from the Signalscan WavesWaves program group on your Windows Start menu.

■ Enter signalscan at the command prompt. You must enter the entire pathname to theexecutable if you have not updated your PATH environment variable.

Table 2-2 Signalscan Waves Input Files

Filename Suffix Description

.dsn Contains the symbol and scope information for a design.Signalscan Waves uses this file to view all simulations of thedesign. This file must be in the same directory as thecorresponding .trn file that you specify with the signalscancommand. A .dsn file and its corresponding .trn file comprise anSST2 database.

Note: Signalscan Waves creates and uses .dsn filesautomatically. You cannot specify .dsn files with the signalscancommand.

.trn Contains all of the transition (event) data for a given simulation.This is the input file that you specify with the signalscancommand.

.do Contains a snapshot of a Signalscan Waves session. This type offile is called a Do-File. A Do-File is a text file that containsSignalscan Waves commands. See Appendix B, “SignalscanWaves Commands,” for information on the commands that you canuse in Signalscan Waves Do-Files.

You can use a Do-File to run Signalscan Waves with a particularconfiguration. See Appendix A, “Saving and Restoring YourConfiguration,” for information on how to use Do-Files to create anduse custom Signalscan Waves configurations.

June 2000 33 Product Version 6.5

Page 34: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideInvoking Signalscan Waves

Initial Signalscan Waves Windows

When you start Signalscan directly from your operating system, your initial Signalscan displaydiffers depending on which Signalscan product you invoke and whether you specify input fileswith your signalscan command, as follows:

■ Signalscan Waves

If your copy of Signalscan Waves came with your copy of the Affirma™ SimVisionanalysis environment and you do not have a separate Signalscan Waves license, thenthe Waveform window opens when you invoke Signalscan Waves, as describedpreviously in this chapter. See Chapter 4, “The Waveform Window,” for more informationon the Waveform window.

If you did not specify a database input file on the command line, an empty Waveformwindow appears, and you must select File—Open Simulation File to open a databaseand display it in the Waveform window. You can then select Windows—DesignBrowser from the main menu bar to open the Design Browser to navigate your designand add signals to the Waveform window. See Chapter 3, “Navigating Through YourDesign,” for information about the Design Browser.

■ DAI Signalscan Waves

If you have used previous versions of Signalscan, you may have a Signalscan Waveslicense separate from your Affirma SimVision analysis environment license. In this case,the Signalscan Waves Control window opens when you invoke Signalscan Waves, asshown in Figure 2-3 on page 29. See your existing DAI Signalscan User’s Guide formore information on how to use this window.

June 2000 34 Product Version 6.5

Page 35: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

3Navigating Through Your Design

You use the Signalscan Waves Design Browser, shown in Figure 3-1 on page 36, to navigateyour design hierarchy within Signalscan Waves. As you traverse your design hierarchy in theDesign Browser, you can:

■ Group objects to organize them in the Design Browser window.

■ Create busses within your design.

■ Select objects in the Design Browser window and display their waveforms in theWaveform window.

This chapter describes the features of the Design Browser window, and explains how todefine busses using bus templates in the Design Browser, and how to select objects in theDesign Browser to organize them in the Design Browser window and to display them in theWaveform window.

This chapter contains the following sections:

■ “Traversing Your Design Hierarchy” on page 36

■ “Creating Busses with Bus Templates” on page 43

■ “Displaying Waveforms” on page 45

June 2000 35 Product Version 6.5

Page 36: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

Traversing Your Design Hierarchy

The Design Browser window, shown in Figure 3-1 on page 36, lets you view the instancesand variables that make up your design at any hierarchical level. In the Design Browserwindow, you can easily select and view different hierarchical levels, or scopes, in your design,and you can select and group objects in each scope, so that you can analyze them in theWaveforms window. You can select different scopes from the current scope, from the list ofpreviously selected scopes, and from the bookmarks list. You can also use filter options tofocus on specific data in a scope, and you can open multiple Design Browser windows to viewobjects simultaneously at different hierarchical levels.

Figure 3-1 Design Browser Window

You generally use the Design Browser to traverse your design hierarchy as follows:

■ To descend a level in the design hierarchy, click on an instance name in the Instancespane. This changes the current scope to the selected instance, bringing you down one

InstancesPane

VariablesFilter Field

VariableTypeButtons

Variables PaneBus Templates FieldInstances Filter Field

To AddPane

GroupsDrop-DownList

Button Bar

Current FileDrop-Down List

Current InstanceDrop-Down List

BookmarksDrop-Down List

June 2000 36 Product Version 6.5

Page 37: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

level in the design hierarchy. The Design Browser now displays the scopes and variablesin the instance that you selected.

■ To ascend a level in the design hierarchy, you can do one of the following:

❑ Choose Control—CD..(UpScope) from the menu bar.

❑ Click the CDUpScope button on the button bar.

❑ Click your right mouse button anywhere in the Instances pane

■ To return to a previously browsed level in the design hierarchy, select the bookmark thatyou created when you browsed that scope. To create a bookmark, press Control-k orchoose Edit—Create—Bookmark. To select the bookmark, click on the arrow to theright of the Bookmarks field, and then click on the scope that you want to view from thedrop-down list. See “Bookmarks Field and Drop-Down List” on page 40 for moreinformation on creating and using bookmarks.

As you traverse through the design hierarchy, the Current Instance field at the top of theDesign Browser window updates to show the full hierarchical path of the current scope, andthe Instances and Variables panes update to show the instances and variables that are in thecurrent scope.

In addition to moving up and down the design hierarchy in steps, you can use the followingfeatures of the Design Browser window to quickly view any scope, variable, or instance in anydesign source file:

■ Current File Field and Drop-Down List

Displays the name of the design file that you are currently browsing and lets you choosea new design file to view in the Design Browser.

■ Current Instance Field and Drop-Down List

Displays the name of the current design scope (or displays no text if you are at the toplevel of your design hierarchy) and lets you choose a new scope to display in the DesignBrowser.

■ Bookmarks Field and Drop-Down List

Lets you view any scope that you have previously bookmarked. (See “Bookmarks Fieldand Drop-Down List” on page 40 for instructions on how to create and use bookmarks.)

■ Instances Pane

Displays the names of the modules that are instantiated in the current scope.

■ Instances Filter Field

June 2000 37 Product Version 6.5

Page 38: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

Lets you filter the list of instances that appears in the Instances pane.

■ Variables Pane

Displays the variables in the current scope.

■ Nodes/Variables Filter Field

Lets you filter the list of variables that appears in the Variables pane.

■ Variable Type Buttons

Let you filter the list of variables that appears in the Variables pane to only display specifictypes of variables.

■ Groups Field and Drop-Down List

Displays the group to which you are currently adding selected objects and lets youchoose a new group and add selected objects to it.

■ To Add Pane

Displays the objects that you have selected but have not yet added to the Waveformwindow.

Current File Field and Drop-Down List

The Current File field displays the name of the SST2 database that you are currentlybrowsing. You can browse a different database by clicking on the arrow to the right of theCurrent File field and selecting a database file from the drop-down list. You can also enter adatabase filename in the Current File text field to view any simulation file, regardless ofwhether it is currently open. If you enter the name of an unopened file in this field, SignalscanWaves asks you to confirm that you want to open the file, as shown in Figure 3-2 on page 39.

June 2000 38 Product Version 6.5

Page 39: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

Figure 3-2 Open Simulation File Confirmation

Current Instance Field and Drop-Down List

The Current Instance field displays the name of the instance whose scope you are currentlybrowsing. You can enter the hierarchical path to a specific instance in the Current Instancefield to set the scope to that instance.

You can also go directly to any one of the last ten scopes in which you selected objects andadded them to the To Add Pane by clicking on the arrow to the right of the Current Instancefield and selecting the desired scope from the drop-down list.

By default, the scope history in the Current Instance drop-down list does not includereferences to the simulation files that contain the scopes in the list. This means that if thecurrent simulation file changes, and you choose a previous scope that you visited in anotherfile, Signalscan Waves checks to see if the previous scope path exists in the current file. If thepath exists in the new design, the scope path remains the same, but you view it under the newdesign. If the path does not exist in the new design, Signalscan Waves sets the scope to thetop level of the new design.

You can choose to save the references from the scopes that you visit to the design files thatcontain them by changing a preference. To do this, choose Options—Define Preferences.The Define Preferences form appears, as shown in Figure 3-3 on page 40.

June 2000 39 Product Version 6.5

Page 40: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

Figure 3-3 Define General Preferences Form

Click the General button and select the Include File Name With Scope History option tosave the references to the simulation files that contain the scopes that you visit within yourscope history.

Bookmarks Field and Drop-Down List

The Bookmarks drop-down list contains the name of the scopes that have bookmarked. Youcan go directly to any scope that you have bookmarked in the current design file by clicking

June 2000 40 Product Version 6.5

Page 41: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

the arrow to the right of the Bookmarks field and selecting the desired scope name from thedrop-down list of bookmarked scopes.

To create a bookmark for the current scope, press Control-k or chooseEdit—Create—Bookmark. By default, this menu command creates a bookmark thatincludes the current scope and the current simulation file. To save only the scope namewithout the design file, choose Options—Define Preferences. The Define Preferencesform appears, as shown in Figure 3-3 on page 40. Click the General button and select theInclude File Name With Bookmarks option to bookmark scope names, but not simulationfilenames. To edit the bookmark list, choose Options—Define Bookmarks. The DefineBookmarks form appears, as shown in Figure 3-4 on page 41.

Figure 3-4 Define Bookmarks Form

Instances Pane and Instances Filter Field

The Instances pane displays the names of the modules that are instantiated in the currentscope.

June 2000 41 Product Version 6.5

Page 42: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

You can enter a regular expression in the Instances Filter field to filter the list of instancesthat appears in the Instances pane. If you enter an expression in this field, only those instancenames that match the expression appear in the Instances pane. The asterisk character (* ) isa wild card that matches zero or more characters; it is also the default filter and causes allinstances to be displayed. The question mark character (?) matches any single character.

Variables Pane, Nodes/Variables Filter Field and Variable Type Buttons

The Variables pane lists all of the available (probed/recorded) objects that are in the currentinstance.

You can enter a regular expression in the Nodes/Variables Filter field to filter the list ofvariables that appears in the Variables Pane. If you enter an expression in this field, only thosevariable names that match the expression appear in the Variables pane. The asteriskcharacter (* ) is a wild card that matches zero or more characters; it is also the default filterand causes all variables to be displayed. The question mark character (?) matches any singlecharacter.

You can also use the Variable Type buttons to filter the list of variables that appears in theVariables Pane. Press these buttons to display only inputs, outputs, inouts, or non-portvariables.

Groups Field and Drop-Down List

The Groups field displays the name of the group to which you are currently adding anyobjects that you select. When you click on the To Add Pane, the objects that you select to addto a group automatically appear at the insertion point. You can click on the arrow to the rightof the Groups field and select a group name from the drop-down list of existing groups tobegin adding selected items to a new group. See “The Button Bar” on page 65 and “UsingOverlay Groups with Analog Signals” on page 133 for more information on creating and usinggroups.

To Add Pane

The To Add Pane displays the objects that you have selected and added to the current group,but have not yet added to the Waveform window.

To add a new object to a group:

1. Select the group from the Groups drop-down list at the top of the To Add pane.

June 2000 42 Product Version 6.5

Page 43: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

2. Use your right mouse button to position the insertion marker in the To Add Pane. Objectswill be added at that position in the list.

3. Select the objects from the Variables pane that you want to add to the group.

Objects are added to the To Add pane as soon as you click on them in the Variablespane.

To add an object from the To Add pane to the Waveform window, click the AddToWave buttonon the button bar or choose Control—Add Variables or Control—Add Variables andClose Window.

Creating Busses with Bus Templates

You can use the Design Browser to create busses based on Bus Templates that you define.Bus templates let you collapse objects that have similar names into user-defined busses.This feature is most useful when you are looking at a synthesized schematic, in which a bushas been broken into scalar signals by the synthesis tool.

To define a bus template, you enter the command syntax described in the next section in theBus Templates field in the Design Browser. (See Figure 3-1 on page 36 for an illustration ofthe Bus Templates field.)

Bus Template Syntax

Table 3-1 on page 43 describes the syntax that you use to create Bus Templates. In this table,x and y are any positive integral values. Unless otherwise specified, busses are created inascending order.

Table 3-1 Bus Template Syntax

Syntax Description

busname [ x : y ] Generates a bus with a range of x to y. The bus can be in eitherascending or descending order, depending on whether x is less thanor greater than y.

busname [*< x ] Finds consecutive bits less than x and creates a bus in ascendingorder.

busname [*> x ] Finds consecutive bits greater than x and creates a bus in descendingorder.

June 2000 43 Product Version 6.5

Page 44: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

Note: You can use multiple expressions to describe the Bus Template search pattern. To doso, separate the expressions with spaces.

Bus Template Examples

Assume that a scope of a design consists of only the following objects: mybus1 , mybus2 ,mybus3 , mybus4 , mybus5 , mybus6 , mybus7 , mybus8 , mybus9 , and mybus10 .

If you type the following text in the Bus Templates field in the Design Browser window:

mybus[1:10] !mybus[4]

The following busses are created:

mybus[1:3] mybus[5:10]

busname [ x :*] Creates a bus in ascending order from x to the highest contiguoussignal available.

busname [*<*]

or

busname*

Collapses all signals that have a name of the form busname followedonly by digits.

Creates all busses in ascending order.

busname [*>*] Collapses all signals that have a name of the form busname followedonly by digits.

Creates all busses in descending order.

*

or

* [*:*]

Creates all possible busses for signals that satisfy the Bus Templaterules.

Creates all busses in ascending order.

*[*>*] Creates all possible busses for signals that satisfy the Bus Templaterules.

Creates all busses in descending order.

! busname [ x : y ] Prevents the use of the specified bits in the creation of busses.

This option must be preceded by one or more of the above-mentionedBus Template options, and must be separated from the previous optionby a space.

Table 3-1 Bus Template Syntax, continued

Syntax Description

June 2000 44 Product Version 6.5

Page 45: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideNavigating Through Your Design

If you type the following text in the Bus Templates field:

*[*:*]

The following bus is created:

mybus[1:10]

Displaying Waveforms

You can use the Design Browser to add objects to the Waveform window for further analysis.This section describes how to select and organize objects in the Design Browser and displaythem in the Waveform window.

Displaying All Probed Objects

To add to the Waveform window all of the objects in the current design that have been probed,perform the following steps:

1. In the Instances pane of the Design Browser, make sure you are at the top of your designhierarchy. (The Current Instance field should be empty.)

Use the hierarchy traversal methods that are described above to return to the top scopeif you are not already there.

2. Click the GetDeepAll button on the Design Browser button bar.

This retrieves all of the variables at all of the different levels of your design, from thecurrent scope down to the lowest-level scope.

3. Click the AddToWave button on the Design Browser button bar.

The Waveform window opens if it was not already open. The names of the objects thatyou probed appear in the Names pane of the Waveform window, and their waveforms aredisplayed in the Waveform pane.

Displaying Selected Objects

You can also use the Design Browser to add only selected or groups of objects to theWaveform window. See “The Button Bar” on page 65, “Adding Objects to a Group from theDesign Browser” on page 96, and “Using Overlay Groups with Analog Signals” on page 133for instructions on how to group objects and add them to the Waveform window.

June 2000 45 Product Version 6.5

Page 46: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

4The Waveform Window

The Waveform window is the first window that appears when you start Signalscan Waves.The Waveform window is the central Signalscan Waves window, from which you perform allof your waveform viewing and debugging tasks.

This chapter describes how to use the Waveform window to find signals and events (wherean expression is true), place time markers, rearrange signals, view Sequence Time, definebusses, define mnemonics, and print waveforms.

This chapter discusses the following topics:

■ “Overview of The Waveform Window” on page 47

■ “The Waveform Pane” on page 48

■ “The Time Status and Times Panes” on page 54

■ “The Multi-List Pane” on page 58

■ “The Names Pane” on page 60

■ “The Button Bar” on page 65

■ “The Menu Bar” on page 65

■ “Defining and Using Events” on page 96

■ “Defining and Using Busses” on page 99

■ “Using the Signalscan Waves Cause Finder” on page 102

■ “Defining and Using Constants and Expressions” on page 105

■ “Defining and Using Mnemonics” on page 107

■ “Viewing Waveforms in Sequence Time” on page 112

■ “Viewing Multi-Dimensional Objects” on page 114

■ “Printing the Waveform Window” on page 117

June 2000 46 Product Version 6.5

Page 47: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Overview of The Waveform Window

The Waveform window displays the values of objects you select from your simulation so thatyou can analyze and debug the design. You can monitor the progress of a simulation bylooking at the objects as the simulation runs, or you can open a database from a previoussimulation and view objects at specific times during that simulation. See Chapter 2, “InvokingSignalscan Waves,” for more information on starting Signalscan Waves to view previous andcurrent simulations in the Waveform window.

The Waveform window allows you to view the results of multiple simulations from the sameor different simulators all in the same window. The Waveform window displays signal valuesand strengths as well as Sequence Time. You can even view analog and digital waveformswithin the same window.

Figure 4-1 on page 47 shows the main features of the Waveform window.

Figure 4-1 Waveform Window

TimeStatusPane

NamesPane

TimesPane

Horizontal Resize Bars

Multi-ListPane

WaveformPane

ButtonBar

Menu Bar

June 2000 47 Product Version 6.5

Page 48: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

For more information on these features, see:

■ “The Waveform Pane” on page 48

■ “The Time Status and Times Panes” on page 54

■ “The Names Pane” on page 60

■ “The Multi-List Pane” on page 58

The Waveform Pane

The Waveform pane displays the waveforms of the objects listed in the Names pane.

Note: If you open Signalscan waves or add items to the Waveform window after thesimulation has run for some time, values prior to that time are undefined.

Viewing Signals in the Waveform Pane

You can use the Waveform pane to view the waveforms of any signal that you have probed orare currently probing at any specific simulation time or signal value change. You can moveforwards or backwards between simulation times and signal value changes in the Waveformpane in any one of the following ways:

■ You can use the scrollbars in the Waveform pane to scroll through the pane eithervertically or horizontally. Click beside the slider in a scrollbar to move one screen widthor one screen height. Use the arrows in the scrollbars for smooth scrolling.

■ You can use Cursor1 and Cursor2 to adjust your view of the Waveform pane. If youdouble-click in the Waveform pane, both the TimeA marker and Cursor1 move to thelocation that you double-clicked.

■ You can use Cursor1 to adjust the center position of the Waveform pane. To do this,position Cursor1 at the time at which you want to center the view, and then chooseView—Center On Cursor1 (Control-t ) from the main menu. Signalscan Wavesscrolls the Waveform pane so that Cursor1 is displayed at the center.

■ You can define your own markers to quickly view your waveforms at any simulation time.Markers are vertical lines in the Waveform pane that have labels (names and simulationtimes) associated with them in the Times pane. See “Defining and Using CustomMarkers in the Waveform Pane” on page 53 for instructions on how to define markers anduse them to move through a simulation.

■ You can define events to quickly move to the next simulation time at which a particularset of objects has a particular set of values. An event is a definition of values for a

June 2000 48 Product Version 6.5

Page 49: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

collection of objects. See “Defining and Using Events” on page 96 for instructions on howto create events and use them to move through a simulation.

■ You can select one or more objects in the Names pane, and then choose Control—Variable Change—Previous (Control-v ) or Control—Variable Change—Next(Control-n ) from the main menu. The Waveform pane scrolls to the previous or nextvalue change for any of the selected objects, and Cursor1 moves to that simulation time.

■ You can select Markers or Events from the drop-down list at the top of the Multi-Listpane and then select a particular marker or event in the list. If you select a marker, theWaveform pane scrolls horizontally to that marker, and Cursor1 moves to that simulationtime. If you select an event, the Waveform pane scrolls horizontally to the nextoccurrence of that event and Cursor1 moves to that simulation time.

■ You can select Groups from the drop-down list at the top of the Multi-List pane and thenselect the name of a group from the list. A group is a collection of objects that aredisplayed together in the Waveform pane. Both the Names pane and the Waveform panescroll vertically to show the group that you select in the Multi-List pane.

Using the Predefined Markers in the Waveform Pane

The Waveform pane contains three predefined markers that appear in the pane by default.These markers help you to move through your simulation quickly and easily, and they alsohelp you to perform certain operations on your waveforms, such as performing analogmeasurements. The three predefined markers that appear in the Waveform pane are:

■ TimeA

■ Cursor1

■ Cursor2

The following sections show you how to use the three predefined markers to move throughyour simulation and perform operations on your waveforms.

Using the TimeA Marker

The TimeA marker synchronizes the Waveform window and the Register window at the samesimulation time value. When you explicitly set TimeA, the values of the objects that aredisplayed in the Names pane and the values of the objects that are displayed in Registerwindows are the values that those objects have at TimeA.

When you change the value of TimeA, if you are running Signalscan Waves in post-simulationmode, using a database that you created for a previous simulation, the Waveform pane simply

June 2000 49 Product Version 6.5

Page 50: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

scrolls to show the simulation as it appears at TimeA, as described above. However, if youare running Signalscan Waves interactively with the simulator and you reset TimeA, theWaveform window shows only the signal values at the new TimeA, and the waveforms nolonger update as the simulation runs. To return to interactive mode, in which the waveformsupdate continually as the simulation runs, choose Control—Define Mode Interactive. Formore information on running Signalscan Waves in interactive mode, see “Interactive Mode”on page 57.

To change the value of TimeA for all Signalscan Waves windows, you can do any of thefollowing:

■ Double-click or double-click and drag your left mouse button in the Waveform pane. Thisalso sets Cursor1.

■ Press and drag your left or middle mouse button on the TimeA label or arrow in theTimes pane of the Waveform window.

■ Go to the previous or next value change of an object. This also sets Cursor1.

■ Edit the TimeA field in the Register window. See “TimeA Marker” on page 56 for anexample of using the TimeA marker in the Register window.

Using Cursor1 and Cursor2

You use the Cursor1 and Cursor2 markers in the Waveform pane to temporarily marksimulation times and events, so that you can perform operations such as zooming in and outand performing measurements at specific points in your simulation. For example, you can useCursor1 and Cursor2 to measure the time between transitions, expand the events that occurat a Sequence Time at Cursor1, or zoom between cursors. You can even use Cursor1 andCursor2 to make various analog measurements. See “Performing Measurements on AnalogSignals” on page 146 for instructions on how to do this.

Setting Cursor1

You can set Cursor1 to a specific simulation time, to the next or previous value change on anobject, or to a specific predefined event.

To set Cursor1 to a specific simulation time, you can do either of the following:

■ Click or click and drag your left mouse button in the Waveform pane. Cursor1 moves tothe point at which you release the mouse button.

■ Click and drag your left or middle mouse button on the Cursor1 label in the Times pane.Cursor1 moves to the time at which you release the mouse button.

June 2000 50 Product Version 6.5

Page 51: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

To set Cursor1 to the next or previous value change on a signal, you perform the followingsteps:

1. In the Names pane, select the name of the signal along which you want to move Cursor1.

2. Choose Control—Variable Change—Next (Control-n ) or Control—VariableChange—Previous (Control-v ).

Cursor1 moves to the next or previous value change on the selected signal.

To set Cursor1 to the next or previous occurrence of an event, perform the following steps:

1. Choose Events from the drop-down list at the top of the Multi-List pane.

2. Click the >> (forward) or << (backward) button to the right of the label Events to set theevent search direction, or choose Control—Define Event Search Direction from themain menu.

3. In the Multi-List pane, click on the event that you want to see. The Waveform pane scrollsto that event and Cursor1 is set to that event time.

Setting Cursor2

To set Cursor2, you can do either of the following:

■ Click or click and drag your middle mouse button in the Waveform pane. Cursor 2 movesto the point at which you release the mouse button.

■ Click and drag your left or middle mouse button on the Cursor2 label in the Times pane.Cursor2 moves to the time at which you release the mouse button.

Moving Cursors to the Nearest Value Change

If you want Cursor1 and Cursor2 to move to the nearest value change when you click yourright or middle mouse button in the Waveform pane, perform the following steps:

1. Choose Options—Define Preferences from the main menu. The Define Preferencesform appears, as shown in Figure 4-2 on page 52.

June 2000 51 Product Version 6.5

Page 52: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-2 Define Preferences - Waveforms

2. At the top of the Define Preferences form, click the Waveforms button.

3. Make sure the Snap Cursor To Signal Transition preference is selected.

4. Click OK to apply the change and dismiss the form.

June 2000 52 Product Version 6.5

Page 53: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Defining and Using Custom Markers in the Waveform Pane

User-defined markers appear as vertical lines in the Waveform pane, with the user-definedmarker name and time at the top of the marker. A user-defined marker is a type ofbookmark that you can place at any time in your simulation and give any name you like. Youuse markers to mark the times in your simulation to which you want to be able to move quicklyfrom any other point in the simulation.

To create a user-defined marker, choose Edit—Create—Marker (Control-m ) from theWaveform window main menu. The Create Marker form appears showing the Cursor1 timeas the default marker time, as shown in Figure 4-3 on page 53.

Figure 4-3 Create Marker Form

Use the Create Marker form to specify the name of your new marker and the time at whichyou want to place the marker. Then click OK. The marker appears in the Waveform pane atthe time that you specify.

To scroll the Waveform pane to display a particular marker, choose Markers from the drop-down list in the Multi-List pane, and then click on the name of the desired marker.

To delete a marker, click on the name of the marker in the Multi-List pane to select it, and thenclick the Delete button or choose Edit—Delete from the main menu.

June 2000 53 Product Version 6.5

Page 54: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Using the Zooming Features of the Waveform Window

In addition to letting you move between simulation times and events, the Waveform windowalso supports a variety of commands that let you zoom in and out on portions of thewaveform. The button bar contains the buttons ZoomInX, ZoomOutX, and ZmOutXFull.The ZoomInX and ZoomOutX buttons expand or contract the view by a factor of two whileretaining the center point of the Waveform pane. ZmOutXFull zooms out until it fits the entiresimulation in the Waveform pane.

The above zoom commands also appear on the View menu. To zoom in, select View—Zoom—In (Control-i ). Signalscan Waves increases the magnification of the waveformsin the Waveform pane by a factor of two. To zoom out, select View—Zoom—Out(Control-o ). Signalscan Waves reduces the magnification of the waveforms in theWaveform pane by a factor of two. To zoom out enough to see the whole simulation in theWaveform pane, choose View—Zoom—Out Full (Control-f ). Signalscan Waves shrinksthe start and end times to fit the entire simulation into the Waveform pane.

In addition to the zoom features that appear on the Waveform window button bar, there is onezoom feature that you can only use from the View menu. You can fit a particular view into theWaveform pane by positioning Cursor1 and Cursor2 on the boundaries of the view that youwant to isolate, and then either clicking your right mouse button or choosing View—Zoom—Between Cursors (Control-z ). Signalscan Waves resizes the area between Cursor1 andCursor2 to fit the entire Waveform pane.

The Time Status and Times Panes

The Time Status pane, shown in Figure 4-4 on page 54, shows the time value of the TimeAmarker, the simulation end time, and the difference in time between the Cursor1 and Cursor2markers.

Figure 4-4 The Times Status Pane

Time StatusPane

June 2000 54 Product Version 6.5

Page 55: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

The Times pane, shown in Figure 4-5 on page 55, displays the simulation time in regularincrements and contains labels at the tops of the marker lines for TimeA, Cursor1, Cursor2,and user-defined markers.

Figure 4-5 The Times Pane

To change the time units that are used in the Times pane, choose Options—DefinePreferences, and then click the Time Units button on the Define Preferences form thatappears, as shown in Figure 4-6 on page 56. Select your desired time units and then click OKto apply the change and exit the form.

Times Pane

June 2000 55 Product Version 6.5

Page 56: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-6 Define Preferences - Time Units

TimeA Marker

The TimeA marker synchronizes the Waveform window and the Register window at the samesimulation time value. When you explicitly set TimeA, then the values of the objects displayedin the Names pane and the values of objects displayed on register pages are the values thatthose objects have at TimeA.

June 2000 56 Product Version 6.5

Page 57: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

See also “TimeA Field” on page 123.

To change TimeA for all Signalscan Waves windows, do any of the following:

■ Double-click or double-click and drag your left mouse button in the Waveform pane. Thisalso sets Cursor1.

■ Press and drag your left or middle mouse button on the TimeA label or arrow in the Timespane of the Waveform window.

■ Go to the previous or next value change of an object. This also sets Cursor1. See“Moving Cursors to the Nearest Value Change” on page 51.

■ Edit the TimeA field directly in the Register window. See “TimeA Field” on page 123.

Interactive Mode

If you are running Signalscan Waves interactively with the simulator and you reset TimeA, theWaveform window is fixed on the new TimeA and the waveforms no longer update as thesimulation runs. To return to interactive mode, where the waveforms update continually as thesimulation runs, select Control—Define Mode Interactive. For more information, see“Using the Define Mode Interactive Option” on page 124.

Cursor1 and Cursor2 Markers

Cursor1 and Cursor2 are used as temporary markers for operations such as zooming andperforming measurements. For example, you can use Cursor1 and Cursor2 to measure thetime between transitions, expand Sequence Time at Cursor1, or zoom between cursors.

Moving Cursor1

To move Cursor1 to a user-selected time, do either of the following:

■ Click or click and drag your left mouse button in the Waveform pane.

■ Press and drag your left or middle mouse button on the Cursor1 label in the Times pane.

To move Cursor1 to the next or previous change of an object:

1. Select the object name in the Names pane.

2. Select Control—Variable Change—Next (Control-n ) or Control—VariableChange—Previous (Control-v ).

June 2000 57 Product Version 6.5

Page 58: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

To move Cursor1 to the next or previous occurrence of an event:

1. Select Events from the drop-down list at the top of the Multi-List pane.

2. Click the >> or << button to the right of the label “Events” to set the event searchdirection, or select Control—Define Event Search Direction.

3. In the Multi-List pane, click on the event you want to find. The Waveform pane scrolls tothat event, and Cursor1 is set to that event time.

Moving Cursor2

To move Cursor2, do either of the following:

■ Click or click and drag your middle mouse button in the Waveform pane.

■ Press and drag your left or middle mouse button on the Cursor2 label in the Times pane.

Snapping to Transition

If you want Cursor1 and Cursor2 to snap to the nearest transition when you click your right ormiddle mouse button in the Waveform pane:

1. Select Options—Define Preferences.

2. At the top of the Define Preferences form that displays, click on the Waveforms button.

3. Make sure the Snap Cursor To Signal Transition preference is selected.

The Multi-List Pane

The Multi-List pane, shown in Figure 4-7 on page 59, displays the groups, markers, andevents that you define in the Waveform window.

June 2000 58 Product Version 6.5

Page 59: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-7 The Multi-List Pane

You can click on the down arrow in the top right corner of this pane, to display a drop-downlist. Click on an item in the drop-down list to change the display in the Multi-List pane to showa list of the Groups, Markers, or Events that are currently defined for your simulation.

When you display Groups in the Multi-List pane, you can scroll the Names pane and theWaveform pane vertically to show any group by clicking on the name of that group in the Multi-List pane. See “The Button Bar” on page 65 for more information on grouping signals andviewing those groups in the Waveform window.

When you display Markers in the Multi-List pane, you can scroll the Waveform panehorizontally to show any marker by clicking on the name of the marker in the Multi-List pane.See “Defining and Using Custom Markers in the Waveform Pane” on page 53 for instructionson how to create and use markers to move quickly through a simulation.

When you display Events in the Multi-List pane, you can search forward or backward in theWaveform pane for the next occurrence of an event by clicking on the name of that event inthe Multi-List pane. The Waveform pane scrolls to display the event that you click in the Multi-List pane, and Cursor1 moves to that simulation time. To change the search direction, clickon the >> or << button to the right of the label Events or choose Control—Define EventSearch Direction from the Waveform window main menu. See “Defining and Using Events”on page 96 for more information about creating events and using them to move quicklythrough a simulation in the Waveform window.

Multi-list Pane

Drop-down list

June 2000 59 Product Version 6.5

Page 60: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

The Names Pane

The Names pane, shown in Figure 4-8 on page 60, displays the names and values of theobjects that you display in the Waveform window.

Figure 4-8 The Names Pane

In the Names pane, you can:

■ Select objects on which you want to operate. See “Selecting Objects in the Names Pane”on page 61 for instructions on how to select different combinations of objects in theNames pane.

■ Move objects around in the Names pane. See “Select, Move, and Copy in the NamesPane” on page 62 for instructions on how to do this.

■ Add and delete objects in the Names pane. See “Adding or Deleting Objects in an Event”on page 98 for instructions on how to do this.

■ Reorder and reorganize objects. See “Reordering Objects in the Names Pane” onpage 63 for instructions on how to do this.

■ Organize objects into groups. See “Defining and Using Groups” on page 95 forinstructions on how to create and use groups of objects.

Names Pane

June 2000 60 Product Version 6.5

Page 61: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

■ Change the format of either the name or the value of an object. See “Format Menu” onpage 87 for instructions on how to do this.

■ Change the height of an analog object. See “Changing the Height of an Analog Objectin the Names Pane” on page 64 for instructions on how to do this.

■ Add comments to the Names pane. See “Adding Comments to the Names Pane” onpage 63 for instructions on how to do this.

■ Add constants and expressions to the Waveform window. See “Defining and UsingConstants and Expressions” on page 105 for instructions on how to do this.

■ Search for specific objects. See “Searching for Objects in the Names Pane” on page 63for instructions on how to do this.

■ Change the relative width of the Names pane. See “Selecting Objects in the NamesPane” on page 61 for instructions on how to do this.

By default, objects in the Names pane are displayed as simply the local object name with thevalue at Cursor1. Use the Format menu to add or remove any combination of the filename,path name, or full design hierarchy name to all object names in the Names pane. (See“Format Menu” on page 87 for instructions on how to do this.

The display value of an object indicates the variable radix, the strength of the object, andwhether the value is inverted or shifted. Analog objects also have a units specifier and aheight bracket (see “Changing the Height of an Analog Object in the Names Pane” onpage 64).

The Names pane contains a horizontal yellow line called the insertion marker . Objects thatyou paste, move, or duplicate are added at the insertion marker.

Selecting Objects in the Names Pane

You can cut, copy, paste, delete, move, or duplicate an object in the Names pane (Edit menu).You can re-order a set of objects (Edit menu). You can change a group name or a bus name(Edit—Modify). You can add the drivers and module inputs of an object to the Names pane(Control menu). You can expand a bus and overlay or stack analog objects (Edit menu). Youcan show the strength of an object (Format—Show Strength).

For these operations and many others, you first need to select one or more object names inthe Names pane. Table 4-1 on page 62 describes how to select any set of objects. (See also

June 2000 61 Product Version 6.5

Page 62: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

“Adding New Objects to Existing Waveform Windows” on page 27.) This table also describeshow to use your mouse to move or copy objects or groups and to move the insertion marker.

Table 4-1 Select, Move, and Copy in the Names Pane

Operation Action

Select one object or group Click your left mouse button on the object or groupname.

Select a contiguous range ofobjects or groups

Press your left mouse button on an object or groupname, drag the mouse pointer through a range ofnames, and then release the mouse button. If youstarted by selecting an object name, then only objectnames are selected, even if you drag over a group name.

Extend the selected range fromthe previous selected object

Click your left mouse button on one object name. Holddown the Shift key and click on another object name.The two objects you clicked on and all objects betweenthose two are selected, even if they are in differentgroups.

Select a non-contiguous set ofobjects or groups

Hold down the Control key while you click your leftmouse button on the objects you want to select.

De-select all objects or groupsthat are currently selected

Click your left mouse button on any object or group thatis currently selected. All are de-selected.

De-select some but not allobjects or groups that arecurrently selected

Hold down the Control key and click your left mousebutton on the objects or groups you want to de-select.

Select all objects Select Edit—Select All.

Move the insertion marker Click either your middle or right mouse button where youwant to position the insertion marker.

Move an object or group Press your middle or right mouse button on the object orgroup name, drag the object or group to a new position,and release the mouse button. The insertion marker isrepositioned immediately below the moved object orgroup. See also Move alternatives on page 63.

Move multiple objects or groups Select a set of objects or groups as described above inthis table, press your middle or right mouse button onany of the selected names, drag the mouse pointer to thenew position, and release the mouse button. See alsoMove alternatives below.

June 2000 62 Product Version 6.5

Page 63: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Reordering Objects in the Names Pane

You can re-order or reorganize objects in the Names pane by moving them around with yourmouse as described in Table 4-1 on page 62, by using the Cut and Paste options on the Editmenu, and by using the Sort and Reverse options on the Edit menu.

■ Edit—Paste. The set of objects that was operated on the last time you selected Edit—Copy or Edit—Cut is pasted at the insertion marker.

■ Edit—Sort. The selected objects are sorted alphabetically by object name. They are notmoved but are sorted in place. Objects that are not selected are not affected, even if anon-contiguous set is selected.

■ Edit—Reverse. The selected objects are displayed in reverse order in the Names pane(the opposite order in which they are currently displayed). They are not moved but arere-ordered in place. Objects that are not selected are not affected, even if a non-contiguous set is selected.

Searching for Objects in the Names Pane

Choose Edit—Find and Edit—Find Next from the Waveform window main menu to searchfor an object name in the Names pane.

Adding Comments to the Names Pane

Use comments in the Names pane to help organize and annotate the sets of objects in theWaveform window.

Move alternatives Select the objects you want to move, position theinsertion marker where you want to move the objects,and click the Move button or select Edit—Move. Or,select the objects you want to move, click the Cut buttonor select Edit—Cut, position the insertion marker, andclick the Paste button or select Edit—Paste.

Copy objects or groups Same as Move described above, except hold down theShift key while you press the middle or right mousebutton. Alternatively, use Copy and Paste buttons orEdit menu options.

Table 4-1 Select, Move, and Copy in the Names Pane, continued

Operation Action

June 2000 63 Product Version 6.5

Page 64: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

1. Position the insertion marker.

2. Select Edit—Create—Comment.

3. Enter the text of your comment in the form that is displayed, and click the OK button, asshown in “Create Comment Form” on page 64.

Figure 4-9 Create Comment Form

To change a comment, first select the comment in the Names pane, and then select Edit—Modify.

Changing the Height of an Analog Object in the Names Pane

A ] (closed bracket symbol) appears to the right of the object name for analog objects. Youcan drag the bracket to change the display of an analog object.

To change the height of an analog waveform:

1. Move your cursor over the top or bottom of the height bracket to the right of the objectname.

The cursor changes to a double-headed vertical arrow.

2. While the cursor is a double-headed arrow, press your left mouse button and drag thebracket up or down to the desired height.

When you release the mouse button, the waveforms and the grid underlying the waveforms(if any) compress or expand to fit the new height.

June 2000 64 Product Version 6.5

Page 65: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

See Chapter 6, “Analog Analysis,” for more information on special Signalscan Waves featuresfor analog objects.

Changing the Names Pane Width

To change the width of the Names pane:

1. Position your mouse pointer between the Names pane and the Waveform pane (see the“Horizontal Resize Bar” in Figure 4-1 on page 47) so that the mouse pointer looks like adouble-headed horizontal arrow with a vertical line in the middle of it.

2. Press your left mouse button and drag it horizontally.

To save this change, select Names pane Percentage from the Preferences list when you savea Do-File. See Appendix A, “Saving and Restoring Your Configuration,” for more informationon saving Do-Files.

The Button Bar

The button bar provides quick access to menu commands. For example, clicking the Undobutton is the same as selecting Edit - Undo from the pulldown menu.

Figure 4-10 Button Bar

The number of buttons visible in the button bar is dependent on the size of the window.Figure 4-10 on page 65 shows a relatively small window with only eight buttons visible.

Use the Options - Define Buttons menu choice to change or reorganize the buttons. See“Custom Buttons” on page 246 for information on customizing the button bar.

The Menu Bar

The menu bar provides access to most Signalscan Waves commands.

Button Bar

June 2000 65 Product Version 6.5

Page 66: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-11 Menu Bar

File Menu

The File menu provides commands to work with environment and data files.

■ Open Simulation File

Open the transition data file (.trn) component of the SST2 database. This file contains allof the recorded transition (event) data for a simulation.

File Menu Control Menu Format Menu Windows Menu

Edit Menu View Menu Options Menu Help Menu

June 2000 66 Product Version 6.5

Page 67: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-12 Open a Simulation File

■ Close Simulation File

Close an open simulation file and leave Signalscan running.

June 2000 67 Product Version 6.5

Page 68: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-13 Close a Simulation File

■ Rename Simulation File

Use this menu option to move or rename simulation files.

June 2000 68 Product Version 6.5

Page 69: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-14 Rename a Simulation File

■ Replace/Reload Simulation File Data

Reload data from the simulation file. This is useful if you have modified what is shown onthe screen and want to return to the initial display. You could also close and re-open thefile.

■ List Open Simulation Files

List all open simulation files. The listing describes the file location and creation date foreach file, as shown in List Open Simulation Files figure on page 70.

June 2000 69 Product Version 6.5

Page 70: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-15 List Open Simulation Files

■ Execute Do-File

Restore a configuration from a previous Signalscan Waves session. Your configurationincludes groups, markers, events, and register pages that you have defined. SeeAppendix A, “Saving and Restoring Your Configuration” for more information.

June 2000 70 Product Version 6.5

Page 71: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-16 Execute Do-File

■ Save Do-File

Capture your current session configuration. See Appendix A, “Saving and RestoringYour Configuration” for more information.

June 2000 71 Product Version 6.5

Page 72: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-17 Save Do-File

■ Write VCD for Selected Variables

Record variables you have selected in the Names pane to a VCD file. See “write” onpage 244 for more information.

June 2000 72 Product Version 6.5

Page 73: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-18 Write VCD for Selected Variables

■ Write VCD for All Recorded Variables

Write all variables to a VCD file. You can use this command to convert an SST2 databaseto a VCD file.

June 2000 73 Product Version 6.5

Page 74: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-19 Write VCD for all Variables

■ Merge SST Files

Merge incremental SST files into a single database.

June 2000 74 Product Version 6.5

Page 75: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-20 Merge SST Files

■ Print

Displays the print form. You can customize the following characteristics:

❑ Header Info

❑ Destination

❑ Time Range

❑ Variable Range

❑ Page Info

❑ Paper Size

❑ Color

June 2000 75 Product Version 6.5

Page 76: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

See “Printing the Waveform Window” on page 117 for more information.

■ Close Window

Close the Waveform window, but do not exit Signalscan Waves.

■ Exit

Exit Signalscan Waves. You have the option to save your configuration in a do-file, asshown in Figure 4-21 on page 76.

Figure 4-21 Exit Signalscan Waves

June 2000 76 Product Version 6.5

Page 77: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Edit Menu

The Edit menu provides commands to work with variables displayed in the Waveformwindow.

■ Undo

Return to the state prior to the last command.

■ Cut

Remove selected items (events, groups, etc.) from the display and load them into thepaste buffer.

■ Copy

Copy selected items from the display into the paste buffer.

June 2000 77 Product Version 6.5

Page 78: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

■ Paste

Write selected items from the paste buffer to the display.

■ Delete

Remove selected items from the display.

■ Modify

Modify the selected group or bus. Figure 4-22 on page 78 shows the resulting dialog boxif you select a bus to be modified.

Figure 4-22 Modify Bus

■ Move

Move the selected item to the bottom of the display.

■ Duplicate

Create a copy of the selected item and put it at the bottom of the display.

■ Sort

Alphabetize the selected items.

■ Reverse

June 2000 78 Product Version 6.5

Page 79: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Reverse the order of the selected items on the display.

■ Expand

Expand a bus to show all components.

■ Overlay

Display both analog and digital waveforms. See “Using Overlay Groups with AnalogSignals” on page 133 for more information.

■ Stack

Separate items displayed in an overlay group. See “Converting Overlaid Signals toStacked Signals” on page 134 for more information.

■ Create:

❑ Group - See “Defining and Using Groups” on page 95.

❑ Marker - See “Defining and Using Custom Markers in the Waveform Pane” onpage 53.

❑ Event - See “Defining and Using Events” on page 96

❑ Expression - See “Defining and Using Constants and Expressions” on page 105.

❑ Breakpoint - Set a breakpoint in the simulation. Figure 4-23 on page 80 shows thebreakpoint options.

June 2000 79 Product Version 6.5

Page 80: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-23 Create Breakpoint

❑ Register Page - See “Creating and Customizing a Register Page” on page 127.

❑ Bus - See “Defining and Using Busses” on page 99.

❑ Comment - See “Adding Comments to the Names Pane” on page 63

❑ Constant - See “Defining and Using Constants and Expressions” on page 105.

■ Find

Search the simulation file for a specified variable. The Waveform pane changes todisplay the found item.

June 2000 80 Product Version 6.5

Page 81: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-24 Find Form

■ Find/Next

Search for the next occurrence of the variable you specified with the Edit - Findcommand. If the search direction is backward, Find/Next finds the previous occurrence.

■ Select All

Select all variables instead of individually clicking on them.

June 2000 81 Product Version 6.5

Page 82: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Control Menu

The Control menu provides commands that allow you to show more information in theWaveform window.

■ Add Trace

Expand the display of the selected object to include driver information.

■ Add Module Inputs

Expand the display of the selected object to include other objects connected to its inputor inout ports.

■ Define Event Search Direction

Set the event search direction either forward or backward, to find next or previous events.

■ Define Mode Interactive

June 2000 82 Product Version 6.5

Page 83: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

■ Switch to interactive mode. See Define Mode Interactive Option on page 125 for moreinformation.

■ Step

Increment the simulation to the next event change.

■ Continue

Continue the simulation to the next breakpoint.

■ Stop

Stop a running simulation.

■ Variable Change

Scroll the Waveform pane to display the previous or next variable change.

■ Go to:

❑ Cause - See Using the Signalscan Waves Cause Finder on page 102.

❑ Definition - If you have a standalone Signalscan license, this option takes you to theline of code that defines the selected variable.

❑ Instantiation - If you have a standalone Signalscan licences, this option takes you tothe source code line that instantiates the selected module.

❑ Schematic - Not available in this release.

■ Show Properties

List all the properties assigned to the selected transaction. See Transaction Navigationon page 176 for information.

■ Show Parent Transactions

See Transaction Hierarchies on page 175 for information.

■ Show Child Transactions

See Transaction Hierarchies on page 175 for information.

■ Show Related Transactions

See Transaction Hierarchies on page 175 for information.

■ Show Next Error

See Locating Errors on page 178 for information.

June 2000 83 Product Version 6.5

Page 84: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

■ Add Unadded Highlighted Transactions

View Menu

■ Zoom

The Waveform window supports a variety of commands for zooming in and out onportions of the waveform. See “The Time Status and Times Panes” on page 54 for moreinformation.

The following zoom options are available:

❑ In X

❑ In Y

❑ Out X

❑ Out Y

❑ Out X Full

❑ Out Y Full

June 2000 84 Product Version 6.5

Page 85: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

❑ Between Cursors

❑ Between Highlighted Transaction

■ Center on Cursor1

Scroll the Waveform pane so that Cursor 1 is in the center.

■ Expand Sequence Time

Expand the display to show the sequence of all events taking place at a specificsimulation time. See “Sequence Time” on page 112 for more information.

You can select the following times:

❑ At Cursor1

❑ Between Cursors

❑ All Times

■ Collapse Sequence Time

Return to the unexpanded view of events. You can select the following times:

❑ At Cursor1

❑ Between Cursors

❑ All Times

■ Analog Display Mode

Change from digital to analog display of waveforms. See Chapter 6, “Analog Analysis”for more information.

■ Grid

Enable or disable vertical and horizontal grid lines in the Waveform pane, as shown inFigure 4-25 on page 86.

June 2000 85 Product Version 6.5

Page 86: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-25 Grid Enabled in Waveform Pane

■ Define Grid

Set the start time and interval for grid lines in the Waveform pane.

June 2000 86 Product Version 6.5

Page 87: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-26 Define Grid

■ Value at Cursors

See “Value at Cursors” on page 147

■ Slope for Value at Cursors

See “Slope For Values at Cursors” on page 148.

■ Min/Max/Peak-to-Peak Between Cursors

See “Minimum, Maximum, and Peak-to-Peak Between Cursors” on page 150.

■ Rise/Fall Time at Cursor1

See “Rise/Fall Time at Cursor1” on page 151.

■ Average Values Between Cursors

See “Average Values Between Cursors” on page 153.

■ RMS Value Between Cursors

See “Average Values Between Cursors” on page 153.

Format Menu

The Format menu contains commands to modify variables and waveforms in the Waveformwindow. Note that formatting is applied to an object for display purposes, and it does not

June 2000 87 Product Version 6.5

Page 88: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

create a new variable. Therefore, some formatting is removed when you expand an object,such as a bus.

■ Variable Radix

Set the radix (or base) of selected variables to one of the following:

❑ Binary

❑ Octal

❑ Decimal

❑ Signed Decimal

❑ Hexadecimal

❑ ASCII

The object changes in the Names pane to reflect the radix. For example, if an object isset to hexadecimal display, the format would be:

object-name = ‘h object-state

■ Invert

Invert the bits of the selected objects. An inverted object is identified in the Names paneas:

object-name = ‘i object-state

June 2000 88 Product Version 6.5

Page 89: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

■ Show Strength

Display the strength of selected objects. The strength is shown in the Names pane as:

object-name = strength object-state

■ Analog Format

Change the selected signals, busses, and real numbers to display their values in ananalog format.

■ Shift

Graphically shift objects the an absolute or relative time amount. The Waveform windowdisplays shifted objects using a special color and appends the amount of the time shiftto the object’s name.

To unshift objects, select the objects and shift to absolute time zero.

You can save shifted objects to Do-Files and write them to VCD files.

You can shift either:

❑ Selected Variables

Figure 4-27 Shift Selected Variables

❑ All Recorded Variables

June 2000 89 Product Version 6.5

Page 90: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-28 Shift All Recorded Variables

■ Define Analog Min/Max Values

See “Minimum and Maximum Values” on page 138.

■ Define Variable Display Scale

See “Display Scale” on page 139.

■ Full Hierarchy Names

Include or exclude the full hierarchy name of each object.

■ File Names

Include or exclude the file name of the SST2 database containing the object.

■ Full Path File Names

Include or exclude the full path of the SST2 database containing the object. You mustalso select Format - File Names if you use this option.

June 2000 90 Product Version 6.5

Page 91: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Options Menu

The Options menu contains commands to customize your Signalscan Waves session.

■ Define Buttons

See “Custom Buttons” on page 246.

■ Define Colors

“Colors” on page 249.

■ Define Preferences

You can customize various aspects of the Signalscan Waves display and operation. TheDefine Preferences form allows you to set:

❑ display characteristics (color, black and white, grayscale, etc.)

❑ the default time interval

❑ various waveform characteristics as shown in Figure 4-2 on page 52

❑ general behavioral characteristics as shown in Figure 3-3 on page 40.

■ Define Mnemonic Maps

See “Defining and Using Mnemonics” on page 107.

■ Define Sources Search P.ath

Set the search path location, as shown in Figure 4-29 on page 92.

June 2000 91 Product Version 6.5

Page 92: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-29 Define Sources Search Path

June 2000 92 Product Version 6.5

Page 93: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Windows Menu

The Windows menu contains commands for starting other Signalscan Waves windows.

■ Control

If you have the standalone Signalscan license, this menu option starts the controlwindow. The control window allows you to perform operating-system level I/O.

■ Design Browser

Launch the Design Browser to navigate your design hierarchy. See Chapter 3,“Navigating Through Your Design”.

■ Waveform

Launch another Waveform window.

■ Register

Launch the Register window. See “Overview of the Register Window” on page 121.

■ Source

If you have the standalone Signalscan license, launch the Source Code window.

■ Events

Launches the Events window. See “Defining and Using Events” on page 96.

June 2000 93 Product Version 6.5

Page 94: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

■ Breakpoints

List any breakpoints defined for the simulation, as shown in Figure 4-30 on page 94.

Figure 4-30 List Breakpoints

■ Transaction List

Launch the Transaction List window. See “Transaction Navigation” on page 176 for moreinformation.

■ Schematic Tracer

The Schematic Tracer is not available in this release.

■ TXE Explorer

Launch the Transaction Explorer. See Chapter 7, “Transaction-Based Verification” formore information about transactions. See the Transaction Explorer User Guide formore information about the Transaction Explorer.

■ You can also switch to any currently opened Signalscan Waves window listed by nameat the bottom of the menu.

June 2000 94 Product Version 6.5

Page 95: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Help Menu

The Help menu launches the Cadence online documentation system and allows you toperform searches on the Signalscan Waves User Guide.

Defining and Using Groups

Objects displayed in the Names pane are organized into groups. A group is a collection ofobjects displayed together. You can define multiple groups, and place any object any numberof times in one or more groups.

Group A is created by default. If you add objects without creating a group, they areautomatically added to Group A.

You can create a group either in the Waveform window or from the Design Browser. Whenyou change the content of a group in either of these windows, the new content of the groupis displayed in the Waveform window. The Design Browser does not display the completecontent of a group but only allows you to add new content.

To scroll the Waveform window display to a particular group, change the Multi-List pane todisplay Groups and click on the name of the desired group.

See also “Creating an Overlay Group” on page 133.

Creating a Group

1. In the Names pane of the Waveform window, position the insertion marker where youwant the new group to be.

2. In either the Waveform window or the Design Browser, select Edit—Create—Group orenter Control-g from your keyboard. (To open a Design Browser, select Windows—Design Browser.)

Signalscan Waves displays the Create Group form.

3. Enter a name for the new group in the form and click the OK button.

The new group is added to the Waveform window Names pane below the group thatcontains the insertion marker and it is also added to the drop-down list above the To Add

June 2000 95 Product Version 6.5

Page 96: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

pane in the Design Browser. In the Waveform window, use your mouse (see Table 4-1 onpage 62) and the Edit menu to move, rename (Modify), or delete a group.

Adding Objects to a Group in the Waveform Window

To add objects to a group in the Waveform window, do any of the following:

■ Copy and paste or move objects that are already listed in the Names pane (see Table 4-1on page 62).

■ Position the insertion marker in the group where you want the objects to be added, andthen select objects in the SimControl window and add them to the Waveform window(see “Invoking Signalscan Waves from SimControl” on page 25).

■ Select objects in the Design Browser and add them to this group (see below).

Adding Objects to a Group from the Design Browser

To use the Design Browser to add objects to a group:

1. Select the group name you want to add objects to from the drop-down list above theTo Add pane.

2. Select objects in the Variables pane (see Chapter 3, “Navigating Through Your Design”).Objects are added to the To Add pane as soon as you click your left mouse button onthem in the Variables pane.

3. Click the AddToWave button or select Control—Add Variables.

The objects in the To Add pane are added to the Waveform window in the group that isselected in the To Add drop-down list.

Defining and Using Events

An event is a definition of values for a collection of objects. Use events to search throughyour simulation history.

Defining an Event

To define an event:

1. Select one or more objects in the Names pane.

June 2000 96 Product Version 6.5

Page 97: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

2. Optionally, place Cursor1 at the location in the Waveform pane that most resembles theevent you want to define. This will save you some editing in the Events window.

3. Select Edit—Create—Event (Control-e ).

An Events window is displayed, as shown in Figure 4-31 on page 97, with a new event,event n , that consists of the selected objects and their values at Cursor1.

Figure 4-31 Events Window

Scrolling the Events Window

To find an event in the Events window, either use the scroll bar to the right of the Value pane,or click your left mouse button on an event name in the Event List. The Names pane andValue pane scroll to display all the objects in that event.

June 2000 97 Product Version 6.5

Page 98: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Modifying an Event

Changing the Name

To change the default event name assigned by Signalscan Waves:

1. Drag your left mouse button to highlight the name of the event in the Names pane in theEvents window.

2. Type the new name. The name changes in the Event List as soon as you click away fromthat name or press your Enter key.

Changing the Object Values

The initial value for each object is its value at Cursor1. You can edit any values in the Valuepane by highlighting them with your left mouse button and overwriting them.

To change the value of an object being searched for to be rising edge, falling edge, or anyedge, select Control—Define as Rising Edge, Control—Define as Falling Edge, orControl—Define as Any Edge.

Adding or Deleting Objects in an Event

To add objects to an existing event:

1. Select the objects in the Names pane of the Waveform window.

2. Click the Copy button or select Edit—Copy in the Waveform window.

3. In the Events window, position the insertion marker in the Names pane where you wantthe selected objects to be added.

4. Click the Paste button or select Edit—Paste in the Events window.

To remove objects from an event:

1. Select the objects in the Names pane of the Events window.

2. Click the Delete button or select Edit—Delete.

You can manipulate objects in the Names pane of the Events window the same way you canmanipulate objects in the Names pane of the Waveform window. See Table 4-1 on page 62.

June 2000 98 Product Version 6.5

Page 99: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Finding an Event

To scroll the Waveform window display to the next occurrence of an event, change the Multi-List pane to display Events and click on the name of the desired event. Cursor1 moves to thatsimulation time.

Selecting an event name in the Event List in the Events window scrolls the Events window todisplay all objects in that event; it does not find the next occurrence of that event in theWaveform window.

In the Events window, you can use two menu options under the Control menu: DefineLogical And and Define Logical Or to select the clauses that you want to And or Ortogether. You can then use the appropriate menu item on the result.

For example, suppose you have an event with signals a, b, and c . Normally all clauses mustbe true to match. Suppose you want to instead match ((a && b) || c) . First select signalsa and b and Define Logical And. Then select the resulting clause, signal c and DefineLogical Or. Now you have an event that will match ((a && b) || c) . There is still animplied And between separate uncombined clauses, so for example if you then pasted in a dclause, the event would match ((a && b) || c) && d . In this case, ((a && b) || c)is one clause, and d is another clause.

You can only define a logical operation if you have at least two clauses selected and each onematches a numerical or logic value. Edges, strength comparisons, wildcard values, shiftedvalues, and mnemonic or enumerated values cannot be combined in this way.

Since the names can get long when complicated expressions are defined, you can resize thenames panes in the Events window with a size bar (like the Waveform window) so that youcan make the names pane wider if desired. Also, the default width of the Events windownames pane is slightly larger and the default width of the value pane is decreased by thesame amount, leaving the window the same size.

Defining and Using Busses

This section describes how to create a bus in the Waveform window. To learn how to createa bus in the Design Browser, see “Creating Busses with Bus Templates” on page 43.

Creating a User-Defined Bus

To create a user-defined bus in the Waveform window:

1. In the Names pane, select the objects that you want to put together as a bus.

June 2000 99 Product Version 6.5

Page 100: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

2. With your middle mouse button, position the insertion marker where you want the newbus to be located.

3. Select Edit—Create—Bus (Control-w ).

The Make Bus From Selected Variable(s) form displays as shown in Figure 4-32 onpage 100.

4. Click the OK button to create the new bus.

Figure 4-32 Defining a Bus

You can change the name of the bus (see “Changing the Name of the Bus” on page 101),change the msb and the lsb, and invert the contents of the bus (click the Flip Contentsbutton). The number of bits is enforced, so if you change the msb, the lsb is also changed toreflect the correct bit count.

If you select the Replace Original option, the objects that were selected in the Waveformwindow are deleted from the Waveform window and replaced by this bus. If you de-select theReplace Original option, both the bus component objects and the new bus display in theWaveform window.

For analog designs, see also “Performing Analog-to-Digital Conversion” on page 141.

June 2000 100 Product Version 6.5

Page 101: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Default Bus Name

If all the object names selected have the same prefix, and the trailing bit numbers areconsecutive, the default name is the common prefix, and the suffix is the bit index.

If not all of the selected objects have a common name (a bundle ), the default name is theconcatenation of the names of the selected objects, separated by a comma, as shown inFigure 4-33:

Figure 4-33 Bundle of Objects Used to Create a Bus

When you change the content of the bundle, the name also changes to reflect its content. Bydefault, the bus name is the common name, followed by the indices, and the bundle name isthe concatenation of the signals of which it is composed.

Changing the Name of the Bus

■ In the Make Bus From Selected Variable(s) form (see Figure 4-32 on page 100), click theNew Name button and enter a new name.

■ Select the Display Indices option to display indices.

You can change the value of the indices displayed by editing the msb and lsb. Thenumber of bits is enforced, so if you change the msb, the lsb is also changed to reflectthe correct bit count.

Note: Changing the msb and lsb in the Name section affects only the name of the buscreated and not its contents.

Select Objects clock and multiToggle for the Bus

A Bus is Created Named with Concatenated Object Names

June 2000 101 Product Version 6.5

Page 102: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Modifying a Bus

To view the components of an existing bus or modify an existing bus:

1. Select either a user-defined bus or a Verilog bus in the Names pane of the Waveformwindow.

2. Select Edit—Modify to display the Modify Selected Bus form.

The contents of the original bus are displayed at the top of the form as well as the bitcontents of the bus.

3. Change the bits referenced from the original bus to modify the bus.

The default name is the original name with the new modified indices. To rename the bus,click the New Name button.

Viewing Components of a Bus in the Waveform Window

To expand a bus to show its constituent bits in the Names pane and Waveform pane, selecteither a user-defined bus or a Verilog bus in the Names pane of the Waveform window, andthen select Edit—Expand.

Note: The Expand operation cannot be undone. You may want to copy and paste the busfirst and expand the copy or view the expanded bits in a register page (see “Creating andCustomizing a Register Page” on page 127).

Using the Signalscan Waves Cause Finder

The Signalscan Waves Cause Finder feature shows you the possible causes of a selectedvalue change using the SimControl Signal Flow Browser and Source Code window.

You can invoke the Cause Finder feature from the Waveform window, from the DesignBrowser window, or from the Register window.

Invoking from the Waveform Window

To invoke Cause Finder from the Waveform window, either:

■ Ctrl+double-click (press the Control keyboard key while you double-click your left mousebutton) on a transition in the Waveform window.

or

June 2000 102 Product Version 6.5

Page 103: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

■ Select a transition and then select the Control—Go To—Cause menu option.

Cursor1 and TimeA are set to the time of the transition, as shown in Figure 4-34 on page 103.

Figure 4-34 Go To Cause from Transition in Waveform Pane

The SimControl Signal Flow Browser displays a list of possible causes of the transition, asshown in Figure 4-35 on page 104. In the Source Code window, an arrow is displayed to theleft of the line corresponding to the first possible cause.

Cursor1

June 2000 103 Product Version 6.5

Page 104: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-35 Signal Flow Browser with Multiple Choices

When you select one of the possible causes in the SimControl Signal Flow Browser, the arrowin the Source Code window will point to the line corresponding to that cause, as shown inFigure 4-36 on page 105.

June 2000 104 Product Version 6.5

Page 105: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-36 Source Code Window with Single Cause Identified

Defining and Using Constants and Expressions

Select Edit—Create—Constant to add a constant at the insertion point. Enter the name ofthe constant and its value in the Create Constant form, as shown in Figure 4-37 on page 106.

June 2000 105 Product Version 6.5

Page 106: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

You can use this feature to create constant zero or one if you are going to create a user-defined bus and you want to fill it with zeros or ones.

Figure 4-37 Create Constant Form

June 2000 106 Product Version 6.5

Page 107: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

See “Creating and Using Analog Expressions” on page 143 for a description of how to addan expression at the insertion point.

To change a constant or expression, first select the constant or expression in the Namespane, and then select Edit—Modify.

Defining and Using Mnemonics

Signalscan Waves allows you to define mnemonics for any values, and to display thosemnemonics in the Waveform and Register windows.

Defining a Mnemonic Map

1. Select Options—Define Mnemonic Maps.

The Define Mnemonic Mapping form displays.

The first time you open this form, it displays a default map named mmap1 that containsone value/mnemonic pair that maps Default to <‘h> (hexadecimal display), as shownin Figure 4-38 on page 108.

The Default value cannot be changed, but its mnemonic can be changed. TheDefault mnemonic matches any value not matched by any other value in the map.

June 2000 107 Product Version 6.5

Page 108: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-38 Define Mnemonic Mapping Form

2. To create a new map, click the New Map button on the right side of the form.

3. To rename this mnemonic map, drag or double-click your left mouse button over the mapname and type over it.

4. To change the value radix for this mnemonic map, click on the down-pointing arrow to theright of the Value Radix field, and select a new value radix from the drop-down list. TheValue Radix field specifies the default value radix for this map. You can specify a differentvalue radix for a particular mnemonic in the map by entering the appropriate string in theMnemonic pane: <‘b> , <‘o> , <‘d> , <‘s> , <‘h> , or <‘a> .

5. Add mnemonics to the map, as described in “Defining a Mnemonic” on page 109.

June 2000 108 Product Version 6.5

Page 109: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

6. Click the OK button at the bottom of the form.

Defining a Mnemonic

1. Click your left mouse button anywhere in the Value pane.

A text cursor appears at the next new entry point.

2. Enter a value.

3. Press the Tab key to move to the Mnemonic pane.

4. Enter the mnemonic for that value.

The mnemonic may include one of <‘b> (binary), <‘o> (octal), <‘d> (decimal), <‘h>(hexadecimal), <‘s> (signed decimal), or <‘a> (ascii).

The mnemonics on each map are automatically sorted by value.

Figure 4-39 on page 110 shows a custom mnemonic map:

June 2000 109 Product Version 6.5

Page 110: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-39 Custom Mnemonic Map

Modifying a Mnemonic Map

You can change the name and value radix of the mnemonic map as described above.

To change the relative sizes of the Value pane and Mnemonic pane, move your mouse overthe line between the two panes until your mouse pointer looks like a double-headed horizontalarrow with a vertical line in the middle of it. Then press and drag your left mouse button.

To change the value or mnemonic name of a particular mnemonic, drag or double-click yourleft mouse button over the field to highlight it, and then type over it. If you change the value,

June 2000 110 Product Version 6.5

Page 111: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

the mnemonics are resorted as necessary. You cannot change the value of the Defaultmnemonic.

To use the mnemonic editing buttons on the right side of the Define Mnemonic Mapping form,you must first select one or more mnemonics. To select a mnemonic, click your left mousebutton on the number to the left of the value for that mnemonic. Drag your left mouse button,or press the Shift or Control keys, to select more than one mnemonic.

To delete mnemonics, select them and then click either the Delete or Cut button. You cannotdelete the Default mnemonic. The Default mnemonic matches any value not matched byany other value in the map.

To copy or move mnemonics to other maps:

1. Select one or more mnemonics.

2. Click either the Copy or Cut button.

3. Select a different map from the drop-down list at the top of the form, or click the NewMap button.

4. Click the Paste button.

The pasted mnemonics are automatically sorted by value as they are added to the list.

You cannot rearrange the mnemonics on a map. They are automatically sorted by value.

Applying a Mnemonic to a Bus

1. Select a bus in the Names pane of the Waveform window.

2. Select Format—Variable Radix.

The mnemonic map names appear on the bottom of the list of options.

3. Select a mnemonic map name.

In the Names pane, ‘m mapname is displayed in front of the value, and the appropriatemnemonics are displayed in the Waveform pane, as shown in Figure 4-40 on page 111.

Figure 4-40 Mnemonic Map Applied to a Bus

June 2000 111 Product Version 6.5

Page 112: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Viewing Waveforms in Sequence Time

Sequence Time

Sequence Time (patent pending) lets you view and debug activities that conceptually takeplace at the same instant, but that the simulator executes in a specific order. When differentexecution orders yield different results, a sequence order problem exists. By graphicallydisplaying the actual object assignment sequence within a given time step, Sequence Timelets you pinpoint and eliminate this class of problems early in the design cycle, before theyresult in more serious gate-level problems downstream.

You can view the order in which the objects changed by expanding the sequence time atCursor1, between cursors, or at all times. These options are available under View—ExpandSequence Time. For example, to expand sequence time at Cursor1, click your left mousebutton on a Using the Multivalue Indication Feature point (a pink dot) in the Waveform window,and select View—Expand Sequence Time—At Cursor1. See Figure 4-41 on page 113.

If you do not want to view the sequence time, you can collapse the sequence time informationby using View—Collapse Sequence Time.

Recording Sequence Time

To view sequence time, you must first record sequence information into your SST2 Database.

■ For NC Verilog, either:

❑ Select the record all events option on the Open Database form.

❑ Specify the -event option on the database command. See the Tcl commandreference for your simulator.

■ For Verilog-XL, specify the event field on the $shm_probe system task.

You cannot view Sequence Time in a Leapfrog simulation.

Note: You cannot record sequence time for part of a simulation or a subset of probed objects.You must specify sequence time recording when you first open the database, and thensequence time (all events) is recorded for all probed objects.

Using the Multivalue Indication Feature

Multivalue Indication graphically identifies areas where sequence order problems may exist:zero-time glitches where objects have received multiple values during a single time step.

June 2000 112 Product Version 6.5

Page 113: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Such a glitch may indicate a reliance on the simulator’s ordering of events, which could laterturn into a serious timing problem. Once a glitch is identified, you can further investigate theproblem by expanding into the Sequence Time domain.

Multivalue Indication is graphically represented as a pink dot on top of the waveform at thelocation where it occurred. You can view the actual object assignment sequence within agiven time step by using the Sequence Time feature of Signalscan Waves. See Figure 4-41on page 113.

Figure 4-41 Multivalue Indication and Sequence Time

MultiValue Indication Sequence Time

June 2000 113 Product Version 6.5

Page 114: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Viewing Multi-Dimensional Objects

The Signalscan Waves Waveform window can view only one-dimensional objects. To view amulti-dimensional object, you must view each dimension separately.

Each dimension of a multi-dimensional object is treated as a scope in Signalscan Waves.Each scope is one vector of an array or one object of a record. Thus, to view multipledimensions of a multi-dimensional object in the Waveform pane, you need to iterate thefollowing process:

1. In the Design Browser, select (single-click your left mouse button on) a scope thatrepresents a multi-dimensional object from the Instances in Current Context list. TheInstances in Current Context list updates to display all the scopes in the first dimensionof that selected object.

2. Select one of the scopes listed in the new Instances in Current Context list. The objectsfor that scope (for that dimension of the multi-dimensional object) are listed in the Nodes/Variables in Current Context list.

3. Select one or more of the objects in that dimension from the Nodes/Variables in CurrentContext list. The selected object names are added to the Design Browser’s To Add pane.

4. Go back to Step 1 and select another scope. You can re-select the design (Current Filefield) to refresh the Instances in Current Context list.

5. Click the AddToWave button.

In the following example, select the scope ARRAY3X4 in Figure 4-42 on page 115 to list thethree scopes in the first dimension of the ARRAY3X4 scope. Select the scope ARRAY3X4[2]in Figure 4-43 on page 116 to list the nodes in that scope. Select the node ARRAY3X4[2][2]in Figure 4-44 on page 117 to add that node to the To Add pane.

June 2000 114 Product Version 6.5

Page 115: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-42 Select a Multi-Dimensional Object

June 2000 115 Product Version 6.5

Page 116: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-43 Select a Scope in the First Dimension

June 2000 116 Product Version 6.5

Page 117: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-44 Select Nodes in One of the Scopes in the First Dimension

Printing the Waveform Window

Signalscan Waves supports printing the Waveform window both in black-and-white and incolor.

Select File—Print from the Waveform window. The Printing form is displayed as shown inFigure 4-45 on page 118. Buttons across the top of the Printing form allow you to specifyheader information for each printed page, the printer or file name to print to, the color mode,and which objects to print for which times. You can print all objects, currently selected objects,or currently visible objects, and you can print all times, currently visible times, or the timebetween specified start and end times. You can scale the printout to fit a specified number ofpages, and you can specify the size of paper to use.

June 2000 117 Product Version 6.5

Page 118: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Figure 4-45 Printing Form - Header Info

Use the Time Range button to specify a range of time for which you want data to be printed.You can select various options as shown in Figure 4-46 on page 118.

Figure 4-46 Printing Form - Time Range Options

June 2000 118 Product Version 6.5

Page 119: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideThe Waveform Window

Use the Color button to choose one of the following three formats, as shown in Figure 4-47on page 119:

■ Black on White. Print black lines and labels on a white background. Analog signals in anoverlay group are printed using different line patterns. A sample of the line pattern usedfor each signal is shown next to the signal name in the printout.

■ Color on White. Print color lines and labels on a white background.

■ Full Color. Print the window the same way you see it on your monitor.

Figure 4-47 Printing Form - Color Options

June 2000 119 Product Version 6.5

Page 120: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

5Defining Design Views

This chapter describes how to use the Register window to create customized views of yourdesign on register pages. This chapter contains the following sections:

■ “Overview of the Register Window” on page 121

■ “Creating and Customizing a Register Page” on page 127

June 2000 120 Product Version 6.5

Page 121: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

Overview of the Register Window

The Register window allows you to create customized views of your design. Each of theseviews is called a register page. Figure 5-1 on page 121 shows a Register window with oneregister page defined.

You can define multiple register pages in one Register window and select them by name tojump between them, or you can define different register pages in separate Register windowsto keep multiple register pages visible on your screen simultaneously.

The Register window makes it much easier to monitor subsets of important objects amongthe many objects displayed in the Waveform window. You can also annotate each object ona register page much more than you can in the Waveform window.

You can put any object from the Waveform window on a register page. You can put the sameobject on multiple register pages, and you can put copies of the same object on one registerpage. You can arrange the objects on a register page any way that is most useful to you.

Figure 5-1 Register Window

TextModeButton

SelectionModeButton

Multi-listPane

June 2000 121 Product Version 6.5

Page 122: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

Multiple Register Windows

When you create a new register page, that page is added to an existing Register window ifthere is one. To open multiple Register windows, select Windows—Register from anySignalscan Waves window. Register windows are sequentially numbered beginning with 1.

View-Only Mode

You can lock a Register window into view-only mode. You may want to do this so that you donot accidentally change the layout of a register page by sliding your mouse across it.

To toggle between view-only and edit modes, click the Lock/Unlock button above theRegister pane vertical scrollbar.

In view-only mode, the Multi-List pane, menu bar, and other less used controls are hidden,and the Register pane becomes read-only so that you cannot modify the register page in thatwindow. However, if you modify the register page in another Register window, the changesare reflected in all Register windows, including the ones in view-only mode. Also, the objectvalues continue to update when the page is displayed in a view-only Register window.

Figure 5-2 Register Window in View-Only Mode

June 2000 122 Product Version 6.5

Page 123: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

TimeA Field

TimeA is a simulation time that is used to synchronize all Signalscan Waves windows. Whenyou explicitly set TimeA, then the values of the objects displayed in the Register pane of theRegister window and in the Names pane of the Waveform window are the values that thoseobjects have at TimeA.

You can edit this field to display values at a different time. To edit TimeA in the Registerwindow:

1. Click your left mouse button in the TimeA field.

2. Edit the value.

3. Press your Enter key.

When you press the Enter key, TimeA is automatically updated in all other SignalscanWaves windows that use TimeA, and Cursor1 is moved to the new TimeA value in theWaveform window. See also “TimeA Marker” on page 56.

Current Sim Time Field

The Current Sim Time field displays the current simulation time for as long as the simulationis active. When you are not running Signalscan Waves in interactive mode, this field is blank.

RegPage Name and Selected Variable Fields

The RegPage Name field (see Figure 5-1 on page 121) is a read-only field that shows thename of the register page that is currently displayed in the Register pane. You cannot edit thisfield to display a different register page. If you want to display a different register page, youmust click on the name of page in the Multi-List pane.

The Selected Variable field is a read-only field that shows the full name of any one objectyou select in the Register pane. If you have not selected (highlighted) an object, this field isblank.

Selection Mode and Text Mode Buttons

You can use the Selection Mode and Text Mode buttons to toggle the Register windowbetween selection and text modes. See “Creating and Customizing a Register Page” onpage 127 for information on how to use these buttons.

June 2000 123 Product Version 6.5

Page 124: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

Previous and Next Value Change

TimeA and Cursor1 also automatically update whenever you select the previous or next valuechange of an object from the Register window.

To select the previous or next value change in the Register window:

■ Click the previous or next value change button (see Figure 5-1 on page 121).

■ Enter Control-v (previous) or Control-n (next).

■ Select Control—Value Change.

TimeA and Cursor1 automatically update to the time of the previous or next change in valueof the selected object so that values for all objects are shown for that simulation time. If morethan one object is selected, the previous or next value change of any of the selected objectsis found. If no objects are selected, the previous or next value change of any of the objectson the current register page is found.

Using the Define Mode Interactive Option

When you invoke Signalscan Waves from a simulator, you are automatically running thewavforrm viewer in interactive mode. In interactive mode, TimeA is equal to the currentsimulation time and the values of the objects in each Singlascan Waves window updatecontinuously as the simulation runs.

If you display the Control menu in the Register window when you are in interactive mode, yousee that the Define Mode Interactive option is automatically selected, as shown inFigure 5-3 on page 125.

June 2000 124 Product Version 6.5

Page 125: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

Figure 5-3 Define Mode Interactive Option

After you start Signalscan Waves in interactive mode, if at any time you change TimeA in anySignalscan Waves window, go to the previous or next value change of an object in a Registerwindow, or select a marker or event in the Register window, Signalscan Waves leavesinteractive mode. This means that:

■ The Control—Define Mode Interactive menu option in the Register window isautomatically deselected.

■ The waveforms in all Signalscan Waves windows no longer update at regular intervalsas the simulation runs.

■ TimeA remains fixed in all Signalscan Waves windows at the time to which you set itwhen you performed an operation from the list above.

■ The Current Sim Time field in the Register window continues to update as thesimulation runs.

If you select the Control—Define Mode Interactive menu option, then in all SignalscanWaves windows:

■ TimeA synchronizes with the current simulation time again.

■ The waveforms again update at regular intervals as the simulation runs.

June 2000 125 Product Version 6.5

Page 126: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

Multi-List Pane

The Multi-List pane displays the register pages, markers, and events that are defined. Clickon the down arrow in the top right corner of this pane, to the right of the label, to display adrop-down list. Click on an item in the drop-down list to change the display in the Multi-Listpane to RegPages, Markers, or Events.

Displaying a Different Register Page

1. Display the RegPages list in the Multi-List pane.

2. Click on the name of the register page you want to display.

Deleting a Register Page

1. Display the RegPages list in the Multi-List pane.

2. Click on the name of the register page you want to delete.

The name of the page is highlighted in the RegPage Name field.

3. While the name of the page is still highlighted, click the Delete button or select Edit—Delete.

Displaying a Marker or Event

See “The Multi-List Pane” on page 58.

Note: In the Register window, when you select a marker or event, both TimeA and Cursor1are moved to that simulation time. This behavior is different from the behavior you get whenyou select a marker or event in the Waveform window.

Register Pane

The Register pane displays the contents of the register page named in the RegPage Namefield. See “Creating and Customizing a Register Page” below for information on how to add,move, group, modify, and delete simulation objects and text in this pane.

Register and Multi-List Pane Sizes

To change the relative sizes of the Register pane and Multi-List pane, move your mouse overthe line between the two panes until your mouse pointer looks like a double-headed horizontal

June 2000 126 Product Version 6.5

Page 127: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

arrow with a vertical line in the middle of it. Then press and drag your left mouse button toposition the divider between the two panes.

Creating and Customizing a Register Page

A register page is a customized view of a set of simulation objects that you can display in aRegister window. A register page can contain any arrangement of text, objects, and objectvalues. An object value is the value of an object at TimeA, though you can shift individualvalues in time or invert them. You can use a register page to display vector values in binary,octal, decimal, signed decimal, hexadecimal, or ASCII. You can place text in any open spacein the Register pane, and you can move and group text and simulation objects any way thatmeets your needs.

To create a register page from the Waveform window, you perform the following steps:

1. Select some objects from the Names pane of the Waveform window.

2. Press Control-r or select Edit—Create—Register Page from the Waveform windowmain menu.

The Create Register form appears, as shown in Figure 5-4 on page 127.

Figure 5-4 Create Register Form

3. Enter a name for the register page, and click OK.

A register page with the name you entered is created and is displayed in the Registerwindow, as shown in Figure 5-1. The selected objects are listed in the Register pane ofthis window.

June 2000 127 Product Version 6.5

Page 128: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

To create a register page from the Register window:

1. Click the CrtRegPage button, press Control-r , or choose Edit—Create—RegisterPage.

The Create Register form appears as shown above.

2. Enter a name for the register page, and click OK.

A register page that has the name you entered is created and is displayed in the Registerwindow. The Register pane is blank. See “Adding Simulation Objects to the RegisterPage” on page 129 for instructions on adding new objects to your empty register page.

When you create a new register page, Signalscan Waves adds that page to an existingRegister window if there is one. To open multiple Register windows, choose Windows—Register from any Signalscan Waves window. Signalscan Waves numbers multiple Registerwindows sequentially, beginning with 1.

The object values that appear in a new register window are the values that objects have atTimeA. These values update when TimeA changes.

Note: A Register window can display multiple register pages. You can switch betweenregister pages by clicking on the register page name in the RegPages list in the Multi-Listpane on the right-hand side of the Register window.

Figure 5-5 on page 128 shows a register page with groups and annotations.

Figure 5-5 Customized Register Page

June 2000 128 Product Version 6.5

Page 129: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

Selecting Objects

Before you can operate on any object on a register page, you need to select it in the Registerwindow. To select an object in the Register window, peform the following steps:

1. Click the selection mode button (see Figure 5-1 on page 121) to make sure you are inselection mode and not text mode.

2. Click on the objects and text that you want to select. Hold down the Control key whileclicking to select multiple items.

Note: You cannot drag your mouse to select multiple items. If you click and drag your mouse,the item you first clicked on moves as you drag the mouse.

Grouping and Ungrouping Objects

You may want to group several simulation objects and text objects together to treat them asa block on your register page.

In addition, you may want to ungroup some items to work separately with them. For example,by default, the name and value of an object are grouped together so that you can easily movethem together. You may want to decouple them temporarily to move the value closer to orfarther from the name.

To group or ungroup items, perform the following steps:

1. Select them as described in ““Selecting Objects” on page 129”.

2. Choose Edit—Group Registers or Edit—Ungroup Registers from the Registerwindow main menu.

Adding Simulation Objects to the Register Page

To add simulation objects from a separate window to a Register page, perform the followingsteps:

1. Select the objects that you want to add to the register page in the Names pane of theWaveform window or in any other register page.

2. Copy or cut the objects from the original window. Use the Edit—Copy menu item or theCopy or Cut buttons on the original window to copy the selected items.

3. Select the register page where you want to put the objects. You can use the Multi-Listpane of the Register window to display the RegPages list and select the register pageto which you want to add the selected objects.

June 2000 129 Product Version 6.5

Page 130: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

4. Paste the cut or copied objects into the selected register page. Use the Edit—Pastemenu item or the Paste button on the Register window to paste the objects that you havejust cut or copied.

Modifying Object Values

The Invert, Show Strength, and Shift options on the Format menu work as described in“Format Menu” on page 87.

Adding Text

To add text to any area of a register page, perform the following steps:

1. Click the A button to enter text mode.

2. Click in any unused area of the register page.

A text box appears at the location that you clicked.

3. Type in the text that you wish to add to the area and press the Enter key.

Modifying Text

To modify any text that you have added to a register page, perform the following steps:

1. Click the A button to enter text mode.

2. Click in any unused area of the register page.

A text box appears at the location that you clicked.

3. Type in the text that you wish to add to the area and press the Enter key.

Moving Text and Simulation Objects

To move text objects or simulation objects within a register page, perform the following steps:

1. Select items as described in “Selecting Objects” on page 129.

2. Continue to hold down your left mouse button, and drag your mouse to move the selecteditems.

The selected items move to the location at which you release the mouse button.

June 2000 130 Product Version 6.5

Page 131: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideDefining Design Views

Changing the Font Size of Text Objects

To change the font size of items in a register page, perform the following steps:

1. Select the items as described in “Selecting Objects” on page 129.

2. Select Format—Font Size from the Register window main menu.

3. Select a font size from the submenu that appears.

The text objects that you selected appear in the new font size that you chose from thesubmenu.

Rearranging Objects

If you move items so that they overlap, or if you increase the font size of an item so that itoverlaps another item, you can choose Edit—Rearrange Registers from the Registerwindow main menu to automatically move objects as necessary so that no items overlap.

Deleting Objects

To remove text or simulation objects from a register page, perform the following steps:

1. Select the items you want to delete as described in “Selecting Objects” on page 129.

2. Click the Delete or Cut button or select Edit—Delete or Edit—Cut from the Registerwindow main menu.

June 2000 131 Product Version 6.5

Page 132: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

6Analog Analysis

Signalscan Waves supports the opening and viewing of any number of digital and analog filessimultaneously in the same Waveform window. To view the waveforms of analog signals,then, you only need to add those signals to the Waveform window in the same way that youadd digital signals.

This chapter explains how to use the analog waveform viewing features that are available inSignalscan Waves. This chapter contains the following sections:

■ “Using Overlay Groups with Analog Signals” on page 133

■ “Using the Analog Waveform Height Bracket” on page 134

■ “Zooming and Panning Analog Signals and Overlay Groups” on page 135

■ “Customizing the Display of Analog Signals” on page 137

■ “Saving Analog Display Configurations” on page 141

■ “Performing Analog-to-Digital Conversion” on page 141

■ “Creating and Using Analog Expressions” on page 143

■ “Performing Measurements on Analog Signals” on page 146

June 2000 132 Product Version 6.5

Page 133: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Using Overlay Groups with Analog Signals

Signalscan Waves lets you overlay the waveforms of analog objects in the Waveform window.A set of overlaid signals is called an overlay group. The Waveform window can display bothoverlay groups and stacked objects at the same time, just as it can display both analog anddigital objects at the same time. A single named group in the Names pane of the Waveformwindow (such as Group A) can contain both stacked objects and one or more overlay groups.You can create any number of overlay groups and display them simultaneously be created inthe Waveform window.

Creating an Overlay Group

To create an overlay group in Signalscan Waves, you can use either the Design Browser orthe Waveform window.

Creating an Overlay Group in the Design Browser

To create an overlay group in the Design Browser window, you perform the following steps:

1. Add the signals that you want to overlay to an existing named group.

2. Select the overlay analog option by pressing the Overlay Analog button.

The Overlay Analog option is selected by default if you specify the -analog optionwhen you invoke Signalscan Waves. Deselect the Overlay Analog button to load thesignals in stacked mode.

The Overlay Analog option can be saved to a configuration file (.do file). To do this, youcan choose Define Add Variable Overlay from the Preferences list in the Options forSaving a Do-File form. This saves the current setting of the Overlay Analog option inthe Design Browser window in the Do-File. See “Saving Your Configuration” on page 218for more information.

You can also or enter the following text into a Do-File:

define add variable default overlay on

3. Click the AddToWave button in the button bar.

Signalscan Waves adds the signals that you selected to an overlay group and overlays thesignals on top of one another.

Note: Signalscan Waves does not overlay the new overlay group on top of any of the othersingals or overlay groups in the named group.

June 2000 133 Product Version 6.5

Page 134: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Creating an Overlay Group in the Waveform Window

To create an overlay group in the Waveform window, you perform the following steps:

1. Select one or more signals in the Names pane of the Waveform window.

You can press the Shift key or the Control key along with the left mouse button toselect multiple signals. You can select signals from different groups if you wish.

2. Select Edit—Overlay from the main menu.

Signalscan Waves creates and displays an overlay group that contains the selected signals.The new overlay group appears at the insertion marker (yellow line) in the Names pane.

Modifying Overlay Groups

You can move nodes into and out of overlay groups in the Names pane of the Waveformwindow, and you can change the position of signals within an overlay group. Select one ormore signals with your left mouse button, and then press and drag your middle or right mousebutton to move the selected signals. If you release the mouse button inside of an overlaygroup, Signalscan Waves adds the selected signals to that overlay group.

Note: To add signals to the first (top) position of an overlay group, you need to add thembelow the first signal and then move the top signal to a lower position in the group.

Converting Overlaid Signals to Stacked Signals

To separate signals that are in an overlay group, select any node in the overlay group, andselect Edit—Stack from the main menu. Signalscan Waves separates all of the signals inthat overlay group vertically within the named group.

Printing Overlay Signals

You can print the waveforms of the signals in any overlay group using either different linepatterns or different colors for the overlaid signals. See “Printing the Waveform Window” onpage 117 for more information on printing the contents of the Waveform window.

Using the Analog Waveform Height Bracket

Each analog waveform has a height bracket to the right of its object name. Overlay groupshave one height bracket for the entire group.

June 2000 134 Product Version 6.5

Page 135: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

You use a signal’s or group’s height bracket to change the height of its analog waveform(s) asfollows:

1. Move your mouse pointer over the top or bottom of the bracket that is associated with theanalog object name or overlay group.

The pointer changes to a double-headed vertical arrow.

2. While the pointer is a double-headed arrow, click and drag the bracket up or down to thedesired height. The minimum height of an overlay group is the height that is required toshow the names of all the nodes in the group.

3. Release the mouse button.

The waveforms and the grid underlying the waveforms (if the grid is displayed — see“Customizing the Display of Analog Signals” on page 137 for more information on displayingand hiding grids) compress or expand to fit the new height.

Zooming and Panning Analog Signals and OverlayGroups

In the Waveform window, analog signals and overlay groups have their own Yaxis. Thismeans that you can pan each analog signal and overlay group independently of theWaveform pane vertical scroll bar and that you can have a different Y zoom factor for eachanalog signal and overlay groups in the window. The X axis, however, is common to all nodesin the Waveform pane. Zooming and scrolling the X axis for any signal scrolls all other signalsin the Waveform pane.

Using the Vertical Zoom Features

The Waveform window has vertical zoom capabilities for all analog signals and overlaygroups. You can access these signals from the button bar (ZoomInY, ZoomOutY, andZoomOutYFull buttons) or from the View—Zoom menu.

Note: Digital signals do not have Y zoom capability in Signalscan Waves, so you must selectan analog signal in the Names pane of the Waveform window before you can use theZoomInY, ZoomOutY, or ZoomOutYFull buttons and View—Zoom menu options. If youdo not select an analog signal, Signalscan Waves does not enable the Yzoom buttons andmenu options.

The ZoomInY and ZoomOutY buttons zoom and View—Zoom menu options zoom in andout on a signal or overlay group by a factor of 2.

June 2000 135 Product Version 6.5

Page 136: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

You can zoom in and out more precisely on the Y axis of a signal or overlay group by settingthe minumum and maximum values for that signal or group. See “Minimum and MaximumValues” on page 138 for instructions on how to do this.

In addition to the ZoomInY and ZoomOutY options, the Waveform window also has aZoomOutYFull button and a ZoomOutYFull menu option under the View—Zoom menu.ZoomOutYFull adjusts the display in the Waveform pane to show the entire range of Y valuesfor the selected signal or overlay group.

The ZoomOutYFull feature provides you with a convenient way to set the display of anoverlay group to include the minimum and maximum values of the overlay group. Theminimum value is the lowest value of all the objects in the overlay group, and the maximumvalue is the highest value of all the objects in the overlay group.

Using the Horizontal Zoom Features

The Waveform window has horizontal zoom capabilities for all analog and digital signals andoverlay groups. You can access these X zoom options from the button bar (ZoomInX,ZoomOutX, and ZoomOutXFull buttons) or from the View—Zoom menu. The time axis (Xaxis) is the same for all signals and overlay groups. Therefore, when you select one of the Xzoom options, every signal in the Waveform pane zooms in or out equally.

The ZoomInX and ZoomOutX features zoom in and out on the X axis by a factor of 2.

You can also zoom within a specified horizontal area. To do this, position Cursor1 andCursor2 around the area that you want to display in the Waveform pane, and then chooseView—Zoom—Between Cursors (Control-z ) or simply click your right mouse button inthe Waveform pane.

In addition to using the button bar and menu options, you can access the X zoom optionsquickly by using keyboard shortcuts. Press Control-i to zoom in, Control-o to zoom out,Control-f to zoom out full, and Control-z to zoom between cursors.

Using the Area Zoom Feature

In addition to its axis-specific zoom features, Signalscan Waves has an area zoom featurethat lets you zoom to display a specific rectangular area of an analog waveform or overlaygroup.

To define a rectangular area and zoom in on it, hold down the Shift key while you press anddrag your left mouse button. When you release the mouse button, everything in the Waveformpane is zoomed in.

June 2000 136 Product Version 6.5

Page 137: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Panning Analog Waveforms

Panning is similar to zooming in that when you pan horizontally, you pan along the X axis ofall of the signals in the Waveform pane at the same time, whether those signals are analogor digital. However, you can also separately pan along the Y axis of each analog signal oroverlay group.

To pan all of the nodes in the Waveform pane horizontally, press the left and right arrows onyour keyboard or use the scroll bar at the bottom of the Waveform pane.

To pan all of the signals in the Waveform pane vertically, press the up and down arrows onyour keyboard or use the scroll bar on the right side of the Waveform pane.

To pan a single signal or overlay group vertically, first select the object that you want to panfrom the Names pane. (To select an overlay group, you only need to select one object in thatoverlay group.) Then hold down the Shift key while you press the up and down arrows onyour keyboard.

Customizing the Display of Analog Signals

signalscan Waves lets you customize the display of the analog waveforms in your Waveformwindow in several different ways. This section explains how to use the custom features of theanalog waveform display. The custom analog display features that are described in thissection are:

■ “Grids” on page 137

■ “Data Points and Lines” on page 138

■ “Minimum and Maximum Values” on page 138

■ “Display Scale” on page 139

Grids

You can use the View—Grid menu item on the Waveform window to enable or disabledisplaying a labeled grid in your waveform pane. Signalscan Waves automatically determinesthe width of the grid cells uses round numbers to label the grid wherever possible.

You can save the option to display or hide the grid in a configuration file (.do file). To do this,select Wave Grid from the Preferences list in the Options for Saving a Do-File form. Thissaves the current grid setting in the Waveform window in a Do-File. You can also save yourgrid display preference by entering the following text in a Do-File:

June 2000 137 Product Version 6.5

Page 138: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

define waveform window grid on

Data Points and Lines

By default, the Waveform window display analog waveform as lines. However, you can usethe View—Analog Display Mode menu to display the analog waveforms as Points, Lines,or Points and Lines. Signalscan Waves displays all of the analog waveforms in theWaveform pane in the mode that you select.

This display mode can be saved in a (.do file). Select Analog Draw Mode from thePreferences list in the Options for Saving a Do-File form. This saves the current drawing modesetting in the Waveform window in a Do-File. You can also save your analog draw modepreference by entering the following text in a Do-File:

define analog waveform points

See Appendix A, “Saving and Restoring Your Configuration” for more information on savingand restoring Do-Files.

Minimum and Maximum Values

You can display only a specific range of Y values of each analog signal and overlay group inyour design. Setting the minimum and maximum values for a signal or overlay group is similarto using the Y zoom features that are described in “Using the Vertical Zoom Features” onpage 135, but setting the minimum and maximum values is quicker if you know the range ofY values that you want to view.

To set the range of values that you display for a given signal or overlay group, perform thefollowing steps:

1. Select the signals and overlay groups whose Y values you want to limit in the Waveformpane display.

2. Choose Format—Define Analog Min/Max Values from the Waveform window mainmenu.

The Set Analog Min/Max form appears, as shown in Figure 6-1 on page 139.

June 2000 138 Product Version 6.5

Page 139: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Figure 6-1 Set Minimum and Maximum Values

3. Specify the range of values that you want to display in the Waveform window for theselected analog objects.

If you have the grid display turned on, the Y-axis grid labels update to reflect the newminimum and maximum values for the selected signals, and the waveforms compress orexpand appropriately.

Note: If you specify a minimum value that is greater than the actual minimum value of awaveform, or if you enter a maximum value that is less than the actual maximum value of awaveform, that waveform is cropped in the display; only those portions of the waveform thatare between the values that you specified are displayed. To view the cropped portions of awaveform, you must vertically pan that waveform.

Display Scale

You can specify the scale of the units in which selected analog objects are displayed in theNames pane of the Waveform window. For example, if an object normally shows a value of4500uV in the Names pane, you can change its display scale to 10-3(m) to cause the objectvalue to appear as 4.5mV in the Names pane.

To change the display scale of an object in the Names pane, you perform the following steps:

1. Select the analog objects in the Names pane whose units you want to change.

June 2000 139 Product Version 6.5

Page 140: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

2. Choose Format—Define Variable Display Scale from the Waveform window mainmenu.

The Variable Display Scale form appears, as shown in Figure 6-2 on page 140.

Figure 6-2 Define Variable Display Scale Form

3. Press the appropriate toggle button to specify the scale of the units in which you want todisplay the values of the selected analog objects in the Names pane.

The Names pane display changes to reflect your specifications.

Note: The Waveform pane display is not affected by the variable display scale settingthat you choose. For example, if the selected object shows a value of 4500uV, changingthe display scale to 10-3(m) causes the same value to be displayed as 4.5mV in theNames pane.

June 2000 140 Product Version 6.5

Page 141: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Saving Analog Display Configurations

You can save several analog signal display settings as preferences in a Do-File (.do file).These include:

■ Contents of named groups (including expressions)

■ Zoom settings

■ Overlay Analog setting

■ Grid Display setting

■ Display (draw) mode

■ Default heights of specific waveforms

■ Default heights of specific height brackets

You can also reproduce the current view by reading the configuration file. (ChooseFile—Execute Do-File from the Waveform window main menu to read the currentconfiguration file.) See Appendix A, “Saving and Restoring Your Configuration,” for moreinformation on using configuration files to create reusable analog signal display settings.

Performing Analog-to-Digital Conversion

You can convert any single analog object to a single-bit digital value by specifying thethreshold values of the object. Similarly, you can convert a set of analog objects to a digitalbus by specifying the threshold values for the entire set of objects. You use the Create BusFrom Selected Variable(s) form to perform analog-to-digital conversion on both singlesignals and sets of signals.

To convert an analog signals or set of signals to digital form, you create a bus that containsthe signal(s) that you want to convert, as follows:

1. Click your middle mouse button in the Names pane to position the insertion marker at thelocation at which you want to place the new signal or bus.

2. Select the analog object(s) that you want to convert to digital format in the Names pane.Choose Edit—Create—Bus (Control-w ). The Make Bus From SelectedVariable(s) form appears, as shown in Figure 6-3 on page 142.

June 2000 141 Product Version 6.5

Page 142: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Figure 6-3 Analog-to-Digital: Create Bus Form

This form is the same as the one shown in Figure 4-32 on page 100, except that this onehas space to enter one or two threshold values. These threshold fields appear only if youhave selected one or more analog objects. Notice the units (V) that are associated withthe threshold values. The other features of the Make Bus From Selected Variable(s)form work the same as they do for digital signals. (See “Defining and Using Busses” onpage 99 for more information on making buses from sets of digital signals.)

3. Specify one or two threshold values for your digital signal(s).

If you specify only one threshold value, then any of the original analog values that areless than the threshold value convert to 0 in the digital results, and any values that aregreater than or equal to the threshold are converted to 1.

If you specify two threshold values, then any of the original analog values that are lessthan the smaller of the two threshold values convert to 0, any of the original values thatare greater than or equal to the larger of the two threshold values convert to 1, and anyother values (those that are less than the larger threshold value and greater than or equalto the smaller threshold value) convert to x.

If you perform analog-to-digital conversions and then save your configuration in a Do-File, youcan see those conversions defined by atod functions in the .do file. If you want to create ascript in a Do-File that automatically converts analog signals to digital buses, you can use theatod (analog-to-digital) function, as described in “Expression Example Using Analog toDigital Function” on page 145.

June 2000 142 Product Version 6.5

Page 143: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Creating and Using Analog Expressions

In the Signalscan Waves Waveform window, you can create and use expressions to performoperations on both analog and digital signals, and you can display the waveforms of theresults of the operations that you perform. Signalscan Waves has a special set of operationsfor the analog signals in your designs, and the waveform viewer shows the results of analogoperations in a unique way.

To display the value of an analog expression as an object in the Names pane of the Waveformwindow and to show the waveform of the results of that expression in the Waveform pane,you perform the following steps:

1. Click your middle mouse button in the Names pane to position the insertion marker at thelocation at which you want to place your new expression object.

2. Choose Edit—Create—Expression from the Waveform window main menu. TheCreate Expression form displays as shown in Figure 6-4 on page 143.

Figure 6-4 Create Expression Form

3. Optionally, enter a name for the new object in the Enter Expression Name field. If youdo not enter a name, Signalscan Waves uses the expression itself as the expressionname in the Names pane of the Waveform window.

June 2000 143 Product Version 6.5

Page 144: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

4. Enter an expression in the Enter Expression field using any combination of theoperations listed in Table 6-1 on page 144:

5. Click the OK button on the Create Expression form.

The new object appears at the insertion marker.

Note: If you use expressions on analog objects, Signalscan Waves may not be able to drawsmooth waveforms of the results of those expressions, in the following situations:

■ When you create the expression, if not all of the objects that you use in the expressionare visible in the Waveform window.

■ When you perform certain operations on an analog signal whose value changesinfrequently, or when you zoom in too far on an analog signal after applying certainoperations to it. This happens because Signalscan evaluates all expressions except >,>=, <, <=, ==, and != only at the data points of the expression operands.

Escaping Special Characters

You can use escape special characters in an analog expression, just you escape charactersin a Verilog expression. To escape special characters in an analog expression, enter abackslash (\) in front of the object name, and then put a space character after the object nameto end the escape and correctly interpret any remaining parts of the expression. For example:

abs(\N1(v) )

Specifying Expressions with Constant Values

If you use a constant value in your expression, you can append an abbreviation for units, suchas s , ns , V, or mV, to the constant.

Table 6-1 Analog Expression Operations

+ x – x x + y x – y

x * y x / y x % y x ** y

x < y x <= y x > y x >= y x == y x != y

abs(x) acos(x) asin(x) atan(x) atan2(y,x) atod(x,y[units][,z[units]])

cos(x) cosh(x) exp(x) hypot(x,y) log(x) log10(x)

sin(x) sinh(x) sqrt(x) tan(x) tanh(x)

June 2000 144 Product Version 6.5

Page 145: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

The power (** ) and square root (sqrt ) operations result in the removal of units from theoperands.

Specifying Expressions in a Do-File

You can specify expressions that you want to apply to analog signals as objects in a Do-File.To define an analog expression as an object in a Do-File, enclose the expression in doublequotation marks and use it in place of an object name in any legal Do-File statement. Forexample:

add group A "atod(X1.XI26.PL2,0.6V,2.7V)"

Expression Example Using Analog to Digital Function

You can convert any analog object to a single-bit digital value by using the atod (analog todigital) function.

The syntax of the atod function is:

atod( objectname , threshold1 [ units ][, threshold2 [ units ]])

If you use the atod function, and the analog value that you are converting has unitsassociated with it, then you must specify units for the threshold value(s). The threshold valueunits must be compatible with the analog value units.

This example shows you how to create an expression object that uses the atod function todisplay the waveform of an analog signal in digital format in the Waveform window.

Note: This example uses the atod function only to illustrate the process of creating andviewing an analog expression as an object. This example is not intended to illustrate the bestway to perform analog-to-digital conversions, as when you are using the Signalscan WavesWaves GUI, it is much easier to use the Create Bus From Selected Variables form toconvert analog signals to digital format. (See “Performing Analog-to-Digital Conversion” onpage 141 for instructions on how to do this.)

Figure 6-5 on page 146 shows an example of using the atod function in the CreateExpression form.

June 2000 145 Product Version 6.5

Page 146: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Figure 6-5 Analog-to-Digital: Create Expression Form

Performing Measurements on Analog Signals

You can use Cursor1 and Cursor2 to perform several measurements on the analog signalsthat you display in the Waveform window. You use the View menu on the Waveform windowto access the following analog measurement functions:

■ “Value at Cursors” on page 147

■ “Slope For Values at Cursors” on page 148

■ “Minimum, Maximum, and Peak-to-Peak Between Cursors” on page 150

■ “Rise/Fall Time at Cursor1” on page 151

■ “Average Values Between Cursors” on page 153

■ “RMS Values Between Cursors” on page 155

June 2000 146 Product Version 6.5

Page 147: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Value at Cursors

The View—Value at Cursors menu option on the Waveform window lets you measure theamount by which an analog object’s value changes over a specific time interval.

To measure the amount by which each of several analog objects changes over a specific timeinterval, you perform the following steps:

1. Select the objects whose value changes you want to measure from the Names pane ofthe Waveform window.

2. Position Cursor1 and Cursor2 at the start and end times of the interval over which youwant to measure the value changes of the selected objects.

Choose View—Value at Cursors from the Waveform window main menu. The Valuewindow appears, as shown in Figure 6-6 on page 147, displaying the values at Cursor1and Cursor2 and the difference between those values for each object that you selected.If you move the cursors, these values update accordingly.

Figure 6-6 Value at Cursors

June 2000 147 Product Version 6.5

Page 148: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Slope For Values at Cursors

The View—Slope For Values at Cursors menu option lets you measure the slope of thethe curve of an analog object between two points in time.

To measure the slopes of the curves of several analog objects over a specific time interval,you perform the following steps:

1. Select the objects whose slopes you want to measure from the Names pane of theWaveform window.

2. Position Cursor1 and Cursor2 at the start and end times of the interval over which youwant to measure the slopes of the selected objects.

3. Choose View—Slope For Values at Cursors from the Waveform window main menu.

A window appears, as shown in Figure 6-7 on page 149, displaying the slope betweenthe two points that are defined by Cursor1 and Cursor2 for each object that you selected.If you move the cursors, Signalscan Waves recalculates the slopes accordingly.

June 2000 148 Product Version 6.5

Page 149: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Figure 6-7 Slope For Values at Cursors

June 2000 149 Product Version 6.5

Page 150: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Minimum, Maximum, and Peak-to-Peak Between Cursors

The View—Min/Max/Peak-to-Peak Between Cursors menu option lets you measure theminimum, maximum. and peak-to-peak values over a specifc time interval for one or moreobjects.

To measure the minimum, maximum, and peak-to-peak values for several objects over aspecific time interval, you perform the following steps:

1. Select the objects whose minimum, maximum, and peak-to-peak values you want tomeasure from the Names pane of the Waveform window.

2. Position Cursor1 and Cursor2 at the start and end times of the interval over which youwant to measure the values for the selected objects.

3. Choose View—Min/Max/Peak-to-Peak Between Cursors from the Waveformwindow main menu.

A separate window appears, as shown in Figure 6-8 on page 150, displaying theminimum, maximum, and peak-to-peak values for the area between Cursor1 andCursor2 for each object that you selected. If you move the cursors, Signalscan Wavesrecalculates these values accordingly.

Figure 6-8 Min/Max/Peak-to-Peak Between Cursors

June 2000 150 Product Version 6.5

Page 151: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Rise/Fall Time at Cursor1

The View—Rise/Fall Time at Cursor1 menu option lets you measure the rise time or falltime of an analog object in the Waveform window.

To measure the rise or fall times of several objects in the Waveform window, you perform thefollowing steps:

1. Select the objects whose rise or fall times you want to measure from the Names pane ofthe Waveform window.

2. Position Cursor1 over a rising or falling edge of an object or group of objects.

3. Choose View—Rise/Fall Time at Cursor1 from the Waveform window main menu.

A separate window appears, as shown in Figure 6-9 on page 152, displaying the rise orfall times for each selected signal at Cursor1. Siganscan Waves calculates these valuesusing the object values and thresholds that you specify.

Note: For the rise or fall time to have a value for a given object, the value of that objectat Cursor1 must be between the specified thresholds. You can specify differentthresholds by editing the Low Threshold and High Threshold fields and then clickingthe Apply button in the Rise/Fall Time window.

June 2000 151 Product Version 6.5

Page 152: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Figure 6-9 Rise/Fall Time at Cursor1

June 2000 152 Product Version 6.5

Page 153: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Average Values Between Cursors

The View—Average Values Between Cursors menu option lets you measure the averagevalue of an analog object over a specific time interval.

To measure the average values of several objects over a given time interval, you perform thefollowing steps:

1. Select the objects whose average values you want to measure from the Names pane ofthe Waveform window.

2. Position Cursor1 and Cursor2 at the start and end times of the interval over which youwant to measure the average values of the selected objects.

3. Choose View—Average Values Between Cursors from the Waveform window mainmenu.

A separate window appears, as shown in Figure 6-10 on page 154, displaying theaverage value of each object that you selected over the time interval that you defined withCursor1 and Cursor2. If you move the cursors, Signalscan Waves recalculates theaverage value of each object accordingly.

June 2000 153 Product Version 6.5

Page 154: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Figure 6-10 Average Values Between Cursors

June 2000 154 Product Version 6.5

Page 155: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

RMS Values Between Cursors

The View—RMS Values Between Cursors menu option lets you measure the RMS (rootmean square) value of an analog object over a specific time interval.

To measure the RMS values of several objects over a given time interval, you perform thefollowing steps:

1. Select the objects whose RMS values you want to measure from the Names pane of theWaveform window.

2. Position Cursor1 and Cursor2 at the start and end times of the interval over which youwant to measure the RMS values of the selected objects.

3. Choose View—RMS Values Between Cursors from the Waveform window mainmenu.

A separate window appears, as shown in Figure 6-11 on page 156, displaying the RMSvalue of each object that you selected over the time interval that you defined with Cursor1and Cursor2. If you move the cursors, Signalscan Waves recalculates the RMS value ofeach object accordingly.

June 2000 155 Product Version 6.5

Page 156: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideAnalog Analysis

Figure 6-11 RMS Value Between Cursors

June 2000 156 Product Version 6.5

Page 157: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

7Transaction-Based Verification

The information presented in this chapter requires a license for the Affirma verification cockpit(#29500), which is available separately.

Just as synthesis tools allow you to design at a higher level of abstraction (RTL versus gates),the tools in the transaction-based verification (TBV) package allow you to simulate and debugyour design at a higher level of functionality (transactions versus signals). Signalscan allowsyou to analyze your design’s function at the transaction level, while still retaining the ability towork at the lower level details of your design’s interface protocols when necessary.

To work at the transaction level, you create a transactor or TVM (Transaction VerificationModule) that handles the transaction details for you. For example, you instruct the TVM to doa read, supply an address, and have the result returned. With this capability, you canconstruct large-scale tests that exercise TVMs rather than supply all of the protocol details ina vector set. Signalscan makes it easier to analyze simulation results for such systemsbecause it allows you to view the transactions the TVM is performing directly instead ofanalyze miles of waveforms to figure out exactly what happened in your system.

Transaction Representation

This section describes the transaction representation used to store transactions in the SST2database and subsequently view them in Signalscan.

A transaction occurs on an interface , which is a collection of signals and buses that aremonitored or controlled by a single finite state machine (FSM) in the design being verified.The FSM controls the activity on the interface, and therefore is known as a thread of control.

A specific sequence of states (typically from Idle to Idle) that the FSM traverses is atransaction . Examples of transactions include read operations, write operations, andpacket transmissions. A transaction has duration: It begins at some specific time and ends atsome later time.

June 2000 157 Product Version 6.5

Page 158: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

Figure 7-1 Sample Transaction Sequence on a Thread

Figure on page -158 shows a sequence of read and write transactions that occur on interfacecpu0 . All of the activity that occurs on this processor interface between the two arrowsrepresents a write transaction. Only one thing at a time can occur on an interface, sotransactions cannot overlap. Transactions that overlap occur on multiple threads. See“Multiple Threads” on page 159.

While the sequence of transactions by itself is useful, its value is somewhat limited duringdebugging. You can associate pieces of information, called pr oper ties , with eachtransaction to aid in your understanding of the system. For example, it is useful to showaddress and data.

Figure 7-2 Transactions with Properties

Figure on page -158 shows two transactions, each with three properties. The top-mostproperty is the label, a short user-defined string that identifies the transaction. Below the labelare two additional properties: addr and data .

Although it is shown this way in the example, there is no need to have the same propertieson different transactions. In this example, addr and data happen to be meaningful on bothtransactions, but if they were not, there would be no need to carry around unnecessaryproperties.

There is no limit to the number of properties that you can associate on a transaction.Signalscan displays both the property’s name (for example, addr ) and its value (for example,0xffff428a ). Property values are integers, floating point numbers, strings of any length, orfour-value (0,1,X,Z) bit vectors of any length.

cpu0 read write readwrite read

simulation timetransaction

cpu0readaddr:0xffff428adata:0x07f264b9

writeaddr:0xffff779cdata:0x6842d6aa

label

other properties

June 2000 158 Product Version 6.5

Page 159: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

Hierarchical Transactions

Transactions sometimes occur in phases. The burst read shown in Figure on page -159below is an example of such a transaction.

Figure 7-3 Hierarchical Transaction

The burst read begins with an init phase followed by four single byte reads. In verifying thedesign, there are times when you only need to consider the top level transaction, and thereare other times when the finer granularity of the individual phases is useful. Signalscanmakes both available. The subordinate phases are called child transactions. Their parentis the top level burst read.

Children occur on the same thread as their parent and cannot overlap, for the same reasonthat no transaction can overlap on the same thread. A child transaction may begin at (or after)the same time as its parent begins and must end before (or at the same time as) its parentends. That is, children transactions cannot extend outside of the time bounds of their parents.There is no limit to the number of levels of hierarchy that you can create.

You can associate properties with children. The properties of a parent can also be consideredto be properties of a child if the child does not specifically set them. In the example in Figureon page -159 above, the children of the read transaction can also be considered to have addrand data as properties. Special deferred properties allow a child to set the property on aparent. Chapter 9, “Recording Transactions,” describes the concept and mechanisms ofproperty inheritance in detail.

Multiple Threads

A single FSM is typically capable of performing several different types of transactions.However, since single FSMs can only be performing a single traversal of its states at a time,all of its transactions are necessarily sequential (non-overlapping). Many protocols (forexample, protocols for pipelined processor buses) have the concept of multiple overlappingoperations. However, these protocols actually require two or more interacting FSMs to

cpu0burst_readaddr:0xffff428adata:0x07f264b9

initbyte0byte:07

byte1byte:f2

byte2byte:64

byte3byte:b9

June 2000 159 Product Version 6.5

Page 160: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

implement the protocol. Such protocols really represent two independent, yet related,interfaces or threads within a single TVM. These interfaces operate concurrently andindependently, but data and control information moves between them.

Sometimes, the interfaces of the system interact closely. For example, the address and datatenure interfaces of a pipelined processor bus protocol interact closely to transfer databetween a bus master and a bus slave. Other times, the interfaces of a system interactloosely. For example, in a design that bridges traffic from one bus (the processor bus) toanother bus (an IO expansion bus), the activity on the processor interface may cause somerelated activity to occur on the IO interface at some later time. These independent cause andeffect transactions are related through the expected operation of the design itself.

In addition to allowing you to keep track of activity on a single interface or thread, Signalscanprovides a means for you to keep track of the relationships between transactions that occuron different interfaces. The mechanism used relies on transaction tags . Transaction tagsallow you to link transactions together, forming predecessor/successor relationshipsbetween transactions. With such relationships in place, you can use Signalscan to view therelationships between transactions.

A transaction that causes another transaction to occur is the predecessor of theconsequent transaction. Conversely, the consequent transaction is the successor of theinitiating transaction. For example, consider testing a system where the processor TVMcontrols both an address tenure interface and a data tenure interface. The test issues a readrequest to the processor TVM, which causes a transaction on the address tenure interface.Some time later, when the system returns the read data, the related data tenure transactionoccurs on the data tenure interface as shown in Figure on page -160:

Figure 7-4 Multiple Interacting Threads

test

addr_tenure

data_tenure

read

predecessor

successor

predecessor

successor

read

read

June 2000 160 Product Version 6.5

Page 161: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

The transaction for the address tenure succeeds the test’s transaction (requesting the TVMto perform the read), and the data tenure transaction succeeds the address tenuretransaction. Conversely, the test’s read transaction precedes the address tenure transactionand the address transaction precedes the data transaction. These relationships aremaintained in the SST2 database and can be viewed in Signalscan.

Creating Transactions from Verilog

Signalscan provides a set of system tasks, collectively known as the Transaction RecordingSystem Tasks (TRST), that you use to put transaction information into the SST2 database.This section outlines the basic set that you can use to do most of what is necessary to recordtransactions. The full documentation on all of the TRST functions is in Chapter 9, “RecordingTransactions.”

Defining Basic Transactions

Verification engineers typically use BFMs (Bus Functional Models) as part of their verificationprocess. They use $display calls to write specific information about model activity into a logfile. To record transaction information from your BFM or TVM (Transaction VerificationModule) into the SST2 database, put a TRST call in the same place that you would normallyuse $display .

At first glance, there are two fundamental ways that you can record transactions. Formaximum compatibility with $display , you can use the $trans_display call. For greaterfunctionality, use the $trans call.

$trans_display

The $trans_display call takes the same arguments as Verilog’s $display call. Its formatis:

$trans_display( format_string , args );

In many cases, you can simply replace all of the $display calls that you currently use with$trans_display calls. The effect you get is that a transaction begins (on the thread for thatTVM) at the time that the $trans_display executes, and ends at the time the next$trans_display call executes (for that thread). The transaction has a description thatmatches what the $display would have printed out to the log file.

June 2000 161 Product Version 6.5

Page 162: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

Like $display , $trans_display can take multiple format strings, each with its ownargument list. The $trans_display call uses the first format string as the transaction’slabel. That is, an alternate way to use $trans_display is:

$trans_display( label_format_string , args ...,

description_format_string , args ...);

The label is typically a very short description of the transaction, whereas the description istypically more verbose. Labels allow you to see quite a bit of information in the transactiondisplay when you have zoomed out a little. Descriptions allow you to see more detail afterzooming in the Signalscan Waveform Pane.

$trans

The $trans call is the primary transaction call. It is very similar to $display , but it gives youmore control over what gets stored into the transaction record. Specifically, you can assignproperties and use options as follows:

$trans( options , property_assignments ,

label_format_string , args ...,

description_format_string , args ...)

The following example shows how you can assign properties to a transaction. Propertyassignments identify the name of the property and its value. Note that you can useexpressions, and also note the use of the equals sign (=) in the string. The equals sign saysyou are doing a property assignment.

$trans( options , "write_data=",p2_wrdata,

"address=",((row_addr<<12)+col_addr),

other_property_assignments ,

label_format_string , args ...,

description_format_string , args ...)

In addition, there are many options that can be applied to a transaction. One such option isthe -trans_type option. See “$trans Variant Options” on page 206 for more information ontransaction options.

Syntactically, an option is specified as follows:

$trans("-trans_type", trans_type ,

June 2000 162 Product Version 6.5

Page 163: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

other options , property assignments ,

label_format_string , args ...,

description_format_string , args ...)

$trans_event and $trans_error

The $trans_event and $trans_error calls are two other functions that you can use forrecording transactions. Both of these functions take the same arguments that the $trans calltakes.

The $trans_event call generates a zero duration child transaction of the currenttransaction. This is useful for recording time-specific properties of the parent transaction.

The $trans_error call also generates a zero length child transaction. In addition to theproperties in the argument list, it sets the error property of the transaction to true, indicatingthat the current transaction has an error. Errors can be easily searched and viewed in theSignalscan Waveform Pane. In addition, errors are automatically tallied for each TVMindividually, as well as globally, and the counts can be viewed in the Waveform Pane alongwith the individual transactions.

Defining Bounded and Hierarchical Transactions

The $trans and $trans_display calls are sufficient for most cases. However, they havetwo limitations:

■ They presume that a given transaction is always active until the next transaction starts.

■ They cannot be used to build deeper hierarchies of transactions.

Note that event transactions ($trans_error , $trans_event ) are always children ofthe current transaction. So, in that sense, $trans calls can be used to build two-deephierarchies.

There are two additional calls that address both of these limitations: $trans_begin and$trans_end . These calls can be used to create disjoint transactions or to build transactionhierarchies.

The $trans_begin call takes the same arguments as the $trans call takes. The$trans_end call does not take a label or a description, but can be used to set properties onthe current transaction before ending it. Figure 7-5 on page 164 shows a simple example thatillustrates how to build hierarchical transactions using these calls. This code creates atransaction view that looks similar to Figure 7-3 on page 159.

June 2000 163 Product Version 6.5

Page 164: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

Figure 7-5 Hierarchical Transactions Source: $trans_begin an $trans_end

Any $trans or $trans_begin calls that are executed after a $trans_begin , but beforeits matching $trans_end , introduce another level of hierarchy in transaction recording. Thisis useful for simple code segments as shown in Figure 7-5 above, but also can be used totrace nested task executions. You can accomplish this by having all tasks execute a$trans_begin at the beginning of their execution, and a $trans_end prior to finishing.

Assigning Properties

Previous sections of this document described how you can associate properties with specifictransactions by using the $trans call or its variants. However, sometimes it is useful toassociate a property with a transaction that has already started. Use the $set_propertycall to do that. For example, in the case of a read transaction, the read data can be associatedwith the currently open transaction as shown below:

$trans_begin("read"); // start transaction

... // initiate the protocol

@(read_acknowledgement) // wait for read data

$set_property("data=",rd_data); // associate read data with the

// current transaction

$trans_end; // end the transaction

Alternatively, the read data can be associated with the transaction by using the $trans_endcall directly, as shown below:

$trans_begin ("burst_read"); // starts transaction (parent)

$trans_begin ("init"); // starts child transaction

#5; // do some work

$trans_end ; // ends "init" child transaction

#5; // delay makes transactions disjoint

for(i = 0; i < 4; i = i + 1) begin

$trans_begin ("byte%d",i); // starts child transaction

#10; // do some more work

$trans_end ; // ends "byte" child transaction

end

$trans_end ; // ends parent transaction

June 2000 164 Product Version 6.5

Page 165: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

$trans_begin("read"); // start transaction

... // initiate the protocol

@(read_acknowledgement) // wait for read data

$trans_end("data=",rd_data); // associate read data and

// end the transaction

TVM Declaration/Registration

There are two calls that allow you to identify a module as either a test or a TVM:

$bfm;

$test;

These calls are optional. If a module uses any TRST system tasks and does not use one ofthese calls, then that module is presumed to be a TVM. TVM transactions and testtransactions are displayed in different colors in the Signalscan Waveform Pane.

Defining Multi-Threaded TVMs

Up to this point, this section has discussed only single threaded TVMs. Many TVMs (forexample, TVMs for pipelined processor protocols) have more than one thread of execution,and therefore must record transactions on more than one thread (as shown in Figure 7-4 onpage 160). For TVMs with multiple threads, use the following call to identify the differentthreads:

$thread( interface_name );

where the interface_name is a one- to four-character string literal that identifies thename of the interface.

The $thread call performs two functions:

■ It declares the name of the interface (if it has not previously been declared).

■ It indicates that all of the TRST calls executed within this block belong to the namedinterface. In this context, the term block means either a Verilog named block or a Verilogtask.

Note that once a thread is declared using the $thread call with a string literal argument,subsequent calls to $thread can have a Verilog variable as the argument, where the variablecontains the name (32-bit, four-character) of the pre-declared thread. This is useful whenusing a single Verilog task to perform some function on a variety of different threads.

June 2000 165 Product Version 6.5

Page 166: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

Single-threaded TVMs may use the $thread call, but it is optional. Multi-threaded TVMsmust use the $thread call, and must also ensure that:

■ Every task that uses any TRST call has a $thread call to identify which thread the TRSTcalls belong to.

■ Every initial or always block that uses any TRST calls is a Verilog named block, andhas a $thread call that identifies which thread the TRST calls belong to.

The following three examples show how to use the $thread call in initial blocks, alwaysblocks, and Verilog tasks. For more detailed information and additional examples, see“Thread System Tasks” on page 198.

Example 1

initial begin : block1 // named block

$thread("addr"); // Declare thread "addr".

// Any number of:

// TRST calls, including:

// o $trans

// o $trans_begin/$trans_end

// o $trans_error

// o $set_property

// o $get_trans_tag

// Verilog statements, including:

// o begin/end

// o fork/join

// o task calls

// o blocking statements (#, wait)

// For example:

do_work("addr"); // Call Verilog task, passing

// interface info.

end // end of named block

Example 2

always begin : block2 // named block

$thread("data"); // Declare thread "data".

June 2000 166 Product Version 6.5

Page 167: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

// Any number of:

// TRST calls, including:

// o $trans

// o $trans_begin/$trans_end

// o $trans_error

// o $set_property

// o $get_trans_tag

// Verilog statements, including:

// o begin/end

// o fork/join

// o task calls

// o blocking statements (#, wait)

// For example:

do_work("data"); // Call Verilog task, passing

// interface info.

end // end of named block

Example 3

task do_work // Verilog task

input [31:0] thread; // variable containing thread name

begin // block does not have to be named

$thread(thread); // Identify which thread the TRST

// calls in this task should affect.

// This can be a constant.

// Any number of:

// TRST calls, including:

// o $trans

// o $trans_begin/$trans_end

// o $trans_error

// o $set_property

// o $get_trans_tag

// Verilog statements, including:

June 2000 167 Product Version 6.5

Page 168: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

// o begin/end

// o fork/join

// o task calls

// o blocking statements (#, wait)

end

endtask // end task

Identifying Related Transactions

In addition to creating transactions, the TRST calls allow you to define relationships betweentransactions. The relationships are stored into the SST2 database along with the othertransaction information so that you can see the relationships between these transactions byselecting operations from the Signalscan Control menu, such as:

■ Show Related Transactions

■ Show Predecessors

■ Show Successors

Identifying relationships between transactions depends on linking transactions using atransaction tag . This is a three-step process:

1. After starting a transaction (the predecessor transaction) in one module, that module cancreate a transaction tag for the current transaction, and store the transaction tag into a64-bit Verilog register.

2. Using any desired mechanism, the module that started the predecessor transactionpasses the transaction tag to another module. For example, this could be accomplishedby calling a task in the other module, passing the transaction tag as one of the argumentsto the task.

3. The other module starts its own transaction (the successor transaction), and links it tothe other transaction by using the $trans_tag function with the -link option. See“$trans_tag” on page 211.

The following example shows how to use transaction tags to create a relationship betweentwo different threads in a single, multi-threaded TVM:

module checker(trigger_event1, trigger_event2,

other_input/output_ports);

input trigger_event1,trigger_event2;

...

June 2000 168 Product Version 6.5

Page 169: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

reg [31:0] trans_tag;

integer thread_ref;

always @(trigger_event1)

begin : block1

$thread("T1");

$trans_begin("predecessor",

"I'm the predecessor!");

trans_tag = $trans_tag_get;

// perform some protocol for a while...

...

$trans_end;

// and then wait for the other thread to grab the trans tag

// before proceeding with the next transaction...

@(trans_tag);

end

always @(trigger_event2)

begin : block2

$thread("T2");

$trans_begin("successor",

"I'm the successor!");

$trans_tag("-link",trans_tag);

// signal to the other thread that the trans_tag has been

// "grabbed"

trans_tag=~trans_tag;

// perform some protocol for a while...

...

$trans_end;

end

endmodule

This is a simple example of a multi-threaded TVM that shows the basic mechanisms:

■ Getting the transaction tag from the predecessor transaction ($trans_tag_get ).

June 2000 169 Product Version 6.5

Page 170: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

■ Storing it somewhere (trans_tag ) where the successor transaction can retrieve it.

■ Linking the successor transaction (-link option on $trans_tag ).

Since it is a multi-threaded TVM, this example also shows proper use of the $thread call(which was described in “Defining Multi-Threaded TVMs” on page 165).

Note: This example also points out another important characteristic of linking transactionswith transaction tags: Only one successor transaction can be linked to a predecessor with asingle transaction tag.

To link several transactions to a single predecessor, you must create a separate transactiontag for each transaction to be linked; each successor transaction is linked to the predecessorusing its own transaction tag. This is shown in the next example, which illustrates how youcan form a connection between transactions from a test (in one Verilog module) to severalindependent TVMs (each in separate modules):

module top;

wire clk;

wire[31:0] stimulus;

wire[31:0] response;

bfm_src master (clk, stimulus);

my_design duv (clk, response, stimulus);

bfm_sink slave (clk, response);

endmodule

module test;

integer i;

initial begin

for (i=0;i<20;i=i+1) begin

$trans_begin("test_loop_%d",i);

fork

begin

master.stim($trans_tag_get,control_args1);

master.stim($trans_tag_get,control_args2);

master.stim($trans_tag_get,control_args3);

master.stim($trans_tag_get,control_args4);

end

begin

June 2000 170 Product Version 6.5

Page 171: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

slave.check($trans_tag_get,control_args1);

slave.check($trans_tag_get,control_args2);

slave.check($trans_tag_get,control_args3);

slave.check($trans_tag_get,control_args4);

end

join

$trans_end

end

end

endmodule

module bfm_src(clk, stim_out);

input clk;

output [31:0] stim_out;

...

task stim

input pred_tag;

...

begin

$trans_begin("stim task",

"I'm one of two successors");

$trans_tag("-link",pred_tag);

// Do the protocol for this TVM,

// sending stimulus out the stim_out port, to the DUV.

...

$trans_end;

end

endtask

endmodule

module bfm_sink(clk, resp_in);

input clk;

input [31:0] resp_in;

...

June 2000 171 Product Version 6.5

Page 172: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

task check

input pred_tag;

...

begin

$trans_begin("response task",

"I'm the other of the two successors");

$trans_tag("-link",pred_tag);

// Do the protocol for this TVM,

// receiving responses from the DUV and checking the results.

...

// Mark any errors that occur.

if (actual_response !== expected_response)

$trans_error("incorrect response!",

"expected=",expected_response,

"actual=",actual_response);

...

$trans_end;

end

endtask

endmodule

In this example, the bfm_src TVM sends stimulus to the DUV, which in turn eventually sendsresponses to the bfm_sink TVM. The DUV (as well as some other details) is not shown, inorder to enhance the clarity of the transaction processing example.

During simulation, the test starts a transaction of its own and then initiates tasks in both of theTVMs in parallel. The transaction created by the test is the predecessor to the transactions inthe TVMs. In this example, every test transaction has eight total successors: four in thestimulus TVM and four in the checking TVM.

Again, this is a simple example, but it shows the basic mechanisms:

■ Getting the transaction tag from the predecessor transaction ($trans_tag_get ).

■ Storing it somewhere (in the task’s input argument) where the successor transaction canretrieve it.

■ Linking the successor transaction (-link option on $trans_tag ).

June 2000 172 Product Version 6.5

Page 173: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideTransaction-Based Verification

This example also shows that there is exactly one transaction tag used to link exactly twotransactions: the predecessor and successor. This is enforced by individual calls to$trans_tag_get for every call into the TVMs.

One final characteristic to note about the -link option is that it only links that specifictransaction (and its children) to the predecessor. More specifically, unless directed otherwise,the trans_tag (and therefore the link) officially ends when the linked transaction ends (forexample, when the corresponding $trans_end executes). Once a transaction tag ends, itcannot be referenced again. There are mechanisms that allow you to end transaction tags atother times and to link to transaction tags more than once. These advanced options aredescribed in detail in “$trans_tag” on page 211.

Using the techniques described in this section to record relationships between transactionsenables you to use the Show Related Transactions, Show Predecessors, and ShowSuccessors features on the Signalscan Waveform Window Control menu.

June 2000 173 Product Version 6.5

Page 174: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

8Viewing Transactions

The information presented in this chapter requires a license for the Affirma verification cockpit(#29500), which is available separately.

Basic Transaction Elements

Thread A thread , or interface , is analogous to a variable. Each threadoccupies a single row on the Waveform Window and can beselected from within the Design Browser.

Property A pr oper ty is a name/value pair. Properties can be associatedwith TVMs, threads, and transactions. The most common usageof properties is for annotating transactions.

Transaction Transactions appear as blue boxes on threads. Eachtransaction contains a set of properties that are shown within thebox.

Transaction threads, or interfaces, appear in the Design Browser along with signals andvariables in each scope. You can select a thread and add it to the Waveform Window in thesame manner that you select and add other objects.

Each transaction has a label at the top and a set of properties. You can drag the row heightcontrol at the right edge of the Name Pane to reveal more or fewer properties in thetransaction box (see Figure 8-1 on page 175 below).

Select Control—Show Properties to display a window that contains all the properties forthe selected transaction. See “Transaction Navigation” on page 176 for a discussion ontransaction selection and navigation.

June 2000 174 Product Version 6.5

Page 175: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideViewing Transactions

Figure 8-1 Transaction Properties

Transaction Hierarchies

Transactions can be nested in the Verilog source using the $trans_begin and$trans_end calls. For any selected transaction, a subordinate transaction is called its childand its superordinate transaction is called its parent .

When you first select a thread and view it in the Waveform Window, the transactions that arevisible are the top-most of each transaction hierarchy in the thread. To view more levels,select the thread in the Names Pane on the left side of the window and select Control—Show Child Transactions. This adds one or more transaction rows to the display. Theserows have the same name as the thread, with a bracketed number indicating the hierarchydepth that the row represents. Select Control—Show Parent Transactions to add theparent row to the display (see Figure 8-2 on page 176 below).

Once added, you can delete child or parent rows as desired. It is not necessary to have alllevels of the hierarchy present if you do not need them as you analyze your design.

June 2000 175 Product Version 6.5

Page 176: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideViewing Transactions

Figure 8-2 Selected and Related (Highlighted) Transactions

Transaction Navigation

A transaction can be in one of three states:

■ selected

■ highlighted

■ neither highlighted nor selected

June 2000 176 Product Version 6.5

Page 177: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideViewing Transactions

At most one transaction can be selected at one time. The selected transaction is filled pinkby default. Any number of transactions can be highlighted at one time. Highlightedtransactions are filled green by default. You can change these colors on the Define Colorsform (select Options—Define Colors).

To select a transaction, enter Control-click (click your left mouse button while holdingdown your Control keyboard key) while your mouse pointer is over that transaction.

You can search for transactions that have a specific relationship to the selected transaction.The easiest way is to select Control—Show Related Transactions. This highlightstransactions that are related to the selected transaction (see Figure 8-2 on page 176) anddisplays the Transaction List Window (see Figure 8-3 on page 177 below). Relatedtransactions are located by first searching backward through the predecessor chain of theselected transaction until a transaction is located that has no predecessor. From thattransaction, all successors are traversed and highlighted. This locates all transactions thathave a common point of origin.

Figure 8-3 Transaction List Window

The Transaction List Window helps you navigate among transactions. The currently selectedtransaction appears in the top pane. The model name and the thread name appear along with

June 2000 177 Product Version 6.5

Page 178: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideViewing Transactions

the transaction begin time and duration. The list below shows all of the transactions that arerelated by the relationship selected in the pulldown menu at the top of the window. Select adifferent relationship to list a different set of transactions in the Transaction List Window andhighlight the new set of transactions in the Waveform Window.

Highlighted transactions do not automatically appear in the Waveform Window. You will seea change in the display only if the thread has already been added to the Waveform Windowand the highlighted transaction is currently visible. In the Waveform Window, selectControl—Add Unadded Highlighted Transactions to add to the Waveform Windowthreads with highlighted transactions that are not currently shown in the Waveform Window.

Two check boxes in the bottom pane of the Transaction List Window control how muchinformation you see about each transaction. You can turn on or off viewing of the fullhierarchical name and the composite label.

Buttons along the bottom provide additional navigational control. Prev Trans andNext Trans move the selection to the transaction either immediately prior or just after theselected transaction on the same thread.

Prev Error and Next Error also move the selection. The Prev Error button searches for andselects the latest error transaction that is earlier than the currently selected transaction.Next Error searches for and selects the earliest error that is later than the current selection,also on the same thread.

The Show Props button does the same thing as the Control—Show Properties menuoption: It displays a window that lists all the properties assigned to the selected transaction.

Locating Errors

Issuing a $trans_error call in the Verilog model causes the enclosing transaction to beflagged as an error. A transaction so flagged appears with a red diamond as shown inFigure 8-4 on page 179.

You can select a thread and then select Control—Show Next Error to search for the nexterror on that thread. The search begins at the position of the cursor. You can also use theNext Error and Prev Error buttons in the Transaction List Window to locate errors on aspecific thread.

June 2000 178 Product Version 6.5

Page 179: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideViewing Transactions

Figure 8-4 Error Transaction Marked with a Red Diamond

The error_count Variable

Often, you do not know which thread has errors. Signalscan has a global transaction errorrollup mechanism that simplifies the chore of locating errors in your design. All of the errorsthat occurred in your design are rolled up to a single variable called error_count . Thisvariable contains markers for all errors no matter which thread they occurred on (seeFigure 8-5 on page 180).

At the top level of the design hierarchy is a scope called trans_global . Within that scopeis another scope called trans_properties . Inside trans_properties is a variablecalled error_count . This is the variable that contains the global error rollup. Select thiserror_count variable and add it to the Waveform Window to provide an easy way to finderrors.

June 2000 179 Product Version 6.5

Page 180: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideViewing Transactions

In the Waveform Window, position Cursor1 and select Control—Show Next Error to find thenext error. Then select Control—Show Related Transactions to find out where the erroris. This operation selects the error transaction and displays the Transaction List window. Theselected error transaction and any related transactions are shown. Use the Prev Error andNext Error buttons to navigate to errors on the same thread, or go back to the error_countvariable to find another error.

Figure 8-5 Error Rollup: error_count

June 2000 180 Product Version 6.5

Page 181: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

9Recording Transactions

The information presented in this chapter requires a license for the Affirma verification cockpit(#29500), which is available separately.

Signalscan provides a set of system tasks, collectively known as the Transaction RecordingSystem Tasks (TRST), that you use to put transaction information into the SST2 database.This chapter describes the TRST calls and their options, properties, and any side effects.

This chapter discusses:

■ Transaction Objects

■ Properties

■ Transaction Recording System Tasks

■ Error Rollup

■ Verilog Plus Arguments

June 2000 181 Product Version 6.5

Page 182: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Transaction Objects

This section describes the kinds of objects that you can create and operate on with TRSTcalls: module instances (TVMs, tests, and DUVs), threads, transactions, transaction tags, andproperties.

Module Instances: TVMs, Tests, and DUVs

Verilog contains module instances, and these can be BFMs (Bus Functional Models), testmodules, or DUVs (modules describing the Design-Under-Verification). In the SST2Database, they are recorded as TVMs (Transaction Verification Modules).

This chapter is focused on the TVM writer and refers to the TVM as a specific kind of moduleinstance.

■ Use the $bfm construct to declare and manipulate information on a BFM object.

■ Use a $test construct to declare and manipulate information on a test object.

■ Use a $duv construct to record transactions from within the Design-Under-Verificationitself.

Threads: TVM Threads, Test Threads

A module instance can consist of multiple threads of execution. The always or initialblocks or branches of a fork can be considered threads in Verilog.

A thread represents a single locus of control. A thread can only do one thing at a time. Athread in the TVM is sometimes referred to as an interface . A thread in the test is referredto as a test thread . A TVM can have multiple threads, and each one can do one thing at atime. Use the $thread construct to declare and manipulate information on a thread object.

Signalscan displays the transactions on a thread on a single line. The TRST calls allow forflexible user designation of threads. Any named begin-end pair or task can be designated tobe operating in a specific thread using a $thread system task.

Transactions

A thread can perform multiple actions, but only one action at a time. The occurrence of eachaction is recorded as a transaction . A transaction in the TVM is referred to as a TVMtransaction . A transaction in a test is referred to as a test segment . This chapter refers

June 2000 182 Product Version 6.5

Page 183: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

to all of these as transactions. Use the $trans , $trans_begin , and $trans_end ,constructs to define transactions.

Transaction Tags

Transaction tags (or trans tags ) are used to link cause and effect transactions togetheracross thread boundaries. Use the $trans_tag_get and $trans_tag calls to set and usetransaction tags.

Properties

TVMs, threads, and transactions have characteristics about them, and these characteristicsare recorded as properties on the TVM, thread, or transaction. Properties have a name anda value. Both TVMs and threads are time invariant concepts; in a simulation they always exist.A transaction is time variant; in a simulation, it starts at a specific time, and it ends at a specifictime. Properties are attached as characteristics to any of the three objects. See “Properties”below for more information.

Properties

Properties quantify and qualify an object. You can use them during and after a simulation forlocating, filtering, sorting, reporting, and taking actions on an object.

Properties are treated uniformly by all the property constructs. Properties are displayed asname-value pairs.

Property Definitions

A property is a value of a particular property definition, also known as a property def . Aproperty definition is an association of the name of a property (see “Property Names” onpage 184), the basic property type (see “Basic Property Types” on page 185) and the formatused for viewing the property (see “Property Formatting” on page 187).

Property definitions can be automatically created for you as you assign properties (see“Creating Property Definitions Automatically” below), or you can create property definitionsexplicitly (see “-property_definitions” on page 213).

June 2000 183 Product Version 6.5

Page 184: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Searching for Property Definitions

If a property definition is not made on an object before a property assignment is made, thenhigher level objects are searched to see if a property definition of the same name exists onthem. For example, if a count property is assigned on a transaction, but the definition of it isnot on the transaction, the parent thread is searched for a count property definition, and thenthe parent module instance is searched for a count definition. The first definition found isused. If no definition is found, then the type information is inferred by the rules in “CreatingProperty Definitions Automatically” below.

Creating Property Definitions Automatically

If no property definition exists for a property name, a property definition is created using theinformation about the value being assigned. The created property definition is placed on theobject being given the property: a TVM, thread, or transaction. Both the basic property type(see “Basic Property Types” on page 185) and formatting (see “Property Formatting” onpage 187) are inferred from the value as given in the Verilog construct.

Table 9-1 illustrates the default type of a property based on the type of the value beingassigned to the property.

Property Names

A property name begins with a letter or underscore and can contain letters, numbers orunderscores. The names are case sensitive.

Table 9-1 Property Definition Inference

Verilog Argument Basic Property Type Property Formatting

null error -

string literal orstring parameter

string ‘a

real real none

integer expression, integerparameter, or integer variable

integer ‘s

time variable time ‘d

all others vector ‘h

June 2000 184 Product Version 6.5

Page 185: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Basic Property Types

Property definitions can be one of several basic property types described in this section. Youcan use the type keyword strings listed in Table 9-2 below with any-property_definitions construct (see “-property_definitions” on page 213). Formattingproperty values is discussed in “Property Formatting” on page 187.

Basic Type Strings

Use the following string literals to declare the basic type of a property. In a property definitionconstruct, one of these types must be declared.

Table 9-2 Properties: Basic Type Strings

Type String Description

integer A 32-bit signed integer.

string A character string of any length, containing any character except NULL,and terminated with a NULL.

fstring Same as string , except the value specified must be a literal stringcontaining format specifiers (%). Additional arguments must be providedfor each of the % specifiers. See “Format Specifiers” on page 188.

script Same as string except the value is a concatenation of multiple stringliterals with a newline added as a separator between the literals. Theconcatenation continues until the end of the $ PLI call is reached or thespecial string literal <eof> is found.

boolean A 1-bit value, where 1 = true, 0 = false.

real A double precision real.

time A 64-bit time value. It is stored as the unscaled simulator time.

vector A variable width 4 value/bit.

June 2000 185 Product Version 6.5

Page 186: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Type Qualifiers

The basic types can be qualified with one or more additional words. These words are used tospecify special types of properties.

Table 9-3 Properties: Basic Type Qualifiers

Type Qualifier Description

hidden A hint to Signalscan that the property should not be displayed withother transaction properties in the transaction box in the WaveformWindow. The property can still be searched on and is viewable in thetransaction Properties Window.

devoted_line A hint to Signalscan that the property should have a line devoted to itwhen being displayed.

multiline A hint to Signalscan that the value of the property should bedisplayed in multiple lines.

not_genetic Specifies that the property cannot be used to satisfy the query rulesset down in “Searching Property Values” on page 192. It is used inspecial cases to prevent a parent’s property from being inherited by achild. Any property that appears on every transaction is most likelynot genetic. Thus most of the built-in properties are not genetic.

arg= num Specifies that the property value is a task argument corresponding toposition num in the task.

input Specifies that the property is an input to the task. Used with argabove.

output Specifies that the property is an output to the task. Used with argabove.

inout Specifies that the property is an inout to the task. Used with argabove.

June 2000 186 Product Version 6.5

Page 187: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Property Formatting

Property formatting can be specified with a -property_definitions construct (see“-property_definitions” on page 213). Property formatting is specified with one of the followingkeywords:

Property Type and Format Examples

The examples below illustrate the use of the type keywords listed in “Basic Property Types”on page 185 and formatting keywords described in “Property Formatting” on page 187. The-property_definitions construct is discussed in “-property_definitions” on page 213.

Thread Properties Example$thread("-property_definitions",

"wait_states","integer","‘s",

"cycle_type,","string","‘a");

Transaction Properties Example$trans("-property_definitions",

Table 9-4 Property Formatting Keywords

Keyword Description

‘b Displays the value as unsigned binary digits. This corresponds to theSignalscan Command Language add command radix attribute of ‘b .

‘o Displays the value as unsigned octal digits. This corresponds to theSignalscan TX Command Language add command radix attribute of ‘o .

‘d Displays the value as unsigned decimal digits. This corresponds to theSignalscan TX Command Language add command radix attribute of ‘d .

‘s Displays the value as signed decimal digits. This corresponds to theSignalscan TX Command Language add command radix attribute of ‘s .

‘h Displays the value as unsigned hexadecimal digits. This corresponds to theSignalscan TX Command Language add command radix attribute of ‘h .

‘a Displays the value as ASCII characters. This corresponds to theSignalscan TX Command Language add command radix attribute of ‘a .

none orempty string

The value displayed is defaulted by Signalscan TX.

June 2000 187 Product Version 6.5

Page 188: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

"address","integer input arg=1","‘h",

"rtn_data","integer output arg=2","‘h",

"address=",address,

"label","description");

Interpolated Format Strings

A format string is a string literal that contains format specifiers (see Table 9-5 below).Additional arguments must follow the format string to satisfy the needs of the formatspecifiers. The result of interpolating a format string is a regular string with the formatspecifiers replaced with text as described in Table 9-5.

Special Substitutions

The special substitutions of the format string are the same as Table 14-1 Page 173 of IEEEStd 1364-1995 Specification of Verilog-HDL.

Format Specifiers

The format specifiers in Table 9-5 below are understood by $trans constructs for label anddescription , and by assignments to fstring properties.

Table 9-5 Format Specifiers

Format Specifier Description

%d, %D, %i , %I The next argument in sequence is printed as a decimalnumber with leading spaces.

%0d The next argument in sequence is printed as a decimalnumber with no leading spaces.

%width . precision d The next argument in sequence is printed as a decimalnumber with a minimum width of width and a maximumwidth of precision .

%h, %H, %x, %X The next argument in sequence is printed as a hexadecimalnumber with leading spaces. The formats %H or %X printcapital A-F characters.

%0h The next argument in sequence is printed as a hexadecimalnumber with no leading spaces.

June 2000 188 Product Version 6.5

Page 189: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

%width . precision h The next argument in sequence is printed as a hexadecimalnumber with a minimum width of width and a maximumwidth of precision .

%o, %O The next argument in sequence is printed as an octalnumber with leading zeros.

%0o The next argument in sequence is printed as an octalnumber with no leading zeros.

%width . precision o The next argument in sequence is printed as an octalnumber with a minimum width of width and a maximumwidth of precision .

%b The next argument in sequence is printed as a binarynumber with leading zeros.

%0b The next argument in sequence is printed as a binarynumber with no leading zeros.

%width . precision b The next argument in sequence is printed as a binarynumber with a minimum width of width and a maximumwidth of precision .

%s The next argument in sequence is printed as a string ofcharacters to whatever width is required.

%width . precision s The next argument in sequence is printed as a string ofcharacters with a minimum width of width and a maximumwidth of precision.

%f, %e, %E, %g, %G The next argument in sequence is printed as a floating pointnumber. The %f format prints %6f by default. The %eformatis exponential notation. The %g format picks a best fitbetween %f and %e.

%width . precision f The next argument in sequence is printed as a floating pointnumber with a minimum width of width and a maximumwidth of precision .

Table 9-5 Format Specifiers, continued

Format Specifier Description

June 2000 189 Product Version 6.5

Page 190: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

%t, %width . precision t The next argument in sequence is printed in a time format inthe timescale of the current module (usually nanoseconds).The time format used can be specified with$tbv_timeformat . The %t specifier uses four formatvalues to format a time quantity: units, precision, suffix, andminimum field width. For TRST calls, all four of these can beset by calling $tbv_timeformat . If you do not call$tbv_timeformat , TRST calls use -9 for units, 3 forprecision, a null suffix string, and 20 for the minimum fieldwidth.

%m, %M,%width . precision m,%width . precision M

The full Verilog hierarchical instance name is printed as astring of characters similar to %s. No arguments are used.

%n, %width . precision n The Verilog module name of the current module is printedas a string of characters similar to %s. No arguments areused.

%W, %width . precision W The current module and thread name combination is printedif the call is within a thread. Otherwise, an empty string isprinted. The form of the string printed ismodule-instantiation-threadname. The text is printed as astring of characters similar to %s. No arguments are used.

%w, %width . precision w The current thread name is printed if the call is within athread. Otherwise, an empty string is printed. The text isprinted as a string of characters similar to %s. No argumentsare used.

width If width is specified, then this is the minimum width ofcharacters to be printed. If width begins with a minus sign(- ), then the characters are left justified. If the leading digitof width is zero (0), then leading spaces are filled withzeros rather than spaces.

precision If precision is specified, then this is the maximum widthfor non-floating point formats, or it is the number of precisiondigits for floating point formats.

Table 9-5 Format Specifiers, continued

Format Specifier Description

June 2000 190 Product Version 6.5

Page 191: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Format Specifier Examples

The following example:

"module %m, hex ‘h%h, decimal ‘d%d",10,10

produces:

"module path.to.module, hex ‘hA, decimal ‘d10"

Property Assignments

The syntax to assign a property to an object with a construct consists of two arguments:

■ Name= . The first argument is a literal string consisting of the property name with atrailing equals sign (for example, count= ).

■ Value . The second argument is the value to assign to the property, which can be a literalvalue, an expression, or a variable.

This syntax allows property value assignments to be easily distinguished from options, formatstrings, and other arguments. It also makes it easy to distinguish the property names from theproperty values.

Property Assignment Examples// Property on an interface:

$thread("facility=","pooling");

// Property on a bfm:

$bfm("family=","utopia");

// Transaction created with a static and a dynamic property:

$trans("addr=",addr,

"my_text=","Here is some text",

..);

// Append information to an existing transaction:

$set_property("-last_trans",

"my_text2=","Another text property.");

Multiple Property Assignments

For any object that has a property assigned to it multiple times, the value of the property isthe last value assigned. Previous values of the property are ignored.

June 2000 191 Product Version 6.5

Page 192: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Removing Property Assignments

See “-undef” on page 214.

Searching Property Values

You can search for the values of properties in Signalscan TX. Lower level objects such as atransactions inherit properties from higher level objects, such as a parent transaction, thread,or TVM.

The property value search resolution has a strong notion of a child object inheriting theproperty values of its parent. A transaction can inherit properties from its parent thread ormodule instance, and a thread can inherit properties from its parent module instance. If theproperty value does not exist for the object, then the search is false for that property.

A property that has a type qualifier of not_genetic is not used to satisfy the queryresolution. In that case, the query resolution ignores the property for the purpose of resolvinga property value. This is used in cases where the property is on every transaction or theproperty is not meaningful for child transactions. See “Type Qualifiers” on page 186.

Transaction Recording System Tasks

This section describes the transaction recording system tasks (TRST) that are available forverification designers, test writers, and model writers to implement transaction-basedverification recording.

TRST Introduction

The TRST are grouped into categories by the objects that they operate on, including moduleinstances, threads, and transactions, as shown in Table 9-6 below.

The TRST also are grouped according to the recommended expertise of the user. Basic usersonly need to use a few calls. The levels of user expertise are:

Basic The basic calls are the easiest to use, are the most robust, andrequire the least prior knowledge. They are not much harder touse than $display calls.

Proficient The proficient calls require you to have more knowledge of thesystem, but are still easy to use. Almost all of the transactionfunctionality can be obtained with these calls.

June 2000 192 Product Version 6.5

Page 193: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Advanced The advanced calls require you to have advanced knowledge ofthe system. These calls allow you to use the advanced featuresof the system if you have mastered the more advanced concepts.

TRST calls are summarized in Table 9-6 below:

■ Module instance system tasks (transactor, test, or DUV)

■ Thread system tasks

■ Transaction system tasks

❑ Duration

❑ Event

❑ Replacements for $display

■ Transaction tag system tasks

■ Property system tasks

■ Utility system tasks

The calls summarized in Table 9-6 are described in detail below the table.

Table 9-6 TRST Calls: Organization and Summary

System Task Description

Module Instance SystemTasks (TVM, Test, or DUV)

These calls are used on a module instance. All of thesecalls accept the standard property options andassignments described in “Property Options” onpage 213. See “Module Instance System Tasks” onpage 195.

$bfm

$tbv_bfm

Defines the current module to be a BFM module.

$test

$tbv_test

Defines the current module to be a test module.

$duv

$tbv_duv

Defines the current module to be a part of the Design-Under-Verification (DUV).

June 2000 193 Product Version 6.5

Page 194: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Thread System Tasks

These calls define a thread. These calls accept thestandard property options and assignments described in“Property Options” on page 213. See “Thread SystemTasks” on page 198.

$thread

$tbv_thread

(proficient) Declares a thread name, associates athread with a named begin-end pair or a task, andattaches properties to the thread. Takes specialarguments.

Transaction System TasksThese calls are used to create transactions on threads.You can create duration, event, and display transactions.See “Transaction System Tasks” on page 203.

Duration TransactionsThese calls accept the standard property options andassignments described in “Property Options” onpage 213. See “Duration Transactions” on page 206.

$trans Creates a transaction with duration to the nexttransaction.

$trans_begin (proficient) Marks the beginning of a transaction. Thetransaction has duration until a matching $trans_end .

$trans_end (proficient) Marks the end of a transaction. Must matchto a $trans_begin .

Event TransactionsThese calls accept the standard property options andassignments described in “Property Options” onpage 213. See “Event Transactions” on page 208.

$trans_event Creates an event transaction.

$trans_error Creates an event transaction that is an error.

Display TransactionsThese calls do not accept property options orassignments. See “Display Transactions” on page 209.

$trans_display Replaces $display for a TVM.

$trans_display_error Replaces $display for errors on a TVM.

Transaction Tag System Tasks

These calls manipulate transaction tags from one threadto another. These calls do not accept propertyassignments or options. See “Transaction Tag SystemTasks” on page 210.

Table 9-6 TRST Calls: Organization and Summary, continued

System Task Description

June 2000 194 Product Version 6.5

Page 195: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Module Instance System Tasks

This section describes the system tasks that manipulate information on module instances,including TVMs, threads, and DUVs.

All the calls described in this section can accept any of the standard property options andassignments listed in “Property Options” on page 213.

$bfm

(optional) Also named $tbv_bfm . Use the $bfm task to declare and manipulate informationon a TVM. Model writers can use it to declare TVM objects and perform actions on existingTVMs. If no $bfm , $test , or $duv call occurs before the first transaction recording construct,the module instance is assumed to be a TVM.

Declaring

The $bfm task declares the module instance as a BFM if it has not been declared before. Ifthe module instance has already been declared, then the additional constructs in the task areapplied. The name of the BFM is always the module name of the Verilog module that it is in.

$trans_tag_get (advanced) Gets a transaction tag to be passed fromone thread to another.

$trans_tag (advanced) Allows you to operate on a transaction tag,including linking to it, unlinking to it, and ending it.

Property System Tasks See “Property System Tasks” on page 212.

$set_property (advanced) Sets additional properties or changes thevalues of properties on existing objects. Accepts thestandard property assignments and options as listed in“Property Options” on page 213.

Utility System Tasks See “Utility System Tasks” on page 215.

$tbv_timeformat Sets the formats used by %t when %t is used in a TRSTcall (see “%t, %width.precisiont” on page 190). This callhas the same syntax as $timeformat , but TRST callsuse $tbv_timeformat to set format values for %t.

Table 9-6 TRST Calls: Organization and Summary, continued

System Task Description

June 2000 195 Product Version 6.5

Page 196: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

The BFM has two instance specifications:

■ The Verilog hierarchical scope to the BFM that might be visible using the Verilog$showscopes command.

■ The pair of the module name with the instantiation parameter value.

A module instance can only be one of a BFM, a test, or a DUV. It cannot be a combination ofthem.

$bfm Examples

module my_bfm;

parameter instantiation = 1;

initial begin

$bfm;

...

end

In the following example, a BFM of type my_bfm is created. Its test instantiation name ismy_bfm-3 because the instantiation parameter is 3 in the test bench. Its Verilog instancename is test_bench.u1 .

module test_bench;

...

my_bfm #(3) u1 (...);

end

$test

Also named $tbv_test . The $test system task is similar to the $bfm system task exceptit declares the module instance to be a test module.

$duv

Also named $tbv_duv . The $duv system task is similar to the $bfm system task except itdeclares the module instance to be part of the Design-Under-Verification.

Module Instance Task Options

This section lists the options that can be used on $bfm , $test , or $duv .

June 2000 196 Product Version 6.5

Page 197: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Automatic Behavior

The module instance task calls are optional. If a thread is declared and no type for the parentmodule instance has been declared, it is assumed to be a BFM. If you specifically want todesignate it as a test or a module from the DUV, you need to explicitly specify the moduleinstance with $test or $duv .

Automatic properties are placed on the module instance when it is declared. These includeproperty definitions and property values as described in “Automatic Property Definitions” and“Automatic Property Values” below.

Common Options and Assignments

The $bfm , $test , and $duv tasks support the following common options:

■ -property_definitions . See “-property_definitions” on page 213.

■ -properties . See “-properties” on page 214.

■ -undef . See “-undef” on page 214.

■ Dash Option (- ). See “Dash Option (-)” on page 215.

■ Dash Dash Option (-- ). See “Dash Dash Option (--)” on page 215.

■ Property assignments. See “Property Assignments” on page 191.

Automatic Property Definitions

When a BFM is created, the following property definitions are created as property definitionson the BFM:

module_instance_id,"integer hidden","‘s"

module,"string hidden","‘a"

scope,"string hidden","‘a"

instantiation,"integer hidden","‘s"

module_type,"string hidden","‘a"

Automatic Property Values

When a BFM is created, the following property values are assigned to the automaticproperties on the BFM. They also can be inherited by the threads and transactions under theBFM. (See “Searching Property Values” on page 192).

"module_instance_id=", " bfm_id_of_created_bfm "

"module=", " module_name_of_Verilog_module "

June 2000 197 Product Version 6.5

Page 198: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

"scope=", " scope_of_module_instance "

"instantiation=", " value_of_Verilog_parameter_instantiation "

"module_type=", ["Bfm"|"Test"|"Duv"]

Thread System Tasks

Threads are the locuses of control that run concurrently during a simulation. In a Verilogsimulation, an example of a thread is an initial or always block. With the TRST system,you can use a $thread call to associate a thread of execution with a Verilog-named begin -end pair or task. This allows a large amount of flexibility in how you can manage threads ofexecution in a multi-threaded BFM.

$thread

(optional, proficient) Also named $tbv_thread . Use the $thread task to declare andmodify information on threads. Model writers can use it to declare threads and performactions on existing threads (see “Declarative Form” below) and to switch the focus of activityfrom one thread to another (see “Switching Form” on page 199).

Declarative Form

You can use the $thread construct to declare and explicitly name a thread. For thedeclarative form of $thread , the first argument is the reference name, and the secondargument is an optional reference number:

■ The reference name is a literal string that is any number of characters, but the last fourcharacters must be unique. It is an error to specify two different thread reference nameswith the same last four characters.

■ The optional reference number is a simple integer you can use if you want to havearrayed or parameterized threads. If you do not specify the thread reference number, itis assumed to be the last four characters of the thread reference name. It is an error forthe same thread to be declared with two different reference numbers (see “MultipleDeclarations of the Same Thread” below). It is also an error to have two different threadswith the same reference number.

When a $thread executes, it associates the named begin -end pair or task it is executingin with the thread. Any transaction calls, such as $trans , that occur in the same begin -endpair or task are recorded as transactions from the thread.

June 2000 198 Product Version 6.5

Page 199: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Multiple Declarations of the Same Thread

If the thread has already been declared, additional constructs on the $thread call apply tothe thread. If the thread was not already declared, it is declared when the system task ismade. Thus, any number of declarations of the same thread can be made.

Any Verilog module with more than one thread name declared is considered to be multi-threaded. Multi-threaded modules must have their $thread tasks inside Verilog tasks ornamed begin -end pairs.

Example Declarations

In the following example, a thread called datt is created:

$thread("datt"); // reference name only

The following example declares a thread with a reference name of addt and a referencenumber of 5:

$thread("addt",5); // reference name and number

Switching Form

The $thread call can also be used to switch from one thread to another dynamically usinga variable or expression. The variable or expression needs to be the first argument and needsto evaluate to a reference number for an already-declared thread.

Example Switching

The following example illustrates declaring two threads with the declarative form of $thread ,and then switching between the two using the switching form of $thread :

$thread("chan1",1); // declaration

$thread("chan2",2); // declaration

channel = expression

$thread(channel); // switching

$trans("send_example");

Automatic Behavior

The $thread call is optional. If a $trans call is made and no thread has been declared inthe current module instance, a thread is declared with automatic initial properties and the$trans call uses it. If a thread is created in this automatic manner, then you should not use$trans_begin and $trans_end constructs. You still can use $trans and$trans_event constructs. See “$trans Variants” on page 203.

June 2000 199 Product Version 6.5

Page 200: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Side Effects

If a module instance has not been declared when the $thread command creates a thread,a module instance is declared with automatic values. These values on the module instanceare listed in “Module Instance Task Options” on page 196.

Automatic Property Definitions and Properties

When a thread is created, the following properties are created as properties on the thread.These properties can be inherited by transactions created in the thread. See “SearchingProperty Values” on page 192.

thread_id,"integer hidden","‘s"

thread_ref,"integer hidden","‘s"

thread_ref_name,"string hidden","‘a"

thread_id = thread_object_id

thread_ref_name = ref_name_given_by_user

thread_ref = ref_number_assumed_or_given_by_user

Common Options and Assignments

The $thread command supports the following common options:

■ -property_definitions . See “-property_definitions” on page 213.

■ -properties. See “-properties” on page 214.

■ -undef . See “-undef” on page 214.

■ Dash Option (- ). See “Dash Option (-)” on page 215.

■ Dash Dash Option (-- ). See “Dash Dash Option (--)” on page 215.

■ Property assignments. See “Property Assignments” on page 191.

Thread Management

Any module instance that uses multiple threads must specify the threads that executetransaction calls. Since more than one thread can be active at one time, care must be takenas to how they share tasks or sequences of code. The easiest way to specify concurrentthreads is to have a $thread call at the top of named begin -end pairs or tasks. This iscalled thread management . If the threads are not managed correctly, then the transactionhierarchy can become mixed between the threads.

June 2000 200 Product Version 6.5

Page 201: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

A multi-threaded module is one where more than one thing is happening concurrently. Athread is a line of activity where only one thing is happening at a time. A multi-threadedmodule is broken up into multiple threads so that all the activity can be seen concurrently. InSignalscan, a thread’s activity is a horizontal line on the screen.

To utilize thread management, the threads must be explicitly declared with $thread .Modules without any $thread calls are considered to be single-threaded.

Thread Management Rule

If a module is multi-threaded, a $thread call must occur in a named begin -end block ortask block before a $trans (or equivalent) task.

Multiple Block Example

/*

* The following initial, always, and task execute in the same thread.

*/

initial begin : block1

$thread("t1") ;

// As many $trans calls or blocking #, @, or wait as desired.

end

always begin : block2

$thread("t1") ;

// As many $trans calls or blocking #, @, or wait as desired.

end

task my_task ; // tasks are considered separately

begin

$thread("t1") ;

// As many $trans calls or blocking #, @, or wait as desired.

end

endtask

Fork Example

/*

* This fork example has 4 threads: t3, t4, t5, and t6.

*/

begin : block6

$thread("t6") ;

fork

June 2000 201 Product Version 6.5

Page 202: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

begin : block3

$thread("t3") ;

...

end

begin : block4

$thread("t4") ;

...

end

begin : block5

$thread("t5") ;

...

end

join

// Automatically considered to be "t6", no $thread needed here.

...

end

Typical Initial/Forever Thread Example

initial begin : addr_ten

$thread("addr_ten") ;

// As many $trans calls or blocking #, @, or wait as desired.

...

forever begin

// As many $trans calls or blocking as desired.

...

end

end

Multiple Threads in a Single Always Block

Since these threads use the same trigger event, they can be merged together:

always @(posedge clk) begin : pipe_stages

$thread("stage1") ;

// As many $trans calls or blocking #, @, or wait as desired.

...

$thread("stage2") ;

// As many $trans calls or blocking #, @, or wait as desired.

...

$thread("stage3") ;

// As many $trans calls or blocking #, @, or wait as desired.

June 2000 202 Product Version 6.5

Page 203: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

...

$thread("stage4") ;

// As many $trans calls or blocking #, @, or wait as desired.

end

Special Cases

If a named begin -end pair does not have a $thread task, but is nested under anothernamed begin -end pair that does have a $thread task, the parent named begin -end block$thread task information is referenced.

// This example references a thread in a parent block.

begin : block1

$thread("t1") ;

begin : inside_block1

$trans("label") ; // This is in thread "t1".

end

end

A blocking task is a Verilog task that contains a Verilog wait , @, # or another blocking task.If a blocking task is reentered from different threads, transaction collision problems as well asVerilog reg collision problems may occur. Blocking tasks should not be shared concurrentlybetween threads.

Transaction System Tasks

Transactions are used to document test intent, model intent, or stand-alone intent. Use the$trans call to record transaction information. It is the most basic of the transaction calls.

$trans Variants

(basic) In their simplest form, the $trans variant tasks are called with a single string. Thisis considered to be the label . This label is used with labels from other $trans calls (or$trans_begin or $trans_event ) to form a hierarchical label that can be accessed via thetransactions they are attached to (this transaction’s parent, children, predecessors, andsuccessors). Additional strings may be specified as arguments, and these are combined toform a description property.

Transaction Type Names

Each transaction type has a transaction name, determined as follows:

June 2000 203 Product Version 6.5

Page 204: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

■ If there is a - trans_type option on the construct, then the name of the transaction typeis the string argument after that option.

■ If there is no -trans_type option on the transaction, the transaction type name is theuninterpolated value of the label.

■ In either case, a trans_type property is created with the string value of the name.

Transaction Static Properties

When a transaction is created, the following properties are created from the type andarguments of the task call that created the transaction. You may attach additional properties.

error=1 ( only for $trans_error and $trans_display_error )

event=1 ( only for $trans_event )

trans_type= type_name

label = interpolated_label , _first_format_string

description = interpolated_text , _subsequent_strings

Automatic Behavior

If there is no thread currently defined on the module instance, then one is created with a namethat is the module instance name with the instantiation parameter. This is thethread_ref_name for the thread. Any thread created in this default manner should only beallowed to use event and duration transactions, such as $trans_event(…) or $trans(…) .

Transaction Creation

The $trans call creates a new transaction object and attaches it to its parent. The parent isthe transaction generated via the last $trans_begin . It may also attach it to itspredecessors if there are currently active predecessor transactions. See “Transaction TagSystem Tasks” on page 210.

Automatic Properties

When a transaction is created, the following property values are assigned on the transaction.This includes the properties discussed in “$trans Variants” on page 203.

error=boolean

event=boolean

trans_type= type_name

label= interpolated_value_of_the_label

description= interpolated_value_of_the_text

June 2000 204 Product Version 6.5

Page 205: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

begin_time= current_time

end_time= current_time

sequence= current_sequence , _a_unique_ascending_number

hierarchical_label=label_of_parent_transaction . label_of_this_transaction

composite_label=hierarchical_label : composite_label_of_the_predecessor

thread_named_block=full_path_name_to_named_block_or_task_that_has_the_$thread_call

transaction_id= id_of_the_created_transaction

parent_id= id_of_the_parent_transaction

Arguments

In addition to options and optional property assignments on the $trans call, the $trans calltakes one more argument. The first non-optional argument is a format string that isinterpolated and considered to be the label. Additional arguments are used to satisfy the %format specifiers in the format string. Additional format strings can be specified, and these willbe used to create a description property.

Format Strings

The format string in the $trans call is used in a similar fashion to the Verilog $display taskformat string. Formatting codes are embedded in the format string, and these codes areexpanded when the $trans call is made. See “Interpolated Format Strings” on page 188.

The first format string is considered to be the label property for the transaction. The secondand subsequent format strings are considered to be the description property for thetransaction.

After the last argument for the format string is specified, another format string can be given.It too can have %specifiers, and these must be provided additional arguments. In this fashion,you can specify as many format strings as you want. This is useful for long and complex notesthat may be multi-line.

One newline is implied by the whole note, but no intermediate newlines are implied, even ifthey occur over multiple format strings. Newlines need to be explicitly embedded with \n .

Transaction Label

The label portion of the $trans is the resultant text in the first format string. For example:

$trans("label_part%0d",label_num,

"Here is a complex note.\n",

June 2000 205 Product Version 6.5

Page 206: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

"Second line of complex note: data = %x\n", data_word,

"Third line, Time = %7.2t",$realtime);

Required Arguments

If a transaction is being created, then at least one argument must be provided to derive thelabel of the transaction. This must be at least a simple string. For example:

$trans("read"); // minimum transaction created

$trans Variant Options

The $trans command variants support the following special option:

-trans_type Explicitly specifies the transaction type of a call. Each $trans_ xxx callmust have a unique transaction type. Usually this is specified automatically. See “TransactionType Names” on page 203.

Common Options and Assignments

The $trans command variants support the following common options:

■ -property_definitions . See “-property_definitions” on page 213.

■ -properties. See “-properties” on page 214.

■ -undef . See “-undef” on page 214.

■ Dash Option (- ). See “Dash Option (-)” on page 215.

■ Dash Dash Option (-- ). See “Dash Dash Option (--)” on page 215.

■ Property assignments. See “Property Assignments” on page 191.

Duration Transactions

$trans

(basic) The $trans call records actions of a transaction with duration up to the next $trans ,$trans_begin , or $trans_end call. A $trans transaction closes any previously open$trans transactions and marks their end time.

The actions and options specified under “$trans Variants” on page 203 for the $transvariants apply to the $trans call.

June 2000 206 Product Version 6.5

Page 207: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

An event transaction created with the $trans_event or $trans_error calls nests undera $trans transaction.

If you do not explicitly declare a thread with a $thread task, then you can only utilize aduration transaction along with an event transaction. This constraint prevents you fromnesting transactions more than one deep. It is useful for legacy BFMs where $displayconstructs are replaced with $trans_display constructs directly.

$trans_begin

(proficient) The $trans_begin call records actions of a new begin transaction construct.The transaction hierarchy is pushed one level. Transaction hierarchy can be created to anydepth using $trans_begin .

A $trans_begin call closes a previously open duration transaction construct created with$trans .

A $trans_begin call must be paired with a $trans_end call.

The actions and options specified under “$trans Variants” on page 203 for the $transvariants apply to the $trans_begin call.

Do not use the $trans_begin call on threads that are declared implicitly. This limitationprevents erroneous transaction nesting.

$trans_begin Example

In the following example, do_write is the transaction label, and Perform a write tomemory is the transaction description:

$trans_begin("do_write",

"Perform a write to memory.");

$trans_end

(proficient) The $trans_end call records actions of an end transaction. The transactionhierarchy is popped at least one level, closing the matching transaction opened as a begintransaction using $trans_begin and any other duration transactions that may be nesteddeeper.

The actions and options specified under “$trans Variants” on page 203 for the $transvariants apply to the $trans_end call.

June 2000 207 Product Version 6.5

Page 208: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

$trans_end Example

$trans_end;

The $trans_end call does not accept label or description arguments as the $trans_begincall does. The - trans_type option is important, however. If unspecified, the $trans_endcall matches the last $trans_begin call. If a -trans_type option is specified, then the$trans_end matches the last $trans_begin of the same transaction type. This can causemultiple begin transactions to be ended simultaneously.

If there is an open $trans transaction, then it is ended first before the matching$trans_begin transaction is ended. See also “$trans_tag Link Example” on page 211.

It is an error to have more $trans_end transactions than $trans_begin transactions.

Do not use the $trans_end call on threads that are declared implicitly. This limitationprevents erroneous transaction nesting.

Nested $trans_begin, $trans_end Example

In the following example, a Verilog disable occurs in the inner loop. The end ofdo_ten_things also ends any other open transactions in the loop.

$trans_begin("do_ten_things");

begin : break_out

for(i=1;i<=10;i=i+1) begin

$trans_begin("loop%d",i);

if(special_condition)

disable break_out;

$trans_end;

end

end

$trans_end("-trans_type","do_ten_things");

Event Transactions

$trans_event

(basic) The $trans_event task records actions of a transaction event with no duration. Anevent transaction must nest under a duration transaction. An event transaction has a starttime, but the end time is the same as the start time. It also has the property event=1 attachedto it.

June 2000 208 Product Version 6.5

Page 209: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

The actions and options specified under “$trans Variants” on page 203 for the $transvariants apply to the $trans_event call.

$trans_event Example

$trans_event("data_rdy",

"Found that data is ready.");

$trans_error

(basic) The is $trans_error call records actions of a transaction event that has an error.It is the same as $trans_event , except the property error=1 is also set. See “ErrorRollup” on page 209.

The actions and options specified under “$trans Variants” on page 203 for the $transvariants apply to the $trans_error call.

$trans_error Example

$trans_error("mismatch",

"Found data %d, expected %d", data, expected);

Error Rollup

When $trans_error is called, it performs an error rollup operation as well as creating anerror transaction. The error count of its ancestors is incremented as well as the error count ofthe thread, module instance, and a global error count. See “Property System Tasks” onpage 212.

Display Transactions

$trans_display

(basic) The $trans_display task is a replacement for $display . It processes itsarguments like $display and creates a transaction similar to $trans . Except for the waythe task processes its arguments, $trans_display behaves exactly like $trans . The$trans_display task does not accept any options or property assignments.

June 2000 209 Product Version 6.5

Page 210: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

$trans_display_error

(basic) The $trans_display_error task is the same as the $trans_display task,except the property error=1 is also set. The $trans_display_error task processes itsarguments like $display and creates a transaction similar to $trans_error . Except forthe way the task processes its arguments, $trans_display_error behaves exactly like$trans_error . The $trans_display_error task does not accept any options orproperty assignments.

Transaction Tag System Tasks

The system task calls listed in this section are used to manage transaction tags, whichpropagate the predecessor/successor relationship of transactions.

When you propagate information from one thread to another, you can get a transaction tag toassociate with the information. The information is propagated to the other thread along withthe tag. The tag is then linked to the receiving thread when the information is accessed.

$trans_tag_get

(advanced) The $trans_tag_get task creates a transaction tag and returns a 32-bitidentifier for it. You can then propagate the tag with other information going to a destinationthread.

Note: To avoid memory leaks, every transaction tag returned by $trans_tag_get musteventually be ended, either implicitly (see “$trans_tag Link Example” on page 211) orexplicitly (see “$trans_tag("-end",tag)” on page 211).

$trans_tag_get Example

reg [31:0] transaction_tag_ID;

transaction_tag_ID = $trans_tag_get;

first_pipe_stage = {transaction_tag_ID,data1,data2,data3};

// transaction tag ID stored with data

$trans_tag_get Options

The $trans_tag_get task supports the following option:

-above This option defines the thread of focus to be the currently focused thread in themodule above this module in the Verilog hierarchy. It is used within special BFM task queuersthat are instantiated below the test level.

June 2000 210 Product Version 6.5

Page 211: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

$trans_tag

The $trans_tag system task has various forms that allow you to explicitly link, unlink, orend a transaction tag. Use the -link , -unlink , or -end option to specify these actions. Youmust always specify one and only one of these three options in any $trans_tag call. Thesethree forms of $trans_tag are described below.

$trans_tag("-link",tag)

(advanced) This form of $trans_tag links an existing transaction tag, whose ID wasreturned from a previous $trans_tag_get call, to the currently open transaction andthread. This creates a predecessor/successor relationship. When the currently opentransaction ends, the transaction tags linked to it are also ended, along with the predecessor/successor relationship.

$trans_tag Link Example

In the following example, a transaction tag is accessed when information is accessed by adestination thread. The transaction tag is linked to the currently open transaction and itsthread of execution. When the transaction ends, the linked transaction tag is also ended.

{transaction_tag_ID,data1,data2,data3} = last_pipe_stage;

// access transaction tag ID stored with data

$trans_begin("later_action");

$trans_tag("-link",transaction_tag_ID);

...

$trans_end; // ends $trans_tag as well

$trans_tag("-end",tag)

(advanced) This form of $trans_tag ends an existing transaction tag, whose ID wasreturned from a previous $trans_tag_get call. It cannot be linked again. The endingcauses the tag to automatically be unlinked and ends a predecessor/successor relationship.This form allows you to explicitly end a transaction tag.

$trans_tag("-unlink",tag)

(advanced) This form of $trans_tag unlinks an existing transaction tag, whose ID wasreturned from a previous $trans_tag_get call, from the thread it is linked to. Use it in caseswhere the transaction tag is to be handed off to yet another destination thread. The unlinkingends the predecessor/successor relationship to the current thread.

June 2000 211 Product Version 6.5

Page 212: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Transaction Scoped Transaction Tags

Any transaction tags linked during a transaction are implicitly ended at the end of thattransaction.

Automatic Transaction Tag Management

The predecessor/successor relationships are automatically managed by TXA storage andqueuing elements. These elements include memories, data queues, and smart queues.

Property System Tasks

Additional properties, property definitions, and signal groupings can be attached to an objectusing the $set_property call.

$set_property

(advanced) Use the $set_property call to attach additional properties or propertydefinitions to any object listed in “Transaction Objects” on page 182.

If no locator object is specified, the $set_property call attaches items to the currently openduration or begin transaction created as with the -current_trans option.

$set_property Options

In addition to the standard property options and assignments, the $set_property callaccepts the following options to control what the properties are being attached to:-current_scope , -current_thread , -current_trans , and -last_trans .

-current_scope (advanced) This option specifies that the property assignment anddefinitions occur on the current module instance. For example:

$set_property("-current_scope","family=","utopia");

-current_thread (advanced) This option specifies that the property assignments anddefinitions occur on the current thread. For example:

$set_property("-current_thread","pooling=",1);

-current_trans (advanced) This option specifies that the property assignment ordefinition occurs on the currently open transaction, or the last transaction created with$trans or $trans_begin . Event transactions, such as those created with $trans_eventor $trans_error are not referenced since they have no duration. For example:

June 2000 212 Product Version 6.5

Page 213: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

$set_property("-current_trans", "wait_states=",5);

-last_trans (advanced) This option specifies that the property assignment or definitionoccurs on the last transaction created. The -last_trans option can be used to setproperties on a previously executed $trans_event or $trans_error . This includes eventtransactions that have no duration. For example:

$set_property("-last_trans","wait_states=",5);

Common Options and Assignments

The $set_property command supports the following common options:

■ -property_definitions . See “-property_definitions” on page 213.

■ -properties. See “-properties” on page 214.

■ -undef . See “-undef” on page 214.

■ Dash Option (- ). See “Dash Option (-)” on page 215.

■ Dash Dash Option (-- ). See “Dash Dash Option (--)” on page 215.

■ Property assignments. See “Property Assignments” on page 191.

Property Options

Any TRST call that manipulates properties supports the property options described in thissection. This includes the module instance tasks, the $thread task, the transaction tasks,and the $set_property task itself.

-property_definitions

(advanced) Use this option to declare a property definition for constructs used by the BFM,threads of the BFM, or transactions created by threads of the BFM. A property definition is atriplet of a name of a property, the basic data type of the property, and formatting informationabout the property. The property definition applies to properties on the transaction object. Thefirst argument after the option is the property name (see “Property Names” on page 184), thesecond argument is the base data type (see “Basic Property Types” on page 185), and thethird argument is the format string used to print the property (see “Property Formatting” onpage 187). You can use as many property definition triplets as you need before the nextoption to the system task.

Transaction objects may have property definitions created automatically when properties areassigned. When created automatically, the property definition information may be copied to

June 2000 213 Product Version 6.5

Page 214: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

a lower level object’s definition. See “Creating Property Definitions Automatically” onpage 184.

-property_definitions Example

$bfm("-property_definitions",

"wait_states", "integer", "‘s",

"retry_count", "integer", "‘s");

Additional Information

You can specify as many -property_definitions options as you need for a single call.

Once a property definition has been declared on an object, it is an error to declare it differentlyon the same object.

Automatic Behavior

Property definitions should be declared before an assignment is made. Otherwise, anautomatic definition will be created that will clash with the explicit definition.

If a property is assigned to an object and there is no property definition information declaredfor it, then a property definition is created on the object and given default values based onpreviously defined properties of the same name, or on the value assigned to the property. See“Creating Property Definitions Automatically” on page 184.

-properties

(proficient) Use the -properties option to indicate that the following arguments areproperty assignments to be made on the transaction object. This option only needs to bespecified if the use of the property assignment syntax is ambiguous. Normally you can simplyperform property assignments on the object. Property assignments are specified asdescribed in “Property Assignments” on page 191.

-properties Example

$bfm("-properties","mem_bank=",mb);

-undef

The -undef option means to remove the property rather than assign it. The property will nolonger exist on the object, if it existed before.

June 2000 214 Product Version 6.5

Page 215: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Remove Property Example

$bfm("-undef","family");

Dash Option (-)

The dash option (- ) is the null option: You can use it to end an option list. It performs no otheractions.

Dash Option Example

$bfm("-property_definitions",

"mem_bank","integer","‘s",

"-",

"mem_bank=",mb);

Dash Dash Option (--)

The dash dash option (-- ) is the escape option. This option states that the next argument isnot an option and is to be taken as an argument. It is useful for specifying format strings thatbegin with a dash (- ).

Utility System Tasks

$tbv_timeformat

(basic) Use the $tbv_timeformat call to set the format used by %t when %t is used in aTRST call (see “%t, %width.precisiont” on page 190). This call has the same syntax as$timeformat , but TRST calls use $tbv_timeformat to set format values for %t.

The syntax of $tbv_timeformat is:

$tbv_timeformat ( units , precision , suffix , minimum_field_width );

The $tbv_timeformat arguments are the same as the $timeformat arguments:

units An integer in the range from 0 to -15. Specifies which units to print the time in. Forexample, -9 specifies nanoseconds and -12 specifies picoseconds. The default value is -9.

precision Integer. Specifies the number of decimal places to print. The default value is3.

June 2000 215 Product Version 6.5

Page 216: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

suffix String. Specifies the suffix to print. For example, you could specify "NANO"instead of "ns" . The default value is null.

minimum_field_width Integer. Specifies the minimum width for the entire printedvalue, including the suffix. The default value is 20.

Error Rollup

An error_count property is kept on each level of object. If this property does not exist, it iscreated with an initial value of 0.

When a $trans_error call is made, an error rollup function is executed, and the followingoccurs:

1. The error_count property of each ancestor is incremented.

2. The error_count property of the thread is incremented.

3. The error_count property of the module instance is incremented.

4. A global error_count is incremented.

5. The specific transaction that caused the error is identified.

See “Locating Errors” on page 178 for information about finding and viewing errortransactions in Signalscan Waves.

Verilog Plus Arguments

This section describes the Verilog plus arguments that you can use to control the transactionrecording mechanism.

Logging Operations

You can log transaction information into the Verilog log file as you would log $displayinformation. This allows you to intermix transaction information with other log file informationin the Verilog log file. There is a performance penalty for doing this, since IO operations to thelog file are expensive.

The format of the information makes it easy to extract using awk. Each line has a DAITRprefix followed by an object ID number. Then the information, in the form of a propertyassignment, is displayed.

June 2000 216 Product Version 6.5

Page 217: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideRecording Transactions

Logging All Transactions

The following option is used to log all transactions into the log file:

+daitr_log_all

Logging Error Transactions

The following option is used to log only error transactions into the log file:

+daitr_log_error

June 2000 217 Product Version 6.5

Page 218: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

ASaving and Restoring Your Configuration

Your Signalscan Waves configuration includes groups, markers, events, and register pagesthat you have defined. It also includes preferences such as Names Pane formatting, pane andwindow sizes, colors, print preferences, and many others.

Do-Files

Use a Do-File to save and restore the configuration of a Signalscan Waves session.

A Do-File contains Signalscan Waves commands (see Appendix B, “Signalscan WavesCommands”) that can be loaded and executed by Signalscan Waves. Do-Files are text filesthat you can edit with any text editor. By convention, Do-Files are named filename .do , butyou can give them any name.

.signalscanrc File

Signalscan Waves automatically attempts to execute a Do-File named .signalscanrcwhen you launch Signalscan Waves. Your current directory and then your home directory aresearched for this file. You may want to use this file to save preferences that you want to useevery time you run Signalscan Waves.

Other commands that you might want to save are design-specific or simulation-specific, andyou do not want to execute them every time you open Signalscan Waves. You can save thesecommands in separate Do-Files and load them explicitly as described in “Restoring YourConfiguration” on page 220. For example, you can save different groups and markers inseparate Do-Files to restore different views of a simulation.

Saving Your Configuration

To write out the current configuration or parts of the current configuration of SignalscanWaves, select File—Save Do-File. A standard file save form is displayed so that you canspecify the path and filename for the Do-File. By convention, a Do-File is named

June 2000 218 Product Version 6.5

Page 219: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSaving and Restoring Your Configuration

filename .do , but you can give it any name. When you click the OK button, the Options forSaving a Do-File form is displayed, as shown in Figure 1-1 on page 219:

Figure 1-1 Options for Saving a Do-File

To save all items in a particular category, click to select (highlight) the appropriate button onthe left side of this form. To save none of the items in a particular category, click to de-selectthe appropriate button.

To save some but not all of the items in a particular category:

1. Click the down-pointing arrow to the right of the category drop-down menu.

2. Click the category you want to modify, such as Groups or Preferences.

June 2000 219 Product Version 6.5

Page 220: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSaving and Restoring Your Configuration

The list of items in that category is displayed in the scrollable field.

3. Select (highlight) only the items you want to save in this Do-File.

To select one item, click on it. To select multiple items in the list, click and drag or clickwhile holding down your Shift or Control key. To de-select all items, click on anycurrently selected item. To de-select particular items, click on them while holding downyour Control key.

4. Select another category or click the OK button.

Restoring Your Configuration

Restore a configuration from a Do-File either when you invoke Signalscan Waves or fromwithin Signalscan Waves.

When You Invoke Signalscan Waves

Specify the -do option on the command line. You can specify as many different Do-Files asyou want. For example:

signalscan -do color.do -do sim1.do design.trn

From Within Signalscan Waves

Click the ExecDoFile button or select File—Execute Do-File. You are prompted for thename of the file to execute.

To automatically use this configuration every time you run Signalscan Waves, append thisDo-File to the .signalscanrc file in your home directory.

June 2000 220 Product Version 6.5

Page 221: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

BSignalscan Waves Commands

The Signalscan Waves commands described in this appendix can be entered into a Do-File.To create a Do-File, you should run Signalscan Waves and then select File—Save Do-File.You can use the information in this appendix to modify a Do-File.

Lexical Conventions

■ Most keywords can be abbreviated to three (and sometimes two) characters.

■ Keywords are case-insensitive.

■ Backslash (\ ) is the line continuation character.

■ Carriage return (Return or Enter key) and semicolon (; ) are both supported for end ofstatement.

Command Syntax

. (period)

Continue simulation.

?

List all the commands supported by Signalscan Waves.

about

about [Signalscan]

Display program names and versions for both Signalscan Waves and the simulator.

June 2000 221 Product Version 6.5

Page 222: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

add

Adding Objects to the Named Group

add gr[oup] group-name [ object-data-list ]

with object-data-list ::=

object [ radix ] ['(' option-list ')'] [ object-data-list ]

object ::= reg-expression | object-name |

string | bus-description

bus-description ::= '{' bus-name (asc[endingorder] |

des[cendingorder] | noind[ices]) object-data-list '}'

radix ::= '(b|o|d|s|h|a|n|i|m mnemonic-map-name )[+|-] time

option-list ::= option [ option-list ]

option ::= cons[tant] number | comme[nt] | [no]strength |

[no]ana[logdisplay] | min[max] min-number max-number |

analogh[eight] number | scaleexp number

Radix options are:

If the group does not already exist, it is created. If the group exists and has an insertion point,use it. Otherwise add at the end of the group. Wildcard characters * and ? are accepted.

Table B-1 Radix Options

Prefix Description

'b binary

'o octal

'd unsigned decimal

's signed decimal

'h hexadecimal

'a ASCII

'n noninverted

'i inverted

'm mnemonic map

June 2000 222 Product Version 6.5

Page 223: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Constants are created with string ( constant number ) , and comments are createdwith string ( comment ) .

Adding Objects to the Selected Group

add var[iables] [ object-data-list ]

with object-data-list ::=

object [ radix ] ['(' option-list ')'] [ object-data-list ]

object ::= reg-expression | object-name |

string | bus-description

bus-description ::= '{' bus-name (asc[endingorder] |

des[cendingorder] | noind[ices]) object-data-list '}'

radix ::= '(b|o|d|s|h|a|n|i|m mnemonic-map-name )[+|-] time

option-list ::= option [ option-list ]

option ::= cons[tant] number | comme[nt] | [no]strength |

[no]ana[logdisplay] | min[max] min-number max-number |

analogh[eight] number | scaleexp number

Add a set of objects to the selected group at the insertion point. If the object list is notprovided, the selected objects are added.

Adding One or More Mnemonic Value Pairs to an Existing Mnemonic Mapping

add mn[emonic] map[ping] mnemonic-map-name mnemonic-mapping-list

mnemonic-mapping-list ::=

value mnemonic [ mnemonic-mapping-list ]

value ::= ([ radix ] string ) | *

radix ::= '(b|o|d|s|h|a|n|i|m mnemonic-map-name )

mnemonic ::= string

Adding Inputs

add module input

If at least one input or inout port or object connected to an input or inout port of the modulecontaining the selected object in the Waveform Window is recorded, for each input and inoutport of the module, the object connected to the port in the higher scope is added.

June 2000 223 Product Version 6.5

Page 224: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Adding Traces

add trace

Add drivers of the currently selected object in the waveform to the objects.

Adding New Elements to an Existing Register Page

add reg[isterpage] register-page-name [ register-data-list ]

register-data-list ::=

(text [ font-size ] number number text ) |

(variable [ font-size ] number number

( variable-name | bus-description )) |

(group [ font-size ] number number ('(' register-data-list')')

font-size ::= fonts[ize] (10|12|14|18|24)

ali[as]

ali[as] [ name [ existing-command ]]

Create an alias for an existing command or list of commands. Multiple commands should beseparated by a semicolon (; ) since the alias statement takes the string as one object to beprocessed at the time that the alias is used.

If no argument is provided, list the existing command alias(es).

always

See the arguments for the create break command in “Setting a Permanent Breakpoint”on page 227.

Set a repeating breakpoint. This is an alias for the create break command.

cd

cd [ scope-name ]

Set the default hierarchical scope. If no argument is given, set it to the very top scope.

June 2000 224 Product Version 6.5

Page 225: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

The standard UNIX directory shortcuts are supported: forward slash (/ ) for the top of thecurrent design hierarchy, and double dot (.. ) to go up one module up.

cen[ter]

cen[ter] [on] (cursor1 | time )

If a time is specified, set Cursor1 to this value. In all cases, redraw the Waveform Windowsignal data area such that Cursor1 is at the center.

clo[se]

Closing One or More Simulation Files

clo[se] sim[ulation] fil[e] identifier-list

identifier-list ::= string [ identifier-list ]

Closing the Specified Window

clo[se] win[dow]((designb[rowser] | wav[eform] | reg[ister]|brea[kpoints]

| sou[rce] | eve[nts]) [ number ])

col[lapse]

col[lapse] seq[uence] [time]

([cur[sor1]] [ time ] | bet[weencursors] [ time time ] | all)

Collapse the sequence time area(s) in the selected region. The default is at Cursor1.

con[tinue]

con[tinue] [for time | until time | forever ]

Continue simulation for a specified amount of time, until a specified absolute simulation time,or forever. When no argument is provided, the argument is obtained from the Control Windowbutton (initially set to Forever).

June 2000 225 Product Version 6.5

Page 226: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

cop[y]

Copy the selected objects in the Waveform Window to the clipboard.

cop[y] sim[ulation] fil[e] data from old-name to new-name

Make a copy of the groups containing the objects belonging to the first simulation file. Thenreplace the objects of the groups by the ones with the same names from the new simulationfile.

cre[ate]

Creating a Bus at the Insertion Point

cre[ate] bu[s] bus-name ([asc[endingorder] | [des[cendingorder]

| noind[ices]) object-data-list

Creating a Comment at the Insertion Point

cre[ate] com[ment] string

Creating a Constant at the Insertion Point

cre[ate] con[stant] constant-name value

Creating a New Event

cre[ate] ev[ent] [ event-name event-var-seq ]

event-var-seq ::= [ object-name string event-var-seq ]

Creating a New Group

cre[ate] gr[oup] group-name [ object-data-list ]

See the syntax for the add group command in “Adding Objects to the Named Group” onpage 222.

Creating a New Marker

cre[ate] ma[rker] [ marker-name [ time ]]

The default time is the Cursor1 time in the Waveform Window.

June 2000 226 Product Version 6.5

Page 227: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Creating a New Register Page

create reg[isterpage] register-page-name [ register-data-list ]

register-data-list ::=

(text [ font-size ] number number text )

| (variable [ font-size ] number number

( variable-name | bus-description ))

| (group [ font-size ] number number

'(' register-data-list ')')

font-size ::= fonts[ize] (10|12|14|18|24)

Setting a Permanent Breakpoint

cre[ate] break[point] [b[efore] | a[fter]] # relative-time

| [@posedge | @negedge] signal | signal = expression

| scope-name file-name line-number

Setting a One-time (Temporary) Breakpoint

cre[ate] tbreak[point] [b[efore] | a[fter]] (# relative-time

| ## absolute-time ) | [@posedge | @negedge] signal

| signal = expression | scope-name file-name line-number

cut

cut

Cut the selected objects in the Waveform Window, placing them on the clipboard.

def[ine]

Defining a List of Bookmarks

def[ine] boo[kmarks] identifier-list

identifier-list ::= string [ identifier-list ]

June 2000 227 Product Version 6.5

Page 228: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Defining the Button Bar for a Specific Window Type

def[ine] but[tons] win-type button-data-list

win-type ::= contr[ol] | designb[rowser] | wav[eform] | register

| source | eve[nt]

button-data-list ::= [ number button-name button-data-list ]

The button-name is the abbreviated command for a menu item.

Modifying the Current Color Set with the Provided Color Assignment List

def[ine] color color-definition-list

color-definition-list ::=

color-definition [ color-definition-list ]

color-definition ::= ( # hex-rgb-value-string | color-name

| color-rgb-number )

color-rgb-number ::= '(' number number number ')'

Defining the Control Window Setup

def[ine] con[trol] win[dow] window-attribute-list

with window-attribute-list ::= [no]lines

The lines option turns on/off line progress reporting.

Specifying a User-Defined Design View

def[ine] design design-name [ scope-mapping-list ]

scope-mapping-list ::=

scope-mapping-pair [ scope-mapping-list ]

scope-mapping-pair ::=

( dest-scope-name src-scope-name )

| ('(' dest-scope-name src-scope-name ')')

Specify a user-defined design view, which is useful for putting a design back together after ithas been partitioned. The design view is created if it does not already exist. The dest-scope-name is the name of the scope in the design to be defined, and the src-scope-name is the name of the source scope. Each scope-mapping-pair declaration includesany sub-scope (or sub-hierarchy) of the specified src-scope-name . To delete the design,

June 2000 228 Product Version 6.5

Page 229: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

enter the close sim command. To remove a particular scope from the design, define thatscope to the <VOID>:: scope .

Setting a Default for the Variable Display Output Format

def[ine] display format '(b|o|d|s|h|a|n|i)

Setting the Event Search Direction

def[ine] event [search] dir[ection] (forward | backward | toggle)

Setting Use of the Exit Confirmation Form

def[ine] exit [no]pro[mpt]

Define whether the exit confirmation form comes up when exiting.

Setting the Source Code Window Focus

def[ine] focus [on] mod[ule]

Set the Source Code Window focus to the current module being displayed.

Defining or Re-Defining a Mnemonic Mapping

def[ine] mn[emonic] map[ping]

mnemonic-map-name mnemonic-mapping-list

mnemonic-mapping-list ::=

value mnemonic [ mnemonic-mapping-list ]

value ::= ([ radix ] string ) | *

radix ::= '(b|o|d|s|h|a|m mnemonic-map-name )

mnemonic ::= string

Turning Off Multivalue Indication

def[ine] [no]multi[valueindication]

Turn off the multivalue indication in the Waveform Window.

June 2000 229 Product Version 6.5

Page 230: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Defining Line Patterns for TimeA, Cursors, and Markers

def[ine] patt[ern] pattern-definition-list

pattern-definition-list ::=

pattern-definition [ pattern-definition-list ]

pattern-definition ::= object-name pattern-type

object-name ::= ( curpos | cursor1 | cursor2 | marker )

pattern-type ::= ( solid | dot | dash )

Define the line pattern for TimeA (curpos ), Cursor1, Cursor2, and markers.

Defining the Action for Old Live Simulation Data

def[ine] prev[ious] sim[ulation] (kee[p] | rep[lace] | cop[y])

Define the action to be taken with old live simulation data when doing resimulation.

Setting Values for all Print Options

def[ine] print [ print-option-list ]

print-option-list ::= print-option [ print-option-list ]

print-option ::= printer name | com[mand] string | fil[e]string

| tit[le] name | comp[any] string

| desi[gner] name | not[e] string

| ran[ge] ( '(' time to time ')' | defa[ult] | visible | all )

| var[iable] ( visible | sel[ected] | all )

| pag[es] number

| siz[e] (A|B|A4|A3) | [no]bor[der]

See the print command for details in “print” on page 238.

Setting the Simulation Progress Direction

def[ine] prog[ress] dir[ection] (forward | backward | toggle)

Defining the sendmail Command

def[ine] sendm[ail] command string

June 2000 230 Product Version 6.5

Page 231: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Defining an Alias Number for a Scope

def[ine] sco[pes] number scope-name

This alias may be used later as %n. The scope name may contain a file name and ahierarchical scope.

Defining the Width of the Sequence Time (Scale) in the Waveform Display

def[ine] se[quence] time width number

Making the Cursors Snap or Not to Transitions

def[ine] [no]snap

Make the cursors snap (or not snap) to the nearest object transition.

Defining Action for Source File Not Found

def[ine] sou[rce] [no]pro[mpt]

Define whether a form will pop up if a Verilog source file is not found.

Setting the Search Path for Verilog Source Files

def[ine] sou[rce] sea[rch] pat[h] string

Defining the Source Code Window Setup

def[ine] sou[rce] win[dow] window-attribute-list

window-attribute-list ::= [no]lin[enumbers] |[no]cod[ecoverage]

sou[rce] win[dow] [ window-attribute-list ]

window-attribute-list ::= ([no]lin[enumbers] |

[no]cod[ecoverage]) [ window-attribute-list ]

Defining the Source Code Debug Step Increment Default

def[ine] step [ number ]

June 2000 231 Product Version 6.5

Page 232: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Defining a List of Bus Templates

def[ine] tem[plate] bus identifier-list

identifier-list ::= string [ identifier-list ]

Setting the Terminal to the Specified Color Set

def[ine] term[inal] (aut[omatic] | blac[kandwhite] | blac[kwhite]

| gray | grey | colo[r] | colo[r] defa[ult] | colo[r] cla[ssic])

Set the terminal to the specific color set (color, grayscale, or black and white), or askSignalscan Waves to detect the monitor type and set it to its best mode.

The color set classic selects the 3.0 color set, and the color set default selects the newdefault for Signalscan Waves. Specify the set terminal color command to overwrite the currentcolor set with the predefined set. You can then change any of the colors with thedefine color command.

Setting the Current Units of Time for Display

def[ine] time units ( [def[ault] | s | ms | us | ns | ps | fs])

Defining Use of User-Defined Bus Symbol

def[ine] [no]user[definedbussymbol]

Define whether the name of a user-defined bus is displayed with the user-defined bus symbol(%).

Defining the User Guide Directory

def[ine] user guid[e] directo[ry] string

Defining Attributes for Selected Objects

def[ine] var[iables] view-attribute-list

view-attribute-list ::= (' b|o|d|s|h|a|n|i)

| [no]ana[log-display] | [no]fullh[ierarchy]names]

| [no]fil[enames] | [no]fullp[athfilenames] | [no]strength

| [no]showfilename

June 2000 232 Product Version 6.5

Page 233: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Define for the selected objects in the Name Panes (across all windows), the followingadditional attributes: radix, strength, analog display, full hierarchical names, simulation filenames, or both the file and hierarchical names.

The filenames , fullpathfilenames , and showfilename attributes are global to allobjects.

Defining the Waveform Window Attributes

def[ine] wav[eform] win[dow] window-attribute-list

window-attribute-list ::= waves[pace] number | namep[ane]number

| listp[ane] number | waveh[eight] number

| analogh[eight] number | analogm[inmax] number number

Define the Waveform Window attributes: the wavespace, Name and List Panes proportions,the wave and analog heights, and the minimum and maximum values for analog waves.

Defining the Web Browser Command

def[ine] web brow[ser] command string

del[ete]

del[ete] object

object ::= alias name | ev[ent] name

| gr[oup] name | brea[kpoints] number

| boo[kmark] identifier-list | mar[ker] name

| mn[emonic] map[ping] identifier-list | reg[ister] name

| tem[plate] bus [ identifier-list ]

identifier-list ::= string [ identifier-list ]

Delete the identified objects. If no object list is provided, the selected object in the activewindow is deleted.

The breakpoint number is the Signalscan Waves number.

desel[ect]

desel[ect] [all]

June 2000 233 Product Version 6.5

Page 234: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Deselect the selected objects in the Waveform Window.

dis[play]

dis[play] display-object-list

display-object-list ::= object

['(b|o|d|s|h|a|n|i)] display-object-list

Show value of a net or register.

dup[licate]

dup[licate]

Duplicate the selected objects in the Waveform Window.

exe[cute]

exe[cute] do[file] file-name

Execute a Do-File script.

exit

exit [[no]confirm] [sig[nalscan]]

Exit Signalscan Waves. If no argument is provided, and a simulator is running, the user isasked whether the simulation should be terminated. In all scenarios, a confirmation isrequired, unless disabled in the preference settings, or the noconfirm option is used.

exp[and]

exp[and] seq[uence] [time] ([cur[sor1]] [ time ]

| bet[weencursors] [ time time ] | all)

Expand into Sequence Time in the selected area. Default is at Cursor1.

June 2000 234 Product Version 6.5

Page 235: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

find

Repeating the More Recent Find Request

find next

Finding an Object in the Names Pane of the Waveform Window

find var[iable] string

force

force name=value

Force an object to the specified value.

gen[erate]

gen[erate] simm[atrix] [desi[gn] design-name ] do[file] dofile-name

[ simmatrix-list ]

simmatrix-list ::= simmatrix-pair [ simmatrix-list ]

simmatrix-pair ::=

( solver sst-filename ) | ('(' solver sst-filename ')')

Generate a Do-File from a design running under the Precedence simulation backplaneSimMatrix (for example, Vertue). The simulator(s) must be connected to Signalscan Wavesand must be stopped while using this command. The simulator(s) must be running underSimMatrix control.

help

help [ commands]

Display the use of a specified command. If no command is specified, all commandssupported by Signalscan Waves are listed.

hide

hide design design-list

design-list := design-name [ design-list ]

June 2000 235 Product Version 6.5

Page 236: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Hide a design so that it is not visible in the list of designs above the top level scopes.

inc[lude]

Including the File Name While Creating a Bookmark

inc[lude] boo[kmarks] with[out] filen[ame]

Including the File Name While Storing History of Scopes

inc[lude] sco[pe] hist[ory] with[out] filen[ame]

Include the file name while storing the history of the scopes in the Design Browser.

info

info

Display current simulation time and scope information.

init[iate]

init[iate] sim[ulation] [ string ]

Initiate a simulation session, using the provided string to execute the simulator.

inv[ert]

inv[ert]

Invert the selected objects in the Waveform Window.

list

list [open] sim[ulation] files

List the open simulation files.

June 2000 236 Product Version 6.5

Page 237: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

locate

Locating an Event

locate ev[ent] event-name

Locate the specified event and set the current time at this location.

Locating a Marker

locate ma[rker] marker-name

Locate the specified marker and set the current time at this location.

me[rge]

me[rge] sim[ulation] file[s] to string from file-list

file-list ::= string [ file-list ]

Merge specified incremental simulation files into a single simulation file.

mov[e]

mov[e]

Move the selected objects in the Waveform Window to the insertion point.

next

next [ statement-count ]

Step to the next source statement or skip over the statement-count statements.

once

once

See arguments for the create tbreak command in “Setting a One-time (Temporary)Breakpoint” on page 227.

Set a one-time breakpoint. This an alias for the create tbreak command.

June 2000 237 Product Version 6.5

Page 238: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

open

Opening a Simulation File

open sim[ulation] file simulation-file-name

If the file is not specified, a file browser is presented for selection.

Opening a Window of the Specified Type

open win[dow]

(((designb[rowser] | wav[eform] | brea[kpoints] | sou[rce] |eve[nts]

| reg[ister] [ register-name ] [lock]

[ instance-number ] [geo[metry] x-coord y-coord widthheight ])

| pref[erences])

register-name ::= reg[ister] string

object-name ::= var[iable] string

window-format ::= format radix

radix ::= '(b|o|d|s|h|a|m mnemonic-map-name )

If an instance-number is not specified or if only one instance of this window type issupported, then the instance number is assumed to be 1.

If the specified window already exists, it is activated.

pa[ste]

pa[ste]

Paste the contents of the clipboard to the Waveform Window.

print

Printing a Waveform

print [ print-option-list ]

print-option-list ::= print-option [ print-option-list ]

June 2000 238 Product Version 6.5

Page 239: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

print-option ::= printer name | com[mand] string

| fil[e] string | tit[le] name | comp[any] string

| desi[gner] name | not[e] string

| ran[ge] ( '(' time to time ')' | defa[ult] | visible | all )

| var[iable] ( visible | sel[ected] | all )

| pag[es] number | siz[e] (A|B|A4|A3) | [no]bor[der]

Print the waveform to a printer or a Postscript file. If some of these options are not specified,they are obtained from a previous set print command, or from system defaults. If the printcommand is entered without any arguments, the Print form is displayed.

Defining the Print Command to be Used

print [com[mand] string ]

Setting a Company Name for the Print Header

print [comp[any] string ]

Setting a Designer Name for the Print Header

print [des[igner] string ]

Setting the Output Postscript File Name

print [fil[e] string ]

Setting a Note for the Printer Print Header

print [not[e] string ]

Setting the Name of the Printer

print [pr[inter] string ]

Identifying What to Print in the Waveform Window

print [ran[ge] ['(' start-time to end-time ')' | visible | all] ]

Define a time range, or specify one of the two keywords: visible for what is currently visiblein the Waveform Window, or all for the complete simulation time range.

June 2000 239 Product Version 6.5

Page 240: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Setting the Print Title

print [tit[le] string ]

Identifying Objects to Print

print [var[iables] [visible | selected | all] ]

Identify the objects to be printed, using one of the three keywords: visible for what iscurrently visible in the Waveform Window, selected for what is selected in the WaveformWindow, or all for all the objects in the Waveform Window.

pwd

pwd

Display the current scope.

quit

quit [[no]confirm] [sig[nalscan]

See “exit” on page 234.

rel[ease]

rel[ease] object

Release a forced object.

ren[ame]

ren[ame] (gr[oup] | mar[ker] | ev[ent] | reg[isterpage]

| mn[emonic] map[ping] (sim[ulation] fil[e])) old-name new-name

Rename an object. If no argument is provided, the selected object is renamed and a form isused.

rep[lace]

rep[lace] sim[ulation] fil[e] data [from old-name ] [by new-name ]

June 2000 240 Product Version 6.5

Page 241: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

Replace data such as group, register, Event, and trace objects from one simulation file toanother simulation file. If the second simulation file is not provided, the data is refreshed fromthe first simulation file. If the first simulation file is missing, and there is only one simulation,the open simulation file is used.

reveal

reveal design design-list

design-list := design-name [ design-list ]

Reveal a design that has been previously hidden.

save

save do[file] [ file-name ]

Save a Do-File script.

sel[ect]

sel[ect] all

Select all objects in the Waveform Window.

set

Triggering an Event Object

set object

Setting an Object to the Specified Value

set object =value

shift

shift [(by | to) time ] (variables | group | file) identifier-list

identifier-list ::= string [ identifier-list ]

Shift the specified object or group or file by the specified relative time or to the specifiedabsolute time.

June 2000 241 Product Version 6.5

Page 242: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

show

Note: Most of these commands have a different outcome in interactive and post-simulationmode, and the SST2 Database only includes the subset of the design that was recorded.

Displaying the Current Breakpoints

show brea[kpoints]

Showing the Drivers of Specified Objects

show drivers name-list

name-list ::= name name-list

Showing the Loads of Specified Objects

show load[s] name-list

name-list ::= name name-list

Displaying Ports

show ports

Listing the Child Scopes of the Current Scope

show sco[pes] [reg-expression]

Listing Specified Objects

show var[iables] [ reg-expression ]

List objects in the current scope, or objects whose name matches the regular expression.

source

source file-name

Read commands from the named file. This is an alias for:

execute dofile filename

June 2000 242 Product Version 6.5

Page 243: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

ste[p]

ste[p] [ statement-count ]

Step to the next source statement, or skip over statement-count statements.

sto[p]

sto[p]

Stop the simulation.

term[inate]

term[inate] sim[ulation]

Terminate the simulation session.

topl[evel]

topl[evel]

Go to the top level of the current design. This is an alias for cd / .

undo

undo

Undo the most recent command. Note that this not possible for all commands.

upscope

upscope

Set the current scope to the parent scope of the current scope.

wait

wait

Wait for the pending response from the simulator during a live simulation.

June 2000 243 Product Version 6.5

Page 244: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideSignalscan Waves Commands

write

write to vcd string [ time [to time ]]

((group | file) identifier-list | variable object-data-list )

identifier-list ::= string [ identifier-list ]

object-data-list ::= object [ radix ]

['(' option-list ')'] [ object-data-list ]

If the group option is used, the objects in the specified groups are written to a VCD file. If thefile option is used, the objects in the specified open simulation files are written to a VCDfile. If the variable option is used, the specified objects are written to a VCD file.

zoom

zoom (in | out | bet[weencursors] [ time time | [out]full

| at time pixels-per-time sequence-time-width )

pixels-per-time ::= number

sequence-time-width ::= number

Zoom in, out, between the cursors, full out, or at a specified time in the Waveform Window. Ifa set of two times is provided with the zoom between command, then the cursors are set tothese times before the actual zoom between is executed. You must specify the pixels per timestep and the sequence time width as a floating point number when you enter the zoom atcommand.

June 2000 244 Product Version 6.5

Page 245: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

CHot Keys, Colors, and Buttons

This appendix describes some of the features of the Signalscan Waves GUI and how tocustomize them.

Hot Keys

The Signalscan Waves hot keys, or keyboard shortcuts, are listed in Table C-1. If there isnothing listed in the Windows Systems column, then that hot key is the same for Windowssystems as it is for UNIX systems. “Windows Systems” means Windows 95, Windows 98,and Windows NT.

Table C-1 Signalscan Waves Hot Keys

Menu Option UNIX Systems WindowsSystems

Edit Menu

Create—Group Control-g

Create—Marker Control-m

Create—Event Control-e

Create—Breakpoint Control-p

Create—Register Page Control-r

Create—Bus Control-w

Create—Bookmark Control-k

Control Menu

Variable Change—Previous Control-v Control-F7

Variable Change—Next Control-n Control-F8

June 2000 245 Product Version 6.5

Page 246: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideHot Keys, Colors, and Buttons

Custom Buttons

You can change which functions are associated with which buttons in each Signalscan Waveswindow, either by using the GUI within Signalscan Waves, or by entering a Signalscan Wavescommand into a Do-File.

Using the Define Buttons Form

Select Options—Define Buttons. The Define Buttons form is displayed, as shown inFigure C-1 on page 247:

View Menu

Zoom—In Control-i

Zoom—Out Control-o

Zoom—Between Cursors Control-z Control-n

Zoom—Out Full Control-f

Center on Cursor1 Control-t

Expand Sequence Time—At Cursor1 Control-x Control-+

Collapse Sequence Time—At Cursor1 Control-c Control--

Format Menu

Variable Radix—Binary Control-b

Variable Radix—Octal Control-l

Variable Radix—Decimal Control-d

Variable Radix—Signed Control-s

Variable Radix—Signed Decimal Control-s

Variable Radix—Hex Control-h

Variable Radix—ASCII Control-a

Table C-1 Signalscan Waves Hot Keys, continued

Menu Option UNIX Systems WindowsSystems

June 2000 246 Product Version 6.5

Page 247: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideHot Keys, Colors, and Buttons

Figure C-1 Define Buttons Form

To change the function defined for a button:

1. Select a menu option from the Items in Selected Menu list or from the Items in SelectedSubmenu list.

2. Click your left mouse button on the current function for the button whose function youwant to change.

The function you click on below the button number changes to the function that isselected (highlighted) in the menu items lists.

To undo any changes you make to the button definitions, click the Cancel button in theDefine Buttons form. To return to the default button definitions, click the DefaultSettings button.

3. To cause your new button definitions to take effect, click the Configure button.

These new settings only affect the type of window where you selected Options—DefineButtons. That is, if you changed button definitions on a Design Browser Window and thenopen a new Design Browser Window, both Design Browser Windows reflect the buttondefinition change. However, other windows, such as a Waveform Window, do not reflect thesechanges.

June 2000 247 Product Version 6.5

Page 248: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideHot Keys, Colors, and Buttons

These changes only remain in effect for the current Signalscan Waves session. To save thesebutton definitions, select File—Save Do-File, and in the Options for Saving a Do-File form(after you have specified a name for the Do-File), select Button Bars on the Preferences list,as shown in Figure C-2. To use these new button definitions in a new Signalscan Wavessession, execute this Do-File (either on the Signalscan command line or by selectingFile—Execute Do-File). To automatically use your new button definitions every time you runSignalscan Waves, append this Do-File to your .Signalscanrc file in your home directory.

Figure C-2 Saving Button Definitions

Entering a Signalscan Waves Command

Another way to specify the function of a button is to enter a define buttons command intoyour .Signalscanrc file or into another Do-File that you read.

The following example specifies functions for some of the buttons in a Waveform Window:

define buttons waveform \

9 expand \

10 createmarker \

11 register:1 \

June 2000 248 Product Version 6.5

Page 249: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideHot Keys, Colors, and Buttons

Colors

Custom Colors

You can change which colors are used for which Signalscan Waves features.

Select Options—Define Colors. The Define Colors form is displayed, as shown inFigure C-3:

Figure C-3 Define Colors Form

To change a color definition:

1. Select a feature from the list on the left side of the Define Colors form.

2. Press and drag your left mouse button to move the Red, Green, Blue, Hue, Brightness,and Saturation sliders.

3. Click the Apply button.

June 2000 249 Product Version 6.5

Page 250: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideHot Keys, Colors, and Buttons

These new color definitions remain in effect only for this Signalscan Waves session. To usethese color definitions again, save them in a Do-File, as described for buttons above, butselect Color on the Preferences list in the Options for Saving a Do-File form.

Colors When Zooming Out

Signal colors in the Waveform Window may appear to change when you zoom out. This isbecause as you zoom out, multiple pixel values must be represented by a single pixel.Table C-2 shows the algorithm used to determine the pixel color used, listed in order fromhighest to lowest priority pixel value to use in the conversion. See also “Notes for Table C-2”on page 251.

Table C-2 Pixel Colors Used When Zooming Out

If Any of the Multiple Pixel ValuesIs: (1)

Then The Pixel Color Used When Zooming Out Is:(4)

Undefined "Waveform: Undefined State" (purple)

Unknown "Waveform: Unknown State" (red)

Mixed Bus "Waveform: Mixed Bus" (yellow)

Range (2)(3) "Strength: Range" (yellow)

Supply Strength (2) "Strength: Supply" (coral)

Strong Strength (2) "Strength: Strong" (green)

Pull Strength (2) "Strength: Pull" (purple)

Large Strength (2) "Strength: Large" (fuchsia)

Weak Strength (2) "Strength: Weak" (aqua)

Medium Strength (2) "Strength: Medium" (blue)

Small Strength (2) "Strength: Small" (pink)

High Z Strength (2) "Strength: High Impedence" (orange)

Range (3) "Strength: Range" (yellow)

Supply Strength "Strength: Supply" (coral)

Strong Strength "Strength: Strong" (green)

Pull Strength "Strength: Pull" (purple)

Large Strength "Strength: Large" (fuchsia)

June 2000 250 Product Version 6.5

Page 251: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User GuideHot Keys, Colors, and Buttons

Notes for Table C-2

1. Pixel values are listed in order from the highest to the lowest priority pixel value to use inthe color conversion.

2. These values are used when on a transition: from high to low, low to high, value toanything, or anything to value. A transition strength has a higher priority than a non-transition strength.

3. Range means there is a value with a range of possible strengths.

4. The colors in parentheses are the default colors. All these colors are user selectable byselecting Options—Define Colors as described in “Custom Colors” on page 249.

Weak Strength "Strength: Weak" (aqua)

Medium Strength "Strength: Medium" (blue)

Small Strength "Strength: Small" (pink)

High Z Strength "Strength: High Impedence" (orange)

Table C-2 Pixel Colors Used When Zooming Out, continued

If Any of the Multiple Pixel ValuesIs: (1)

Then The Pixel Color Used When Zooming Out Is:(4)

June 2000 251 Product Version 6.5

Page 252: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Index

Symbols$bfm 165, 182, 193, 195$display 161$duv 182, 193, 196$set_property 164, 195, 212$shm_probe system task 112$showscopes 196$tbv_bfm 193, 195$tbv_duv 193, 196$tbv_test 193, 196$tbv_thread 194, 198$tbv_timeformat 190, 195, 215$test 165, 182, 193, 196$thread 182, 194, 198$thread call 170$timeformat 195, 215$trans 162, 183, 194, 203, 206

limitations 163$trans_begin 163, 175, 183, 194, 207$trans_display 161, 194, 209

limitations 163$trans_display_error 194, 210$trans_end 163, 175, 183, 194, 207$trans_error 163, 178, 194, 209, 216$trans_event 163, 194, 208$trans_tag 183, 195, 211$trans_tag_get 169, 183, 195, 210%t 190+daitr_log_all 217+daitr_log_error 217. (period) 221.do file 133, 137, 138.signalscanrc file 248? 221

ATVM

Transaction Verification Module 161abort 221, 238-above 210add 222AddToWave button 45alias 224

always 224analog features 132

analog-to-digital conversion 141display mode 138expressions 143

escaping special characers 144grid 137measurements 146Overlay Analog checkbox 133overlay groups 133pan 137

horizontal 137vertical 137

printing 134units 142zoom

horizontal 136rectangular area 136vertical 135

-analog option 133analog waveforms 64, 134analog-to-digital conversion 141

atod function 145threshold values 142

atod (analog to digital) function 145

BBFM 161, 182

Bus Functional ModelSee also TVMmulti-threaded 198

block 165blocking task 203bookmark 37bundles. See busesbus functional model

See BFMbuses

Bus Template syntax 43bus templates 43creating 99mnemonics 18, 107New Name button 101values 18, 107

June 2000 252 Product Version 6.5

Page 253: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

buttonscustomizing Signalscan buttons 246

Ccd 224center 225children. See transactionsclose 225closing a Signalscan session 22collapse 225colors

customizing Signalscan colors 249zooming out 250

commentsadding to your design 63

constantsadding to your design 105

continue 225Control menu

Add Unadded HighlightedTransactions 178

Show Child Transactions 175Show Next Error 178Show Parent Transactions 175Show Predecessors 168, 173Show Properties 174, 178Show Related Transactions 168, 173,

177Show Successors 168, 173

copy 226create 226-current_scope 212-current_thread 212-current_trans 212Cursor1 14, 48, 50, 57, 61Cursor2 14, 48, 50, 57cut 227

DDAITR prefix 216database command

-event option 112define 227Define Buttons menu option 246Define Colors menu option 249delete 233deselect 233

Design Browser 35, 36design hierarchy 35

ascending 37bookmarks 37descending 36

Design Under Verification. See DUV$display 161display 234Do-Files 25, 133, 137, 138, 145, 218, 248duplicate 234DUV 172, 182

Design Under Verification

EEdit>Create>Bus menu option 141Edit>Overlay menu option 134Edit>Stack menu option 134error property 163error rollup 179, 209, 216error transactions 179error_count variable 179, 216-event option 112events 14, 48, 96ExecDoFile button 220execute 234exit 234exiting 22exiting Signalscan 22expand 234Expand Sequence Time

See Sequence Timeexpressions

adding to your design 107escaping special characters 144

FFile - Print menu option 117File>Execute Do-File menu option 220File>Save Do-File menu option 218find 235finite state machine. See FSMforce 235Format menu 61formatting time

$tbv_timeformat 190, 215FSM 157

Finite State Machine

June 2000 253 Product Version 6.5

Page 254: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

interacting 159

Ggate-level designs 112generate 235GetDeepAll button 45grid display 137Group A 95groups 14, 95

copy in the Names Pane 63move in the Names Pane 62select in the Names Pane 62

Hheight bracket 64, 134help 235hide 235hierarchical transactions 159hierarchy level 36hot keys 245

Iinclude 236info 236initiate 236insertion marker 61, 62, 64, 95, 98, 100,

134moving 62

interactive mode 50, 57, 124interface 174, 182

See also thread 157address tenure 160concurrent 160data tenure 160interacting 160

invert 236inverting values 100

Kkeyboard shortcuts 245

Llabel 158, 174-last_trans 213list 236locate 237log file 216

Mmarkers 15, 48, 53, 55

creating 15, 53merge 237mnemonic mapping 18, 107mnemonics 18, 107module

multi-threaded 201module instances 182move 237Multi-List Pane 14, 15, 16, 58, 95, 99, 126

Register Window 21, 128multi-threaded BFM 198multi-threaded module 199, 201multi-threaded TVMs 169Multivalue Indication 16, 112

NNames Pane 60New Name button 101not_genetic property type qualifier 186,

192

Oobjects

assignment sequence 113register pages 121values 127

once 237open 237Options>Define Buttons menu option 246Options>Define Colors menu option 249Overlay Analog checkbox 133overlay groups 133

creating 133Edit>Overlay 134

June 2000 254 Product Version 6.5

Page 255: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

Edit>Stack 134printing 134

Pparents. See transactionspaste 238plus args 216predecessor. See transactionsprint 238Printing dialog box (Waveform

Window) 117properties 158, 164, 174, 175, 183

See also transactions$set_property 164, 212assigning 162assignments 191

multiple 191deferred 159definitions 183See also property defdescription 203error 163escape option 215formatting 187, 188hidden 186inheritance 192inherited 159label 158, 174names 184null option 215removing 214searching 192types 185

qualifiers 186not_genetic 186, 192

See also -property_definitionsProperties Window 186property def 183-property_definitions 185, 187, 213protocols 159pwd 240

Qquit 240quitting Signalscan 22

Rradix 222red diamond 179reference name 198reference number 198Register Pages 19, 127register pages 121, 128

create customized views of your designRegister Window 20, 121, 127, 128

See also register pagesshift time 127

registersgrouping, ungrouping 129

release 240rename 240replace 240reveal 241

Ssave 241scopes 36

trans_global 179trans_properties 179

searchevents 96

select 241Sequence Time 16, 112

expanding 17set 241shift 241shift time 127$shm_probe system task 112show 242signals

strengths 47Signalscan

analog features 132close, exit, quit 22configuration 218UNIX command line 29

signalscan-analog option 133

Signalscan commands. (period) 221? 221abort 221, 238add 222

June 2000 255 Product Version 6.5

Page 256: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

alias 224always 224cd 224center 225close 225collapse 225continue 225copy 226create 226cut 227define 227delete 233deselect 233display 234duplicate 234execute 234exit 234expand 234find 235force 235generate 235help 235hide 235include 236info 236initiate 236invert 236list 236locate 237merge 237move 237once 237open 237paste 238print 238pwd 240quit 240release 240rename 240replace 240reveal 241save 241select 241set 241shift 241show 242source 242step 243stop 243terminate 243toplevel 243

undo 243upscope 243wait 243write 244zoom 244

.signalscanrc 25, 218, 220, 248See also Do-File

simulation time 123source 242special characters

escaping in expressions 144SST2 database 12, 161, 182stacked signals

Edit>Stack 134See also overlay groups 133

step 243stop 243successor. See transactionssystem tasks 192

See also TRST calls

Ttasks

blocking 203nested task execution 164system 192See also TRST calls

terminate 243test segment 182test thread 182thread 160, 174, 182, 198

See also interface 157management 200multiple 158, 200reference name 198reference number 198switching 199test 182trigger event 202

threshold valuesanalog-to-digital conversion 142

time format$tbv_timeformat 190, 215

TimeA 14, 21, 48, 49, 56, 123, 128toplevel 243trans tags 183trans_global scope 179trans_properties scope 179trans_tag 170, 173

June 2000 256 Product Version 6.5

Page 257: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

-trans_tag_link option 162, 168, 170, 173-trans_type 206Transaction List Window 177Transaction Recording System Tasks. See

TRST callstransaction tag management 210transaction tags 210, 211Transaction-Based Verification 157transactions 157, 174

cause and effect 160, 183child 159, 175description 203disjoint 163error 179, 209See also $trans_error and

$trans_display_errorerror count 179See error_count variable and error

rollup 179errors 163hierarchical 159hierarchical name 178hierarchy 163, 175, 203hierarchy levels 159label 158, 174, 203, 205linking 160, 168, 170logging 216model intent 203name 203options 162overlap 158parent 159, 175predecessor 160, 168, 169predecessor/successor

relationships 160, 210See also transaction tag managementproperties 158, 164, 175, 204See also propertiesrecording 161, 181, 192See also TRST callsred diamond 178, 179related 176See also Control menu and Transaction

List Windowrelationships 160rows in Waveform Window 175stand-alone intent 203successor 160, 168, 170tags 160, 168, 183See also trans tagsSee also trans_tag and -trans_tag_link

optiontest 165test intent 203test segment 182TVM 165type 203

transactor 157TRST calls 161, 181

Transaction Recording System Tasks$bfm 165, 182, 193$duv 182, 193$set_property 164, 195$tbv_timeformat 195$test 165, 182, 193$thread 182, 194$thread call 170$trans 162, 183, 194$trans_begin 163, 183, 194$trans_display 161, 194$trans_display_error 194$trans_end 163, 183, 194$trans_error 163, 194$trans_event 163, 194$trans_tag 183, 195$trans_tag_get 169, 183, 195module instance 193properties 195, 212thread 194trans_tag 170transaction 194, 203transaction tag 194transaction tag management 210

TVM 157, 160, 174, 182$bfm 165declaration 165multi-threaded 169

TVM transaction 165, 182

Uundo 243upscope 243

Vvariable names

special characters 144variables

AddToWave button 45

June 2000 257 Product Version 6.5

Page 258: Signalscan Waves User Guidemrs8n/soc/SynthesisTutorials/signal... · 2002. 5. 7. · Cadence Design Systems, Inc., 555 River Oaks Parkway, San Jose, CA 95134, USA Trademarks: Trademarks

Signalscan Waves User Guide

copy in the Names Pane 63display scale 139GetDeepAll button 45inverted 127jump to value change 124move in the Names Pane 62select in the Names Pane 62shift time 127values 47vectors 127

VCD files 12vectors

values 127Verilog log file 216Verilog plus arguments 216View>Analog Display Mode menu 138View>Grid menu option 137

Wwait 243Waveform Window 47

pink dots. See Multivalue Indicationtransaction rows 175zooming 54

waveformsanalog 47, 64, 134digital 47

Windows 95 33Windows 98 33Windows NT 33write 244

Zzoom 244zooming 54

June 2000 258 Product Version 6.5