Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
21615 Discussions

What is the difference between JTAG & ISP ?

Altera_Forum
Honored Contributor II
8,402 Views

Hi Everyone, 

 

Could somebody please explain in detail the main difference between JTAG & ISP. 

 

I have heared both terms being used and it seems allot of people think it means the same thing. But the Pinouts are different correct?  

 

If you could fill me in on the "Pros and Cons" between to the two, it would be appreciated. 

 

 

Thanks in advance, 

 

Maxim
0 Kudos
1 Reply
Altera_Forum
Honored Contributor II
6,626 Views

Both JTAG and ISP are general terms and may be used differently by different manufacturers. 

 

JTAG originated as a test interface for toggling I/Os on dense circuit boards. The standard defines commands for forcing values on I/O pins, and reading back values on I/O pins. Processor and FPGA vendors then started using the JTAG interface to access the CPU core for debuggers or to program the devices. Recent FPGA devices allow you to use the JTAG interface to access logic in the FPGA fabric, eg. the JTAG-UART or the Virtual JTAG SLD components use this feature. 

 

ISP or 'In System Programming' means exactly what it says; you can program the device in the system. Altera FPGAs can be programmed 'in system' using the JTAG port, or by using special programming pins on the device. There are methods know as 'passive serial', 'fast passive parallel', 'active serial', and others. These are basically serial or parallel interfaces for programming the FPGA. The serial methods are really no better or worse than JTAG, they are just different. The serial methods are used by some of the Altera programming devices. The parallel methods program the devices faster. The parallel methods can use standard parallel flash devices, and a MAX II CPLD loaded with Altera's parallel flash loader (PFL) megacore, and that combo can be used to program a larger device like a Stratix IV FPGA. 

 

Whenever you design a board, you should *always* make sure all Altera devices are connected to the JTAG chain. For example, the MAX II devices can only be programmed via JTAG. 

 

That's a basic overview anyway. 

 

Cheers, 

Dave
0 Kudos
Reply