The decision to buffer a JTAG chain depends on the signal integrity of the JTAG signals. Pay particular attention to the TCK
signal because it is the JTAG clock. For an accurate assessment on when to buffer and terminate JTAG signals, Altera recommends performing a transmission-line analysis of these traces.
When sending the JTAG information through any download cable for programming or configuration, Altera recommends buffering the signals at the connector because cables and board connectors tend to make bad transmission lines. In addition to this initial buffer at the connector, you must add buffers as the chain gets longer.
Providing general guidelines for adding buffers is difficult because it is dependent on the board layout, loads, connectors, jumpers, and switches. One board may have a chain of several devices that do not need buffering if the JTAG lines are clean; however, another board might need buffering on a chain of only one device.
In general, anything added to the board that affects the inductance or capacitance of the JTAG signals increases the likelihood that a buffer or termination needs to be added to the chain.
As a general guideline, any time a cable must drive three or more devices, buffer the signal at the cable connector. Additionally, any time the signals must cross a board connector, add a buffer. For the TCK
and TMS
signals which drive in parallel, each buffer should drive no greater than eight loads. If jumpers or switches are added to the path, decrease the number of loads.
For example, a board with 18 devices in the chain driven by a cable but no other board connectors or jumpers are in the path. Assuming a good board layout, this guideline suggests each of these JTAG signals have four buffers in a "tree". The first buffer at the cable connector drives the other three buffers. Each of the other three buffers drive six of the devices. Therefore, this board requires 10 buffers: four for TCK
, four for TMS
, one for TDI
, and one for TDO