Using 3070 For Insystem Programming
Using 3070 For Insystem Programming
Introduction
Device Support
Supported Devices
MAX 7000S
MAX 7000A
MAX 7000AE
MAX 3000A
MAX 3000A
MAX 9000
MAX 9000A
HP 3070
Development
Flow
Start
Step 1
Create a
Printed Circuit Board
(PCB) and Test Fixture
Step 2
Create a
Serial Vector Format
(.svf) File
Step 3
Step 4
Create Executable
Tests from Files
Step 5
Compile Executable
Tests
Designer
Test Engineer
Debug
Programming
Successful?
Step 6
No
Yes
Done
Altera Corporation
The TCK signal trace should be treated as carefully as a clock tree. TCK
is the clock for the entire Joint Test Action Group (JTAG) chain of
devices. These devices are edge-triggered on the TCK signal, so it is
imperative that this signal be protected from high-frequency noise
and have good signal integrity. Ensure that the signal meets the tR
and tF parameters specified in the device data sheet.
Add a pull-down resistor to TCK. The TCK signal should be held low
through a pull-down resistor in-between PCF downloads (for more
information on pattern capture format (PCF) downloads, see Step 2:
Create a Serial Vector Format (SVF) File). You should hold TCK low
because the HP 3070 drivers go into a high-Z state in-between tests
and briefly drive low as the next PCF is applied. When the TCK line
floats, the programming data stream will be corrupted and the
device will not be programmed correctly.
Provide VCC and GND test access points for the nails of the test fixture.
During operation, there should be enough access points to allow
quiet PCB operation. Having too few access points results in a noisy
system that can disrupt JTAG scans.
Turn off on-board oscillators. During programming, on-board
oscillators should have the ability to be electrically turned off to
reduce system noise.
Add external resistors to pull outputs to a defined logic level during
programming.
Altera Corporation
For more information on board design for ISP, see Application Note 100
(In-System Programmability Guidelines).
Altera Corporation
In Figure 2, the SVF File targets two EPM7128AE devices, where ASIC1 is
the first device in the chain (closest to TDI) and i386 is the last device in
the chain (TDO). Each Programmer Object File (.pof) corresponds to a
targeted EPM7128AE device. The value in the TCK Frequency box should
match the frequency that TCK runs at during the test. If you enter a
different frequency from the one used in actual testing, programming
may fail or you may experience an excessively long programming time.
You can also select whether to perform a program or verify operation and
optionally verify or blank-check the device by turning on programming
options. Altera recommends generating SVF Files that include verify
vectors, which ensure that programming failures are identified and a
limited amount of additional programming time is used. You can
generate the necessary SVF File based on the scan-chain topology of the
board and the Altera devices to be programmed. Once the SVF File is
generated, it can be given to test engineers for development.
If a device must be programmed independently, you can generate
individual SVF Files for each Altera device in the chain. When creating the
SVF File for a single device in the chain, specify the POF for the device and
leave the rest of the devices set to <none>. These devices are bypassed
during programming. Repeat this process until all targeted devices have
an SVF File.
Altera Corporation
Mark the TCK and TMS boundary-scan nodes as critical in the Board
Consultant. This critical marking minimizes the nodes wire length in the
test fixture.
Altera Corporation
digital
digital
digital
digital
"prog_a";
"prog_b";
"prog_c";
"prog_d";
permanent
permanent
permanent
permanent
digital
"digital/pcf1"
re-save
You can also use the chtype command at a UNIX shell prompt to verify
the location of the file:
chtype
Altera Corporation
-n6
digital/pcf1
7
"digital/prog_a"
"digital/prog_b"
"digital/prog_c"
"digital/prog_d"
!
!
!
!
Keep the test execution in the same order in which the SVF File was split.
For example, if the SVF File was split into four files (pcf1, pcf2, pcf3, and
pcf4), the tests must be executed in the order that they split (execute
prog_a followed by prog_b followed by prog_c followed by prog_d).
If the order is not preserved, the device(s) will fail to program correctly.
"digital/prog_a"
"digital/prog_b"
"digital/prog_c"
"digital/prog_d"
;
;
;
;
debug
debug
debug
debug
-D
-D
-D
-D
digital/prog_a
digital/prog_b
digital/prog_c
digital/prog_d
Altera Corporation
The device ID does not match what is expected. This scenario will be
evident if the failure occurs at the beginning of the first test. This error
is encountered when non-F devices are used. Re-apply the vectors
using an F device. (see Device Support on page 1 for more details
on F versus non-F devices).
Device programming failed.
Because many vectors are verified, it may not be practical to sift through
each vector to determine the cause of the failure. Use the following
troubleshooting guidelines if the device fails to program:
Altera Corporation
Check the pull-down resistor in the test fixture. The design engineer
may have placed pull-up resistors on the board for the TCK pin. If the
pull-down resistor is too large, the TCK pin may be above the devices
threshold for a logic low. Adjust the value of the resistor accordingly.
See the appropriate device family data sheet for the specification on
input logic levels.
If an overpower error on the TCK pin occurs, check the value of the
resistors because they may be too low for the test system to
back-drive for an extended period of time.
Ensure that the test execution order is correct. If the tests are executed
out of order, the programming information will be incorrect. Also, if
the same test is executed twice in a row, the target device will be out
of sequence and will not receive the correct programming
information.
Ensure that the actual vectors match the expected values for the input
pins (TCK, TMS, and TDI). If they are not the same, the tests may need
to be recompiled.
Ensure that the pcf order statement in the test matches the order of
the PCF code generated in Step 2: Create a Serial Vector Format
(SVF) File on page 4. If they do not match, the order must be changed
and the tests recompiled.
If possible, verify that the device is programmed correctly by using
the MAX+PLUS II software, the ByteBlasterMVTM download cable,
and the POF that was used to generate the SVF File. This action is not
practical in a production situation, but is useful during test
development and debugging.
Once the test is running smoothly, the board is ready for production
programming. Altera recommends saving the PCF Files and object code
for back-up purposes. Use a compression program to minimize the size of
the stored binaries and files.
Programming
Times
Programming times on the HP 3070 are very consistent. The only variable
is the TCK frequency, which affects programming times. The faster the
clock, the less time is spent shifting data into the device.
Application Note 85 (In-System Programming Times for MAX Devices)
provides detailed programming time data for in-circuit testers. This
application note includes programming times as a function of the TCK
frequency, and the number of devices being programmed. The data
provided in this application note is based on theoretical calculations.
However, as tests have shown, these numbers are accurate to within less
than one second of actual programming times on the HP 3070 tester.
The following example provides detailed data points from a specific test
case. The data shown in this example provides a general idea of the typical
programming times that can be expected, as well as information on file
sizes and resources utilized on the host workstation. In this example, four
EPM7128SQC160-7F devices are programmed in a chain, using the
HP 3070. An SVF File is generated targeting all four EPM7128S devices
and the test flow is used to convert the PCF Files into executable vectors.
The results are shown in Tables 2 and 3.
10
Altera Corporation
B.02.54
Controller type
725/100
15
about 700,000
9,925,512
5.4 Mb
78.7 Mb
3 hours, 17 minutes
TCK = 2 MHz
1,000 ns (1 s)
250 ns
52 seconds
41 seconds
23 seconds
6 seconds
Guidelines
While using the HP 3070 tester for programming, use the following
guidelines:
Altera Corporation
To save time and disk space, generate SVF Files that include a verify
in the programming operation. This process integrates verification
vectors into one step, minimizing the amount of work in the test
development process. This integrated verify accurately captures any
programming errors; therefore, it is not necessary to add an
additional stand-alone verify in the test sequence.
While this document describes how to generate a test to apply vectors
to the device for programming, a boundary-scan description
language (BSDL) file is required to functionally test the device. If you
need to perform a boundary-scan test or functional test, generate a
BSDL file for the programmed state of the target device that contains
the pin configuration information (e.g., which pins are inputs,
outputs, or bidirectional pins). Use the HP 3070 boundary-scan
software to generate a test.
Conclusion
Revision
History
12
Copyright 2003 Altera Corporation. All rights reserved. Altera, The Programmable Solutions Company, the
stylized Altera logo, specific device designations, and all other words and logos that are identified as
trademarks and/or service marks are, unless noted otherwise, the trademarks and service marks of Altera
Corporation in the U.S. and other countries. All other product or service names are the property of their
respective holders. Altera products are protected under numerous U.S. and foreign patents and pending
applications, mask work rights, and copyrights. Altera warrants performance of its
semiconductor products to current specifications in accordance with Altera's standard
warranty, but reserves the right to make changes to any products and services at any time
without notice. Altera assumes no responsibility or liability arising out of the application
or use of any information, product, or service described herein except as expressly agreed
to in writing by Altera Corporation. Altera customers are advised to obtain the latest
version of device specifications before relying on any published information and before
placing orders for products or services .
Altera Corporation
Printed on Recycled Paper.