In-System Programming Design TM. Guidelines for ispjtag Devices. Introduction. Device-specific Connections. isplsi 1000EA Family.



Similar documents
ISP Engineering Kit Model 300

Using ispgdx, isplsi 2000VE and 5000V Devices in Hot-Swap Environments

In-System Programmability

SPI Flash Programming and Hardware Interfacing Using ispvm System

Using the Agilent 3070 Tester for In-System Programming in Altera CPLDs

isppac-powr1220at8 I 2 C Hardware Verification Utility User s Guide

ISP Daisy Chain Download User Manual

MAX II ISP Update with I/O Control & Register Data Retention

Allows the user to protect against inadvertent write operations. Device select and address bytes are Acknowledged Data Bytes are not Acknowledged

JTAG Applications. Product Life-Cycle Support. Software Debug. Integration & Test. Figure 1. Product Life Cycle Support

Introducing AVR Dragon

The Boundary Scan Test (BST) technology

RoHS Compliant Packaging

ICS379. Quad PLL with VCXO Quick Turn Clock. Description. Features. Block Diagram

JTAG-HS2 Programming Cable for Xilinx FPGAs. Overview. Revised January 22, 2015 This manual applies to the HTAG-HS2 rev. A

ATF1500AS Device Family. Application Note. In-System Programming of Atmel ATF1500AS Devices on the HP3070. Introduction.

11. High-Speed Differential Interfaces in Cyclone II Devices

Application Note, V2.2.1, July 2003 AP OCDS Level 1 JTAG Connector. 16-Bit & 32-Bit Microcontrollers. AI Microcontrollers. Never stop thinking.

Designing VM2 Application Boards

VITESSE SEMICONDUCTOR CORPORATION. 16:1 Multiplexer. Timing Generator. CMU x16

CHAPTER 11: Flip Flops

WICE-SPI Hardware Operation Manual

Application Note 83 Fundamentals of RS 232 Serial Communications

Data Sheet. Adaptive Design ltd. Arduino Dual L6470 Stepper Motor Shield V th November L6470 Stepper Motor Shield

USER GUIDE. ATWINC1500B Hardware Design Guidelines - IEEE b/g/n IoT Module. Atmel SmartConnect. Introduction

USB ENGINEERING CHANGE NOTICE

Using Altera MAX Series as Microcontroller I/O Expanders

Pre-tested System-on-Chip Design. Accelerates PLD Development

This application note is written for a reader that is familiar with Ethernet hardware design.

NTE2053 Integrated Circuit 8 Bit MPU Compatible A/D Converter

Single 2.5V - 3.6V or 2.7V - 3.6V supply Atmel RapidS serial interface: 66MHz maximum clock frequency. SPI compatible modes 0 and 3

MasterBlaster Serial/USB Communications Cable User Guide

PL-277x Series SuperSpeed USB 3.0 SATA Bridge Controllers PCB Layout Guide

ICS514 LOCO PLL CLOCK GENERATOR. Description. Features. Block Diagram DATASHEET

M25P05-A. 512-Kbit, serial flash memory, 50 MHz SPI bus interface. Features

AVR151: Setup and Use of the SPI. Introduction. Features. Atmel AVR 8-bit Microcontroller APPLICATION NOTE

SIMPLE EPROM PROGRAMMER. EPROM Programmer Design. Hardware

ET-BASE AVR ATmega64/128

RETRIEVING DATA FROM THE DDC112

Analog Servo Drive 25A8

USB to serial chip CH340

Supply voltage Supervisor TL77xx Series. Author: Eilhard Haseloff

Transmission-Line Effects Influence High-Speed CMOS

Pmod peripheral modules are powered by the host via the interface s power and ground pins.

Section 28. In-Circuit Serial Programming (ICSP )

A New Chapter for System Designs Using NAND Flash Memory

LatticeECP2/M S-Series Configuration Encryption Usage Guide

Microcontroller Based Low Cost Portable PC Mouse and Keyboard Tester

Dual DIMM DDR2 and DDR3 SDRAM Interface Design Guidelines

GETTING STARTED WITH PROGRAMMABLE LOGIC DEVICES, THE 16V8 AND 20V8

SPY-BATT Battery Tutor Device Installation Manual Rev /04/2016

TABLE OF CONTENTS. xiii List of Tables. xviii List of Design-for-Test Rules. xix Preface to the First Edition. xxi Preface to the Second Edition

Interfacing 3V and 5V applications

STF & STF201-30

DKWF121 WF121-A B/G/N MODULE EVALUATION BOARD

Designing a Schematic and Layout in PCB Artist

9. Configuration, Design Security, and Remote System Upgrades in the Cyclone III Device Family

+5 V Powered RS-232/RS-422 Transceiver AD7306

Eliminate Risk of Contention and Data Corruption in RS-485 Communications

Chapter 6 PLL and Clock Generator

The Programming Interface

ON-GUARD. Guard Management System. Table of contents : Introduction Page 2. Programming Guide Page 5. Frequently asked questions Page

Interfacing To Alphanumeric Displays

CAN Bus Transceivers Operate from 3.3V or 5V and Withstand ±60V Faults

ATF15xx Product Family Conversion. Application Note. ATF15xx Product Family Conversion. Introduction

A New Paradigm for Synchronous State Machine Design in Verilog

M68EVB908QL4 Development Board for Motorola MC68HC908QL4

AVX EMI SOLUTIONS Ron Demcko, Fellow of AVX Corporation Chris Mello, Principal Engineer, AVX Corporation Brian Ward, Business Manager, AVX Corporation

DS1307ZN. 64 x 8 Serial Real-Time Clock

Non-Contact Test Access for Surface Mount Technology IEEE

Application Note, V 2.2, Nov AP32091 TC1766. Design Guideline for TC1766 Microcontroller Board Layout. Microcontrollers. Never stop thinking.

RC2200DK Demonstration Kit User Manual

Design and Verification of Nine port Network Router

Real Time Clock USB Evaluation Board V3.0

UM1613 User manual. 16-pin smartcard interface ST8034P demonstration board. Introduction

Figure 1. 8-Bit USB Debug Adapter

MAX6683 Evaluation System/Evaluation Kit

A Lesson on Digital Clocks, One Shots and Counters

1+1 PROTECTION WITHOUT RELAYS USING IDT82V2044/48/48L & IDT82V2054/58/58L HITLESS PROTECTION SWITCHING

FM75 Low-Voltage Two-Wire Digital Temperature Sensor with Thermal Alarm

GPS/GLONASS SiRFstarV Evaluation Kit EVA5100-A

Interfacing Intel 8255x Fast Ethernet Controllers without Magnetics. Application Note (AP-438)

Atmel AVR1017: XMEGA - USB Hardware Design Recommendations. 8-bit Atmel Microcontrollers. Application Note. Features.

ICS SPREAD SPECTRUM CLOCK SYNTHESIZER. Description. Features. Block Diagram DATASHEET

APPLICATION NOTE. AVR042: AVR Hardware Design Considerations. AVR 8-bit Microcontrollers. Features. Description

8-Bit Flash Microcontroller for Smart Cards. AT89SCXXXXA Summary. Features. Description. Complete datasheet available under NDA

Printed Circuit Boards. Bypassing, Decoupling, Power, Grounding Building Printed Circuit Boards CAD Tools

LatticeXP2 Configuration Encryption and Security Usage Guide

TRIPLE PLL FIELD PROG. SPREAD SPECTRUM CLOCK SYNTHESIZER. Features

A Lesson on Digital Clocks, One Shots and Counters

21555 Non-Transparent PCI-to- PCI Bridge

XS-3525/8S-3. Preliminary DataSheet Version 2.02

User Manual. AS-Interface Programmer

Extended Boundary Scan Test breaching the analog ban. Marcel Swinnen, teamleader test engineering

1 Gbit, 2 Gbit, 4 Gbit, 3 V SLC NAND Flash For Embedded

Design of a High Speed Communications Link Using Field Programmable Gate Arrays

Microprocessor & Assembly Language

Automated Contact Resistance Tester CR-2601

High-Speed, 5 V, 0.1 F CMOS RS-232 Driver/Receivers ADM202/ADM203

IEC ESD Immunity and Transient Current Capability for the SP72X Series Protection Arrays

Transcription:

In-System Design TM February 2002 Introduction In-system programming (ISP ) has often been billed as a direct replacement for configuring a device through a programmer. The idea that devices can simply be placed on a board, connected to a PC through a cable and programmed is an attractive alternative for many newer packages such as the Thin Quad Flat Pack (TQFP) or Ball Grid Array (BGA). When devices are placed on a board, however, care must be taken in the design of that board in the loading of the clock lines, buffering, and termination of signals. This is true for ISP signals as well as the datapath or control signals generated or used by a device. Therefore, it is necessary to follow some general guidelines when designing in-system programmability into a board. An ideal setup for in-system programming includes buffers at both the parallel port connection of a short cable and on the board to be configured, in addition to termination of all lines which are run in parallel such as and. When there are only a few devices in the chain, the buffer inside the ispdownload cable may be sufficient. The following recommendations will make for a smoother ISP experience. Device-specific Connections In addition to good PCB layout practices, including the use of decoupling capacitors between V CC and ground on each ISP device and minimizing trace lengths wherever possible, additional care must be taken to ensure programming interface signal integrity. Many of Lattice ISP devices include some optional pins (ispen, BSCAN, ENABLE, EPEN and BSCAN/ispEN) that enable the IEEE 1149.1 TAP controller. Some devices support the optional asynchronous reset pin, TRST. Additionally, the TOE pin is available on some devices to tri-state the functional I/O pins. The following section provides a summary of these optional pins. Unless using some outside control, most of these optional pins are not used on a typical board. A typical wiring configuration is shown for each device family. For the isplsi 2000VE, 2000VL and 2000E devices, a filtering capacitor (.01µF) must be provided between the ispen signal and ground when the ispen or BSCAN device pin is connected to the ispen signal on the programming connector. This filtering capacitor must be located as close as possible to the ISP connector on the PCB, in order to filter out any noise during programming. The ispen signal is driven low while programming. Without the capacitor, noise can couple into the ispen signal during programming and could interrupt the programming sequence. isplsi 1000EA Family No pins affect TAP controller operation as shown in Figure 1. Figure 1. isplsi 1000EA Family isplsi 1000EA www.latticesemi.com 1 ispguide_07

In-System Design isplsi 2000VE, 2000VL and 2000E Families For strict boundary scan compliance, the BSCAN pin must be low. When this pin is high, the TAP controller pins are disabled and the functional dedicated inputs are selected. Since this requires some external control to prevent contention between the functional and boundary scan signals, it is recommended to reserve these pins for boundary scan. Figure 2 shows a recommended connection. Figure 2. isplsi 2000VE, 2000VL and 2000E Families BSCAN isplsi 2000VE isplsi 2000VL isplsi 2000E isplsi 5000V Family The TOE pin will disable functional I/O pins when driven low. Unless using boundary scan tester hardware and software that controls TOE, tie it to V CC to disable this pin. While in programming mode or EXTEST is loaded, the I/O pins are controlled by the boundary scan test registers and TOE has no affect. Figure 3 shows TOE tied to V CC. Figure 3. isplsi 5000V Family TOE isplsi 5000V isplsi 8000 Family For strict boundary scan compliance, the BSCAN/ispEN pin must be high. When this pin is driven low, the TAP controller pins are disabled, the device enters ISP programming mode and the I/O pins tri-state. The TOE pin will disable the functional I/O pins when driven low. Unless using boundary scan tester hardware and software that controls TOE, tie it to V CC to disable this pin. While in programming mode or EXTEST is loaded, the I/O pins are controlled by the boundary scan test registers and TOE has no effect. Figure 4 shows BSCAN/ispEN and TOE tied to V CC. 2

In-System Design Figure 4. isplsi 8000 Family BSCAN/ispEN TOE isplsi 8000 isplsi 8000V and ispgdxv Families For strict boundary scan compliance, the EPEN pin must be high. When this pin is driven low, the TAP controller pins are disabled. EPEN can be used as a chip select to allow the TAP pins to be connected directly to a bus. The TOE pin will disable the functional I/O pins when driven low. Unless using boundary scan tester hardware and software that controls TOE, tie it to V CC to disable this pin. While in programming mode or EXTEST is loaded, the I/O pins are controlled by the boundary scan test registers and TOE has no affect. Figure 5 shows EPEN and TOE tied to V CC. Figure 5. isplsi 8000V and ispgdxv Families EPEN TOE isplsi 8000V or ispgdxv ispgdx Family For strict boundary scan compliance, the BSCAN/ispEN pin must be high. When this pin is driven low, the TAP controller pins are disabled, the device enters ISP programming mode and the I/O pins tri-state. The TOE pin will disable the functional I/O pins when driven low. Unless using boundary scan tester hardware and software that controls TOE, tie it to V CC to disable this pin. Figure 6 shows BSCAN/ispEN and TOE tied to V CC. 3

In-System Design Figure 6. ispgdx Family EPEN TOE ispgdx ispmach 4000B/C, 5000VG, ispgal 22LV10 No pins affect TAP controller operation as shown in Figure 7. Figure 7. ispmach 4000B/C, 5000VG, ispgal22lv10 ispmach 4000B/C, 5000VG ispgal22lv10 ispmach 4A Family The TRST and ENABLE pins are optional JTAG pins and are only found on some of the ispmach 4A devices, as listed in Table 1. For strict boundary scan compliance, the ENABLE pin must be low. When the pin is high, the program and verify instructions become inactive. For new designs, it is recommended that the TRST pin is tied high to keep the TAP controller from being inadvertently reset. If the ispmach 4A device supports TRST and the TRST pin is used, Lattice recommends that a 4.7KΩ resistor should be connected between the TRST signal and ground. The resistor will hold the TAP controller in reset until the TRST signal is overdriven by a high signal. Adding the resistor will increase noise immunity at power-up. 4

In-System Design Figure 8. ispmach 4A TRST ENABLE ispmach 4A Table 1. ispmach 4A JTAG Pin Support Device ispmach 4A (3,5)-32/32 ispmach 4A (3,5)-64/32 ispmach 4A3-64/64 ispmach 4A (3,5)-96/48 ispmach 4A (3,5)-128/64 ispmach 4A (3,5)-192/96 ispmach 4A (3,5)-256/128 ispmach 4A3-256/160 ispmach 4A3-256/192 ispmach 4A3-384/160 ispmach 4A3-384/192 ispmach 4A3-512/160 ispmach 4A3-512/192 ispmach 4A3-512/256 Pins Supported,,,,,,,,, TRST, ENABLE,,,,,, TRST, ENABLE,,,,,, TRST, ENABLE,,, TRST, ENABLE,,,,,,,,,,,,,,, MACH Devices All MACH ISP devices use a standard IEEE-1149.1 test access port (TAP) as the programming interface. The TAP is comprised of four standard pins:,, and. Certain devices also include the optional asynchronous reset pin, TRST, and a program enable pin, ENABLE. This configuration is found on the MACH355, MACH445, MACH465, MACH4-128/64, MACH4-192/96 and the MACH4-256/128. In a programming environment, it is only necessary to connect the four standard TAP pins. With the six-pin configuration, while ispvm System software supports the use of the TRST pin and ENABLE pin, it is not a requirement. For new designs, the TRST pin should be permanently tied to V CC and the ENABLE pin should be tied to ground. If the TRST pin is used, it should be tied to ground through a 4.7KΩ resistor to improve noise immunity. Making the connections recommended above for the MACH devices will simplify the layout of a board and will eliminate the need for additional buffers for those signals. If the TRST pin is used, care should be taken to minimize crosstalk with other signals. Additionally, the TRST pin should be tied to ground through a 4.7KΩ resistor. This will 5

In-System Design keep the device in reset until that signal is overdriven by the programming hardware. This increases the noise immunity of the device during power-up situations. Pin Connections After After programming and testing has been completed, the question often arises, What should be done with the ISP port signals? One of the requirements in the IEEE1149.1 standard for the JTAG port is that both the pin and the pin have internal pull-up resistors. By ensuring that there is a 1 on the pin, inadvertent clocking of will not cause the JTAG state machine to leave its reset state. During power-up, inadvertent clocking on can cause the 1149.1 state machine and instruction register to come up in an undesirable state. To increase noise immunity during power-up, the following recommendation is made: A 4.7KΩ pull-up resistor should be used on the signal and a 4.7KΩ pull-down resistor on the signal on a board. As the number of devices connected to the / signals increases, the pull-up and pull-down resistor values may need to be adjusted as more internal pull-up resistors are affecting those signals. For a chain with 10 devices, the pull-down resistor value on should be 2KΩ. Buffering As stated earlier, the ideal scheme for buffering includes buffers at both ends of the cable and buffers for each group of five to eight devices in the programming chain. This case does not cover all situations, however. For example, in a design with only two devices in the chain, the question arises, Is a buffer needed? The recommendation for buffering is as follows: Buffering is needed for the,, and TRST lines. It should also be used for the signal into the board and the signal out of the board. If there are fewer than five devices in a programming chain, additional buffers are not required, but are recommended. If there are five or more devices, buffering is recommended, as well as a separate buffer for each group of five to eight devices. When using a buffer, trace lengths should be balanced to minimize signal skew. A pull-down resistor is required on and a pull-up resistor is required on affter the output driver of each buffer. The ispdownload cable should be used when available. The length of this cable should be no longer than six feet and its length should be minimized when possible. The,, and optional signals mentioned earlier (TRST, TOE, ispen, BSCAN, ENABLE, EPEN and BSCAN/ ispen) are run in parallel to all 1149.1 and ISP devices on a board. Therefore, these signals will tend to present a larger load to the source driving them. In many cases, this is the ispdownload cable connected to a PC parallel port. This buffered cable is no longer than six feet in length. The transmission line effects of both the cable and the traces on the board are the cause for the recommendation of additional buffering on the board itself. The and signals of each device are daisy chained where the of one device will feed the of the next. The more devices connected to a given signal, the greater the loading on that signal. Therefore, it is necessary to buffer heavily loaded signals and to split the loading of a given signal so that there is a smaller load. This load should also be balanced, both in terms of the number of devices driven by that signal, and the lengths of the traces to each device, so that signal skew does not become an issue. There are several buffers suitable for use in the programming chain. These include the 74LS244 and the 74LS367. When selecting a buffer, there are two parameters to watch for. The first is the output edge rate. If it is too fast, reflections can become a concern. The second is input voltage requirements. Certain buffers such as the 74HC244 have VIH specifications that are a function of Vcc. In a mixed-signal environment, where there is a 3.3V and a 5V supply on the board, the Vcc of the buffer should be tied to the lower of the two supplies to reduce VIH. The correct use of buffers on the board can go a long way to either solve existing programming problems or prevent them. It is not the only consideration, however. 6

In-System Design Termination of Signals In any high-speed board or system design, termination of signals is often required to ensure reliable operation. The same is true in an ISP environment. Termination and correct board layout techniques can go a long way to develop a reliable programming setup. Some of the effects of not terminating a signal can include negative overshoot, where a signal will glitch to a negative voltage for a very short period of time (< 2 ns), or double clocking, where a clock signal may have a negative glitch on its rising edge. Both situations can be devastating in an ISP environment. To prevent such possibilities, the following steps should be taken. Avoid using buffers with extremely fast edge rates such as the 74F244. Terminate the signal either using a balanced termination network on the main trunk of the signal or by using 68Ω resistors in series with each pin the signal is connected to. When Buffers Aren t Used While buffers are recommended for all designs, they may not always be practical in a smaller design where there are only one or two devices in the programming chain. In a situation such as this, there are precautions that can be taken to minimize problems. If there are noise problems, they can often be cleaned up using a simple RC filter on both the and signals and on the signal into the first device. Additionally, ISP devices may not always have enough drive capability on their pins to either pull up or pull down a signal six feet away at the parallel port. In this situation the following measure can be taken. A 4.7KΩ pull-up or pull-down resistor may be necessary on the signal of the last device in the programming chain to reliably switch the signal into the parallel port. This should only be necessary if buffers are not being included as a part of the board design. Mixed Voltage Chains Combining devices with different V CC voltages into one programming chain can be a challenge. Devices that have 5V or 3.3V V CC can be combined with no problem because the JTAG pins are all TTL level signals. The 3.3V and 5V devices can be combined in any order. When 2.5V and 1.8V devices are added onto a board with 3.3V and 5V devices, the voltage levels of the programming pins are not compatible. In order to have any combination of 1.8V, 2.5V, 3.3V or 5V devices, the JTAG pins will need to be referenced to a common voltage, such as 3.3V. Some devices have a V CCJ pin which can be used to reference all the JTAG pins to a common voltage supplied to V CCJ. Other devices that do not support the V CCJ pin will have to have the JTAG pin voltages translated using a translator chip. A translator chip such as the 74LVC07A can take 1.8V inputs and produce 3.3V outputs. When mixing V CC and programming chains, caution must be used to protect the integrity of the programming chain to reduce programming errors. Debugging in the ISP Environment If all of the above guidelines are followed, programming should be smooth and reliable. Problems that may arise might be the result of improper settings in the ispvm System software or improper device configuration. Errors most commonly occur when the download software is checking the structure of the programming chain by reading the device IDCODEs of all Lattice ISP devices in the chain and checking for a single bit from all other devices. If an error occurs, the following could be wrong and should be considered: If the errors returned are either all 1 or all 0, the following could be wrong: The programming/jtag connections are incorrect and should be checked. The programming chain has been incorrectly specified. Check both the order of the devices in the chain and the number of instruction register bits in each of the non-lattice devices. If the errors returned are a combination of 1 and 0 and they vary, the and lines may not be either sufficiently terminated or buffered. Refer to the guidelines above. 7

In-System Design I/O States Before and During All ISP devices are shipped from Lattice with a fuse pattern that will put all I/O pins in the high-impedance state prior to programming. This configuration prevents ISP devices from driving unwanted signals to other devices in the system before they can be properly programmed. During a programming cycle, all Lattice ISP devices default to having their I/O pins tri-stated. In most situations, this should not cause problems. If the state of the I/O needs to be modified during the programming cycle, the ispvm System software can program the I/O cell with a 1, 0 or Z. See the ispvm System on-line help for more information. Conclusion The use of the design guidelines and debug techniques presented here will lead to a reliable ISP design and programming flow. ISP offers many advantages over traditional programming techniques, but additional considerations must be taken into account during its implementation, such as proper buffering and termination. This will ensure an effective and productive ISP experience. Technical Support Assistance Hotline: 1-800-LATTICE (Domestic) 1-408-826-6002 (International) e-mail:techsupport@latticesemi.com 8