logo资料库

VCS UCLI UG.pdf

第1页 / 共356页
第2页 / 共356页
第3页 / 共356页
第4页 / 共356页
第5页 / 共356页
第6页 / 共356页
第7页 / 共356页
第8页 / 共356页
资料共356页,剩余部分请下载后查看
Contents
Unified Command-line Interface (UCLI)
Running UCLI
UCLI with VCS
How to Enable UCLI Debugging
Compile-time Options
Runtime Options
Debugging During Initialization of SystemVerilog Static Functions and Tasks
UCLI Commands
Using a UCLI Command Alias File
Default Alias File
Customizing Command Aliases and Settings
Creating Custom Command Aliases
Operating System Commands
Configuring End-of-Simulation Behavior
Using Key and Log Files
Log Files
Key Files
Current Scope and Active Scope
Capturing Output of Commands and Scripts
Command-line Editing in UCLI
Keeping the UCLI Prompt Active After a Runtime Error
UCLI Interface Guidelines
Numbering Conventions
VHDL Numbering Conventions
Verilog Numbering Conventions
Hierarchical Path Names
Multiple Levels in a Path Name
Absolute Path Names
Relative Path Names
bit_select/index
part_select/slice
Naming Fields in Records or Structures
Generate Statements
More Examples on Path Names
Name Case Sensitivity
Extended/Escaped Identifiers
Verilog escape name VHDL Extended Identifier
Wildcard Characters
Tcl Variables
Simulation Time Values
Commands
Simulation Invocation Commands
start
restart
“start”
start_verdi
loaddl
cbug
ucli2Proc
Session Management Commands
save
restore
Restrictions for Save and Restore Commands
Simulation Advancing Commands
step
next
run
finish
Navigation Commands
scope
thread
stack
Signal/Variable/Expression Commands
get
force
xprop
report_violations
power
saif
lp_show
release
sexpr
call
search
virtual bus (vbus)
Viewing Values in Symbolic Format
Simulation Environment Array Commands
senv
Breakpoint Commands
stop
Timing Check Control Command
tcheck
report_timing
Signal Value and Memory Dump Specification Commands
dump
Limitations
Examples
Filtering Data in the VPD Dump File
Dumping Analog Signals in FSDB File in VCS- CustomSim Cosimulation Flow
initreg
memory
Support for VHDL Object to Read and Write Verilog Memory File Format
Design Query Commands
search
find_forces
find_identifier
show
constraints
drivers
loads
Macro Control Routines
do
onbreak
onerror
onfail
resume
pause
abort
status
Coverage Command
coverage
Assertion Command
assertion
Precedence Levels for Controlling Assertions
Helper Routine Commands
help
alias
unalias
listing
config
Multi-level Mixed-signal Simulation
ace
Specman Interface Command
sn
Expression Evaluation for stop/sexpr Commands
Extended the Expression Grammar
Verilog Array and Bit Select Indexing Syntax Support
Using the C, C++, and SystemC Debugger
Getting Started
Using a Specific gdb Version
Starting UCLI With the C-Source Debugger
Detaching the C-Source Debugger
C Debugger Supported Commands
SystemC Datatypes
Changing Values of SystemC and Local C Objects With synopsys::change
Changing SystemC Objects
Changing Local C Variables
Using Line Breakpoints
Set a Breakpoint
Deleting a Line Breakpoint
Stepping Through C Source Code
Stepping within C Sources
Cross-stepping Between HDL and C code
Cross-stepping in and out of Verilog PLI Functions
Cross-Stepping In and Out of VhPI Functions
Cross-Stepping from C into HDL:
Cross-Stepping In and Out of SystemC Processes
Direct gdb Commands
Add Directories to Search for Source Files
Common Design Hierarchy
Post-Processing Debug Flow
Interaction With the Simulator
Prompt Indicates Current Domain
Commands Affecting the C Domain
Combined Error Message
Update of Time, Scope, and Traces
Configuring CBug
Startup Mode
Attach Mode
cbug::config add_sc_source_info auto|always|explicit
STL Types Variables for Improved CBug Flow
Use Model
Usage Example
Limitations
Using a Different gdb Version
Supported Platforms
CBug Stepping Features
Using Step-Out Feature
Automatic Step-Through for SystemC
Enabling and Disabling Step-Through Feature
Recovering from Error Conditions
Specifying Value-Change Breakpoint on SystemC Signals
Capabilities for All Data Types
Capabilities for Single-Bit Objects
Capabilities for Bit-Slices
Points to Note
Limitations
Driver/Load Support for SystemC Designs in Post- Processing Mode
Dumping Source Names of Ports and Signals in VPD
Dumping Plain Members of SystemC in VPD
Supported and Unsupported UCLI and CBug Features
UCLI Save Restore Support for SystemC-on-top and Pure-SystemC Designs
SystemC with UCLI Save and Restore Use Model
SystemC with UCLI Save and Restore Coding Guidelines
Saving and Restoring Files During Save and Restore
Restoring the Saved Files from the Previous Saved Session
Limitations of UCLI Save Restore Support
Interactive Rewind
Interactive Rewind Vs Save and Restore
Use Model
Additional Configuration Options
Creating Checkpoints on Breakpoint Hits
Support for Reverse Debug in UCLI
Enabling Reverse Debug
Keep Future
Virtual Checkpoints
Using Reverse Simulation Control Commands
Limitations
Debugging Transactions
Introduction
Transaction Debug in UCLI
Debugging Virtual Interface Arrays and Queues in UCLI
Example
Limitations
Debugging Mixed-Signal Designs
Support for Top Spice Module
Using UCLI show Commands for SPICE
Using show -domain Command
Using show -type Command
Using show -value Command
Support for the UCLI force or release Command on SPICE Ports
Limitations
Usage Example
Examples
Verilog Example
Compiling the VCS Design and Starting Simulation
Running Simulation on a VCS Design
VHDL Example
Compiling the VHDL Design and Starting Simulation
Simulating the VHDL the Design
SystemVerilog Example
Compiling the SystemVerilog Design and Starting Simulation
Simulating the SystemVerilog Design
Native Testbench OpenVera (OV) Example
Compiling the NTB OpenVera Testbench Design and Starting Simulation
Simulating the NTB OpenVera Testbench Design
SCL and UCLI Equivalent Commands
SCL and UCLI Equivalent Commands
Index
VCS® Unified Command Line Interface User GuideQ-2020.03-SP1, June 2020Verification ContinuumTM
iiCopyright Notice and Proprietary Information© 2019 Synopsys, Inc. All rights reserved. This Synopsys software and all associated documentation are proprietary to Synopsys, Inc. and may only be used pursuant to the terms and conditions of a written license agreement with Synopsys, Inc. All other use, reproduction, modification, or distribution of the Synopsys software or the associated documentation is strictly prohibited.Third-Party Software NoticesVCS® and configurations of VCS includes or is bundled with software licensed to Synopsys under free or open-source licenses. For additional information regarding Synopsys's use of free and open-source software, refer to the third_party_notices.txt file included within the /doc directory of the installed VCS software.Destination Control StatementAll technical data contained in this publication is subject to the export control laws of the United States of America. Disclosure to nationals of other countries contrary to United States law is prohibited. It is the reader's responsibility to determine the applicable regulations and to comply with them.DisclaimerSYNOPSYS, INC., AND ITS LICENSORS MAKE NO WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, WITH REGARD TO THIS MATERIAL, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.TrademarksSynopsys and certain Synopsys product names are trademarks of Synopsys, as set forth athttp://www.synopsys.com/company/legal/trademarks-brands.html.All other product or company names may be trademarks of their respective owners.Free and Open-Source Software Licensing NoticesIf applicable, Free and Open-Source Software (FOSS) licensing notices are available in the product installation.Third-Party LinksAny links to third-party websites included in this document are for your convenience only. Synopsys does not endorse and is not responsible for such websites and their practices, including privacy practices, availability, and content.www.synopsys.com
IIIFeedbackContents1.Unified Command-line Interface (UCLI)Running UCLI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2UCLI with VCS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-2How to Enable UCLI Debugging . . . . . . . . . . . . . . . . . . . . . .1-3Debugging During Initialization of SystemVerilog Static Functions and Tasks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-4UCLI Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-8Using a UCLI Command Alias File . . . . . . . . . . . . . . . . . . . . . . .1-11Default Alias File . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-12Customizing Command Aliases and Settings . . . . . . . . . . . . . . .1-13Creating Custom Command Aliases . . . . . . . . . . . . . . . . . . .1-13Operating System Commands. . . . . . . . . . . . . . . . . . . . . . . .1-14Configuring End-of-Simulation Behavior . . . . . . . . . . . . . . . .1-15Using Key and Log Files. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-15Log Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-16Key Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .1-16Current Scope and Active Scope . . . . . . . . . . . . . . . . . . . . . . . .1-17
IVFeedbackCapturing Output of Commands and Scripts. . . . . . . . . . . . . . . .1-18Command-line Editing in UCLI . . . . . . . . . . . . . . . . . . . . . . . . . .1-18Keeping the UCLI Prompt Active After a Runtime Error . . . . . . .1-192.UCLI Interface GuidelinesNumbering Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-1VHDL Numbering Conventions . . . . . . . . . . . . . . . . . . . . . . .2-1Verilog Numbering Conventions . . . . . . . . . . . . . . . . . . . . . .2-3Hierarchical Path Names. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-4Multiple Levels in a Path Name. . . . . . . . . . . . . . . . . . . . . . .2-5Absolute Path Names . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-5Relative Path Names. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6bit_select/index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-6part_select/slice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7Naming Fields in Records or Structures . . . . . . . . . . . . . . . . . . .2-7Generate Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-7More Examples on Path Names . . . . . . . . . . . . . . . . . . . . . . . . .2-8Name Case Sensitivity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-9Extended/Escaped Identifiers . . . . . . . . . . . . . . . . . . . . . . . . . . .2-10Verilog escape name VHDL Extended Identifier . . . . . . . . . .2-10Wildcard Characters . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-11Tcl Variables . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-11Simulation Time Values. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .2-12
VFeedback3.CommandsSimulation Invocation Commands. . . . . . . . . . . . . . . . . . . . . . . .3-2start . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-3restart. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-5start_verdi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-7loaddl. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-8cbug. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-9Session Management Commands . . . . . . . . . . . . . . . . . . . . . . .3-13save. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-13restore . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-14Simulation Advancing Commands. . . . . . . . . . . . . . . . . . . . . . . .3-17step . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-17next . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-20run . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-23finish . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-28Navigation Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-29scope. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-29thread. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-31stack . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-34Signal/Variable/Expression Commands . . . . . . . . . . . . . . . . . . .3-36get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-37force. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-39xprop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-45report_violations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-47power. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-48
VIFeedbacksaif. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-50lp_show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-52release. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-56sexpr . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-57call. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-60search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-63virtual bus (vbus). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-64Viewing Values in Symbolic Format. . . . . . . . . . . . . . . . . . . .3-67Simulation Environment Array Commands . . . . . . . . . . . . . . . . .3-70senv. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-70Breakpoint Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-73stop . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-73Timing Check Control Command . . . . . . . . . . . . . . . . . . . . . . . .3-84tcheck . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-85report_timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-88Signal Value and Memory Dump Specification Commands . . . .3-90dump . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-91initreg. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-117memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-117Design Query Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-128search . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-128find_forces. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-129find_identifier. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-130show . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-133constraints. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-139
VIIFeedbackdrivers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-144loads . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-146Macro Control Routines. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-149do. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-149onbreak . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-153onerror. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-155onfail . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-156resume. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-158pause. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-159abort. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-161status. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-162Coverage Command. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-164coverage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-165Assertion Command . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-166assertion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-166Helper Routine Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-174help . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-174alias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-176unalias. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-177listing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-177config. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-179Multi-level Mixed-signal Simulation. . . . . . . . . . . . . . . . . . . . . . .3-187ace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-187Specman Interface Command. . . . . . . . . . . . . . . . . . . . . . . . . . .3-188sn. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .3-188
VIIIFeedbackExpression Evaluation for stop/sexpr Commands. . . . . . . . . . . .3-1904.Using the C, C++, and SystemC DebuggerGetting Started . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-2Using a Specific gdb Version. . . . . . . . . . . . . . . . . . . . . . . . .4-2Starting UCLI With the C-Source Debugger . . . . . . . . . . . . .4-3C Debugger Supported Commands . . . . . . . . . . . . . . . . . . . . . .4-4Changing Values of SystemC and Local C Objects With synopsys::change. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-11Using Line Breakpoints . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-16Deleting a Line Breakpoint. . . . . . . . . . . . . . . . . . . . . . . . . . .4-17Stepping Through C Source Code. . . . . . . . . . . . . . . . . . . . .4-18Direct gdb Commands. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-23Add Directories to Search for Source Files . . . . . . . . . . . . . .4-24Common Design Hierarchy. . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-25Post-Processing Debug Flow. . . . . . . . . . . . . . . . . . . . . . . . .4-28Interaction With the Simulator. . . . . . . . . . . . . . . . . . . . . . . . . . .4-30Prompt Indicates Current Domain . . . . . . . . . . . . . . . . . . . . .4-30Commands Affecting the C Domain. . . . . . . . . . . . . . . . . . . .4-30Combined Error Message . . . . . . . . . . . . . . . . . . . . . . . . . . .4-31Update of Time, Scope, and Traces . . . . . . . . . . . . . . . . . . .4-31Configuring CBug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-32Startup Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-32Attach Mode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4-33cbug::config add_sc_source_info auto|always|explicit . . . . .4-33
分享到:
收藏