Beruflich Dokumente
Kultur Dokumente
July 2008
Synplicity, Inc.
600 West California Avenue
Sunnyvale, CA 94086, USA
(U.S.) +1 408 215-6000 direct
(U.S.) +1 408 990-0263 fax
www.synplicity.com
Preface
Disclaimer of Warranty
Synplicity, Inc. makes no representations or warranties, either expressed or
implied, by or with respect to anything in this manual, and shall not be liable
for any implied warranties of merchantability or fitness for a particular
purpose of for any indirect, special or consequential damages.
Copyright Notice
Copyright © 1994-2008 Synplicity, Inc. All Rights Reserved.
Trademarks
Synplicity, the Synplicity logo, “Simply Better Results”, Amplify, Amplify
FPGA, Behavior Extracting Synthesis Technology, Certify, HDL Analyst,
Identify, SCOPE, Synplify, Synplify ASIC, and Synplify Pro are registered
trademarks of Synplicity, Inc. BEST, IICE, MultiPoint, Physical Analyst, and
System Designer are trademarks of Synplicity, Inc. All other names
mentioned herein are trademarks or registered trademarks of their respective
companies.
LO
BY INDICATING YOUR ACCEPTANCE OF THE TERMS OF THIS AGREEMENT, YOU (“LICENSEE”) ARE
REPRESENTING THAT YOU HAVE THE RIGHT AND AUTHORITY TO LEGALLY BIND YOURSELF OR
YOUR COMPANY, AS APPLICABLE, AND CONSENTING TO BE LEGALLY BOUND BY ALL OF THE
TERMS OF THIS AGREEMENT. IF YOU DO NOT AGREE TO ALL THESE TERMS DO NOT INSTALL OR
USE THE SOFTWARE, AND RETURN THE SOFTWARE TO THE LOCATION OF PURCHASE FOR A
REFUND. This is a legal agreement governing use of the software program provided by Synplicity, Inc. (“Syn-
plicity”) to you (the “SOFTWARE”). The term “SOFTWARE” also includes related documentation (whether in
print or electronic form), any authorization keys, authorization codes, and license files, and any updates or
upgrades of the SOFTWARE provided by Synplicity, but does not include certain “open source” software
licensed by third party licensors and made available to you by Synplicity under the terms of such third party
licensor’s license (such as software licensed under the General Public License (GPL)) (“Third Party Soft-
ware”). If Licensee is a participant in the University Program or has been granted an Evaluation License or
Subscription License, then some of the following terms and conditions may not apply (refer to the sections
entitled, respectively, Evaluation License and Subscription License, below).
License. Synplicity grants to Licensee a non-exclusive right to install the SOFTWARE and to use or authorize
use of the SOFTWARE by up to the number of nodes for which Licensee has a license and for which Licensee
has the security key(s) or authorization code(s) provided by Synplicity or its agents for the purpose of creating
and modifying Designs (as defined below). If Licensee has obtained the SOFTWARE under a node-locked
license, then a “node” refers to a specific machine, and the SOFTWARE may be installed only on the number
of “nodes” or machines authorized, must be used only on the machine(s) on which it is installed, and may be
accessed only by users who are physically present at that node or machine. A node-locked license may only be
used by one user at a time running one instance of the software at a time. If Licensee has obtained the SOFT-
WARE under a “floating” license, then a “node” refers to a concurrent user or session, and the SOFTWARE
may be used concurrently by up to the number of users or sessions indicated. All SOFTWARE must be used
within the country for which the systems were licensed and at Licensee's Site (contained within a one kilome-
ter radius); however, if Licensee has a floating license then remote use is permitted by employees who work at
the site but are temporarily telecommuting to that same site from less than 50 miles away (for example, an
employee who works at a home office on occasion), but the maximum number of concurrent sessions or nodes
still applies. In addition, Synplicity grants to Licensee a non-exclusive license to copy and distribute internally
the documentation portion of the SOFTWARE in support of its license to use the program portion of the SOFT-
WARE. For purposes of this Agreement the “Licensee’s Site” means the location of the server on which the
SOFTWARE resides, or when a server is not required, the location of the client computer for which the license
was issued.
Evaluation License. If Licensee has obtained the SOFTWARE pursuant to an evaluation license, then, in addi-
tion to all other terms and conditions herein, the following restrictions apply: (a) the license to the SOFTWARE
terminates after 20 days (unless otherwise agreed to in writing by Synplicity); and (b) Licensee may use the
LO
SOFTWARE only for the sole purpose of internal testing and evaluation to determine whether Licensee wishes
to license the SOFTWARE on a commercial basis. Licensee shall not use the SOFTWARE to design any inte-
grated circuits for production or pre-production purposes or any other commercial use including, but not lim-
ited to, for the benefit of Licensee’s customers. If Licensee breaches any of the foregoing restrictions, then
Subscription (Time-Based) License. If Licensee has obtained a Subscription License to the SOFTWARE, the,
in addition to all other terms and conditions herein, the following restrictions apply: (a) Licensee is authorized
to use the SOFTWARE only for a limited time (which time is indicated on the quotation or in the purchase con-
firmation documents); (b) Licensee’s right to use the SOFTWARE terminates on the date the subscription term
expires as set forth in the quotation or the purchase confirmation documents, unless Licensee has renewed the
license by paying the applicable fees.
Project Based License. If Licensee has obtained a Project-Based License to the SOFTWARE, in addition to all
other terms and conditions herein, the terms of Exhibit A will apply.
Copy Restrictions. This SOFTWARE is protected by United States copyright laws and international treaty pro-
visions and Licensee may copy the SOFTWARE only as follows: (i) to directly support authorized use under
the license, and (ii) in order to make a copy of the SOFTWARE for backup purposes. Copies must include all
copyright and trademark notices.
Use Restrictions. This SOFTWARE is licensed to Licensee for internal use only. Licensee shall not (and shall
not allow any third party to): (i) decompile, disassemble, reverse engineer or attempt to reconstruct, identify or
discover any source code, underlying ideas, underlying user interface techniques or algorithms of the SOFT-
WARE by any means whatever, or disclose any of the foregoing; (ii) provide, lease, lend, or use the SOFT-
WARE for timesharing or service bureau purposes, on an application service provider basis, or otherwise
circumvent the internal use restrictions; (iii) modify, incorporate into or with other software, or create a deriva-
tive work of any part of the SOFTWARE; (iv) disclose the results of any benchmarking of the SOFTWARE, or
use such results for its own competing software development activities, without the prior written permission of
Synplicity; or (v) attempt to circumvent any user limits, maximum gate count limits or other license, timing or
use restrictions that are built into the SOFTWARE.
Transfer Restrictions/No Assignment. The SOFTWARE may only be used under this license at the desig-
nated locations and designated equipment as set forth in the license grant above, and may not be moved to
other locations or equipment or otherwise transferred without the prior written consent of Synplicity. Any per-
mitted transfer of the SOFTWARE will require that Licensee executes a “Software Authorization Transfer
Agreement” provided by Synplicity. Further, Licensee shall not sublicense, or assign this Agreement or any
of the rights or licenses granted under this Agreement, without the prior written consent of Synplicity.
Security. Licensee agrees to take all appropriate measures to safeguard the SOFTWARE and prevent unautho-
rized access or use thereof. Suggested ways to accomplish this include: (i) implementation of firewalls and
other security applications, (ii) use of FLEXlm options file that restricts access to the SOFTWARE to identified
users; (iii) maintaining and storing license information in paper format only; (iv) changing TCP port numbers
every three (3) months; and (v) communicating to all authorized users that use of the SOFTWARE is subject to
the restrictions set forth in this Agreement.
Ownership of the SOFTWARE. Synplicity retains all right, title, and interest in the SOFTWARE (including all
copies), and all worldwide intellectual property rights therein. Synplicity reserves all rights not expressly
granted to Licensee. This license is not a sale of the original SOFTWARE or of any copy.
Protection of Confidential Information. “Confidential Information” means (i) the SOFTWARE, in object
and source code form, and any related technology, idea, algorithm or information contained therein, including
without limitation Design Techniques, and any trade secrets related to any of the foregoing; (ii) either party's
product plans, Designs, costs, prices and names; non-published financial information; marketing plans; busi-
ness opportunities; personnel; research; development or know-how; (iii) any information designated by the
disclosing party as confidential in writing or, if disclosed orally, designated as confidential at the time of dis-
closure and reduced to writing and designated as confidential in writing within thirty (30) days; and (iv) the
terms and conditions of this Agreement; provided, however that “Confidential Information” will not include
information that: (a) is or becomes generally known or available by publication, commercial use or otherwise
through no fault of the receiving party; (b) is known and has been reduced to tangible form by the receiving
party at the time of disclosure and is not subject to restriction; (c) is independently developed by the receiving
party without use of the disclosing party's Confidential Information; (d) is lawfully obtained from a third party
who has the right to make such disclosure; and (e) is released for publication by the disclosing party in writing.
Each party will protect the other's Confidential Information from unauthorized dissemination and use with the
same degree of care that each such party uses to protect its own like information. Neither party will use the
other's Confidential Information for purposes other than those necessary to directly further the purposes of this
Agreement. Neither party will disclose to third parties the other's Confidential Information without the prior
written consent of the other party.
Open Source Software. The SOFTWARE may be delivered with software that is subject to open source
licensing terms (“Open Source Software”) which are available at http://www.synplicity.com/prod-
ucts/license_agreement.html. If the Open Source Software license also requires source code to be made
available, Licensee may reference http://www.synplicity.com/products/opensource.html for information
on how to obtain such source code. Licensee agrees that all Open Source Software shall be and shall remain
subject to the terms and conditions under which it is provided. The Open Source Software is provided “AS IS,”
WITHOUT ANY WARRANTY OF ANY KIND, AND SYNPLICITY FURTHER DISCLAIMS ALL OTHER
WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, WITH RESPECT TO OPEN SOURCE SOFTWARE,
INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF NONINFRINGEMENT, MER-
CHANTABILITY AND FITNESS FOR ALOPARTICULAR PURPOSE. NEITHER SYNPLICITY NOR THE
LICENSORS OF OPEN SOURCE SOFTWARE SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDI-
RECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT
LIMITATION LOST PROFITS), HOWEVER CAUSED AN ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
Termination. Synplicity may terminate this Agreement immediately if Licensee breaches any provision,
including without limitation, failure by Licensee to implement adequate security measures as set forth above.
Upon notice of termination by Synplicity, all rights granted to Licensee under this Agreement will immediately
terminate, and Licensee shall cease using the SOFTWARE and return or destroy all copies (and partial copies)
of the SOFTWARE and documentation.
Limited Warranty and Disclaimer. Synplicity warrants that the program portion of the SOFTWARE will per-
form substantially in accordance with the accompanying documentation for a period of 90 days from the date
of receipt. Synplicity’s entire liability and Licensee’s exclusive remedy for a breach of the preceding limited
warranty shall be, at Synplicity’s option, either (a) return of the license fee, or (b) providing a fix, patch, work-
around, or replacement of the SOFTWARE. In either case, Licensee must return the SOFTWARE to Synplicity
with a copy of the purchase receipt or similar document. Replacements are warranted for the remainder of the
original warranty period or 30 days, whichever is longer. Some states/jurisdictions do not allow limitations, so
the above limitation may not apply. EXCEPT AS EXPRESSLY SET FORTH ABOVE, NO OTHER WARRAN-
TIES OR CONDITIONS, EITHER EXPRESS, IMPLIED, STATUTORY OR OTHERWISE, ARE MADE BY SYN-
PLICITY OR ITS LICENSORS WITH RESPECT TO THE SOFTWARE AND THE ACCOMPANYING
DOCUMENTATION, AND SYNPLICITY EXPRESSLY DISCLAIMS ALL WARRANTIES AND CONDITIONS
NOT EXPRESSLY STATED HEREIN, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OR
CONDITIONS OF MERCHANTABILITY, NONINFRINGEMENT, AND FITNESS FOR A PARTICULAR PUR-
POSE. SYNPLICITY AND ITS LICENSORS DO NOT WARRANT THAT THE FUNCTIONS CONTAINED IN
THE SOFTWARE WILL MEET LICENSEE’S REQUIREMENTS, BE UNINTERRUPTED OR ERROR FREE,
OR THAT ALL DEFECTS IN THE PROGRAM WILL BE CORRECTED. Licensee assumes the entire risk as to
the results and performance of the SOFTWARE. Some states/jurisdictions do not allow the exclusion of
implied warranties, so the above exclusion may not apply.
Intellectual Property Right Infringement. Synplicity will defend or, at its option, settle any claim or action
brought against Licensee to the extent it is based on a third party claim that the SOFTWARE as used within the
scope of this Agreement infringes or violates any US patent, copyright, trade secret or trademark of any third
party, and Synplicity will indemnify and hold Licensee harmless from and against any damages, costs and fees
reasonably incurred that are attributable to such claim or action; provided that Licensee provides Synplicity
with (i) prompt written notification of the claim or action; (ii) sole control and authority over the defense or
settlement thereof (including all negotiations); and (iii) at Synplicity’s expense, all available information,
assistance and authority to settle and/or defend any such claim or action. Synplicity’s obligations under this
If the SOFTWARE becomes or, in the reasonable opinion of Synplicity is likely to become, the subject of an
infringement claim or action, Synplicity may, at Synplicity’s option and at no charge to Licensee, (a) obtain a
license so Licensee may continue use of the SOFTWARE; (b) modify the SOFTWARE to avoid the infringe-
ment; (c) replace the SOFTARE with a compatible, functionally equivalent, and non-infringing product, or (d)
if Synplicity determines that options (a), (b), and (c) are not commercially reasonable, then Synplicity shall
have the right to terminate the licenses granted hereunder and refund to Licensee the amount paid for the
SOFTWARE, as depreciated on a straight-line 5-year basis, or such other shorter period applicable to Subscrip-
tion Licenses.
THE FOREGOING PROVISIONS OF THIS SECTION STATE THE ENTIRE AND SOLE LIABILITY AND
OBLIGATIONS OF SYNPLICTY, AND THE EXCLUSIVE REMEDY OF LICENSEE, WITH RESPECT TO
ANY ACTUAL OR ALLEGED INFRINGEMENT OF ANY INTELLECTUAL PROPERTY RIGHTS BY THE
SOFTWARE (INCLUDING DESIGN TECHNIQUES) AND DOCUMENTATION.
Export. Licensee warrants that it is not prohibited from receiving the SOFTWARE under U.S. export laws;
that it is not a national of a country subject to U.S. trade sanctions; that it will not use the SOFTWARE in a
location that is the subject of U.S. trade sanctions that would cover the SOFTWARE; and that to its knowledge
it is not on the U.S. Department of Commerce’s table of deny orders or otherwise prohibited from obtaining
goods of this sort from the United States.
Miscellaneous. This Agreement is the entire agreement between Licensee and Synplicity with respect to the
license to the SOFTWARE, and supersedes any previous oral or written communications or documents (includ-
ing, if you are obtaining an update, any agreement that may have been included with the initial version of the
Software). This Agreement is governed by the laws of the State of California, USA excluding its conflicts of
laws principals. This Agreement will not be governed by the U. N. Convention on Contracts for the Interna-
tional Sale of Goods and will not be governed by any statute based on or derived from the Uniform Computer
Information Transactions Act (UCITA). If any provision, or portion thereof, of this Agreement is found to be
invalid or unenforceable, it will be enforced to the extent permissible and the remainder of this Agreement will
remain in full force and effect. Failure to prosecute a party’s rights with respect to a default hereunder will not
constitute a waiver of the right to enforce rights with respect to the same or any other breach.
LO
March 2008
LO
If your project currently does not include an Identify implementation, you are
prompted to create one. Click OK.
When you launch the Identify Instrumentor, you are prompted for the
location of the Identify Instrumentor executable and the vendor license type.
After entering or verifying this information, clicking the OK button in the
Launch Identify dialog box
• Brings up the Identify Instrumentor graphical interface.
• Automatically imports the project file (*.prj) for the open project in the
Synplicity synthesis tool into the Identify Instrumentor tool and opens
the project.
• Automatically compiles the project.
LO
Graphical Mode
To start the Identify Instrumentor or Identify Debugger in the graphical mode,
do any of the following depending on your platform/operating system:
• In Windows, select Programs->Synplicity->Identify Instrumentor or Programs-
>Synplicity->Identify Debugger from the start menu or enter the appropriate
command at the command prompt:
path_to_identify_install_directory/bin/identify_instrumentor
path_to_identify_install_directory/bin/identify_debugger
• In Linux, enter the appropriate command at the command prompt:
path_to_identify_install_directory/bin/identify_instrumentor
path_to_identify_install_directory/bin/identify_debugger
Note that the Identify Debugger can only be run from the Linux (or
Windows) operating system and that it is not supported by the Solaris
operating system.
The Identify Instrumentor or Identify Debugger can also be run with a Tcl
startup file. To start the tool with a Tcl script, enter the appropriate
command:
path_to_identify_install_directory/bin/identify_instrumentor -f fileName.tcl
path_to_identify_install_directory/bin/identify_debugger -f fileName.tcl
Shell Mode
Both the Identify Instrumentor and Identify Debugger can be started in a
shell mode and controlled by Tcl commands. To start either tool in the shell
mode, enter the appropriate command at the command prompt:
path_to_identify_install_directory/bin/identify_instrumentor_shell
path_to_identify_install_directory/bin/identify_debugger_shell
Vendor Licenses
When you initially start the Identify Instrumentor or Identify Debugger, you
are prompted to select the license type from the licenses available for your
configuration. The following figure shows the Select available license dialog box
with a full complement of license types.
To select a license type, highlight (click on) the entry and then click the Select
button. To avoid being prompted for the license type each time you start the
Identify Instrumentor or Identify Debugger, check the Save as default license type
box before clicking the Select button.
Note: When you select a vendor-only license, you cannot use another
vendor’s device in your design.
After opening the Identify Instrumentor or Identify Debugger, you can change
the license type from within the tool by selecting Help->Preferred License Selec-
tion from the menu to display the Preferred license selection dialog box and then
selecting a new license type as described in the previous paragraph.
LO
Before you begin, it is also helpful to note the amount of unused resources
available in your original design. The Identify Instrumentor provides an
estimate of the additional resources necessary for instrumentation in the
target device which can help maximize the debugging visibility.
The following figure shows a typical design flow using the Identify RTL
Debugger.
Synthesize
Working HDL
Place and Route
View
Configure IICE Design Data
Create
Instrumented
Design
Identify Identify
Instrumentor LO Debugger
Identify
Implementation
3. Right click on the Identify implementation and select Launch Identify from
the popup menu (in Synplify, Synplify Pro, and Synplify Premier, you
can also click the Launch Identify Instrumentor toolbar icon).
4. In the Launch Identify dialog box, make sure that the Locate Identify
Installation field points to the Identify Instrumentor executable (use the
browse button to the right of the field if necessary) and make sure that
the proper License Type is selected.
2. Click the Add Files button to bring up the Add Design Files dialog box.
3. Navigate to the directory containing your HDL design files. All HDL files
are listed in the dialog box.
4. Select (highlight) the design file or files to be added to the project and
click Open to add the files to the project. Use the Control and Shift keys
to add multiple files.
5. The order shown in the list of files is the order in which the files are
compiled. Use drag and drop to correct any file-order dependencies.
6. In the Compile Options section of the project window, enter the name of
the top-level module or LO
entity into the Top level unit field.
7. Click the Compile button, select Actions->Compile from the menu, or click
the Compile current project icon to compile your project.
Note: Alternatively, you can create a TCL script to add the files to your
design. For information on scripting and the compile add
command, see the reference manual.
Watchpopint
Breakpoint
Watchpoints
A watchpoint is instrumented by clicking the watchpoint icon
adjacent to the signal name and selecting Sample Only, Trigger Only, or
Sample and Trigger from the pop-up menu.
• Sample-only signals are sampled by the debug logic. You can view the
data from a sample-only signal, but you cannot use the signal to trigger
the hardware during runtime. The lenses of the watchpoint icon are blue
for sample-only signals.
• Trigger-only signals are not sampled by the debug logic and have no
visibility. These signals are used to create trigger conditions to trigger
the debug logic (IICE) during runtime. The lenses of the watchpoint icon
are pink for trigger-only signals
• Sample and trigger signals connect to both the sample logic and trigger
logic of the IICE. These signals are visible and can be used to trigger the
debug logic. The lenses of the watchpoint icon are green for sample and
trigger signals
Breakpoints
Breakpoints are instrumented by clicking on the icon to the left of the break-
point line. A breakpoint is essentially a control-flow trigger. It is used at
runtime to trigger the debug logic based on the flow through case and if/then/
else statements. During debug, a breakpoint triggers the IICE whenever the
corresponding branch in the code becomes active.
Resource Estimates
As you select each watchpoint and breakpoint, the resource usage is updated
in the console window. The usage reported is an estimate of the resources on
the target device required for the additional instrumentation logic. The
estimate depends on the number
LO of signals and breakpoints selected for the
instrumentation, as well as other IICE settings such as device family and
sample depth. Please see the next section, Configure the IICE, for information
about these settings.
Note: The Identify Instrumentor is not aware of the size of the target
device and it is possible to add more instrumentation to the
design than will fit on the device. Exceeding the device capacity
causes errors during synthesis or place and route.
LO
• 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 interrupted. 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 corre-
sponding to the last time the repeated pattern occurred prior to freezing.
Using always-armed sampling includes a slight area and clock-speed
penalty.
• The Sample clock 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
parameter value.
Note: You can also specify the sample clock signal by right-clicking on
the watchpoint icon (or signal name) and selecting Sample Clock
from the popup menu.
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
that the sampled signals are synchronous with or a multiple of that
clock. The sample clock must use a global clock resource of the chip.
Note: If you need help determining the hierarchical path of your clock,
try finding it in the HDL source viewer. You may then add and
remove it for instrumentation. The full hierarchical path of the
signal will be echoed to the TCL command line. Remember that a
signal cannot be used as the sample clock if it is instrumented.
• 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.
The Export IICE trigger signal option brings out the IICE’s global trigger signal to
the top level of your design. This signal can then be used to trigger a logic
analyzer or to trigger another IICE.
The Allow cross triggering in IICE option, when enabled, allows the current IICE
unit to accept a cross-trigger from another IICE unit.
LO
Once you have instrumented your design, you will begin the process of imple-
menting the design and then debugging it. Note that any changes to the
Identify project, the design files, or the instrumentation can cause the current
project to become invalid. Take care not to change the instrumentation or
otherwise overwrite the current project. The Identify Debugger takes many
precautions to ensure correct sample data, and does not allow debugging of a
design that has been changed or the viewing of files that have been modified.
These types of changes may require you to re-run synthesis and place and
route.
The Identify RTL Debugger allows you to create multiple instrumentations for
a single design using another target device as well as using different IICE
configuration parameters. Also, you can make incremental changes to the
instrumentation set during the debug phase and then only run a partial place
and route flow which can drastically reduce the debug cycle time. For infor-
mation on multiple instrumentations and the incremental flow, see the User
Guide.
Note: Always synthesize and place and route your instrumented design
using all of the original constraints and settings.
When you run the Identify Instrumentor in stand-alone mode (i.e., when the
tool is not launched from a Synplicity synthesis tool), the Identify Instru-
mentor creates a Tcl script file named synplify.tcl in the instrumentation direc-
tory projectName_instr. This file is then imported into the Synplicity synthesis
tool (Run->Run Tcl Script) to create the synthesis project file and load the instru-
mented design into the synthesis tool.
Note: These files are only required when a design utilizes the Altera
built-in JTAG controller as described in this guide. The files are
not added to the Quartus project, but are simply copied to the
Quartus project directory where they are accessed. Quartus
reports an error whenever these files are needed and they are not
included in the project directory.
Setting Breakpoints
Potential breakpoints are indicated by a green circle in the margin to the left
of the source code. Clicking on a breakpoint activates the breakpoint and
changes the color of the circle from green to red.
Setting Watchpoints
Watchpoint triggers can be specified on any sampled signal. The watchpoint
condition, which is any legal VHDL or Verilog expression that evaluates to a
constant, is set through the user interface.
2. Select Set trigger expressions from the popup menu to display the Watchpoint
Setup dialog box
3. In the First value field, enter a value for the watch expression.
4. Click OK
LO
The setting of the watchpoint trigger is noted by the breakpoint icon next to
the watched signal changing from green to red.
When an instrumented design has more than one activated watchpoint, the
watchpoint events are ANDed together which effectively causes the watch-
points to be dependent on each other – all activated watchpoint events must
occur coincidently to cause the sampling buffer to acquire its sample.
When an instrumented design has one or more activated breakpoints and one
or more activated watchpoints, the result of the OR of the breakpoint events
and the result of the AND of the watchpoint events are ANDed together. The
result of this AND operation is called the Master Trigger Signal. This ANDing
effectively causes the breakpoints and watchpoints to be dependent on each
other – one activated breakpoint and all activated watchpoint events must
occur coincidently to cause the sampling buffer to acquire its sample.
LO
You can change where the trigger point is in the buffer by selecting one of the
Early, Middle, or Late buttons and then clicking on the Run button again. The
trigger location changes the next time that the IICE triggers.
Waveform Display
In addition to displaying the sampled data for the selected signals, the
Identify Debugger can export the sample buffer contents for display in a
variety of waveform viewers (GTKWave, Aldec Active-HDL, Novas Debussy).
Communication Errors
The following are common errors that you may encounter when setting up
communications with the Identify Debugger.
" ERROR: Communication is stuck at one/zero. Please check the cable connection.
The Identify Debugger is unable to communicate with the instrumented
device. This error is usually attributed to a cable connection problem.
Make sure that the cable is correctly connected between the parallel/
USB port and the JTAG port of the board and verify that the cable type
is set correctly in the project editor (select File->Edit Project or use the com
cabletype TCL command).
" ERROR: Instrumented design on FPGA differs from design loaded into Identify
Debugger.
This error indicates that the Identify Debugger cannot find a device in
the JTAG chain that has been instrumented by the Identify Instru-
mentor. In this case, the ID of the instrumentation does not match the
ID of the currently loaded project. Please verify that the correct project is
loaded for the corresponding
LO bit file. The error occurs when the project is
re-instrumented without regenerating a bit file. If you have changed the
design or its instrumentation, you must create a new bit file before
debugging the design.
" ERROR: No hardware devices were found. Please check the cable connection.
This error indicates that no devices are visible in the JTAG identification
register chain. The error is usually caused by a bad cable connection or
an incorrect cable type setting.
" ERROR: The hardware has not seen an active clock edge of the sample clock.
This error usually indicates that the Identify hardware is functioning
correctly and that the Identify Debugger is able to communicate with the
device, but that the sample clock is not being toggled. This error can be
caused if the wrong clock is chosen in the Identify Instrumentor. Please
verify that the correct sample clock is selected using the iice clock
command. Also check that the clock signal is using the global clock
resources of the chip.
Note: This error often occurs when the clock signal is not assigned
correctly to the clock pin on the board. Verify that, during place-
ment, the clock signal (sample clock) is correctly assigned to the
chip pin that is connected to the clock oscillator on the board.
Clock Skew
When the data returned from the Identify Debugger appears incorrect or does
not properly relate to the given trigger condition, there may be an issue with
clock skew on the JTAG clock. Make sure that the identify_clk signal is using
the global clock resources on the chip. If there is no clock buffer available,
you may have the Identify Instrumentor build skew-resistant hardware.
Please see the user guide for more information on skew-free hardware.
Debug Mode
If you are experiencing a communication error that is not listed above or if
you have not been able to resolve the error, contact support@synplicity.com.
If may be helpful to run the Identify Debugger in “debug” mode as outlined
below:
3. Append the -debug flag to the path to the executable in the target field.
6. Make a copy of the log file and send it with any other important details
about your particular setup/flow as well as the Identify project file (*.bsp)
to support@synplicity.com.
Because the Identify RTL Debugger allows you to debug your design in the
HDL, the Identify Debugger must have access to the original source files.
Depending on the type of your network, the Identify Debugger may be able to
access the original sources files directly from the lab machine. If this is not
possible or if the two computers are not networked, you must also transfer
the original sources to the debug machine. If the Identify Debugger cannot
LO
locate the original source files, it will open the project, but an error will be
generated for each missing file, and the corresponding source code will not be
visible in the source viewer.
Copying the source files to the debug machine can be done in two ways:
• Identify can automatically copy the original source files into the instru-
mentation directory so that when you copy the instrumentation direc-
tory (projectName_instr) to the lab machine, the original sources will be
included. The Identify Debugger automatically looks in this directory for
any missing source files. This preference can be set before instrumenta-
tion by selecting Options->Instrumentation preference and making sure that
Save original source in instrumentation directory is checked.
• The original source files can be manually copied to the lab machine or
may already exist in a different location on this machine. In this case, it
may be necessary to help Identify find the design files using the search-
path command. Simply call this command from the command line before
loading the Identify project file (*.bsp). The argument is a semi-colon-
separated list of directories in which to find the original source files.
The Identify Debugger will only display files that match the CRC taken at the
time of instrumentation.
Note: If there are security issues with having the original source files on
the lab machine, the Identify Instrumentor can password-protect
the original sources for use with the Identify Debugger (for infor-
mation on file encryption, see the User Guide).