JTAG SMT2-NC Reference Manual

Download this Reference Manual

The Joint Test Action Group (JTAG)-SMT2-NC is a compact, complete, and fully self-contained surface-mount programming module for Xilinx field-programmable gate arrays (FPGAs). The module can be accessed directly from all Xilinx Tools, including iMPACT, Chipscope, eFuse, Vivado and EDK. Users can load the module directly onto a target board and reflow it like any other component.

The JTAG-SMT2-NC uses a 3.3V main power supply and a separate Vref supply to drive the JTAG signals. All JTAG signals use high speed 24mA three-state buffers that allow signal voltages from 1.8V to 5V and bus speeds up to 30MBit/sec. The JTAG bus can be shared with other devices as the SMT2-NC signals are held at high impedance, except when actively driven during programming. The SMT2-NC module is CE certified and fully compliant with EU RoHS and REACH directives. The module routes the USB D+ (DP) and D- (DM) signals out to pads, providing the system designer with the ability to choose the type of USB connector and its location on the system board.

Features include:

  • Small, complete, all-in-one JTAG programming/debugging solution for Xilinx FPGAs
  • Compatible with all Xilinx Tools
  • Compatible with IEEE 1149.7-2009 Class T0 – Class T4 (includes 2-Wire JTAG)
  • GPIO pin allows debugging software to reset the processor core of Xilinx’s Zynq® platform
  • Single 3.3V supply
  • Separate Vref drives JTAG signal voltages; Vref can be any voltage between 1.8V and 5V.
  • High-Speed USB2 port that can drive JTAG/SPI bus at up to 30Mbit/sec (frequency settable by user)
  • SPI programming solution (modes 0 and 2 up to 30Mbit/sec, modes 1 and 3 up to 2Mbit/sec)
  • Small form-factor surface-mount module can be directly loaded on target boards
  • USB D+ and D- signals routed to pads, allowing USB connector to be placed anywhere on the host PCB

Users can connect JTAG signals directly to the corresponding FPGA signals, as shown in Fig. 1. For best results, mount the module over a ground plane on the host PCB. Although users may run signal traces on top of the host PCB beneath the SMT2-NC, Digilent recommends keeping the area immediately beneath the SMT2-NC clear.

Note: Keep the impedance between the SMT2-NC and FPGA below 100 Ohms to operate the JTAG at maximum speed.

The SMT2-NC improves upon the SMT1 with the addition of three general purpose I/O pins (GPIO0 – GPIO2) and support for interfacing IEEE 1149.7-2009 JTAG targets in both 2 and 4-wire modes.

In addition to supporting JTAG, the JTAG-SMT2-NC also features eight highly configurable Serial Peripheral Interface (SPI) ports that allow communication with virtually any SPI peripheral (see Fig. 2). All eight SPI ports share the same SCK, MOSI, and MISO pins, so users may enable only one port at any given time. Table 1 summarizes the features supported by each port. The SMT2-NC supports SPI modes 0, 1, 2, and 3.

Chip Select Signal Port Number SPI Mode Shift LSB First Shift MSB First Selectable SCK Frequency Max SCK Frequency Min SCK Frequency Inter-byte Delay
TMS/CS0 0 0 Yes Yes Yes 30 MHz 8 KHz 0 – 1000 µS
2 Yes Yes Yes 30 MHz 8 KHz 0 – 1000 µS
1 0 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
1 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
2 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
3 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
GPIO0/CS1 2 0 Yes Yes Yes 30 MHz 8 KHz 0 – 1000 µS
2 Yes Yes Yes 30 MHz 8 KHz 0 – 1000 µS
3 0 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
1 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
2 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
3 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
GPIO1/CS2 4 0 Yes Yes Yes 30 MHz 8 KHz 0 – 1000 µS
2 Yes Yes Yes 30 MHz 8 KHz 0 – 1000 µS
5 0 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
1 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
2 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
3 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
GPIO2/CS3 6 0 Yes Yes Yes 30 MHz 8 KHz 0 – 1000 µS
2 Yes Yes Yes 30 MHz 8 KHz 0 – 1000 µS
7 0 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
1 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
2 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS
3 Yes Yes Yes 2.066 MHz 485 KHz 0 – 1000 µS

Note: The Xilinx Tools expect GPIO2/CS3 to be connected to the SRST_B pin on a Zynq chip. As a result, SPI ports 6 and 7 may not be used for SPI communication if the Xilinx Tools are going to be used to communicate with the SMT2.

Software Support

The JTAG-SMT2-NC has been designed to work seamlessly with Xilinx’s ISE® (iMPACT, ChipScope, EDK, eFuse) and Vivado tool suites. The most recent versions of ISE and Vivado include all of the drivers, libraries, and plugins necessary to communicate with the JTAG-SMT2-NC. At the time of writing, the following Xilinx software included support for the SMT2-NC: Vivado 2014.1+, Vivado 2013.1+, and ISE 14.1+.

The SMT2-NC is also compatible with ISE 13.1 – 13.4. However, these versions of ISE do not include all of the libraries, drivers, and plugins necessary to communicate with the SMT2-NC. In order to use the JTAG-SMT2-NC with these versions of ISE, version 2.5.2 or higher of the Digilent Plugin for Xilinx Tools package must be downloaded from the Digilent website and the ISE13 plugin must be manually installed as described in the included documentation.

In addition to working seamlessly with all Xilinx tools, Digilent’s Adept software and the Adept software development kit (SDK) support the SMT2-NC module. For added convenience, customers may freely download the SDK from Digilent’s website. This Adept software includes a full-featured programming environment and a set of public application programming interfaces (API) that allow user applications to directly drive the JTAG chain. With the Adept SDK, users can create custom applications that will drive JTAG ports on virtually any device. Users may utilize the APIs provided by the SDK to create applications that can drive any SPI device supporting those modes. Please see the Adept SDK reference manual for more information.

IEEE 1149.7-2009 Compatibility

The JTAG-SMT2-NC supports several scan formats, including the JScan0-JScan3, MScan, and OScan0 - OScan7. It is capable of communicating in 4-wire and 2-wire scan chains that consist of Class T0 – T4 JTAG Target Systems (TS) (see Figs. 3 & 4).

The IEEE 1149.7-2009 specification requires any device that functions as a debug and test system (DTS) to provide a pull-up bias on the TMS and TDO pins. In order to meet this requirement, the JTAG-SMT2-NC features weak pull-ups (100K ohm) on the TMS, TDI, TDO, and TCK signals. Though not required in the specifications, the pull-ups on the TDI and TCK signals ensure that neither signal floats while another source is not driving them (see Fig. 5).

Users should place a current limiting resistor between the TMS pin of the SMT2-NC and the TMSC pin of the TS when using the JTAG-SMT2-NC to interface with a 1149.7 compatible TS. If a drive conflict occurs, this resistor should prevent damage to components by limiting the amount of current flowing between the pins of each device. A 200 ohm resistor will limit the maximum current to 16.5mA when using a 3.3V reference (see Figs. 6 & 7). While this level of resistance should be sufficient for most applications, the value of the resistor may need to be adjusted to meet the requirements of the TS.

In most cases, users can avoid a drive conflict by having applications that use the SMT2-NC communicate with the TS in two-wire mode. Use the applications to reconfigure the TS to use the JScan0, JScan1, JScan2, or JScan3 scan format prior to disabling the SMT2-NC’s JTAG port.

The Adept SDK provides an example application that demonstrates how to communicate with a Class T4 TAP controller using the MScan, OScan0, and OScan1 scan formats.


The JTAG-SMT2-NC has three general purpose I/O pins that are useful for a variety of different applications (GPIO0, GPIO1, and GPIO2). Each pin features high speed three-state input and output buffers. At power up, the JTAG-SMT2-NC disables these output buffers and places the signals in a high-impedance state. Each signal remains in a high-impedance state until a host application enables DPIO port 0 and configures the applicable pin as an output. When the host application disables DPIO port 0, all GPIO pins revert to a high-impedance state. Weak pull-ups (100K ohm) ensure that the GPIO signals do not float while not being actively driven (see Fig. 8).

When customers use the JTAG-SMT2-NC to interface the scan chain of Xilinx’s Zynq platform, they should connect the GPIO2 pin of the SMT2-NC to the Zynq’s PS_SRST_B pin. This connection allows the Xilinx Tools to reset the Zynq’s processor core at various times during debugging operations. Please see the following “Application Examples” section for more information.

Note: The Xilinx tools expect GPIO2 to be connected to the SRST_B pin on a Zynq chip. As a result, GPIO2 may not be used as a general purpose I/O if the Xilinx tools are going to be used to communicate with the SMT2. Note: DPIO port 0 can only be used while both JTAG and SPI are disabled.

Application Examples

Example 1: Interfacing a Zynq-7000 when VCCO_0 and VCCO_MIO1 use a common supply

Figure 9 demonstrates how to connect the JTAG-SMT2-NC to Xilinx’s Zynq-7000 silicon when the same voltage supplies both the VCCO_0 (Programmable Logic Bank 0 Power Supply) and the VCCO_MIO1 (Processor MIO Bank 1 Power Supply).

In this case, the SMT2-NC has a 100K pull-up to VREF, which operates at the same voltage as VCCO_MIO1. This similar voltage makes it possible to eliminate the external pull-up that is normally required for the PS_SRST_B pin.

Example 2: Interfacing a Zynq-7000 that uses different voltages for VCCO_0 and VCCO_MIO1

Figure 10 demonstrates how to connect the JTAG-SMT2-NC to Xilinx’s Zynq-7000 silicon when different voltages supply the VCCO_0 (Programmable Logic Bank 0 Power Supply) and VCCO_MIO1 (Processor MIO Bank 1 Power Supply). If the Zynq’s JTAG pins are operating at a different voltage than the PS_SRST_B, it requires an external buffer to adjust the level of the GPIO2 signal. The example in Fig. 10 demonstrates the use of an open drain buffer to allow for the possibility of adding a reset button.

Example 3: Interfacing a Zynq-7000 while retaining the Xilinx JTAG Header

Figure 11 below demonstrates how to connect the JTAG-SMT2-NC to Xilinx’s Zynq-7000 silicon alongside Xilinx’s 14-pin JTAG header. In this example, the open drain buffers allow both the SMT2-NC and Xilinx JTAG Header to drive the PS_SRST_B pin, which may operate a different voltage than the Zynq’s JTAG pins.

Supported Target Devices

The JTAG-SMT2-NC is capable of targeting the following Xilinx devices:

  1. Xilinx FPGAs, including UltraScale+
  2. Xilinx SoCs, MPSoCs, and RFSoCs, including Xilinx Zynq-7000 and Zynq UltraScale+
  3. Xilinx ACAPs, including Versal
  • Xilinx CoolRunner™/CoolRunner-II CPLDs
  • Xilinx Platform Flash ISP configuration PROMs
  • Select third-party SPI PROMs
  • Select third-party BPI PROMs

The following devices cannot be targeted by the JTAG-SMT2-NC:

  • Xilinx 9500/9500XL CPLDs
  • Xilinx 1700 and 18V00 ISP configuration PROMs
  • Xilinx FPGA eFUSE programming

Remote device configuration is not supported for the JTAG-SMT2-NC when used with Xilinx’s iMPACT software. Note: Please see the “Introduction to Indirect Programming – SPI or BPI Flash Memory” help topic in iMPACT for a list of supported FPGA/PROM combinations. Note: Please see the “Configuration Memory Support” section of Xilinx UG908 for a list of the FPGA/PROM combinations that Vivado supports.

Programming Solutions Comparison Chart

Mechanical Information

Note: PCB dimensions have a tolerance of +/- 0.13mm.

Note: All dimensions are shown in millimeters.

General USB Signal Routing Guidelines

  • Maintain a differential impedance of 90 ohms between the DP and DM signals.
  • Keep DP and DM trace lengths within 50 mils of each other.
  • Minimize DP and DM signal trace length. Keeping the trace length below 3 inches is recommended.
  • When possible, route DP and DM on the plane closest to the ground plane.
  • When possible, avoid routing the DP and DM signals through vias. If vias cannot be avoided, then keep them small and place the DP and DM traces on the same layer.
  • When possible, avoid routing other traces near DP and DM.
  • When possible, minimize or avoid the use of bends in the DP and DM traces. If 90 degree bends are necessary, then use two 45 degree turns or an arc instead of a single 90 degree turn.
  • Do NOT route DP or DM near oscillators, crystals, switching regulators, clock generators, or inductors.

Absolute Maximum Ratings

Symbol Parameter Condition Min Max Unit
Vdd Operating supply voltage -0.3 4.0 V
Vref I/O reference/supply voltage -0.3 6 V
VIO Signal Voltage -0.3 6 V
Iik, Iok TMS, TCK, TDI, TDO, GPIO0, GPIO1, GPIO2 VIO < -0.3V -50 mA
DC Input/Output Diode Current VIO > 6V +20
Iout DC Output Current ±50 mA
Tstg Storage Temperature -10 +60 ºC
ESD Human Body Model JESD22-A114 4000 V
Charge Device Model JESD22-C101 2000 V

DC Operating Characteristics

Symbol Parameter Min Typ Max Unit
Vdd Operating supply voltage 2.97 3.3 3.63 Volts
Vref I/O reference/supply voltage 1.65 2.5/3.3 5.5 Volts
TDO, GPIO0, GPIO1, GPIO2 Input High Voltage (VIH) 1.62 5.5 Volts
Input Low Voltage (VIL) 0 0.65 Volts
TMS, TCK, TDI, GPIO0, GPIO1, GPIO2 Output High (VOH) 0.85 x Vref 0.95 x Vref Vref Volts
Output Low (VOL) 0 0.05 x Vref 0.15 x Vref Volts
Ta Operating Temperature -40 85 ºC

AC Operating Characteristics

The JTAG-SMT2-NC’s JTAG signals operate according to the timing diagram in Fig. 12. The SMT2-NC supports JTAG/TCK frequencies from 30 MHz to 8 KHz at integer divisions of 30 MHz from 1 to 3750. Common frequencies include 30 MHz, 15 MHz, 10 Mhz, 7.5 MHz, and 6 MHz (see Table 2). The JTAG/TCK operating frequency can be set within the Xilinx tools.

Note: Please refer to Xilinx’s iMPACT documentation for more information.

Figure 12. Timing diagram.

Symbol Parameter Min Max
Tck Tck period 30ns 125µs
Tckh, Tck Tclk pulse width 15ns 62.5µs
Tcd Tclk to TMS, TDI -0.5ns 12.35ns
TCD_TDI TCLK to TDI -0.5ns 8.15ns
TSETUP TDO Setup time 15.8ns
Thd TDO Hold time 0ns

Mounting to Host PCBs

The JTAG-SMT2-NC module has a moisture sensitivity level (MSL) of 6. Prior to reflow, the JTAG-SMT2-NC module must be dried by baking it at 70° C for 72 hours (the tray and the module itself can be baked 125° C for 24 hours, but any labels and rubber feet present on the module cannot withstand this higher temperature). Once this process has been completed, the module has a MSL of 3 and is suitable for reflow for up to 168 hours without additional drying.

The factory finishes the JTAG-SMT2-NC signal pads with the ENIG process using 2u” gold over 150u” electroless nickel. This makes the SMT2-NC compatible with most mounting and reflow processes (see Fig. 13). The binding force of the solder is sufficient to hold the SMT2-NC firmly in place so mounting should require no additional adhesives.


Digilent ships quantities under 40pcs individually packaged in antistatic bags with MSL 6. Digilent will pack and ship larger quantities in groups of 40 positioned in an antistatic bake tray with MSL 3 (see Fig. 14). Trays will be packaged in an anti-static vacuum sealed bag. We also offer to bake them before shipping for an additional cost per 40pc lot.

Figure 14. JTAG-SMT2-NC shipping arrangement.

Figure 14. JTAG-SMT2-NC shipping arrangement.