Identify Debug Env Reference
Identify Debug Env Reference
Identify®
Debugging Environment for
Microchip Reference Manual
January 2024
Disclaimer
SYNOPSYS, 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.
Trademarks
Synopsys and certain Synopsys product names are trademarks of Synopsys,
as set forth at
http://www.synopsys.com/Company/Pages/Trademarks.aspx.
LO
All other product or company names may be trademarks of their respective
owners.
Third-Party Links
Any 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.
Synopsys, Inc.
690 East Middlefield Road
Mountain View, CA 94043
www.synopsys.com
January 2024
Introduction
Command Description
LO
Chapter 1: Introduction
Overview of the Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
About Tcl Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
About the GUI Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Syntax Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Tool Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
File System Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Design Hierarchy Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Symbol Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
LO
Introduction
This document is part of a set of documents for the Synopsys® FPGA instru-
mentor and debugger. These tools allow you to debug your design at the
VHDL/Verilog source level, in the target system, and at the target speed.This
chapter introduces the command interface, the GUI, and various conventions
used in the rest of the book.
• Overview of the Commands, on page 10
• Syntax Conventions, on page 13
• Tool Conventions, on page 14
• Symbol Conventions, on page 17
Tcl scripts are text files that have a .tcl file extension and contain a set of Tcl
commands designed to complete a task or set of tasks. You can also run Tcl
scripts through the Tcl window (see TCL Window, on page 168).
The Tcl commands are described here. For information on the standard Tcl
commands, syntax, language, and conventions, refer to the Tcl online help
(Help > TCL).
Tcl Conventions
This is a list of conventions to respect when entering Tcl commands and/or
creating Tcl scripts.
• Tcl is case sensitive.
• Comments begin with a hash mark or pound sign (#).
• Enclose all path names and filenames in double quotes (").
• Use a forward slash (/) as
LOthe separator between directory and path
names on all operating systems (including the Microsoft® Windows®
operating system). For example:
designs/big_design/test.v
Menus
The set of commands on the pull-down menus in the menu bar varies
depending on the view, design status, task to perform, and selected object(s).
For example, the File menu commands in the Project view differ slightly from
those in the RTL view. Menu commands that are not available for the current
context are dimmed out. The menu bar in the Project view is shown below:
For details on individual menus, their commands, and the associated dialog
boxes, see Chapter 3, User Interface Commands.
Toolbars
Toolbars contain icons associated with commonly used commands. For more
information about toolbars, see Toolbars, on page 170.
Keyboard Shortcuts
Keyboard shortcuts are available for commonly used commands. The
shortcut appears next to the command in the menu. See Keyboard Shortcuts,
on page 174 for details.
LO
Syntax Conventions
There are several conventions this manual uses to convey command syntax.
These conventions are:
Tool Conventions
There are tool concepts you must familiarize yourself with when using the
tool set. These concepts help you to decipher structural and HDL-related
information.
/usr/data.dat
c:/Synopsys/data.dat
Syntax Description
* Matches any sequence of characters
? Matches any single character
Syntax Description
[abcd] Matches any character in the specified set.
LO
[a-d] Matches any character in a specified range.
To use square brackets in wildcard specifications, you must delimit the entire
name with curly braces { }. For example
{[a-d]1}
matches any character in the specified range (a-d) preceding the character 1.
The tool set supports VHDL and Verilog. These languages vary in their
hierarchy conventions. The VHDL and Verilog languages contain design units
and hierarchies of these design units. In VHDL, these design units are
entity/architecture pairs, in Verilog they are modules. VHDL and Verilog
design units are organized hierarchically.
Each of the following HDL design units creates a new level in the hierarchy:
VHDL Verilog
• The top-level entity •The top-level module
• Architectures •Module instantiation statements
• Component instantiation statements •Always statements
• Process statements •Control flow statements: if-then-else,
• Control flow statements: if-then-else, and case
and case Functions and tasks
• Subprogram statements
Block statements
/inst/reset_n
Absolute path names begin with a path separator character. The top-level
design unit is represented by the initial “/”. Thus, a port on the top-level
design unit would be represented:
/port_name
/arch
Relative path names do not start with the path separator, and are relative to
the current location in the design hierarchy. Initially, the current location is
the top-level design unit, but commands exist that allow you to change the
location.
Syntax Description
* Matches any sequence of characters
? Matches any single character
LO
Syntax Description
[abcd] Matches any character in the specified set.
[a-d] Matches any character in a specified range.
To use square brackets in pattern matching, you must delimit the entire
name with curly braces { }. For example
{[a-d]1}
matches any character in the specified range (a-d) preceding the character 1.
Symbol Conventions
The commands in this manual use symbols to designate the tool that uses
these commands. The symbols are adjacent to the command name.
LO
Command Description
activation breakpoints
cd chain
clear com
condition info device
encryption exit
fpga haps
help hierarchy
idcode iice
instrumentation jtag_server
licenseinfo log
project pwd
remote_trigger run
searchpath signals
source statemachine
stop transcript
verdi watch
The commands are divided into several specific categories. These categories
separate the commands in terms of which tool (instrumentor or debugger)
utilizes the command. These symbols are:
LO
activation
Allows you to save or reload a set of trigger settings (enabled watchpoints and
breakpoints). If the optional activationName argument is included, the named
activation is loaded or saved; if activationName is omitted, last_run.adc is used
as the default name of the activation file.
Syntax
activation clear
Clears the current trigger settings of the saved activations for the current
instrumentation.
-noext
Lists all file names irrespective of whether the file name contains .adc file
name extension.
load [filename]
Including the -sample option causes the sample data to be loaded or saved
with the trigger settings.
save
Command Example
activation load instr_trial1
breakpoints
Instructs the instrumentor to add or delete special debug logic to or from the
specified IICE™. This debug logic implements breakpoint-style RTL
source-level trigger conditions.
Syntax
breakpoints add|delete [ -iice iiceID| all] breakpointName [ breakpointName ...]
The map option is used exclusively with the real-time debugging feature to
assign a breakpoint to a Mictor connector pin. In the above syntax, MictorPin-
Name is the concatenation of the Mictor board HapsTrak® connector location,
the Mictor connector name, and the Mictor pin name separated with periods.
For example, 3.M1.D3e is the D3e pin of Mictor connector M1 on the Mictor
board installed in HapsTrak connector J3.
The preconfigure option specifies the trigger conditions to enable for the speci-
fied breakpoints. The -condition argument is a Tcl list of conditions or all, and
the -state argument specifies the state (0 or 1).
These two components together ensure that each breakpoint has a unique
name for identification purposes.
-iice iiceID|all
Used when more than one IICE is defined to specify the IICE (iiceID) where
the breakpoint is to be added, deleted, or preconfigured. If the argument all is
specified, the corresponding breakpoint action applies to each IICE.
Command Example
breakpoints add /beh/arb_inst/beh/process_83/case_88/arb.vhd:90
breakpoints delete -iice trap2
/beh/blk_xfer_inst/beh/process_85/case_97/xfer.vhd:107
breakpoints map /beh/process_50/case_88/if_90/alu.v:72 3.M1.D5e
breakpoints preconfigure /beh/process_10/case_88/if_90/alu.v:72
-condition {1 3} -state 0
See Also
• stop, on page 88
cd
Changes the present working directory in the file system to a different desig-
nated directory.
Syntax
cd directory
Specifies the designated directory name. You must use forward slashes to
describe relative and absolute path names irrespective of the operating
system. On a Windows-based platform, the directory may include a drive
letter followed by a colon.
Command Example
cd c:/temp
cd ../homedirs/adam
See Also
• pwd, on page 66
LO
chain
Sets up and manipulates the UMRBus and JTAG chain of devices. Because
more than one device can be connected in a chain, the commands allows you
to setup the chain representation in the debugger to select the particular
device to be debugged.
Syntax
chain add instructionRegisterWidth chipID
chain clear
Creates and labels a device and assigns that device with an instruction
register width. Every device attached to the JTAG must be identified by the
chip ID.
The instruction register is an N-bit register that holds the OPCODE for the
JTAG controller. Every device has a specific instruction register width, which
can be found in the device’s Data Book.
clear
info
-raw
Returns a machine readable JTAG chain description. The chain is
represented by a Tcl list of chain elements where each element is a
two-item Tcl list specifying the device name and instruction register
width. Example:
{{device_a 8} {device_b 10}}
-active
Returns the name of the device that is currently selected for
debugging.
Changes the name or register length of a device that has been previously
defined using the chain add command. In the command syntax, position is the
value shown by the chain info command for the device to be replaced.
select deviceName
Selects a device for system debugging. Only devices added and labeled using
chain add can be selected.
Command Example
chain add fpga 5
chain select fpga
chain info -active
chain replace 1 new_fpga 8
See Also
• device, on page 32 LO
• com, on page 27
clear
Removes all the console output in the graphical user interface. This
command is only supported in the graphical modes.
Syntax
clear
com
Sets up and manipulates communication settings between the debugger and
the Intelligent In-Circuit Emulator (IICE).
Syntax
com cabletype [type]
com check
Describes the type of cable connecting the system to the hardware being
analyzed. The supported cable types are:
The umrbus selection indicates that the UMRBus is to be used as the commu-
nication interface between the hardware and the host machine running the
debugger.
check
Command Example
com cabletype byteblaster
com cableoption byteblaster_port 2
See Also
• chain, on page 25
condition info
Lists the information about the conditions defined in state-machine triggering
for the instrumented signals along with the trigger values.
Syntax
condition info [-iice <value>]
Specifies the IICE Name for which the signals’ condition values are defined.
[-raw]
[-help]
Command Examples
condition info -iice IICE_0 -cond 0
---------------------------------------------------------------------
=====================================================================
---------------------------------------------------------------------
IICE 1 "000100"
/SRS/gen_add\.6\.count6bit\.counter_inst/count[5:0]
=====================================================================
condition info
---------------------------------------------------------------------
=====================================================================
LO
confpro_configuration
Configures the Confpro path.
Syntax
confpro_configuration [-current] [-get [value | gui]] [-locate [value]]
Return Confpro shell path. Use gui to get the Confpro GUI path.
locate value
Command Example
confpro_configuration -current
confpro_configuration -get gui
confpro_configuration -locate
device
Defines device-specific parameters used to implement the instrumented HDL
design.
Instrumentor Syntax
device capimbaseaddr [address]
Reports only estimated resource utilization for the named IICE (iiceName) for
the current implementation.
Reports only the number of instrumented signals for the named IICE
(iiceName) for the current implementation.
estimate -raw
Determines if the built-in JTAG port of the target device is used for the IICE
connection or if the Synopsys test port is used. Selection can only be set in
the instrumentor. With no argument specified, the current setting is
displayed. The following selections are available:
builtin
Specifies that the JTAG port built into the target device is the port used.
No extra user pin is required. This is the default value when the device
family specified is other than generic.
soft
umrbus
skewfree [0|1]
stop_on_signal_not_found [0|1]
technologydefinitions [0|1]
Debugger Syntax
The following device options report settings available from the debugger.
LO
Command Example
device estimate -iice IICE -noresources
device jtagport builtin
device skewfree 1
See Also
• chain, on page 25
• com, on page 27
encryption
Sets the current password to use before encrypting or decrypting a file. In the
instrumentor, this command sets the password to be used when writing out
an encrypted file with the write instrumentation command. In the debugger, this
command is used to set the password to enable encrypted files to be
displayed.
Note: Setting the password with this command displays the password
on the screen and in any log files that you create. If this is a
concern, use only the graphical interface when instrumenting
and debugging designs that use the encryption feature.
Syntax
encryption set_passwd password
The set_passwd argument requires a single string (password) entry. The new
password is stored for decrypting/encrypting until it is changed or until the
instrumentor or debugger is shut down.
Command Example
encryption set_passwd xyzzy
See Also
• write instrumentation, on page 99
LO
• project, on page 65
exit
Exits the program and closes the window.
Syntax
exit
Command Example
exit
fpga
Adds an FPGA for distributed instrumentation.
Syntax
fpga add [fpga [fpga ...]] [-iice iiceID] -type fpgaType -master_dtd2_reset
-iice iiceID|all
Used when more than one IICE is defined to specify which IICE (iiceID) to use
for distributed instrumentation. If the argument all is specified, the FPGA type
applies to each IICE unit.
-type fpgaType
-master_dtd2_reset
haps
Queries the hardware to generate the requisite Tcl file for board generation
and performs the verification tests.
Syntax
haps
boardstatus [boardID]
settings {setting value [setting value ...]}
prog binFile devID
setvcc voltage [region]
setclk clockName frequency
clear
vbgen tclFile
hstdm_report [{hstdmReportList} |ALLFPGAS |poll [{interval}]]
[verbose] [device {index}]
clock_check
con_check [connectivityFileName] [logFileName]
con_speed speed {fast|sweep} [connectivityFileName] [logFileName]
umr_check fpgaID
Displays the board status to the console window. Status includes clock and
voltage settings, reset condition, daughter card connections, firmware
version, and board serial number.
Specifies the HAPS port (PORT_NAME), device (DEV_ID), and bus (BUS_NUM)
settings. With no arguments, reports the current settings. The curly braces
enclosing the arguments are required.
Programs the FPGA identified by devID with the specified bin file. The devID
value ranges from 1 to 32 with 1 corresponding to the first FPGA on the
board. LO
setvcc voltage [region]
Sets the I/O voltage for the board regions. The voltage value and region are
selected from the corresponding drop-down menus and differ with the
board/system selected. Multiple regions can be selected using the Ctrl key. If
region is omitted, all regions are set to voltage.
Sets the frequency for the global input clock identified by clockName to the
specified frequency. The frequency value is in kHz unless specified otherwise.
For example, the command haps setclk GCLK1 150MHz specifies a clock
frequency of 150 MHz for GCLK1.
restart
confscr scriptFileName
Runs confprosh tcl scripts. For example, the confscr option can be used to
source a HAPS clock and voltage-region configuration script; the user could
then run clock checks to verify the on-board clock configuration.
tssgen tclFile
Queries the HAPS system and generates a Tcl file that describes the hardware
setup. Use this file to check the hardware setup.
Queries and reports the current training status of the HSTDM blocks running
in the user design.
poll [interval] – Poll the FPGAs for the specified interval in seconds; the poll
argument is not supported from the GUI.
device index – List training status for the FPGAs on the indexed board
device.
clock_check – Reports the clock frequency of each GCLK output to allow of all
of the GCLK frequencies to be verified. When the All argument is used, runs
all local tests with the individual test parameter defaults.
logFileName – Specifies the name of the log file. The default file in the
current working directory is named hapstest.log. Note that if you use a
non-default log file, you must also explicitly specify the connectivity file
even if you intend to use the default; for example:
speed – The raw data transfer speed in Mbps; the acceptable values are
840, 960, 1080, or ALL (the ALL selection scans a range of speeds to
determine the highest rate possible).
fast|sweep – Sets the run mode. The default is fast mode. When mode is
set to sweep, the test sweeps every channel of the connection which can
require up to four hours to complete.
logFileName – Specifies the name of the log file. The default file in the
current working directory is named hapstest.log. If you use a non-default
log file, you must also explicitly specify the connectivity file even if you
intend to use the default.
Command Example
haps run umr_check 2 180
haps setclk GCLK1 150MHz
haps setvcc 1v8
haps help con_speed
haps settings {PORT_NAME emu:1 DEV_ID 4}
haps hstdm_report mb74_uD_hstdmreport.txt verbose
help
Displays the online help system and a help topic about a command.
Syntax
help [ commandName]
hierarchy
Navigates through the design hierarchy and shows design and hierarchy
elements in the HDL design. These design elements include the following
types, depending on the HDL language used to describe the design:
• Entity – VHDL design unit type.
• Module – Verilog design unit type.
• Instance – VHDL or Verilog design unit type.
Syntax
hierarchy add [ options] element [element ...]
hierarchy cd hierarchyPath
hierarchy pwd
hierarchy toplevel
LO
-breakpoint
Used when more than one IICE is defined to specify which IICE (iiceID) to
connect. If the argument all is specified, the signals or breakpoints are
connected to each IICE.
-recursive
-sample
-trigger
cd hierarchyPath
cd /
Changes the current design hierarchy to the top level of the hierarchy.
cd ..
Changes the current design hierarchy to next higher level.
Displays all information about the HDL design units within the current
design hierarchy. You can display this design unit information in a long
listing using the -long option or you can display this information recursively
using the -recursive option. The -all option shows all HDL elements including
hidden elements.
pwd
toplevel
Searches for specific HDL design units and lists those elements. Use this
command to locate specified design units in the compiled HDL design file.
The search is started from the specified hierarchical path. If you do not
provide hierarchyPath, the search starts from the current working hierarchy.
Used when more than one IICE is defined to specify the IICE (iiceID) to
be searched. If the argument all is specified, each IICE is searched.
-name elementName
-noequiv
Limits the search to named path only and does not search equivalent
paths.
The type of HDL element for the target search. If * is entered, search
includes all elements.
-ls
LO
Prints verbose information for each HDL element found.
-stat status| *
-maxdepth integer
-all
-iice iiceID|all
Used when more than one IICE is defined to specify which IICE (iiceID) to
disconnect. If the argument all is specified, the signals or breakpoints are
disconnected from each IICE.
-signal
-breakpoint
Loads sub-hierarchy of all listed paths. The -bg argument runs the command
in the background. The load argument applies only to the instrumentor.
Command Example
hierarchy cd ..
hierarchy cd /top/u1/arui
hierarchy ls -recursive
hierarchy find -type breakpoint -stat instrumented
LO
idcode
Sets up and maintains a table of device ID codes. The ID code information is
used for auto-detection of the devices on the JTAG chain during debugging. If
the chain can be successfully detected, you do not need to manually specify
the chain using the chain command.
Syntax
idcode add [-quiet] idcode deviceName instructionRegisterWidth
idcode clear
The deviceName argument can be any descriptive string. The string must be
quoted if it includes spaces.
The -quiet option adds the device, but does not display a user notification.
clear
info [-raw]
Returns a description of the device table. The table is represented by a Tcl list
of device elements where each element is a three item Tcl list specifying the
ID code, device name, and instruction register width. Example:
{11001100110011001100110011001100 device_a 8}
{00001100110011001100110011001111 device_b 10}
Command Example
idcode add 0010000000111000100010001000 device_type 8
idcode add -quiet 0010000000111000100010001000 "device type" 8
idcode clear
See Also
• device, on page 32
• chain, on page 25
LO
iice
Duplicates the functionality of the IICE Configuration dialog box.
Syntax
iice new|rename|list|delete|current|info|clock|controller|preconfigure|
sampler|assignmentsreport [option]
Creates a new IICE with the name iiceID. If the iiceID argument is omitted, the
new IICE is named IICE_n where n is the next sequential integer. The -type
option indicates if the IICE is to be configured for real-time debugging (rtd) or
normal debugging (regular). For more information on the real-time debugging
feature, see the Debugger User Guide. The iice new command is only available
in the instrumentor.
Renames the currently active IICE to the name specified (iiceID). The iice
rename command is only available in the instrumentor.
iice list
Deletes the specified IICE (iiceID). The iice delete command is only available in
the instrumentor.
Used when more than one IICE is defined to select the active IICE (iiceID). If
the iiceID argument is omitted, reports the ID of the currently active IICE.
Note that iiceID is case sensitive.
Reports the status of the specified IICE (iiceID). If the iiceID argument is
omitted, reports the status of the currently active IICE.
Defines the signal to be used for the IICE sample clock. The signalName is the
full hierarchical path name to the signal. You can select any signal within the
HDL design as the sample clock. However, this signal cannot be sampled
itself while used as the sample clock. This option can only be used during
instrumentation. If signalName is not specified, the option returns the name
of the IICE clock.
-edge positive|negative
Specifies the active edge of the clock (positive or negative) when an IICE
sample clock is specified. The -edge option is only available in the instru-
mentor; the default edge is rising (positive).
-iice iiceID|all
Used when more than one IICE is defined to specify/report the controller
parameters for the specified IICE (iiceID). If the argument all is specified,
the controller parameters apply to each IICE.
-iice iiceID|all
Used when more than one IICE is defined to specify/report the controller
parameters for the specified IICE (iiceID). If the argument all is specified,
the controller parameters apply to each IICE.
-countermode [ events|cycles|watchdog|pulsewidth]
Selects the complex counter mode. The value n referenced below is the
value set by the -counterval option (applies only to the debugger).
events
Stops sampling after the trigger condition occurs for the n+1’th time.
This is the default value for -countermode.
cycles
LO
Stops sampling n cycles after the trigger condition occurs.
watchdog
pulsewidth
Stops sampling when the trigger condition has met n consecutive
cycles. The number n is controlled by the current setting of -counterval.
-counterval unsignedInteger
Sets a value for the complex counter and loads that value into the
complex counter (applies only to the debugger). The value must fit into
the complex counter width as defined in the instrumentor. The default
value for the complex counter is 16.
-counterwidth integer
-triggerconditions integer
-triggerstates [integer]
Enables (1) or disables an IICE to include trigger signals from other IICE
units when determining its trigger condition (applies only to the instru-
mentor). If the -iice argument is omitted, the command applies to the
current IICE.
-exporttrigger 0|1
This option can only be applied at the pre-map state for single-FPGA
synthesis.
-importtrigger integer
This option can only be applied at the pre-map state for single-FPGA
synthesis.
Note: When using an external trigger, the pin assignment for the corre-
sponding input port must be defined in the synthesis or place
and route tool.
disabled LO
Destination IICE triggers normally (triggers from source IICE units
are ignored).
any
Destination IICE triggers when any source IICE triggers or on its own
internal trigger.
all
Trigger occurs when all events, irrespective of order, occur at all IICE
units including local IICE unit.
-iice {iiceID|all}
-compression 0|1
-rtd {mictorlocs {location [location ...]}|board boardType}
-depth depthValue
-qualified_sampling 0|1
-always_armed 0|1
-triggertime early|middle|late
-samplemode normal|qualified_fill|qualified_intr|always_armed
-runselftest 0|1
-compression 0|1
-enablemask 0|1 [-msb integer -lsb integer] signalName
-group interger
Used when more than one regular IICE is defined to specify/report the
IICE sampler parameters for the specified IICE (iiceID). If the argument
all is specified, the IICE sampler parameters apply to each qualified IICE.
-compression 0|1
-rtd arguments
The -rtd option applies only when the IICE type is set to rtd. The -rtd
arguments for the real-time debugging feature are described below. The
-rtd option applies only to real-time debug IICE and is not supported by
regular IICE units.
board boardType
Specifies the HAPS board type. The boardType entered must be in all
caps.
-depth depthValue
-qualified_sampling 0|1
The -qualified_sampling option applies only to regular IICE units and is not
supported by real-time debug IICE. Using qualified sampling includes a
minimal area and clock-speed penalty.
You can also perform qualified sampling using equivalent debugger Tcl
commands. The following debugger example command sequence
samples the data every N cycles beginning with the first trigger event.
-always_armed 0|1
Controls how a detected trigger affects data sampling (applies only to the
debugger).
early
Approximately 10 percent of the sample data is pre-trigger and
approximately 90 percent is post-trigger.
middle
Approximately 50 percent of the sample data is pre-trigger and
approximately 50 percent is post-trigger. This is the default sample
trigger.
late
Approximately 90 percent of the sample data is pre-trigger and
approximately 10 percent is post-trigger.
-samplemode [ normal|qualified_fill|qualified_intr|always_armed]
qualified_fill
Performs qualified sampling until the buffer is full.
qualified_intr
Performs qualified sampling until interrupted.
always_armed
Always-on triggering.
-runselftest 0|1
-compression 0|1
Command Example
iice clock -edge falling clk2
iice controller -counterwidth 8 statemachine
iice current IICE_2
iice sampler -triggertime late
iice sampler -compression 1
iice sampler -enablemask 1 -msb 3 -lsb 0 ctrlbus1a
iice sampler -iice IICE_2 -rtd {mictorloc {1 3 5}}
instrumentation
Manipulates incremental instrumentations.
Syntax
instrumentation info [ -raw] name
instrumentation list
instrumentation current
instrumentation save
list
current
load name
LO
Loads an existing instrumentation into the instrumentor.
save
Command Example
instrumentation load instr_2
instrumentation new –instr {rev_1} –dcpfile
{./proto/pr_1/post_route.dcp}
jtag_server
Configures the JTAG server.
Syntax
jtag_server set -addr {hostName|IP_address} -port {serverPort} -logf {logFfileName}
-usecs 1|0
jtag_server get
-addr {hostName|IP_address}
-port {serverPort}
The port number over which the client and server communicate.
-logf {logFfileName}
-usecs 1|0
get
Returns the server host name or IP address, port number, and log file name.
LO
start
-standalone 0|1
stop
-forced 0|1
Command Example
jtag_server set -addr myhost -port 58015 -logf servercom.log
jtag_server get
INFO: addr 127.0.0.1 port 57015 logf ipc_tcp_microchip.log
jtag_server start -standalone 1
jtag_server stop
licenseinfo
Displays information about the product version and license status.
Syntax
licenseinfo
logicanalyzer
Configures the logic analyzer for real-time debugging (RTD). The scan options
define the target logic analyzer, the assignpod option describes the analyzer
interface, and the submit option sends the data to the logic analyzer.
Additional options display the most recently used logic analyzer scan settings
(lastscansettings option) and show the logic analyzer’s presently scanned pod
and module information (pods option).
Syntax
logicanalyzer scan -latype tla -hostname hostName -username userName
-script scriptName -assignpodsauto yes|no
logicanalyzer submit
logicanalyzer lastscansettings
logicanalyzer pods
-hostname
-username
-script
The name of the script (scriptName) to run to set up logic analyzer (Tektronix
only).
-assignpodsauto
-micconpingrp
The Mictor connector pin group (groupName). The connector pin group is
identified by the concatenation of the Mictor board HapsTrak connector
location, the Mictor connector name, and the Mictor odd/even pin bank
separated with periods. For example, 3.M1.e addresses the even bank of
Mictor connector M1 on the Mictor board installed in HapsTrak connector 3.
-module
-pod
Command Examples
logicanalyzer scan -latype la16900 -hostname sisyphus
-assignpodsauto yes
logicanalyzer assignpod -micconpingrp 2.M1.e -module 1
-pod A2A3CK0
log
Allows logging the console output in the graphical user interface to a file.
Syntax
log fileName|on|off
on
Starts logging to the last specified file or to the default files syn_di.log or
syn_hhd.log.
off
Stops logging.
Command Example
log on
log off
log mylog.log
See Also
• transcript, on page 90
LO
project
Opens existing projects and displays project information.
Syntax
project import projectFile
Performs a simple import of a project (prj) file by extracting the design files,
the device technology, and the design top level. This data is used to create an
implementation (applies only to the instrumentor). After extracting the files,
the design is automatically compiled.
-password password
name [-path]
Returns the name of the current project. If the -path option is specified,
includes the full path to the project.
Command Example
project open C:/space/designs/mydesign.prj
project open -password xyzzy demo_design.prj
See Also
• encryption, on page 36
pwd
Displays the current working directory.
Syntax
pwd
See Also
• cd, on page 24
remote_trigger
Triggers the event (stops data collection and downloads data).
Syntax
remote_trigger [-all|-info|-pid processID |-iice iiceID ]
Triggers the event for every IICE in all debugger instantiations on the corre-
sponding machine.
-info
-pid processID
LO
-iice iiceID
Triggers the event only on the specified IICE in the current debugger instanti-
ation. The default is to trigger every IICE in all debugger instantiations (-all).
Sets the trigger. If the -pid argument is specified, sets the trigger on every IICE
on the debugger instantiation identified by processID; if the -iice argument is
specified, sets the trigger only on the IICE unit specified by iiceID.
Clears the trigger. If the -pid argument is specified, resets the trigger on every
IICE on the debugger instantiation identified by processID; if the -iice
argument is specified, resets the trigger only on the IICE unit specified by
iiceID.
Command Example
remote_trigger
remote_trigger -info
remote_trigger -set -pid 12
remote_trigger -reset -pid 12
remote_trigger -set -iice IICE0
See also
• triggermode option – iice, on page 49
• triggertime option – iice, on page 49
run
Arms the IICE with the current trigger settings and waits until the trigger
condition has occurred and has been detected by the IICE. Once the trigger
condition has occurred, the sample data is downloaded from the IICE and is
displayed on the screen.
Syntax
run -iice iiceID| all
run -wait
run -skip_config
Used when more than one IICE is defined to specify the active IICE (iiceID) for
triggering. If the argument all is specified, triggering applies to each IICE.
-timeout integer
Specifies the number of seconds that the debugger waits for a trigger before
stopping. Whenever a time-out occurs, the data buffer is automatically
updated. A value of 0 disables the time-out feature.
-wait
Causes the IICE to wait for the hardware to stop running before returning.
-skip_config
Used with a pre-configured trigger to bypass the normal IICE trigger setup
configuration.
-wait_for_trigger integer LO
Initializes the clock control module and waits integer seconds for interrupt.
Note: The run command does not stop running until the trigger occurs.
If the trigger does not occur, the run command does not stop. To
cancel the run command, you must click the Stop button in the
debugger menu bar. There is no stop command in the command
shell.
Command Example
run -wait_for_trigger 15
searchpath
Sets a search path to find HDL design files during instrumentation or debug-
ging.
Syntax
searchpath [{directoryList}]
[{directoryList}]
Searches the specified directories, in order, for design files. DirectoryList can
take the form of the following:
• On a Windows platform: A semicolon-separated list of valid directories.
Note that the Windows “\” separator is not allowed in path names.
• On a Linux platform: A colon-separated list of valid directories.
Default Value
By default, the search path is the current working directory.
Command Example
searchpath {C:/temp;D:/user/joe}
searchpath {/home/john:/home/designs}
LO
server
Configures the server in a server-client configuration.
You must configure the cable type using the com cabletype command before
using this command. See the com command for a list of supported cable
types.
Syntax
server get [-cabletype cableType] [-addr] [-port] [-logf] [-usecs] [-lastcabletype]
[-timeout]
server stop
server run
-cabletype
-addr
-port
The port number over which the client and server communicate.
-logf
-usecs
-timeout
set
-cabletype cableType
-addr hostName|IP_address
-port serverPort
The port number over which the client and server communicate.
-logf logFfileName
-usecs 0|1
-timeout timeOut
start LO
-cabletype cableType
stop
choices
-cabletype cableType
-srvsonly 0|1
Get all possible cable types (0) or only the compatible server cable types
(1).
run
info
-cabletype cableType
Command Example
The following is an example of a umrbus project with a direct connection:
signals
Instructs the instrumentor to create special debug logic for the IIICE to
sample a signal from your HDL design or to delete the debug logic and return
the signal to its “not instrumented” status. The group options assign and
report signals in multiplexed groups.
Syntax
signals add [options] sigName [ sigName ... ]
signals add [ options] -msb value [ -lsb value] sigName
SigName is the full hierarchical path name of the signal. In the first syntax
statement, more than one signal can be specified for sampling or triggering by
including additional signal names separated by spaces. In the second syntax
statement, the -msb and -lsb arguments specify a bit or bit range of a bus.
Note that when specifying partial buses:
• Use the -msb argument (without an -lsb argument) to specify a single bit.
• Observe the index order of the bus. For example, when defining a partial
bus range for bus [63:0] (or “63 downto 0”), the MSB value specified must
be greater than the LSBLOvalue. Similarly, for bus [0:63] (or “0 upto 63”),
the MSB value specified must be less that the LSB value.
Used when more than one IICE is defined to specify the active IICE
(iiceID) for signal sampling/triggering. If the argument all is specified,
signal sampling/triggering applies to each IICE.
-sample
-silent
-field fieldName
Instruments the named field or record for the specified signal (partial
instrumentation).
-trigger
Note: The -sample and -trigger options can be combined or both options
can be omitted to specify a signal for both sampling and trig-
gering.
SigName is the full hierarchical path name of the signal. In the first syntax
statement, more than one signal can be specified for deletion by including
additional signal names. In the second syntax statement, the -msb and -lsb
arguments identify a previously specified bit or bit range of a bus.
Note: When a partial bus is defined, you must explicitly delete the indi-
vidual bus segments to return their status to non-instrumented.
Used when more than one IICE is defined to specify the active IICE
(iiceID) for sample signal deletion. If the argument all is specified, sample
signal deletion applies to each IICE.
-field fieldName
Removes the instrumentation from the named field or record for the
specified signal (partial instrumentation).
LO
Assigns sigName to the specified Mictor connector pin location. In the above
syntax, sigName is the full hierarchical path name to the signal or bus and
MictorPinName is the concatenation of the Mictor board HapsTrak connector
location, the Mictor connector name, and the Mictor pin name separated with
periods. For example, 3.M1.D3e is the D3e pin of Mictor connector M1 on the
Mictor board installed in HapsTrak connector 3.
signals map_fpga [options] sigName [sigName ...] [-show_tab value|all] [-fpga fpga]
Maps signals to the specified FPGA. The following options are available with
the map_fpga argument:
-iice iiceID|all
-show_tab [all]
Shows the FPGA mapping for the specified the signals listed in tabular
form; specifying all shows the mapping for all signals.
-fpga fpga
-iice iiceID|all
-condition {triggerCondition}|all
-msb integer
-lsb integer
-field arg
Command Example
signals add /top/u1/reset_n
signals add -iice IICE_2 -trigger /top/u1/clken
signals add -sample -field iport_mem {/Struc_P_Signed_LDDT_iport}
signals delete -msb 63 -lsb 32 /top/data_in
signals group {2 3} /top/data_in top_data_out
signals group -show_tab all
signals map /beh/blk_xfer_cntrl/req_o 4.M1.D13o
signals map /beh/blk_xfer_inst/beh/{slave_bus[0]} 4.M1.D13o
See Also
• breakpoints, on page 22
• clock option – iice, on page 49
LO
source
Runs a TCL script of commands.
Syntax
source fileName
Command Example
source /home/joe/syn.tcl
source E:/counter/load.tcl
statemachine
Configures the state machine with the desired behavior.
Syntax
statemachine addtrans [-iice iiceID|all] -from state [-to state]
[-cond "equation|titriggerInID"] [-cntval integer] [-cnten] [-trigger]
Used when more than one IICE is defined to specify the active IICE (iiceID) for
state-machine configuration. If the argument all is specified, state-machine
configuration applies to each IICE.
Specifies the state from which the transition is exiting. This option is required
to add a transition to the state machine.
Specifies the state to which the transition goes. If the -to option is not given,
the state defaults to the state given by the -from option, thus creating a transi-
tion back to the -from state.
Operators are:
• Negation: not, !, ~
• AND operators: and, &&, &
• OR operators: or, ||, |
• XOR operators: xor, ^
• NOR operators: nor, ~|
• NAND operators: nand, ~&
• XNOR operators: xnor, ~^
• Equivalence operators: ==. =
• Constants: 0, false, 1, true
Specifies that in the case when the transition is taken, the counter must be
loaded with the given value. This option is only valid if a counter was instru-
mented using the iice controller -counterwidth option.
addtrans [-cnten]
If this flag is given, the counter is decremented by ‘1’ during this transition.
This flag is only valid if a counter was instrumented using the iice controller
-counterwidth option.
addtrans [-trigger]
The debugger statemachine clear command deletes all transitions from the
states given in the argument, or from all states if the argument -all is speci-
fied.
Used when more than one IICE is defined to specify the active IICE
(iiceID) for state-machine transition deletion. If the argument all is speci-
fied, transition deletion applies to each IICE.
Deletes the state transitions from the states given in the argument, or
from all states if the argument -all is specified.
The debugger statemachine info command prints the current state machine
settings for the states given in the argument, or for the entire state machine,
if the option -all is specified. If the option -raw is given, the information is
returned in a machine-processible form.
Used when more than one IICE is defined to specify the active IICE
(iiceID) reporting the state-machine settings. If the argument all is speci-
fied, the settings for each IICE are reported.
Reports the settings for the states given in the argument or, if the option
-all is specified, for the entire state machine.
-raw
Convenience Functions
Move to ref. There are a number of convenience functions to set up complex
triggers available in the file InstallDir/share/contrib/syn_trigger_utils.tcl
LO which is
loaded into the debugger at startup:
Command Example
statemachine addtrans -from 0 -to 1 -cntval 9
statemachine addtrans -from 0 -cond "(c1 | c2)" -trigger
statemachine addtrans -from 1 -cond "c1 && c2" -cnten
Multiple IICE designs allow triggering and sampling of signals from different
clock domains. With an asynchronous design, a separate IICE unit can be
assigned to each clock domain, triggers can be set on signals within each
IICE unit, and then the IICE units scheduled to trigger each other on a
user-defined sequence using cross triggering. In this configuration, each IICE
unit is independent and can have unique IICE parameter settings including
sample depth, sample/trigger options, and sample clock and clock edges.
For cross triggering to function correctly, the destination and the contributing
source IICE units must be instrumented
LO by selecting breakpoints and watch-
points. Concurrently run these units either by selecting the individual IICE
units and clicking the RUN button in the debugger project view or by entering
one of the following commands in the debugger console window:
See Also
• iice controller -counterwidth option – iice, on page 49
• iice controller -triggerconditions option – iice, on page 49
• iice controller -crosstrigger option – iice, on page 49
• condition info, on page 29
• Cross Triggering with State Machines, on page 84
• State-machine Triggering with Tcl Commands, on page 86
stop
Activates/deactivates an HDL source-level breakpoint that has been added
by the instrumentor. All activated breakpoints are used to form the trigger
condition of the IICE. Only breakpoints that have been instrumented using
the breakpoints add command can be activated. One or more breakpoints can
be activated/deactivated at the same time. A breakpoint name consists of two
components:
• The fully hierarchical path of the HDL design unit that denotes the
underlying control statement of the breakpoint.
• The HDL source code location given by the file name and the line
number of the breakpoint.
The combination of these two components ensures that each breakpoint has
a unique name.
Syntax
stop disable [options] breakpointName [breakpointName ...]
Used when more than one IICE is defined to specify the active IICE
(iiceID) containing the breakpoint to be disabled. If the argument all is
specified, disabling the breakpoint applies to each IICE.
Used when more than one IICE is defined to specify the active IICE
(iiceID) containing the breakpoint to be enabled. If the argument all is
specified, enabling the breakpoint applies to each IICE.
-condition all|{conditionList}
Displays information about the settings for the given HDL breakpoint. The
-raw option provides the information in a machine-readable format.
Command Example
stop disable -condition 1 /top/u1/case_128/cpu.vhd:29
See also
• breakpoints, on page 22
• iice, on page 49
transcript
Controls recording of all typed commands into a transcript file.
Syntax
transcript [fileName]
transcript [off]
transcript [on]
transcript off
transcript on
Commands system to start recording all typed commands and to store them
to the default transcript file. The default file is syn_di.scr for the instrumentor
and syn_hhd.scr for the debugger.
Default Value
By default, command recording is off.
Command Example
transcript on
See Also
• log, on page 64
LO
verdi
Imports or instruments signals from the Verdi essential signal database.
Syntax
verdi getsignals ESDBpath
verdi instrument
watch
Activates/deactivates a watchpoint as a trigger condition for the IICE. A
watchpoint triggers when the sample value of the watched signal matches the
watch value. Only signals that have been instrumented using the signals add
command can be used for watchpoints.
Syntax
watch disable [options] signalName [ signalName ...]
watch disable [options] -msb value [-lsb value] signalName
SigName is the full hierarchical path name of the signal. In the first syntax
statement, more than one signal can be deactivated for sampling or triggering
by including additional signal names separated by spaces. In the second
syntax statement, the -msb and -lsb arguments specify a bit or bit range of a
bus. Note that when specifying partial buses:
• Use the -msb argument (without an -lsb argument) to specify a single bit
• Observe the index order of the bus. For example, when defining a partial
bus range for bus [63:0] (or “63 downto 0”), the MSB value specified must
be greater than the LSB value. Similarly, for bus [0:63] (or “0 upto 63”),
the MSB value specifiedLOmust be less that the LSB value.
-iice iiceID|all
Used when more than one IICE is defined to specify the active IICE
(iiceID) containing the watchpoint to be disabled. If the argument all is
specified, disabling the watchpoint applies to each IICE.
When only value is specified for signalName, gives the watchpoint signal an
exact value that the system watches for, and enables that watchpoint for
triggering. When valueFrom/valueTo is specified, gives the watchpoint signal
two values that the system watches for, and enables the watchpoint for
triggering. These formats allow you to specify a trigger condition on the value
transition of a signal. In the second syntax statement, the -msb and -lsb
arguments specify a bit or bit range of a bus. Note that when specifying
partial buses:
• Use the -msb argument (without an -lsb argument) to specify a single bit
• Observe the index order of the bus. For example, when defining a partial
bus range for bus [63:0] (or “63 downto 0”), the MSB value specified must
be greater than the LSB value. Similarly, for bus [0:63] (or “0 upto 63”),
the MSB value specified must be less that the LSB value.
-iice iiceID|all
Used when more than one IICE is defined to specify the active IICE
(iiceID) containing the watchpoint to be enabled. If the argument all is
specified, enabling the watchpoint applies to each IICE.
The debugger watch info command reports status information about the signal.
This information is returned in machine-processible form if the optional
parameter -raw is specified.
Displays information about the settings for the given HDL watchpoint. The
-raw option provides the information in a machine readable format.
Displays or changes the radix of the specified watchpoint signal for the
sampled data. Specifying default resets the radix to its initial intended value.
Note that the radix value is maintained in the “activation database” and that
this information will be lost if you fail to save or reload your activation. Also,
the radix set on a signal is local to the debugger and is not propagated to any
of the waveform viewers. Note that with partial buses, the radix applies to the
entire bus.
-iice iiceID|all
Used when more than one IICE is defined to specify the active IICE
(iiceID) containing signalName. If the argument all is specified, the radix
is reported/changed for each IICE.
LO
width signalName
Reports the width of a vectored (bused) signal. Note that with partial buses,
the width reported always applies to the entire bus.
Command Example
watch enable /top/u2/current_state {red}
watch enable -condition {1 2} /top/u1/count {"0X01"} {"0010"}
watch radix current_state hex
watch enable /top/bx {4’b0010}
watch enable -msb 3 -lsb 0 /top/u2/data_sel {4’h0}
watch enable -condition all /top/done {1’b0} {1’b1}
See also
• signals, on page 74
• controller -triggerconditions option – iice, on page 49
waveform
Configures the waveform preferences and launches the desired waveform
viewer once the debugger has uploaded data from the instrumented design.
Syntax
waveform custom [userProcedure]
period [period_in_ns]
Sets/gets the period with which to display the debug data in the waveform
viewer. Since the debugger has no information about the timing of the user
design, this setting is merely used for customizing the display.
LO
show
Launches the waveform viewer that is currently selected with the current set
of sample data.
-iice iiceID|all
Used when more than one IICE is defined to specify the active IICE
(iiceID) containing the sample data to be displayed. If the argument all is
specified, the sample data is displayed for each IICE.
-showequiv
Selects the user preference for the waveform viewer. The selection custom
causes the waveform show command to call the procedure specified by the
waveform custom command.
-list
Command Example
waveform viewer -list
waveform show -showequiv
write fsdb
Writes the sample data of each specified signal in FSDB format for analysis
and display in Verdi nWave.
Syntax
write fsdb [options] fsdbFilename
Used when more than one IICE is defined to specify the active IICE (iiceID)
containing the sample data.
-showequiv
fsdbFilename
Writes the sample data to the specified fast signal database output file.
Command Example
write fsdb D:/tmp/b.fsdb
LO
write instrumentation
Writes the instrumented design files to the project directory.
Syntax
write instrumentation options
Options
-save_orig_src
Create an orig_sources directory in the project directory and copy the user's
original sources into this directory.
-encrypt_orig_src
-idc_loc directory
-idc_only
-cdc_only
Command Example
write instrumentation -encrypt_orig_scr
write instrumentation -save_orig_src
write instrumentation -idc_only
See Also
• encryption, on page 36
LO
write samples
Writes the sample data of each specified signal.
Syntax
write samples [options] signalName [signalName ...]
write samples [options] -msb value [-lsb value] signalName
In the above syntax statements, sigName is the full hierarchical path name of
the signal. In the first syntax statement, sample data can be written for more
than one signal by including additional signal names separated by spaces. In
the second syntax statement, the -msb and -lsb arguments specify a bit or bit
range of a bus. Note that when specifying partial buses:
• Use the -msb argument (without an -lsb argument) to specify a single bit
• Observe the index order of the bus. For example, when defining a partial
bus range for bus [63:0] (or “63 downto 0”), the MSB value specified must
be greater than the LSB value. Similarly, for bus [0:63] (or “0 upto 63”),
the MSB value specified must be less that the LSB value.
Used when more than one IICE is defined to specify the active IICE (iiceID)
containing the sample data for the specified signal.
Specifies the range of sample data displayed. You can view the data at
different points of the trigger event. Enter a negative cycle value to view data
sampled before the triggered event. Enter a positive cycle value to view data
samples after the trigger event. Enter a zero cycle value to view data sampled
during the trigger event.
-file fileName
Writes the sample data to a specified output file. If no file is given, the data is
displayed on the screen.
-force
-raw
Command Example
write samples -file D:/tmp/samples.txt /top/u1/count
write samples -cycle { -10 10 } /top/u2/current_state
write samples -msb 31 -lsb 0 /top/u3/data_outA
LO
write vcd
Writes the sample data of each specified signal to a Verilog Change Dump
(vcd) format.
Syntax
write vcd [options] fileName
Used when more than one IICE is defined to specify the active IICE (iiceID)
containing the sample data for the specified signal.
-comment commentText
Inserts a text comment into a file. Use curly braces ‘{ }’ to group a multi-word
comment.
-gtkwave
-showequiv
fileName
Command Example
write vcd -gtkwave D:/tmp/b.vcd
write vhdlmodel
Creates a VHDL model from sample data. This command is not supported in
Verilog-based designs or in mixed-language designs when the top-level is a
Verilog module.
Syntax
write vhdlmodel [options] fileName
Used when more than one IICE is defined to specify the active IICE (iiceID)
containing the sample data for the VHDL model.
-showequiv
fileName
Command Example
write vhdlmodel D:/tmp/b.vhd
LO
CHAPTER 3
This chapter describes the graphical user interface (GUI) commands available
from the menus:
• File Menu, on page 106
• Edit Menu, on page 110
• View Menu, on page 111
• Instrumentor, on page 113
• Debugger, on page 129
• Options Menu, on page 148
• Window, on page 150
• Help Menu, on page 151
File Menu
Use the File menu for opening, loading trigger settings, saving, and closing
projects and files. The following table describes the File menu commands.
Feature Description
Open Debugger Opens debugger view. It also has shortcuts to Board
Project Bring-Up, Confpro and Configure Confpro utilities. See
Open Debugger Project, on page 106.
Open Opens a file browser to allow you to locate an existing
file to open.
Close Closes the currently opened project.
Load Activation Allows you to reload a set of trigger settings.
Feature Description
Recent Projects Displays a list of recently opened projects, if any.
Click a debug.prj link to open the project.
Browse for Project Opens a browser to select the location of a different
debug.prj file.
When you open a project from either the tool or system, the working directory
is automatically set from the corresponding project file. If the project was
saved with encrypted original sources, you are prompted to enter the original
password used to encrypt the files. This password is then used to read any
encrypted files.
Drag the camera cursor to define the area for the image. When you release
the cursor, the Create Image dialog box appears. Use the dialog box to copy the
image, save the image to a file, or to print the image.
Feature Description
Copy to Clipboard Copies the image to the clipboard so you can paste it into a
selected application (for example, a Microsoft Word file).
When you copy an image to the clipboard, a green check
mark appears in the Copy To Clipboard field.
Save to File Saves the image to the specified file. You can save the file
in various formats (platform dependent) including bmp,
jpg, png, ppm, tif, xbm, and xpm.
Add to Project Adds the saved image file to the Images folder in the Project
view. This option is enabled by default.
Save to File button You must click this button to save an image to the
specified file. When you save the image, a green check
mark appears in the Save To File field.
LO
Feature Description
Print Prints the image. When you print the image, a green check
mark appears in the Print field.
Options Allows you to select the resolution of the image saved to a
file or copied to the clipboard. Use the Max Pixels slider to
change the image resolution.
Caption Allows you to enter a caption for a saved or copied image.
The overlay for the caption is at the top-left corner of the
image.
Edit Menu
Use the Edit menu to edit text files (such as HDL source files) in your project.
This includes cutting, copying, pasting, finding, replacing text, and toggle
between bookmarks.
Feature Description
Undo Cancels the last action.
Redo Performs the action undone by Undo.
Cut Removes the selected text and makes it available to
Paste.
LO
View Menu
Use the View menu to set the display and viewing options, choose toolbars,
and enable or disable the debugger panels.
Feature Description
Font Size Changes the font size in the tool. You can select one of the
following options:
• Increase Font Size
• Decrease Font Size
• Reset Font Size (default size)
Toolbars Displays the Toolbars dialog box, where you specify the
toolbars to display. See Toolbar Command, on page 111.
Status Bar When enabled, displays context-sensitive information in the
lower-left corner of the main window as you move the mouse
pointer over design elements. This information includes
element identification.
Tcl Window When enabled, displays the Tcl Script and Messages panels.
All commands you execute in the Project view appear in the
Tcl window. You can enter or paste Tcl commands and
scripts in the Tcl window. Check for notes, warnings, and
errors in the Messages window. See Debugger Panels, on
page 112.
Debugger Panels You can toggle between the panels by selecting from the
sub-menu. See Debugger Panels, on page 112.
Toolbar Command
Select View > Toolbars to display the Toolbars dialog box, where you can:
• Choose the toolbars to display
• Customize the appearance of tool
Feature Description
Toolbars Lists the available toolbars. Select the toolbars that you want to
display.
Show Tooltips When selected, a descriptive tooltip appears whenever you position
the pointer over an icon.
Large Buttons When selected, large icons are displayed.
Debugger Panels
You can toggle between the control/search, browser, and view panels.
Feature Description
Toggle Control/Search Panel Click to view or hide the Search
panel.
Toggle Browser Panel Click to view or hide the Browser
(hierarchy) panel.
Toggle View Panel Click to view or hide the View (RTL,
Watchpoints, Breakpoints, and
Sampled Signals tabs) panel.
Show All Panels Click to view all panels.
LO
Instrumentor
Use the Instrumentor menu to work with In-Circuit Emulator (IICE™), search
instrumentor source, and define instrumentor preferences.
Feature Description
IICE Lists the IICE related activities in a sub-menu.
See IICE, on page 114.
• Add IICE - To add an IICE. See Add IICE, on
page 114.
• Delete IICE - To delete an existing IICE. See
Delete IICE, on page 114.
• Rename IICE - To rename the name of the
IICE. See Rename IICE, on page 114.
• Edit IICE - To edit or define the IICE
parameters. See Edit IICE, on page 115.
• Edit RTD IICE Mappings - This feature can
be used to change the RTD pin mappings.
RTD uses a daughter card (Mictor/LAI).
SRS Instrumentation View Displays the instrumentation schematics.
Find in Instrumentor Source Finds target expression in instrumentor
source. Can set additional parameters to filter
results. See Find in Instrumentor Source, on
page 124.
Find Next in Instrumentor Source Finds the next instance of target expression set
in Find in instrumentor source. See Find in
Instrumentor Source, on page 124.
Make Incremental Makes incremental instrumentation. This can
improve the runtime for large designs.
Feature Description
Estimate Resources Estimates the required resources for each
design module and creates an estimation (est)
file and log (_est.srr).
Instrumentor Preferences Click to define the instrumentor preferences.
See Instrumentor Preferences, on page 124.
Windows Click and select the panel from the sub-menu.
• Control/Search Panel — To view or hide the
Control and Search panels.
• Browser — To view or hide the Browser
(hierarchy) panel.
• View panel — To view or hide the View (RTL,
Instrumentation tabs) panel.
• Show All — To view all panels.
IICE
An important part preparing a design for debugging is setting the parameters
for the IICE in the instrumentor. The IICE parameters determine the imple-
mentation of one or more IICE units and configure the units to establish the
proper communication with the debugger.
Add IICE
Click to add an IICE to the design. For information on adding IICE, see the
Debugger User Guide.
Delete IICE
Click to delete an existing IICE in the design. For information on deleting
IICE, see the Debugger User Guide.
Rename IICE
Click to rename the existing IICE name. A dialog is displayed to enter the new
IICE name. LO
Edit IICE
The IICE parameters unique to each IICE definition in a multi-IICE configura-
tion are interactively set on the Edit IICE dialog box tabs. For information on
steps to define and edit IICE parameters, see the Debugger User Guide.
The individual parameters for each IICE are defined using a series of
tabs of the Edit IICE Settings dialog box. Select the target IICE unit in the
Control Panel tab before you open this dialog box.
With the target IICE selected, select Instrumentor > IICE > Edit IICE or click the
IICE Type field in the Control Panel to display the Edit IICE Settings dialog box.
Buffer Type
The Buffer type parameter specifies the type of RAM to be used to capture the
on-chip signal data. The default value is FPGA Memory.
Sample Depth
The Sample depth parameter specifies the amount of data captured for each
sampled signal. Sample depth is limited by the capacity of the FPGAs imple-
menting the design, but must be at least 8 due to the pipelined architecture
of the IICE.
Sample depth can be maximized by taking into account the amount of RAM
available on the FPGA. As an example, if only a small amount of block RAM is
used in the design, then a large amount of signal data can be captured into
block RAM. If most of the block RAM is used for the design, then only a small
amount is available to be used for signal data. In this case, it may be more
advantageous to use logic RAM. The sample depth increases significantly
with the deep-trace debug feature.
design over a longer period of time (for example, you can observe the
addresses in a number of bus cycles by sampling only one value for each bus
cycle instead of a full trace). Using qualified sampling includes a minimal
area and clock-speed penalty. For more information on qualified sampling,
see -qualified_sampling under the iice command description.
The Allow always-armed triggering check box, when checked, saves the sample
buffer for the most recent trigger and waits for the next trigger or until inter-
rupted. When always-armed sampling is enabled, a snapshot is taken each
time the trigger condition becomes true.
With always-armed triggering, you always acquire the data associated with
the last trigger condition prior to the interrupt. This mode is helpful when
analyzing a design that uses a repeated pattern as a trigger (for example, bus
cycles) and then randomly freezes. You can retrieve the data corresponding to
the last time the repeated pattern occurred prior to freezing. Using
always-armed sampling includes a minimal area and clock-speed penalty.
The Allow data compression check box, when checked, adds compression logic to
the IICE to support sample data compression in the debugger (see the
Debugger User Guide). When unchecked (the default), compression logic is
excluded from the IICE, and data compression in the debugger is unavailable.
Note that there is a logic data overhead associated with data compression and
that the check box should be left unchecked when sample data compression
is not to be used.
Sample Clock
The Sample clock parameter determines when signal data is captured by the
IICE. The sample clock can be any signal in the design that is a single-bit
scalar type. Enter the complete hierarchical path of the signal as the param-
eter value.
Care must be taken when selecting a sample clock because signals are
sampled on an edge of the clock. For the sample values to be valid, the
signals being sampled must be stable when the specified edge of the sample
clock occurs. Usually, the sample clock is either the same clock with which
the sampled signals are synchronous or a multiple of that clock; an
asynchronous clock can also be selected as sampling clock. The sample clock
must use a scalar, global clock resource of the chip and should be the highest
clock frequency available in the design. The source of the clock must be the
output from a BUFG/IBUFG device.
You can also select the sample clock from the RTL window by right-clicking
on the watchpoint icon in the source code display and selecting Sample Clock
from the popup menu. The icon for the selected (single-bit) signal changes to
a clock face as shown in the following figure.
Clock Edge
LO
The Clock edge radio buttons determine if samples are taken on the rising
(positive) or falling (negative) edge of the sample clock. The default is the
positive edge.
Simple Triggering
Complex-Counter Triggering
State-Machine Triggering
For each trigger condition ci, a logic cone is implemented which evaluates the
signals and the breakpoints connected to the trigger logic and culminates in a
1-bit result identical to the trigger condition in simple mode. All these 1-bit
results are connected to the address inputs of a RAM table.
The other address inputs are provided by the state register. The outputs of
the RAM table are:
• The next-state value nstate
• The trigger signal trigger (causes the sample buffer to take a snapshot if
high)
• The counter-enable signal cnten (if ‘1’, counter is decremented by 1)
• The counter-load signal cntld (if ‘1’, counter is loaded with cntval)
• The counter value cntval (only useful in conjunction with cntld)
The last three outputs are only present if a counter is instrumented. Also
refer to the figure below.
LO
Cost Estimation
The most critical setting with respect to cost is the number of trigger condi-
tions, as each trigger condition results in an additional address bit on the
RAM, and thus doubles the size of the RAM table with each bit. Next in
importance is the counter width as this factor contributes directly to RAM
table width and is especially significant in the context of FPGA RAM primi-
tives that allow a trade-off of width for depth.
The imported trigger signal includes the same triggering capabilities as the
internal trigger sources used with state machines. The adjacent field selects
the number of external trigger sources with 0, the default, disabling recogni-
tion of any external trigger. Selecting one or more external triggers automati-
cally enables state-machine triggering.
Note: When using external triggers, the pin assignments for the corre-
sponding input ports must be defined in the synthesis or place
and route tool.
The Export IICE trigger signal check box, when checked, causes the master
trigger signal of the IICE hardware to be exported to the top-level of the
instrumented design.
The Allow cross-triggering in IICE check box, when checked, allows this IICE unit
to accept a cross-trigger from another IICE unit. For more information on
cross-triggering, see the Debugger User Guide.
Field/Option Description
Find What/Search for Search string matching the text to find. In the text editor,
you can use the pull-down list to view and reuse search
strings used previously in the current session.
Match whole word only When enabled, matches the entire word rather than a
portion of the word.
Match Case When enabled, searching is case sensitive.
Find Next Initiates a search for the search string (see Find What/Search
for). In the text editor, searching starts again after reaching
the end (Down) or beginning (Up) of the file.
Mark All Highlights the line numbers of the text matching the search
string and closes the Find dialog box.
Instrumentor Preferences
The IICE parameters common to all IICE units are set in the Instrumentor Prefer-
ences dialog box.
Field Description
Save original source in Before you save and instrument the design, select this
instrumentation directory option to include the original HDL source in the
design. It simplifies the design transfer when
instrumentation and debugging are performed on
separate machines and is especially useful when a
design is being debugged on a system that does
not have access to the original sources.
Use encryption Select if the original sources are encrypted when
they are written. See User Encryption, on
page 126.
Shrink debugger database Select to reduce the size of the database while
exporting without loosing the data.
Prepare incremental Select to prepare the design for incremental
instrumentation.
Port Select the required communication port. See Port, on
page 127.
Field Description
Create skew free When enabled, you can avoid an additional global
instrumentation clock buffer to prevent clock skew for JTAG clock.
Insert clock buffer Inserts the clock buffer in the design.
Ignore no IICE at startup You can choose to ignore and run the instrumentation
without any IICE.
Warn if no IICE at startup Displays a warning if no IICE is defined.
Automatically create IICE Creates an IICE automatically if no IICE is defined at
at startup if none startup.
Display the IICE settings Displays the Edit IICE dialog to define the IICE
dialog after adding an IICE parameters when you add a new IICE.
Show SRS-only warning at Display the SRS-only warning while launching the
startup Instrumentor.
Show notification when Displays a pop-up message while launching Identify
SRS instrumentation is Instrumentor.
possible
Automatically launch The compiled schematic (SRS view) in HDL Analyst is
Analyst when SRS displayed in a separate tab.
instrumentation is
possible
User Encryption
The encryption is based on a password that is requested when you write out
the instrumented design. Encryption allows you to debug on a machine that
you feel would not be sufficiently secure to store your sources. After you
export the files to the unsecure machine, you are prompted to reenter the
encryption password when you open the design in the debugger. The
decrypted files are never written to the unsecure machine’s hard disk.
Port
Specifies the type of connection to be used to communicate with the on-chip
IICE. The connection types available from the drop-down menu are:
• builtin – indicates that the IICE is connected to the JTAG Tap controller
available on the target device.
LO
Debugger
Use the Debugger menu to run the debugger, set the trigger position,
configure state machine, define debugger preferences, etc.
Feature Description
Run Click to debug the active design according to
the watchpoints and breakpoints set. See
Run Panel and Run Button, on page 159.
Waveform viewer Opens the default selected Waveform viewer.
See Waveform Viewer, on page 130.
Find in debugger source Finds target expression in debugger source.
Can set additional parameters to filter
results. See Find in debugger source, on
page 130.
Find next in debugger source Finds the next instance of target expression
set in Find in debugger source. See Find in
debugger source, on page 130.
Trigger Position Sets the position of trigger in sample buffer.
See Trigger Position, on page 131.
Configure state machine Opens the State Machine editor to configure
the state machine. See Configure State
Machine, on page 132.
IICE Brings up a submenu to select the IICE
configuration.
• Configure IICE Settings - Brings up the
Enhanced IICE Settings dialog box to
enable data compression, multiplexed
group, and to run a DTD self test.
• RTD Report - Displays the
signal/breakpoint interface assignments
to the Mictor connector.
Client/Server Brings up the Configure Client/Server
dialog box to set up the connection between
the debugger and the instrumented device
through the cable. See the Debugger User
Guide.
Feature Description
Verdi Debug
Setup debugger Sets the general debugger and waveform
display settings. See Setup debugger, on
page 133.
Debugger information Displays the debugger details. See
Debugger information, on page 146.
Waveform Viewer
All sampled signals in the design are included in the waveform display.
Invoke the waveform viewer after running the debugger, by selecting Debugger
> Waveform viewer.
The following figure shows a typical waveform view with the identify_cycle and
identify_sampleclock signals enabled (highlighted in the figure).
Two additional signals are added to the top of the display when enabled by
their corresponding check boxes. The first signal, identify_cycle, reflects the
trigger location in the sample buffer. The second signal, identify_sampleclock, is
a reference that shows every clock edge. For information about setting up the
waveform, see the Debugger User Guide.
Field/Option Description
Find What/Search for Search string matching the text to find. In the text editor,
you can use the pull-down list to view and reuse search
strings used previously in the current session.
Match whole word only When enabled, matches the entire word rather than a
portion of the word.
Match Case When enabled, searching is case sensitive.
Find Next Initiates a search for the search string (see Find What/Search
for). In the text editor, searching starts again after reaching
the end (Down) or beginning (Up) of the file.
Mark All Highlights the line numbers of the text matching the search
string and closes the Find dialog box.
Trigger Position
The trigger position can be changed without requiring the design to be
re-instrumented or recompiled. A new trigger position setting takes effect the
next time the Run command is executed.
Early Position
The sample buffer trigger position can be set to early so that the
majority of the samples occurs after the trigger event. To set the trigger
position to early, select Debugger > Trigger Position > Set trigger early in
sample buffer from the menu or click on the Set trigger position early in the sample
buffer icon.
Middle Position
The sample buffer trigger position defaults to middle so that there is an
equal number of samples before and after the trigger event. To set the
trigger position to middle, select Debugger > Trigger Position > Set trigger to
middle of sample buffer from the menu or click on the Set trigger position to
middle of the sample buffer icon.
Late Position
The sample buffer trigger position can be set to late so that the majority
of the samples occurs before the trigger event. To set the trigger
position to late, select Debugger > Trigger Position > Set trigger late in
sample buffer from the menu or click on the Set trigger late in sample buffer icon.
Configure Confpro
Sets the path to the Confpro installation directory. See the Confpro User Guide, for
more information.
Setup debugger
All parts of the debugging system must be configured correctly to make a
successful connection between the debugger and the instrumented device
through the cable.
This feature is used to define the general debugger and waveform display
settings. The Setup and Preferences window is displayed. See the Debugger
User Guide.
Note: Make sure that the Device Family setting is correct; an incorrect
setting requires the entire instrumentation flow to be repeated
before the design can be debugged.
General
By default, when you exit the debugger tool without explicitly saving an
activation, the active activation is automatically saved to the last_run.adc file if
the Auto-save trigger settings check box is selected. This file is automatically
loaded the next time when the same project is loaded. By default, this
checkbox is selected. See the Debugger User Guide.
LO
Communications
In the Communications tab, set the cable type, client server, and communi-
cation chains.
Cable Settings
The cable type and port specification communication settings can be set or
changed. Click the Cable Settings button to open the Cable Settings dialog box.
1. Set the Cable type value according to the type of cable you are using to
connect to the programmable device (see the Debugger User Guide).
2. Adjust the port setting based on the port where the communication
cable is connected. Most often, lpt1 is the correct setting for parallel
ports.
The following table lists the correspondence between cable-type setting and
the available vendor cables supported by the Identify debugger.
JTAGTech3710 JTAGTech3710
If you are using the command interface, set the com command’s cabletype
option to Microsemi_BuiltinJTAG, JTAGTech3710, Catapult_EJ1, or demo according
to the cable being used.
To configure a ByteBlaster cable, click the Cable Settings button to display the
Cable Settings dialog box and select the appropriate port from the Value
drop-down menu (see following figure).
If you are using the command interface, set the com command’s cableoptions
byteblaster_port option to 1 (lpt1), 2 (lpt2), 3 (lpt3), or 4 (lpt4). Different
computers have their lpt ports defined for different address ranges so the port
you use depends on how your computer is configured.
The Identify debugger uses the “standard” I/O port definitions: lpt1:
0x378-0x37B, lpt2: 0x278-0x27B, lpt3: 0x3BC-0x3BF, and lpt4:
0x288-0x28B if it cannot determine the proper definitions from the operating
system. If the hardware address for your parallel port does not match the
addresses for lpt1 through lpt4,
LO you can use the setsys set command variable
lpt_address to set the hardware port address (for example, setsys set lpt_address
0x0378 defines port lpt1).
To configure a Catapult EJ-1 cable, select the Catapult_EJ1 setting from the
Cable type drop-down menu. Click the Port Settings button to display the
Configure Port Settings dialog box and enter the host IP address.
The default settings are usually correct for most configurations and require
changing only when the default server port address is already in use or when
the debugger is being run from a remote machine that is not the same
machine connected to the FPGA board/device. See the Debugger User Guide.
LO
The available configure client-server settings in the dialog box are defined in
the following table:
Setting Function
Cable The type of interface cable (see Cable Settings, on page 135).
Setting Function
Start Server control button for starting the server in stand-alone
mode. Activating the button adds a start entry to the log file.
Stop Server control button for stopping the server in stand-alone
mode. Activating the button adds a stop entry to the log file.
Server Status Adds a start/stop entry to the log file.
Check the Cable type setting in the main page of the debugger after loading the
project.
Show Chain
Click the Show Chain button to view the JTAG chain settings. Normally, the
JTAG chain settings for the devices are automatically extracted from the
devices available in the JTAG chain. When the chain settings cannot be
determined, they must be created and/or edited using the chain command in
the console window. See the Debugger User Guide. The settings shown below
are for a 2-device chain that has JTAG identification register lengths of 8 and
10 bits. In addition, the device named fpga has been enabled for debugging.
By clicking Auto-Detect, the tool automatically identifies the programmable
devices that are daisy chained on the hardware.
Comm Check
Runs a hardware check to verify board and cable integrity. The results of the
check are displayed in the Tcl Script window.
Instrumentation LO
As per the IICE settings in the Instrumentation tool, you can perform the
instrumentation in the Debugger tool.
2. Select the required IICE from the Current IICE drop-down list. Based on
the selected IICE settings in the Instrumentation tool, you can perform
the triggering here.
3. Select the Allow cross-triggering in IICE check box in the IICE Options tab for
the local IICE unit to enable cross triggering for an IICE unit. The
cross-trigger mode is selected from the drop-down menu in the debugger
as shown below.
These drop-down menu options are available only when the Allow
cross-triggering in IICE option is enabled on the IICE Options tab of the
instrumentor and the design have multiple IICE units defined.
The following table provides a general description of the trigger behavior for
the various complex counter modes. Each mode is described in more detail in
individual subsections, and examples are included showing how the modes
are used. In both the table and subsection descriptions, the counter target
value setting is represented by the symbol n.
events Mode
In the events mode, the number of times the Master Trigger Signal logic
produces an event is counted. When the nth Master Trigger Signal event
occurs, the complex counter sends a trigger event to the sample block.
For example, this mode could be used to trigger on the 12278th time a
collision was detected in a bus arbiter.
cycles Mode
In the cycles mode, the complex counter sends a trigger event to the
sample block on the nth cycle after the first Master Trigger Signal event
is received. The clock cycles counted are from the clock defined for
sampling. For example, this mode could be used to observe the behavior
of a design 2,000,000 cycles after it is reset.
watchdog Mode
In the watchdog mode, the counter sends a trigger event to the sample
block if no Master Trigger Signal events have been received for n cycles.
For example, if an event is expected to occur regularly, such as a
memory refresh cycle, this mode triggers when the expected event fails
to occur.
pulsewidth Mode
In the pulsewidth mode, the complex counter sends a trigger event to
the sample block if the Master Trigger Signal logic has produced an
event during each of the most recent n consecutive cycles. For example,
this mode can be used to detect when a request signal is held high for
more than n cycles thereby detecting when the request has not been
serviced within a specified interval.
5. Select qualified_fill or qualified_intr from the Sample Mode drop-down list. For
more information, see -qualified_sampling under the iice, on page 49
command description.
6. FSM- Clicking the FSM button displays the Configure State Machine dialog
box for the selected IICE. For information on state machine, see the
Debugger User Guide.
7. IICE - Clicking the IICE displays Enhanced IICE Settings dialog box.
LO
– From the Mux Group drop-down menu select the group number to be
active for the debug session.
– The signals group command can be used to assign groups from the
console window (see signals in the Reference Manual).
Waveform
Define the required settings for waveform. For setting information, see the
Debugger User Guide.
Debugger information
The instrumentation settings are displayed in the Debugger Information window.
Because these configuration settings are inherited from the instrumentor and
used to construct the IICE, you cannot change these settings in the debugger.
To view the debugger information, select Debugger > Debugger Information. The
Debugger Information window pops up.
LO
Options Menu
The options menu sets the editor options for the tool. Sets your Text Editor
syntax coloring, font, and tabs.
The following table describes the Editor Options dialog box features.
Feature Description
Synopsys Editor Sets the Synopsys text editor as the default text editor.
External Editor Uses the specified external text editor program to view text
files from within the Synopsys tool. The executable specified
must open its own window for text editing. See the Debugger
User Guide for a procedure.
Note: Files opened with an external editor cannot be
crossprobed.
LO
File Type You can define text editor preferences for the following file
types: project files, HDL files, log files, constraint files, and
default files.
Feature Description
Font Lets you define fonts to use with the text editor.
Font Size Lets you define font size to use with the text editor.
Keep Tabs Lets you choose whether to use tab in the text editor and
Tab Size specify the tab size.
Color Options
Click in the Foreground or Background field for the corresponding object in the
Syntax Coloring field to display the color palette.
You can set syntax colors for some common syntax options listed in the
following table.
Syntax Description
Line Comment Line comments contained in the HDL source, C, C++, and log
files.
Comment Comment strings contained in all file types.
Window
The window menu controls window alignment and navigation options. It also
displays a list of all open windows and allows you to activate a window.
Option Description
Tile Horizontally Positions the open windows horizontally.
Tile Vertically Positions the open windows vertically.
Cascade Allows you to cascade the views with multiple windows.
Customize for Customize for debugging
Customize for board bring-up
Close All Closes all open windows in the tool.
Next / Previous Navigate through open windows.
LO
Help Menu
The Help menu provides a level of user help from within the graphical window.
The following table describes the individual Help menu selections and their
functions.
Command Description
Help Topics Displays hyperlinked online help for the product.
Preferred License Displays the floating licenses that are available for your
Selection selection. See Preferred License Selection Command, on
page 151.
About this program Displays the About dialog box, showing the tool product
name, license expiration date, customer identification
number, version number, and copyright.
Clicking the Versions button in the About dialog box displays
the Version Information dialog box, listing the installation
directory and the versions of all the compiler and mapper
programs for the tool.
LO
CHAPTER 4
This chapter describes the graphical user interface (GUI) of instrumentor and
debugger tools.
• Instrumentor GUI, on page 154
• Debugger GUI, on page 158
Instrumentor GUI
The GUI for the instrumentor includes all of the required user controls, a
hierarchy browser in the center, and the following panels for instru-
mentor-specific functions:
• Control Panel, on page 154
• Search Panel, on page 155
• Hierarchy Browser, on page 156
• View Panel, on page 157
• TCL Window, on page 168
You can toggle between the control/search, browser, and view panels from
Instrumentor > Windows. See Instrumentor, on page 113.
Control Panel
The Control Panel tab describes the current status of the instrumented
design. Note that some entries are dependent on the IICE sampler buffer type
selected.
LO
Search Panel
The Search panel is a general utility to search for signals, breakpoints, and/or
instances. The panel includes an area for specifying the objects to find and an
area for displaying the results of the search. The instrumentor tool includes a
set of menu commands and, in most cases, icons for listing signals and
breakpoint conditions. For detailed information on using the Search panel,
see the Debugger User Guide.
Hierarchy Browser
The hierarchy browser shows a graphical representation of the design
hierarchy. At the top of the browser is the ROOT node. The ROOT node
represents the top-level entity or module of your design. For VHDL designs,
the first level below the ROOT is the architecture of the top-level entity. The
level below the top-level architecture for VHDL designs, or below the ROOT
for Verilog designs, shows the entities or modules instantiated at the top
level.
LO
Clicking on any element in the hierarchy browser causes the associated HDL
code to be visible in the RTL tab display.
View Panel
The following list of panels are grouped as view panels:
• Instrumentation Tab, on page 157
Instrumentation Tab
The Instrumentation tab lists the active watchpoint and breakpoint entries that
have been set within the active module or entity. The entries can be modified
by selecting the entry and assigning a new value from the popup menu.
Debugger GUI
The GUI for the debugger includes all of the required user controls, a
hierarchy browser in the center, and the following panels for
debugger-specific functions:
• Run Panel and Run Button, on page 159
• Search Panel, on page 160
• Hierarchy Browser, on page 162
• View Panel, on page 162
• TCL Window, on page 168
In this section, each of these areas and their uses are described. The
following discussions assume that:
• An HDL design has been loaded into the instrumentor and instrumented
• The design has been synthesized in the synthesis tool
• The synthesized output netlist has been placed and routed by the place
and route tool
• The resultant bit file has been used to program the FPGA with the
instrumented design
LO
• The board containing the programmed FPGA is cabled to the host for
analysis by the debugger
You can toggle between the control/search, browser, and view panels. See
Debugger Panels, on page 112.
A run is initiated by either clicking the Run button directly above the Run
panel or by selecting Debugger > Run from the menu bar. The Run button
drop-down menu determines the unit or units selected for the run. In case of
multiple IICEs, you can run a single or multiple IICEs.
If data compression is to be used on the sample data, see the Debugger User
Guide. After the Run command is executed, the sample of signal values at the
trigger position is annotated to the HDL code in the RTL panel. This data can
be displayed in a waveform viewer or written out to a file. See the debugger
waveform and write vcd command descriptions, for more information.
Search Panel
The Search panel is a general utility to search for signals, breakpoints, condi-
tions and/or instances. The panel includes an area for specifying the objects
to find and an area for displaying the results of the search.
The search criteria in the upper section of the panel includes the following
options:
• Quick – icons that preset the conditions for instrumented or non-instru-
mented watchpoints or LO breakpoints.
– Search for disabled breakpoints
The search results in the lower section of the panel show each object found
along with its hierarchical location. In addition, for breakpoints and watch-
points, the results section includes the corresponding icon (watchpoint or
breakpoint) that indicates the instrumentation status of the qualified signal
or breakpoint.
Hierarchy Browser
The hierarchy browser shows a graphical representation of the design
hierarchy. At the top of the browser is the ROOT node. The ROOT node
represents the top-level entity or module of your design. For VHDL designs,
the first-level below the ROOT is the architecture of the top-level entity. The
level below the top-level architecture for VHDL designs, or below the ROOT
for Verilog designs, shows the entities or modules instantiated at the
top-level.
Single clicking on any element in the hierarchy browser causes the associ-
ated HDL code to be displayed in the RTL panel.
View Panel
The following list of panels are grouped as view panels:
• RTL Panel, on page 163
• Watchpoints Panel, on page
LO 164
• Breakpoints Panel, on page 164
• Sampled Signals Panel, on page 167
RTL Panel
The RTL panel displays the HDL source code annotated with signals and
breakpoints that were previously instrumented.
Note: Signals and breakpoints that were not enabled in the instru-
mentor are not displayed in the debugger.
Signals that can be selected for setting watchpoints are underlined, colored in
blue text, and have goggles or icons next to them. Breakpoints that
can be activated have small green circular icons in the left margin to the left
of the line number.
Selecting the green breakpoint icon on the left-side of the source line number
causes that breakpoint to become armed when the run command is executed.
See Run Command, in the Debugger User Guide.
Watchpoints Panel
The watchpoint panel lists all of the active and inactive watchpoints in the
design. The icons of active watchpoints are highlighted in red with an
adjacent marked check box. Inactive watch points are green regardless of
their type. Values for the active watchpoints are listed. You can list all the
watchpoints hierarchically based on a specific Root option.
Breakpoints Panel
The breakpoints panel lists all of the active and inactive breakpoints in the
design. The icons of active breakpoints
LO are highlighted in red with an
adjacent marked check box. Inactive watch points are green regardless of
their type. Values for the active watchpoints are listed. You can list all the
breakpoints hierarchically based on a specific Root option.
Breakpoints are a way to easily create a trigger that is determined by the flow
of control in the design.
In both Verilog and VHDL, the flow of control in a design is primarily deter-
mined by if, else, and case statements. The control state of these statements is
determined by their controlling HDL conditional expressions. Breakpoints
provide a simple way to trigger when the conditional expressions of one or
more if, else, or case statements have particular values.
The example below shows a VHDL code fragment and its associated break-
points.
(op_code = "0100")
• Breakpoint at line number 104:
The sampling block is basically a large memory used to store all the sampled
signals. During an active debugging session, the sampled signals are contin-
ually being stored in the sample block. When the sample block receives an
event from the Master Trigger Signal event logic or the complex counter logic,
the sampling block stops writing new data to the buffer and holds its
contents. Eventually, the contents of the sample block are uploaded to the
debugger for display and formatting.
TCL Window
TCL window is divided into Tcl console (Information) and Tcl shell windows.
The Tcl console window displays status of the commands that have been
executed, including those executed by menu selections and button clicks.
The Tcl shell window allows LO
you to type debugger commands and to view the
results of command execution in the console window.
To capture all text written to the Tcl shell window, use the log console
command, and to capture all commands executed in the Tcl Script window, use
the transcript command. To clear the text from the console window, use the
clear command (see the Debug Environment Reference Manual for descriptions
and syntax.
The Tcl script window also displays each command executed in the course of
running the tool, regardless of whether it was initiated from a menu, button,
or keyboard shortcut. Right-clicking inside the Tcl window displays a popup
menu with the Copy, Paste, Hide, and Help commands.
You can type or paste Tcl commands at the prompt (“% ”). For a list of the
available commands, type “help *” (without the quotes) at the prompt. For
general information about Tcl syntax, choose Help > TCL.
Toolbars
Toolbars provide a quick way to access common menu commands by clicking
their icons. The following standard toolbars are available the debugger tool:
• Text Editor Toolbar, on page 170
• Edit Toolbar, on page 171
• File Toolbar in Instrumentor, on page 172
• File Toolbar in Debugger, on page 172
You can enable or disable the display of individual toolbars - see Toolbar
Command, on page 111.
The following table describes the default Edit icons. See Edit Menu, on
page 110, for more information.
Icon Description
Toggle Bookmark Alternately inserts and removes a bookmark at the line that
contains the text cursor.
Same as Edit ->Toggle bookmark.
LO
Icon Description
Next Bookmark Takes you to the next bookmark.
Same as Edit ->Next bookmark.
Previous Bookmark Takes you to the previous bookmark.
Same as Edit ->Previous bookmark.
Clear All Bookmarks Removes all bookmarks from the Text Editor window.
Same as Edit ->Delete all bookmarks.
Edit Toolbar
The edit toolbar provides the following icons, by default:
The following table describes the default edit icons. Each is equivalent to a Edit
Menu command; for more information, see Edit Menu, on page 110.
Icon Description
Cut Cuts text or graphics from the active view, making it available to Paste.
Same as Edit > Cut.
Copy Copy the selected text.
Same as File ->Open.
Paste Pastes previously cut or copied text or graphics to the active view.
Same as Edit > Paste.
Undo Undoes the last action taken.
Same as Edit > Undo.
Redo Performs the action undone by Undo.
Same as Edit > Redo.
Find Finds text in the Text Editor or objects in an RTL view or Technology view.
Same as Edit > Find.
The following table describes the default File icons. Each is equivalent to a File
Menu command; for more information, see File Menu, on page 106.
Icon Description
New HDL file Opens the Text Editor window with a new, empty source file.
The following table describes the default File icons. Each is equivalent to a File
Menu command; for more information, see File Menu, on page 106.
LO
Icon Description
Open Debugger Project Open an additional debugger view. It also has shortcuts to
Board Bring-Up, Confpro and Configure Confpro utilities. See
Edit Menu , on page 110.
Same as File ->Open Debugger Project.
Open Displays the Open File dialog box, to open a file.
Same as File ->Open.
Save Activation Allows you to save a set of trigger settings.
Same as File ->Save Activation.
Save All Saves all the unsaved changes.
Same as File ->Save All.
Keyboard Shortcuts
Keyboard shortcuts are key sequences that you type in order to run a
command. Menus list keyboard shortcuts next to the corresponding
commands. This section describes the keyboard shortcuts applicable in the
instrumentor and debugger tools.
• Instrumentor Keyboard Shortcuts, on page 174
• Debugger Keyboard Shortcuts, on page 175
Keyboard Description
Shortcut
Ctrl-+ To increase the font size.
Ctrl-c Copies the selected object. Same as Edit > Copy. This shortcut is
sometimes available even when Edit > Copy is not.
Ctrl-D To delete the selected IICE. Same as Instrumentor > Delete IICE.
Ctrl-E To modify the selected IICE. Same as Instrumentor > Edit IICE.
Ctrl-f Finds the selected object in the instrumentor source. Same as Edit >
Find.
Ctrl-F2 Alternately inserts and removes a bookmark to the line that contains
the text cursor.
Same as Edit > Toggle bookmark (see Edit Menu, on page 110).
Ctrl-F4 Closes the current window. Same as File > Close.
Keyboard Description
Shortcut
Ctrl-o Opens an existing file. Same as File > Open.
Ctrl-v Pastes the last object copied or cut. Same as Edit > Paste.
Ctrl-x Cuts the selected object(s), making it available to Paste. Same as Edit
> Cut.
Ctrl-y Performs the action undone by Undo. Same as Edit > Redo.
Ctrl-Shift-F2 Removes all bookmarks from the Text Editor window. Same as Edit >
Delete all bookmarks (see Edit Menu, on page 110).
F2 In the Text Editor, takes you to the next bookmark. Same as Edit >
Next bookmark (see Edit Menu, on page 110).
Keyboard Description
Shortcut
Ctrl-+ To increase the font size.
Keyboard Description
Shortcut
Ctrl-b To open the board bring-up settings. Same as Debugger > Board
Bring-up.
Ctrl-c Copies the selected object. Same as Edit > Copy. This shortcut is
sometimes available even when Edit > Copy is not.
Ctrl-f Finds the selected object in the debugger source. Same as Edit > Find.
Ctrl-F2 Alternately inserts and removes a bookmark to the line that contains
the text cursor.
Same as Edit > Toggle bookmark (see Edit Menu, on page 110).
Ctrl-F4 Closes the current window. Same as File > Close.
Ctrl-g In the Text Editor, jumps to the specified line. Same as Edit > Goto (see
Edit Menu, on page 110).
Ctrl-o Opens an existing file. Same as File > Open.
Ctrl-v Pastes the last object copied or cut. Same as Edit > Paste.
Ctrl-x Cuts the selected object(s), making it available to Paste. Same as Edit >
Cut.
Ctrl-y Performs the action undone by Undo. Same as Edit > Redo.
Ctrl-Shift-F2 Removes all bookmarks from the Text Editor window. Same as Edit >
Delete all bookmarks (see Edit Menu, on page 110).
F2 In the Text Editor, takes you to the next bookmark. Same as Edit > Next
bookmark (see Edit Menu, on page 110).
CHAPTER 5
Popup Menus
Popup menus, available by clicking the right mouse button, offer quick ways
to access commonly used menu commands that are specific to the view
where you click. Commands shown greyed out (dimmed) are currently
inaccessible. Popup menu commands generally duplicate commands avail-
able from the regular menus, but sometimes have commands that are only
available from the popup menu.
Black-box modules are represented by a black icon, and their contents can
not be instrumented. Also, certain modules cannot be instrumented.
LO
Command Description
Sample and Trigger To set the selected signal for sampling and triggering. See
the Debugger User Guide.
Trigger Only To set the selected signal for triggering only. See the
Debugger User Guide.
Sample Only To set the selected signal for sampling only. See the
Debugger User Guide.
Not Instrumented To remove the set instrumentation of the selected signal.
See the Debugger User Guide.
Fault Clock To set the selected signal as fault clock signal. See the
Debugger User Guide.
Fault Node To set the selected signal as fault node signal. See the
Debugger User Guide.
LO
Command Description
Sample Clock To set the selected clock as sample clock. See the
Debugger User Guide.
Add mux group To add the selected signal to the multiplex group. See Add
Mux Group, on page 181.
Copy To copy the selected signal.
Only signals or buses that are instrumented as either Sample and Trigger or
Sample only can be added to a multiplexed group. To create multiplexed
groups, right click on each individual instrumented signal or bus and select
Add mux group from the popup menu.
In the Add mux group dialog box displayed, select a corresponding group by
checking the group number and then click OK to assign to the signal or bus
to that group. A signal can be included in more than one group by checking
additional group numbers before clicking OK.
The following RTL view popup options are available in the debugger tool.
These options are nearly identical in the RTL, Watchpoints, Breakpoints,
Samples Signals tabs.
• Trigger Conditions, on page 183
• Change Signal Radix, on page 185
• Example of Sampling Signals in a Folded Hierarchy, on page 186
• Example of Selecting Breakpoints in Folded Hierarchies, on page 187
LO
Trigger Conditions
Use the following pre-defined trigger options available by selecting Watchpoint >
Conditions.
• Trigger low - Triggers when the signal is low.
• Trigger high - Triggers when the signal is high.
• Trigger don’t care - Triggers when the signal is unknown.
• Trigger 0->1 - Triggers when the signal is 0 to 1.
• Trigger 1->0 - Triggers when the signal is 1 to 0.
• Custom trigger - To set the specific trigger values.
In the example below, the signal is a 4-bit signal, and the watchpoint expres-
sion is set to “0010” (binary). Any legal VHDL or Verilog (as appropriate)
constant expression is accepted.
The VHDL or Verilog expressions that are entered in the Watchpoint Setup
dialog box can also contain “X” values. The “X” values allow the value of some
bits of the watched signal to be ignored (effectively, “X” values are don’t-care
values). For example, the above value watchpoint expression can be specified
as “X010” which causes the watchpoint to trigger only on the values of the
three right-most bits.
x"hexValue"
Clicking OK on the Watchpoint Setup dialog box activates the watchpoint (the
watchpoint or “P” icon changes to red) which is then armed in the hardware
the next time the Run button is pressed.
LO
1. Right-click on the signal name or the watchpoint or “P” icon and select
Change signal radix to display the following dialog box.
3. Click OK.
Note: You can change the radix before the data is sampled. The watch-
point signal value will appear in the specified radix when the
sampled data is displayed.
Selecting default resets the radix to its initial intended value. Note that the
radix value is maintained in the “activation database” and that this informa-
tion will be lost if you fail to save or reload your activation. Also, the radix set
on a signal is local to the debugger and is not propagated to any of the
waveform viewers.
Note: Changing the radix of a partial bus changes the radix for all bus
segments.
/rtl/cnt_inst0/val
/rtl/cnt_inst1/val
LO
breakpoints add
/rtl/inst0/rtl/process_18/if_20/if_23/repeated_unit.vhd:24
The lines in the list of breakpoint instances act to toggle the selection of an
instance of the breakpoint. To disable an instance of a breakpoint that has
been previously selected, simply select the appropriate line in the list box.
LO
A clear command 27
clock
About this program command 151 sampling 50
Additional Products command 151 clock option 50
always-armed triggering 117 clocks
asynchronous clocks 84 asynchronous 84
edge selection 118
B sample 118
Close command 106
black boxes 178 com command 27
blocks command history 90
sampling 168
commands
board file recording 90
generation 38
communication cable
board query 38 settings 135
breakpoints complex counter
activating/deactivating 88 cycles mode 143
combined with watchpoints 167 events mode 143
listing available 155 pulsewidth mode 144
listing instrumented 155 watchdog mode 144
multiple 166
searching 45 complex triggering 51, 119
breakpoints command 22 configuration
IICE 49
buffer
sample depth 54 Configure IICE dialog box
IICE Controller tab 119
Byteblaster cable settings 136 IICE Sampler tab 116
console output
C logging 64
cable compatibility 135 console window 168
cable option settings 28 operations 169
cable type settings context-sensitive popup menus
Byteblaster 136 See popup menus
JTAGTech3710 137 convenience functions 82
Microchip 137 conventions
cable types 27 design hierarchy 15
camera mouse pointer 106 file system 14
symbol 17
cd command 24 syntax 13
chain command 25 tool 14
L P
license passwords
saving 151 encryption 36
encryption/decryption 126
License Agreement command 151
Paste command 110
log command 64
path names 15
M path separator 14
popup menus
menubar 11 RTL view 180
menus Tcl window 179
context-sensitive Technology view 180
See popup menus Preferred License Selection command
Edit 110 151
Help 151 Print command 106
Options 148
popup Print Setup command 106
See popup menus printing image
View 111 Create Image command 106
Messages process ID
Tcl Window command 111 debugger 66
Microchip project command 65
cable type settings 137 projects
models creating new 65
VHDL 104 importing 65
Q
qualified sampling 116
R
RAM resources 116
Redo command 110
remote_trigger command 66
RTL view
popup menu 180
run command 68, 159
S
sample clock 118
sample data 101
sampling
qualified 116
sampling block 168
sampling signals 155, 156, 163
Save All command 106
searching 44
searchpath command 70
separator
hierarchy 15
path 14
server configuration 60, 71
settings
cable 135
JTAG chain 140
sample clock 118
sample depth 116
shortcuts
keyboard
See keyboard shortcuts
signals LO
exporting trigger 123
listing available 156, 163
listing instrumented 155, 156, 163
T
tables
idcode 47
target device 32
Tcl (Tool Command Language) 10
Tcl conventions 10
TCL Help command 151
Tcl Script
Tcl Window command 111
Tcl scripts 79
Tcl window
popup menu 179
Tcl Window command 111
Technology view
popup menu 180
text
copying, cutting and pasting 110
tool conventions 14
toolbars 170
FSM 174
Toolbars command 111
U
Undo command 110
user interface, overview 153
V
verdi command 91
version information 151
VHDL models 104
View menu 111
W
watch command 92
watchdog mode
complex counter 144
watchpoints 92, 164
combined with breakpoints 167
hexadecimal values 184
multiple 167
searching 45
transition 183 LO
waveform command 95
waveform display 130, 145