UG48 - Programming Cables User Guide


Programming Cables

User Guide
March_2015
UG48_24.8
Programming Cables
Features
• Support for all Lattice programmable products
— 1.2 V to 3.3 V programming (HW-USBN-2B)
— 1.2 V to 5 V programming (All other cables)
— Ideal for design prototyping and debugging
• Connect to multiple PC interfaces
— USB (v.1.0, v.2.0)
— PC Parallel Port
• Easy-to-use programming connectors
— Versatile flywire, 2 x 5 (.100”) or 1 x 8 (.100”) connectors
— 6 feet (2 meters) or more of programming cable length (PC to DUT)
• Lead-free/RoHS compliant construction
Figure 1. USB Cable – HW-USBN-2B
Programming Cables
Lattice Programming Cable products are the hardware connection for in-system programming of all Lattice devices.
After completion of the logic design and creation of a programming file with the Lattice Diamond®, ispLEVER® Classic or PAC-Designer® software, the Lattice Diamond Programmer, or Lattice's ispVM™ System software is used to
control the programming of devices directly on the PC board. No additional components are required to program a
device.
After you complete your logic design and create a programming file with the Lattice Diamond/ispLEVER Classic
development tools, you can use Diamond Programmer or ispVM™ System software ispVM™ System software or
Diamond Programmer to program devices on your board. The ispVM System/Diamond Programmer software automatically generates the appropriate programming commands, programming addresses and programming data
based on information stored in the programming file and parameters you set in Diamond Programmer/ispVM System. Programming signals are then generated from the USB or parallel port of a PC and directed through the Programming Cable to the device. No additional components are required for programming.
Diamond Programmer/ispVM System software is included with all Lattice design tool products and is available for
download from the Lattice web site at www.latticesemi.com.
2
Programming Cables
Programming Cable Pin Definitions
The functions provided by the Programming cables correspond with available functions on Lattice programmable
devices. Since some devices contain different programming features, the specific functions provided by the Programming cable may depend on the selected target device. ispVM System/Diamond Programmer software will
automatically generate the appropriate functions based on the selected device. See Table 1 for an overview of the
Programming cable functions.
Table 1. Programming Cable Pin Definitions
Programming
Cable Pin
Programming Cable
Pin Type
Name
Description
VCC
Programming Voltage
Input
Connect to VCC or VCCJ plane of the target device. Typical
ICC = 10 mA. Your board design supplies the power for
VCC. Note: This may not be the same as a target device’s
VCCO plane.
SDO/TDO
Test Data Output
Input
Used to shift data out via the IEEE1149.1 (JTAG) 
programming standard.
SDI/TDI
Test Data Input
Output
Used to shift data in via the IEEE1149.1 programming
standard.
ispEN/Enable/PR
Enable
OG/SN
Output
Enable device to be programmed.
SN = SSPI Chip select for HW-USBN-2B
TRST
Test Reset
Output
Optional IEEE 1149.1 state machine reset.
DONE
DONE
MODE/TMS
Test Mode Select Input
GND
Ground
SCLK/TCK
Test Clock Input
INIT
Initialize
Input
I2C: SCL1
I2C SCL
Output
Provides the I2C signal SCL
I2C: SDA1
I2C SDA
Output
Provides the I2C signal SDA.
5V Out1
5V Out
Output
Provides a 5 V signal for the iCEprog M1050 Programmer.
Input
DONE indicates status of configuration
Used to control the IEEE1149.1 state machine.
Output
Input
Connect to ground plane of the target device
Output
Used to clock the IEEE1149.1 state machine
Indicates device is ready for configuration to begin. INITN
is only found on some devices.
1. Only found on the HW-USBN-2B cable.
Figure 2. Programming Cable In-System Programming Interface for the PC (HW-USBN-2B)1
TCK/SCLK*
TMS*
I2C: SCL
TDI/SI *
5V OUT
TDO/SO*
I2C: SDA
VCC*
DONE
ISPEN/PROG/SN
GND*
TRST
* Indicates flywire connections required for most basic JTAG programming.
1. Requires Diamond Programmer 3.1 or later
3
Programming Cables
Figure 3. Programming Cable In-System Programming Interface for the PC (HW-USB-1A or HW-USB-2A)1
Color
Function
To
PC
6'
Red
Brown
Orange
Yellow
Green
Purple
Black
White
Blue
VCC
SDO/TDO
SDI/TDI
ispEN/Enable/PROG
TRST/DONE
MODE/TMS
GND
SCLK/TCK
INIT
HW-USB-1A
To
System
Board
1. Lattice PAC-Designer® software does not support programming with USB cables. To program ispPAC devices with these cables, use the Diamond Programmer/ispVM System software.
Figure 4. Programming Cable In-System Programming Interface for the PC (HW-DLN-3C and Equivalents)1
HW7265-DL3 and HW7265-DL3A – Grey Housing with RJ-45 Connector
Other Cables are Labeled with Part Number
25-pin
Parallel
Port
Adapter
To
PC
Function
VCC
6'
Color
Red
SDO/TDO
Brown
SDI/TDI
Orange
ispEN/Enable/Prog
Yellow
TRST
Green
MODE/TMS
Purple
GND
Black
SCLK/TCK
White
To
System
Board
1. HW7265-DL3, HW7265-DL3A, HW-DL-3B, HW-DL-3C and HW-DLN-3C are functionally equivalent products.
Figure 5. Programming Cable In-System Programming Interface for the PC (pDS4102-DL2 or pDS4102DL2A)
End View
pDS4102-DL2 – Blue Housing
pDS4102-DL2A – Grey Housing
To
PC
25-pin
Parallel
Port
Adapter
Function
VCC
.100" Center-Spacing
Eight Positions
RJ-45 Connector
Eight Positions
.01µf*
Capacitor
6'
Pin #
1
SDO/TDO
2
SDI/TDI
3
ispEN/Enable/PROG
4
TRST
5
MODE/TMS
6
GND
7
SCLK/TCK
8
To
System
Board
Note: Capacitor Recommended on System Board
Figure 6. Programming Cable In-System Programming Interface for the PC (HW7265-DL2 or HW7265-DL2A)
HW7265-DL2 – Blue Housing
HW7265-DL2A – Grey Housing
To
PC
25-pin
Parallel
Port
Adapter
Overhead View of PC Board
ConnectorPinout
End View1
Pin # Function
2
GND
RJ-45 Connector
Eight Positions
6'
SCLK/TCK
Function
Pin #
1
Pin # Function
1
SCKL/TCK
4
GND
MODE/TMS
3
6
VCC
SDI/TDI
5
8
GND
SDO/TDO
7
3
To
System 5
Board 7
10
ispEN/Enable/
PROG
TRST
9
9
GND
Pin #
2
MODE/TMS
GND
4
SDI/TDI
VCC
6
SDO/TDO
GND
8
TRST
ispEN/Enable/
PROG
10
Function
1. For reference purposes, the 2x10 connector on the HW7265-DL2 or HW7265-DL2A is equivalent to Tyco 102387-1. This will interface to
standard 100-mil spacing 2x5 headers, or a 2x5 keyed, recessed male connector such as the 3M N2510-5002RB.
4
Programming Cables
Programming Software
Diamond Programmer and ispVM System for Classic devices is the preferred programming management software tool for all Lattice devices and download cables. The latest version of Lattice Diamond Program-mer or
ispVM System software is available for download from the Lattice web site at www.latticesemi.com/software.
Target Board Design Considerations
A 4.7K pull-down resistor is recommended on the TCK connection of the target board. This pull-down is recommended to avoid inadvertent clocking of the TAP controller induced by fast clock edges or as VCC ramps up. This
pull-down is recommended for all Lattice programmable families.
The I2C signals SCL and SDA are open drain. A 2.2K pull-up resistor to VCC is required on the target board.
For Lattice device families that feature low power, it is recommended to add a 500 ohm resistor between VCCJ and
GND during the programming interval when a USB Programming cable is connected to a very low power board
design. A FAQ is available that discusses this in more depth at: 
http://www.latticesemi.com/en/Support/AnswerDatabase/2/2/0/2205
The JTAG programming port speed may need to be governed when using the Programming cables connected to
customer PCBs. This is especially important when there is long PCB routing or with many daisy-chained devices.
The Lattice programming software can adjust the timing of TCK applied to the JTAG programming port from the
cable. This low-precision port setting of TCK depends on many factors, including the PC speed and the type of
cable used (parallel port, USB or USB2). This software feature provides an option to slow the TCK for debug or
noisy environments. A FAQ is available that discusses this in more depth at: 
http://www.latticesemi.com/en/Support/AnswerDatabase/9/7/974.aspx
The USB Download Cable can be used to program Power Manager or ispClock products with Lattice programming
software. When using the USB cable with the Power Manager I devices, (POWR604, POWR1208, POWR1208P1),
you must slow do TCK by a factor of 2. A FAQ is available that discusses this in more depth at: 
http://www.latticesemi.com/en/Support/AnswerDatabase/3/0/306.aspx
Programming Flywire and Connection Reference
Refer to Table 2 when connecting a flywire download cable to systems that use the 1x8-position or 2x5-position
connectors. For newer Lattice FPGA families, a 1x10 connector used in conjunction with the Programming USB
cable adds support for the DONE and INITN signals. Both of these signals are inputs to the cable, and can be used
to help verify device configuration.
Table 2. Flywire Conversion Reference
Function
VCC1
Flywire
Cable
Wire
Label
1x10
Connector
1x8
Connector
2x5
Connector
Red
VCC
1
1
6
TDO/SO/SPI_SO
Brown
TDO
2
2
7
TDI/SI/SPI_SI
Orange
TDI
3
3
5
ispEN2/Enable/PROGRAMN/SN/SPI_SS_B
Yellow
ispEN/PROG
4
4
10
TRST3/CRESET_B
Green
TRST/DONE
5
5
9
TMS/MODE
Purple
TMS
6
6
3
GND
Black
GND
7
7
4 (2 and 8)
TCK4/SCLK/CCLK/SPI_SCK
White
TCK
8
8
1
Green
TRST/DONE
9
Blue
INITN
10
3
DONE
INITN/CDONE
I2C SCL5, 6
Yellow/White
I2C: SCL
I2C SDA5,6
Green/White
I2C: SDA
5
Programming Cables
Table 2. Flywire Conversion Reference (Continued)
Function
5V Output5
Flywire
Cable
Wire
Label
Red/White
5V Out
1x10
Connector
1x8
Connector
2x5
Connector
1. For devices that have a VCCJ pin, the VCCJ must be connected to the cable’s VCC, and a 0.1µF decoupling capacitor is required on VCCJ
close to the device. Please refer to the device data sheet to determine if the device has a VCCJ pin.
2. For older Lattice ISP devices, a 0.01µF decoupling capacitor is required on ispEN/ENABLE of the target board.
3. The TRST and DONE pin is multiplexed on the Programming USB cable. If the device TRST signal is available on the board, connect the
USB flywire TRST/DONE wire to TRST. If the device DONE signal is available on the board (or if both TRST and DONE are available), connect the USB flywire TRST/DONE wire to DONE. Please make sure the correct setting is selected in ispVM/Diamond Programmer (Options,
Cable and I/O Port Setup). This will tell ispVM/Diamond Programmer whether the TRST/DONE cable is used as a TRST or a DONE signal.
4. A 4.7K pull-down resister is recommended on TCK of the target board.
5. Only on the HW-USB2N-2B cable
6. Open drain signals. External pull-up ~2.2KOhm resistor to VCC is required.
Table 3 lists the recommend pin connections. Please contact Lattice technical support for information on unlisted
device families. (e-mail: [email protected]).
Table 3. Recommended Pin Connections
TDI
TDO
TMS
TCK
ispEN/P
ROG1,6
TRST2/D
ONE3,6
INITN3,6
VCC
GND
SCL
SDA
ECP5™
Mandatory
Mandatory
Mandatory
Mandatory
Optional
Optional
Optional
Mandatory
Mandatory
N/A
N/A
LatticeECP3™
Mandatory
Mandatory
Mandatory
Mandatory
Optional
Optional
Optional
Mandatory
Mandatory
N/A
N/A
LatticeECP2M™/LatticeECP2™
Mandatory
Mandatory
Mandatory
Mandatory
Optional
Optional
Optional
Mandatory
Mandatory
N/A
N/A
LatticeECP™/LatticeEC™
Mandatory
Mandatory
Mandatory
Mandatory
Optional
Optional
Optional
Mandatory
Mandatory
N/A
N/A
LatticeXP2™
Mandatory
Mandatory
Mandatory
Mandatory
Optional
Optional
Optional
Mandatory
Mandatory
N/A
N/A
LatticeXP™
Mandatory
Mandatory
Mandatory
Mandatory
Optional
Optional
Optional
Mandatory
Mandatory
N/A
N/A
LatticeSC™/LatticeSCM™
Mandatory
Mandatory
Mandatory
Mandatory
Optional
Optional
Optional
Mandatory
Mandatory
N/A
N/A
Recommended
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
Optional
Optional
Device Family
iCE40™/iCE40LM/iCE40 Ultra™
Mandatory
Mandatory
N/A
Mandatory
Mandatory
Recommended
MachXO2™/MachXO3™
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
MachXO™
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
N/A
N/A
ORCA®/FPSC
Mandatory
Mandatory
Mandatory
Mandatory
Optional
Optional
Optional
Mandatory
Mandatory
N/A
N/A
ispXPGA®
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
N/A
N/A
ispXPLD™
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
N/A
N/A
ispMACH® 4000
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
N/A
N/A
ispMACH/ispLSI® 5000
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
N/A
N/A
MACH®4A4
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
N/A
N/A
ispGDX2™
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
N/A
N/A
ispClock™
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A5
N/A
Mandatory
Mandatory
N/A
N/A
Platform Manager™
Mandatory
Mandatory
Mandatory
Mandatory
N/A
Optional5
N/A
Mandatory
Mandatory
N/A
N/A
Power Manager/Power Manager II
Mandatory
Mandatory
Mandatory
Mandatory
N/A
Optional5
N/A
Mandatory
Mandatory
N/A
N/A
ispPAC®
Mandatory
Mandatory
Mandatory
Mandatory
N/A
N/A
N/A
Mandatory
Mandatory
N/A
N/A
1. Refer to the Programming Cable ispEN Pin section below for detailed information on connecting the ispEN/ENABLE pin.
2. Refer to the Programming Cable TRST Pin section below for detailed information on connecting the TRST pin.
3. The DONE and INITN signals are only available on the Programming USB cable. These signals are inputs to the cable and can be used to help verify device
configuration.
4. Please refer to the device data sheet. Not all packages have the ENABLE or TRST pin.
5. When using PAC-Designer® software to program ispPAC devices, do not connect this pin.
6. When using these connections, be sure to select the correct settings in the Cable and I/O Port Setup dialog in the ispVM System/Diamond Programmer software.
6
Programming Cables
Connecting the Programming Cable
The target board must be un-powered when connecting, disconnecting, or reconnecting the Programming Cable.
Always connect the Programming Cable’s GND pin (black wire), before connecting any other JTAG pins. Failure to
follow these procedures can result in damage to the target programmable device.
Programming Cable TRST Pin
Connecting the board TRST pin to the cable TRST pin is not recommended. Instead, connect the board TRST pin
to Vcc. If the board TRST pin is connected to the cable TRST pin, instruct ispVM/Diamond Programmer to drive the
TRST pin high as follows:
1. Select the Options menu item.
2. Select Cable and I/O Port Setup.
3. Check the TRST/Reset Pin Connected checkbox.
4. Select the Set High radio button.
If the proper option is not selected, the TRST pin will be driven low by ispVM/Diamond Programmer. Consequently,
the BSCAN chain will not work because the chain will be locked into RESET state.
Programming Cable ispEN Pin
The following pins should be grounded:
• BSCAN pin of the 2000VE devices
• ENABLE pin of MACH4A3/5-128/64, MACH4A3/5-64/64 and MACH4A3/5-256/128 devices.
However, the user has the option of having the BSCAN and ENABLE pins driven by the ispEN pin from the cable.
In this case, ispVM/Diamond Programmer must be configured to drive the ispEN pin low as follows:
1. Select the Options menu item.
2. Select Cable and I/O Port Setup.
3. Check the ispEN/BSCAN Pin Connected checkbox.
4. Select the Set Low radio button.
Table 4. Programming Cable Feature Summary
Feature
USB
HW-USBN-2B
HW-USBN-2A
HW-USB-2A
HW-USB-1A
X
X
X
X
HW-DLN-3C
HW7265-DL3,
HW7265-DL3A,
HW-DL-3B,
HW-DL-3C
HW7265-DL2
HW7265-DL2A
PDS4102-DL2
PDS4102-DL2A
X
X
X
X
X
X
PC-Parallel
1.2 V Support
X
X
1.8 V Support
X
X
X
X
X
X
2.5-3.3 V Support
X
X
X
X
X
X
X
X
X
X
5.0 V Support
X
X
X
X
X
X
X
X
X
2x5 Connector
X
X
X
X
X
X
X
X
X
1x8 Connector
X
X
X
X
X
X
Flywire
X
X
X
X
X
X
Lead-free
Construction
X
X
Available for order
X
X
X
7
X
X
Programming Cables
Each Programming Cable ships with two small connectors that help you keep the flywires organized. The following
manufacturer and part number is one possible source for equivalent connectors:
• 1x8 Connector (e.g. Samtec SSQ-108-02-T-S)
• 2x5 Connector (e.g. Samtec SSQ-105-02-T-D)
The Programming Cable flywire or headers are intended to connect to standard 100-mil spacing headers (pins
spaced 0.100 inch apart). Lattice recommends a header with length of 0.243 inches or 6.17 mm. Though, headers
of other lengths may work equally well.
Ordering Information
Ordering Part
Number
Description
Programming cable (USB). Contains 6' USB cable, flywire connectors,
8-position (1x8) adapter and 10-position (2x5) adapter, lead-free, RoHS
compliant construction.
Programming cable (PC only). Contains parallel port adapter, 6' cable,
flywire connectors, 8-position (1x8) adapter and 10-position (2x5) adapter,
lead-free, RoHS compliant construction.
China RoHS EnvironmentFriendly Use Period (EFUP)
HW-USBN-2B
HW-DLN-3C
Note: Additional cables are described in this document for legacy purposes only, these cables are no longer produced. The cables currently
available for order are fully equivalent replacement items.
Technical Support Assistance
e-mail:
[email protected]
Internet: www.latticesemi.com
8
Programming Cables
Revision History
Date
Version
Change Summary
March 2015
24.8
Updated Programming Cable Pin Definitions section.
— Revised description of INIT in Table 1, Programming Cable Pin Definitions.
January 2015
24.7
Updated Programming Cable Pin Definitions section.
— In Table 1, Programming Cable Pin Definitions, ispEN/Enable/PROG
changed to ispEN/Enable/PROG/SN and its description revised.
— Updated Figure 2, Programming Cable In-System Programming
Interface for the PC (HW-USBN-2B).
Updated Programming Cable ispEN Pin section.
In Table 4, Programming Cable Feature Summary, HW-USBN-2B
marked as available for order.
Updated Ordering Information section. HW-USBN-2A changed to HWUSBN-2B
July 2014
24.6
Changed document title to Programming Cables User’s Guide
Changed ispDOWNLOAD Cables to Programming Cables.
Updated Target Board Design Considerations section. Updated FAQ
link on ispVM tool control of TCK duty cycle and/or frequency.
Updated Table 3, Recommended Pin Connections. Added ECP5,
iCE40LM, iCE40 Ultra, and MachXO3 device families.
Updated Technical Support Assistance information.
October 2012
24.5
Added iCE40 configuration port pin names to the Flywire Conversion
Reference table.
Added iCE40 information to Recommended Cable Connections table.
February 2012
24.4
Updated document with new corporate logo.
November 2011
24.3
Document transferred to user’s guide format.
Added Figure USB Cable – HW-USBN-2A.
Updated Recommend Cable Connections table for MachXO2 devices.
Updated Target Board Design Considerations section.
Added Appendix A.
October 2009
24.2
Added information related to the physical specifications of the flywire
connectors.
July 2009
24.1
Added Target Board Design Considerations text section.
Added Programming Flywire and Connection Reference section heading.
—
—
Previous Lattice releases.
9
Programming Cables
Appendix A. Troubleshooting the USB Driver Installation
It is essential that you install the drivers before connecting your PC to the USB cable. If the cable is connected
before installing the drivers, Windows will try to install its own drivers that may not work.
If you have attempted to connect the PC to the USB cable without first installing the appropriate drivers, or have
trouble communicating with the Lattice USB cable after installing the drivers, following the steps below:
1. Plug in the Lattice USB cable. Choose Start > Settings > Control Panel > System. In the System Properties
dialog box, click the Hardware tab and Device Manager button. Under Universal Serial Bus controllers, you
should see Lattice USB ISP Programmer. If you do not see this, look for the Unknown Device with the yellow
flag.
2. Double click on the Unknown Device icon.
10
Programming Cables
3. Click Reinstall Driver.
4. Select Browse for driver software on your computer.

For Lattice EzUSB Driver

For FTDI FTUSB Driver
11
Programming Cables
5. Browse to the isptools\ispvmsystem directory for the Lattice EzUSB driver or the isptools\ispvmsystem\
Drivers\FTDIUSBDriver directory for the FTDI FTUSB driver. For Diamond installations, browse to 
lscc/diamond/data/vmdata/drivers. Click Next.
6. Select Install this Driver software anyway. The system will update the driver.
7. Click Close and finish installing the USB driver. Under Control Panel >System >Device Manager > Universal Serial Bus Controllers should include the following:

For the Lattice EzUSB Driver: Lattice USB ISP Programmer device installed.
12

For the FTDI FTUSB Driver: USB Serial Converter A and Converter B devices installed.
If you are experiencing problems or need additional information, contact Lattice Technical Support.