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.