When perusing our site, you’ve probably noticed the section entitled programming solutions, or looked through our FPGA (field programmable gate array) boards and seen the acronym JTAG (Joint Test Action Group). You might already be familiar with the idea of JTAG, or it could be be a completely new concept.
Either way I’ve done some research, and I’m going to do my best to explain it.
Most literally, JTAG is the IEEE standard 1149.1, which is the definition you will find most often when searching for an explanation of what JTAG is. JTAG allows the user to test all the different interconnects in the FPGA connecting various integrated circuits, without having to physically probe the connections. This is a pretty major advantage when programming a board, as this can all be done by software. JTAG makes a boudary scan cell that latches each pin on the device to test the various inputs and outputs. This data is then compared with the expected results from the circuit to find and faults in the interconnects. The biggest advantage of JTAG is that it allows for quicker test times, which is critical when trying to implement designs quickly.
Digilent uses JTAG on the programming circuits of all of our FPGA boards. You might wonder why, if all of our products come with onboard JTAG, we need external JTAG? Well, we want people to be able to use our programming solution on third-party FPGAs and SoCs.