1449
Cadence® NC-Verilog® Simulator Help Product Version 5.1 September 2003

Cadence® NC-Verilog® Simulator Helpread.pudn.com/downloads311/ebook/1379832/ncvlog.pdf · 2004. 1. 19. · NC-Verilog Simulator Help September 2003 4 Product Version 5.1 Related

  • Upload
    others

  • View
    13

  • Download
    0

Embed Size (px)

Citation preview

  • Cadence® NC-Verilog® Simulator Help

    Product Version 5.1September 2003

  • 1995-2003 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.

  • NC-Verilog Simulator Help

    Contents

    1

    Overview of the NC-Verilog Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27

    Native Compiled Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27The Interleaved Native Compiled Code (INCA) Architecture . . . . . . . . . . . . . . . . . . . . . . 28Language Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30Memory Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Setting Up Your Design Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31Running the NC-Verilog Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

    Single-Step Invocation With ncverilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37Multi-Step Invocation (Library-Based Mode) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

    The Cadence Desktop Simulators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39Simulating Large Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4064-Bit NC-Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41

    Platform Support . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Licensing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Running the 64-Bit Version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42Libraries and Snapshots . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45PLI Applications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45Functional Differences Between 32-bit and 64 bit . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

    Simulator Library Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

    2

    Getting Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

    About Online Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48Invoking the Documentation System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49Printing Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Searching Documents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

    Getting Help on Commands to Run Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50Getting Help on Simulator Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Getting Help on Tool Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51Return Codes for Error Conditions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52

    September 2003 3 Product Version 5.1

  • NC-Verilog Simulator Help

    Related Manuals and Specifications and Other Documentation . . . . . . . . . . . . . . . . . . . 52Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54Other Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

    3

    Using NCLaunch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

    4

    Running NC-Verilog with the ncverilog Command. . . . . . . . . . . . . . . . . . . . . . . . . . 58

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59How ncverilog Works . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61ncverilog Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63ncverilog Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64Plus Options for NC-Verilog Tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83Verilog-XL Command-Line Options Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

    Verilog-XL Dash (-) Option Translation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89Verilog-XL Plus (+) Option Translation Table . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

    Example ncverilog Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94Mapping of Warning Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96Updating Design Changes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97Using +ncuid+ to Run in Regression Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98Using -R and -r to Simulate a Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

    Using -R to Simulate a Snapshot Multiple Times . . . . . . . . . . . . . . . . . . . . . . . . . . . 100Using -r to Simulate a Saved Snapshot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

    PLI Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

    Using $test$plusargs to Selectively Perform Annotations . . . . . . . . . . . . . . . . . . . . 106Specifying Precision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Turning Off SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106Using the +sdf_cmd_file+ Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107Controlling SDF Annotator Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107

    Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108

    September 2003 4 Product Version 5.1

  • NC-Verilog Simulator Help

    5

    Modeling Your Hardware . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109

    Arrays of Instances . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Instance Array Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Array Range Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111Port Connections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112Ports of Instance Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113Differing Instances in an Array . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114Hierarchical References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114NC-Verilog Restrictions to the IEEE Standard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 115Arrays of Instances and Tcl Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 118

    Randomization and Constraints Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119Verilog IEEE Std 1364-2001 Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119

    Comma-Separated Sensitivity List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Combinational Logic Sensitivity Token . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121Variable Declaration with Initial Value Assignment . . . . . . . . . . . . . . . . . . . . . . . . . . 122Combined Port and Data Type Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 123Input and Output Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124Signed Arithmetic Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125Re-Entrant Tasks and Recursive Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 127File I/O Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 128PLA System Task Extensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 137`ifndef and `elsif Conditional Compilation Compiler Directives . . . . . . . . . . . . . . . . . 137Parameter Value Assignment by Name . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138$value$plusargs System Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 138Disabling Implicit Net Declarations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139Indexed Vector Part-Selects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 140Power Operator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142Local Parameters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143Implicit Nets with Continuous Assignments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145Automatic Width Extension of X and Z Constants beyond 32 Bits . . . . . . . . . . . . . . 145Line and File Compiler Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146Attributes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 149Generated Instantiations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 151Multi-Dimensional Arrays and Arrays of Net Data Types . . . . . . . . . . . . . . . . . . . . . 158

    September 2003 5 Product Version 5.1

  • NC-Verilog Simulator Help

    Bit-Selects and Part-Selects within Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159Verilog Configurations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 159

    6

    Setting Up Your Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 164

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165The Library.Cell:View Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 166The cds.lib File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167

    The Work Library . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 168cds.lib Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 169cds.lib Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 170Example cds.lib File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 171Binding One Library to Multiple Directories . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172Debugging cds.lib Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 173

    The hdl.var File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176hdl.var Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 178hdl.var Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 179hdl.var Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185Example hdl.var File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187Debugging hdl.var Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

    The setup.loc File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189setup.loc Syntax Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 190

    Directory Structure Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191

    7

    Compiling Verilog Source Files with ncvlog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 196ncvlog Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 200ncvlog Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 202Example ncvlog Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222hdl.var Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 226Conditionally Compiling Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230Controlling the Compilation of Design Units into Library.Cell:View . . . . . . . . . . . . . . . . 232

    Compiling without Setup Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 233The LIB_MAP and VIEW_MAP Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234

    September 2003 6 Product Version 5.1

  • NC-Verilog Simulator Help

    The -libmap Command-Line Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236The WORK and VIEW Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238The -work and -view Command-Line Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239The -specificunit Command-Line Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 240The `worklib and `view Compiler Directives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 241Mapping of Modules Defined within `include Files . . . . . . . . . . . . . . . . . . . . . . . . . . 243cds.lib Files that Map Multiple Logical Names to the Same Physical Directory . . . . 245

    Defining Macros on the Command Line . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 249

    8

    Elaborating the Design with ncelab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 252ncelab Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 256

    General Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 257VHDL Only Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258Verilog Only Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 258AMS Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 259NC-SystemC Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260

    ncelab Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261Example ncelab Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311hdl.var Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316How Modules and UDPs Are Resolved during Elaboration . . . . . . . . . . . . . . . . . . . . . . 318

    The Default Binding Mechanism . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 319Default Configuration Using a Library Map File . . . . . . . . . . . . . . . . . . . . . . . . . . . . 324The -binding Option . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 327The `uselib Compiler Directive . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330Using a Verilog Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335

    Enabling Read, Write, or Connectivity Access to Simulation Objects . . . . . . . . . . . . . . 344Regression Mode and Tcl Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 345Regression Mode and PLI/VPI/VHPI Applications . . . . . . . . . . . . . . . . . . . . . . . . . . 345Regression Mode and the SimVision Debug Environment . . . . . . . . . . . . . . . . . . . . 347Using -access to Specify Read/Write/Connectivity Access . . . . . . . . . . . . . . . . . . . 347Using -afile to Include an Access File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 349Generating an Access File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356Guidelines for Access Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357

    September 2003 7 Product Version 5.1

  • NC-Verilog Simulator Help

    Disabling Timing in Selected Portions of a Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . 363Selecting a Delay Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366

    Delay Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 366Reasons to Select a Delay Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368Setting a Delay Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 368Timescales and Simulation Time Units . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369Overriding Delay Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 371Delay Mode Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373Decompiling with Delay Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374Macro Module Expansion and Delay Modes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374Summary of Delay Mode Rules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 374

    Setting Pulse Controls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376Global Pulse Control . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 377Pulse Control for Specific Modules and Module Paths . . . . . . . . . . . . . . . . . . . . . . . 379Pulse Filtering Style . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 381

    9

    Simulating Your Design with ncsim . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 392

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393ncsim Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395

    General Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 395Verilog Only Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396VHDL Only Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396AMS Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397NC-SystemC Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397

    ncsim Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398Example ncsim Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 424hdl.var Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425Invoking the Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426

    Invoking the Simulator in Noninteractive Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . 427Invoking the Simulator in Interactive Mode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428

    Starting a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 429Saving, Restarting, Resetting, and Reinvoking a Simulation . . . . . . . . . . . . . . . . . . . . . 430

    Saving and Restarting the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 430

    September 2003 8 Product Version 5.1

  • NC-Verilog Simulator Help

    Resetting the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 432Reinvoking a Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433

    Updating Design Changes When You Invoke the Simulator . . . . . . . . . . . . . . . . . . . . . 435Providing Interactive Commands from a File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 438

    -input Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439Exiting the Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441

    10

    Mixed Verilog/VHDL Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 442

    Mapping of Data Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443Restrictions and Limitations on Mixed-Language Simulation . . . . . . . . . . . . . . . . . . . . 453Importing Verilog into VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 458

    Using Default Binding . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 459Using a Configuration Specification or Configuration Declaration . . . . . . . . . . . . . . 464Using Direct Instantiation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 472Using a Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 475

    Importing VHDL into Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 479Importing VHDL into Verilog without a Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 480Importing VHDL into Verilog with a Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 482Importing VHDL into Verilog with ncverilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 484

    A Verilog-VHDL-Verilog Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 485Preparing the Design without Shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 490Preparing the Design with Shells . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493

    Generating a Shell with ncshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495ncshell Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495ncshell Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497

    Importing a Verilog-XL Design into VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 505Mixed-Language Networks and Signal Resolution . . . . . . . . . . . . . . . . . . . . . . . . . . . . 510Mixed-Language Out-of-Module References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 515Path Names and Mixed-Language Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 518SDF Annotation for Mixed-Language Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 520Generating a Value Change Dump (VCD) File for a Mixed-Language Design . . . . . . . 520Generating an Extended Value Change Dump (EVCD) File for a Mixed-Language Design526

    Opening an EVCD Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527

    September 2003 9 Product Version 5.1

  • NC-Verilog Simulator Help

    Probing Ports to the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 529Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 531Port Value Character Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541Strength Mapping . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543

    Mixed-Language Simulation Enhancements in LDV 4.1 . . . . . . . . . . . . . . . . . . . . . . . . 544LDV 4.1 Enhancements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544Behavioral Differences . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 545

    11

    Debugging Your Design . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 560

    Managing Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562Creating a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 562Displaying Information About Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563Disabling a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563Enabling a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 563Closing a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 564

    Setting and Deleting Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565Setting a Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 565Displaying Information About Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567Disabling a Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567Enabling a Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 567Deleting a Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 568

    Traversing the Model Hierarchy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569Path Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569Setting the Debug Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 569

    Setting Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 571Setting a Condition Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 572Setting a Source Code Line Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573Setting an Object Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574Setting a Time Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 575Setting a Delta Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576Setting a Process Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576Setting a Subprogram Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 577

    September 2003 10 Product Version 5.1

  • NC-Verilog Simulator Help

    Disabling, Enabling, Deleting, and Displaying Breakpoints . . . . . . . . . . . . . . . . . . . . . . 578Stepping Through Lines of Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579Forcing and Releasing Signal Values . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580Depositing Values to Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581Displaying Information About Simulation Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582Displaying the Drivers of Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 582Checking for Bus Contention and Bus Float Conditions . . . . . . . . . . . . . . . . . . . . . . . . 583Displaying Waveforms with the SimVision Waveform Viewer . . . . . . . . . . . . . . . . . . . . 585

    Creating an SHM Database and Probing Signals . . . . . . . . . . . . . . . . . . . . . . . . . . 585Opening a Database with $shm_open . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 586Probing Signals with $shm_probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 587Invoking SimVision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 590Using $recordvars and Related Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 591

    Generating a Value Change Dump (VCD) File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 604Generating a VCD File with Tcl Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605Generating a VCD File with VCD System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . 606Syntax and Format of the VCD File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 608

    Generating an Extended Value Change Dump (EVCD) File . . . . . . . . . . . . . . . . . . . . . 610Generating an EVCD File with Tcl Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 612Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 618Generating an EVCD File with the $dumpports System Task . . . . . . . . . . . . . . . . . 622Using the $dumpports_close System Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 626Using the format_flag Argument to Control $dumpports Output . . . . . . . . . . . . . . . 627$dumpports Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 629Syntax and Format of the EVCD File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 630

    Comparing Databases with Comparescan . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 638Code Coverage with Incisive Coverage Technology . . . . . . . . . . . . . . . . . . . . . . . . . . . 639Displaying Debug Settings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640Setting a Default Radix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 640Setting Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 641Suppressing Assert Messages in IEEE or User-Defined Packages . . . . . . . . . . . . . . . 646Editing a Source File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 649Searching for a Line Number in the Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650Searching for a Text String in the Source Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650Configuring Your Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 650

    September 2003 11 Product Version 5.1

  • NC-Verilog Simulator Help

    Saving and Restoring Your Simulation Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . 651Creating or Deleting an Alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 652

    12

    Using the Tcl Command-Line Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 653Executing UNIX Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 654Using Wildcards Characters in Tcl Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . 655Command Description Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 656

    alias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658alias Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658alias Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 658alias Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 659

    analog . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 660attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 661

    attribute Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662attribute Command Options and Modifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662attribute Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 662

    call . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665call Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665call Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 667call Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 668

    check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669check Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 669check Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 670check Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 673

    database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 677database Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 679database Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680Opening a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 680Setting a Database As the Default . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 685Displaying Information about Databases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686Disabling a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686Enabling a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686Closing a Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 686

    September 2003 12 Product Version 5.1

  • NC-Verilog Simulator Help

    database Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 687deposit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 690

    deposit Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691deposit Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 691deposit Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 693

    describe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697describe Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697describe Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697describe Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 698

    drivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702

    drivers Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 702drivers Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 703drivers Command Report Format . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 705drivers Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 708

    exit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715exit Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715exit Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715exit Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 715

    finish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716finish Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716finish Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716finish Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 716

    fmibkpt . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717fmibkpt Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717fmibkpt Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717

    force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 718force Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719force Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719force Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 719

    help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721help Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 721help Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722help Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 722

    history . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724history Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724

    September 2003 13 Product Version 5.1

  • NC-Verilog Simulator Help

    history Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 724history Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 725

    input . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 727input Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728input Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728input Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 728

    loopvar . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 730loopvar Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731loopvar Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 731loopvar Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 732

    memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 737memory Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739memory Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739Loading VHDL Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 739Dumping VHDL Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740memory Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 740

    omi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742omi Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 742omi Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743Displaying Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743Issuing Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 743omi Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 744

    probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 745probe Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 748probe Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749Creating a Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 749Deleting a Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 758Disabling a Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759Enabling a Probe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 759Saving a Script to Re-Create Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760Displaying Information about Probes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 760probe Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 761

    process . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768process Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 768process Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 769process Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 770

    September 2003 14 Product Version 5.1

  • NC-Verilog Simulator Help

    release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773release Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 773release Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774

    release Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 774reset . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775

    reset Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775reset Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775reset Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 775

    restart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 776restart Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777restart Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777restart Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 777

    run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779run Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 779run Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 780run Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 781

    save . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 783save Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785save Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785save Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 785

    scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789scope Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 789scope Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 790scope Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 792

    simvision . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799simvision Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799simvision Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 799simvision Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 800

    source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801source Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801source Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 801source Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 802

    stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803stack Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803stack Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 803

    September 2003 15 Product Version 5.1

  • NC-Verilog Simulator Help

    stack Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 804status . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808

    status Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808status Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808status Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 808

    stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 809stop Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 810stop Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811Creating a Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 811Deleting a Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 816Disabling a Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817Enabling a Breakpoint . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817Displaying Information About Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 817stop Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 818Tcl Expressions as Arguments . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 826

    strobe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 829strobe Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830strobe Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 830strobe Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 831

    task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836task Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 836task Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837task Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 837

    time . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840time Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 840time Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841time Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 841

    value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843value Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 843value Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 844value Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845

    version . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848version Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848version Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848version Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 848

    September 2003 16 Product Version 5.1

  • NC-Verilog Simulator Help

    where . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849where Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849where Command Modifiers and Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849where Command Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 849

    Verilog-XL and NC-Verilog Simulator Interactive Debug Commands . . . . . . . . . . . . . . 851

    13

    Using the SimVision Analysis Environment . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 856

    14

    Maximizing Simulation Performance. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 858

    Coding Style Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859General Guidelines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 859Recommended Verilog Coding Practices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 860Coding Styles to Avoid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 867

    Refining the Testbench Strategy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874Use C and Tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874Use $readmemb or $readmemh for Vectors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 874Use $test$plusargs for Conditional Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 877Create Self-Checking Tests . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 878

    Avoiding Unnecessary Recompilation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 879Run the Parser in Update Mode (ncvlog -update) . . . . . . . . . . . . . . . . . . . . . . . . . . 879Eliminate Cross-File Inheritance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 880Use One Module per File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881Avoid Modules in `include Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881Avoid Compile-Time Conditional Code . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 881

    Using Command-Line Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882Options That Improve Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 882Options That Degrade Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 884

    Using the Profiler to Identify and Eliminate Simulation Bottlenecks . . . . . . . . . . . . . . . . 887Stream Counts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 888Most Active Modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 891Stream Type Summary Counts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 892

    September 2003 17 Product Version 5.1

  • NC-Verilog Simulator Help

    Changing Page Size Parameters for ncsim on HP-UX . . . . . . . . . . . . . . . . . . . . . . . . . 893

    15

    Timing Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 894

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895Timing Check System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896

    $setup . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 896$hold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 897$setuphold . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 898$width . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 902$period . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 904$skew . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 905$recovery . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 907$removal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 909$recrem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 910$nochange . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 913

    Using Edge-Control Specifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 914Using Notifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915Enabling Timing Checks with Conditioned Events . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918Negative Timing Check Limits in $setuphold and $recrem . . . . . . . . . . . . . . . . . . . . . . 919

    Effects of Delayed Signals on Timing Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 920Explicitly Defining Delayed Signals . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 928Calculation of Delayed Signals and Limit Modification . . . . . . . . . . . . . . . . . . . . . . . 929Glitch Suppression . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 938Effects of Delayed Signals on Path Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 940Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 941Exception Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943

    Timing Violation Messages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 943SDF Annotation of Timing Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 944

    Referencing Verilog HDL Source Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945$setuphold Timing Checks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 945

    16

    Interconnect and Module Path Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 947

    Interconnect Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 948

    September 2003 18 Product Version 5.1

  • NC-Verilog Simulator Help

    Default Interconnect Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 949Interconnect Delays and -intermod_path . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 953Pulse Handling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954SDF Annotation of Interconnect Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954PLI Annotation of Interconnect Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 954

    Module Path Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 955Specify Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 957Describing Module Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 958Establishing Full or Parallel Connection Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 968Assigning Delays to Module Paths . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 971Selecting a Delay When Multiple Delays Are Specified for a Path . . . . . . . . . . . . . . 975Specify Properties for Module Path Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 976Mixing Module Path Delays and Distributed Delays . . . . . . . . . . . . . . . . . . . . . . . . . 984Strength Changes on Path Inputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985Driving Wired Logic Outputs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 985Simulating Path Outputs That Drive Other Path Outputs . . . . . . . . . . . . . . . . . . . . . 986Enhancing Path Delay Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 987Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 990SDF Annotation of Module Path Delays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 996

    17

    SDF Timing Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 998

    VITAL SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999Compiling the SDF File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 999Writing an SDF Command File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1000Specifying an SDF Command File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004Controlling SDF Annotator Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1004Multi-Source Interconnect Delays During VITAL SDF Annotation . . . . . . . . . . . . . 1004Command-Line Options that Affect SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . 1007

    Verilog SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010Overview of Verilog SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1010$sdf_annotate System Task . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1012$sdf_annotate Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1014Requirements for $sdf_annotate System Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . 1020

    September 2003 19 Product Version 5.1

  • NC-Verilog Simulator Help

    Using a Configuration File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1022Using an SDF Command File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1033Controlling SDF Annotator Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1035Command-Line Options that Affect SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . 1035

    SDF Annotation for Mixed-Language Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1040

    18

    Utilities . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1041

    ncdc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1043ncdc Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1044ncdc Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1045Example ncdc Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1048Example 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1049Example 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1051

    ncexport . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1055ncexport Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1056ncexport Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1057Example ncexport Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1061

    ncgentb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1065ncgentb Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1066ncgentb Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1067Example ncgentb Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1072Issues and Limitations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1080

    nchelp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1083nchelp Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084nchelp Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1084Example nchelp Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1087

    ncls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089Listing Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1089ncls Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1093ncls Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1095Example ncls Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1102Object Types Listed by ncls . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1103

    September 2003 20 Product Version 5.1

  • NC-Verilog Simulator Help

    ncmirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1105nc_mirror . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1106nc_deposit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1108nc_force . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1110nc_release . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1111Example . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1113Restrictions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1119

    ncpack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1121ncpack Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1121ncpack Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1122Example ncpack Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1127

    ncprep . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1128ncprep Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1129ncprep Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1130Example ncprep Run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1134Example ncprep Output Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136Verilog-XL Command-Line Options Translation . . . . . . . . . . . . . . . . . . . . . . . . . . . 1140Using Interactive Debugging Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1143PLI Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145SDF Annotation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1145Troubleshooting . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1149

    ncprotect . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1163ncprotect Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165ncprotect Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1165Example ncprotect Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168Examples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1168Protection of Verilog and Verilog AMS Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . 1175Protection of VHDL and VHDL AMS Designs . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1182

    ncrm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188ncrm Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1188ncrm Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1189Example ncrm Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1193

    ncsdfc . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1195ncsdfc Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1196ncsdfc Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1197Example ncsdfc Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1201

    September 2003 21 Product Version 5.1

  • NC-Verilog Simulator Help

    ncshell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1202ncshell Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1203ncshell Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1204The Foreign Attribute . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1212Importing LMSFI Models into VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1213Importing SWIFT Models into VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1215Importing FMI Models into VHDL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1217

    ncsuffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218ncsuffix Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1218ncsuffix Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1219Example ncsuffix Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1222

    ncupdate . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223ncupdate Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1223ncupdate Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1224Example ncupdate Command Lines . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1229

    shellgen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1230shellgen Command Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231shellgen Command Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1231

    19

    The Programming Language Interface (PLI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1235

    20

    Importing Foreign Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1237

    The SmartModel SWIFT Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1238Using the SmartModel SWIFT Interface with NC-Verilog . . . . . . . . . . . . . . . . . . . . 1238Integrating SmartModel Library Models with NC-Verilog on UNIX . . . . . . . . . . . . . 1238Integrating SmartModel Library Models with NC-Verilog on Windows NT . . . . . . . 1240Running SmartModel Library Models with NC-Verilog . . . . . . . . . . . . . . . . . . . . . . 1241

    The Hardware Modeling Interface (LMSI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1242Using LMG Hardware Models with NC-Verilog . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1242Integrating the LMG Hardware Modeling Interface with NC-Verilog . . . . . . . . . . . . 1243Running LMG Hardware Models with NC-Verilog . . . . . . . . . . . . . . . . . . . . . . . . . 1244Specifying the Delay Mode for LMG Hardware Models . . . . . . . . . . . . . . . . . . . . . 1244

    September 2003 22 Product Version 5.1

  • NC-Verilog Simulator Help

    The Open Model Interface (OMI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1246Integrating OMI Models . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1247Generating a Model Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1248Integrating an OMI Model into a Verilog Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 1249Integrating an OMI Model into a VHDL Design . . . . . . . . . . . . . . . . . . . . . . . . . . . 1253Modifying a Model Shell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1256Simulating a Design With Imported OMI Models . . . . . . . . . . . . . . . . . . . . . . . . . . 1256Simulating OMI Models Controlled by C++ Model Managers . . . . . . . . . . . . . . . . . 1259

    21

    Co-Simulation with the Palladium™ Design Verification System . . . . . . . . . . . 1261

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1261Advantages of Simulation Acceleration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1262Co-Simulation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1262Documentation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1262

    A

    Basics of Tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1263Tcl Basics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264

    Tcl Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264Variable Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1264Tcl Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1265Command Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266Backslash Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1266Quoting Words in a Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1267

    Extensions to Tcl . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269Value Substitution . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1269The @ Character and Escaped Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1270Expression Evaluation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1271Verilog Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1271VHDL Expressions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1276Tcl Functions for Type Conversion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1281

    Enabling Tk in the NC-Verilog Simulator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1283

    September 2003 23 Product Version 5.1

  • NC-Verilog Simulator Help

    B

    SDF File Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1284

    Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1285SDF File Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286

    Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1286Operator Precedence . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289

    OVI Standard 3.0 SDF Keywords . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1289SDF File Keyword Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1291

    DELAYFILE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1291CELL Keyword and Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1293CELLTYPE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1294INSTANCE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1294INCLUDE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1295DELAY Keyword and Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1296ABSOLUTE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1297INCREMENT Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1298IOPATH Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1299COND Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1302CONDELSE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1303RETAIN Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1303PORT Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1304INTERCONNECT Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1306NETDELAY Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1308DEVICE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1311PATHPULSE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1313PATHPULSEPERCENT Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1314TIMINGCHECK Keyword and Constructs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1315COND Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1316SETUP Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1317HOLD Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1318SETUPHOLD Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1319RECOVERY Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1320REMOVAL Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1322RECREM Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1323SKEW Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1324

    September 2003 24 Product Version 5.1

  • NC-Verilog Simulator Help

    WIDTH Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1325PERIOD Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1326NOCHANGE Keyword . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1327TIMINGENV Keyword and Constructs . . . . . . . . . .