It’s too bad that when the subject of IJTAG vs. JTAG comes up, some may think of it as an ‘either/or’ question. That’s not really the point because the correct answer is ‘both.’
In a sense, we’d be better off if the IEEE 1687 standard for embedded instrumentation wasn’t better known by its unofficial name of Internal JTAG or simply IJTAG. (The official title is: “IEEE 1687 Standard for Access and Control of Instrumentation Embedded within a Semiconductor Device.” Now you understand why it goes by IJTAG.) While IJTAG certainly makes use of the IEEE 1149.1 JTAG (boundary scan) standard, the purposes and objectives of IJTAG and JTAG are very different because each one has emerged from a different set of use cases. It’s also noteworthy to point out that the IJTAG standard has enough flexibility built into it so that it can eventually make use of other physical access methods such as I2C or SPI besides JTAG.
The other complicating factor is the IEEE 1500 Embedded Core Test (ECT) standard for validating and testing embedded cores. It may seem like a complex mix of multiple and overlapping standards, but it isn’t atypical of the industry.
The examples are many of a new standards making use of the technologies or methodologies that were defined previously in other standards. After all, why re-invent the wheel when another standard has already been adopted by the industry? That’s why the IEEE 1687 IJTAG standard for embedded instruments makes use of the already established JTAG on-chip and on-board infrastructure and physical access protocol. The resources are already there and JTAG simply works. Plus, JTAG is currently integrated into practically all digital chips.
At the same time though, we shouldn’t turn a blind eye to the limitations of JTAG; limitations stemming from the specific use cases that JTAG was developed to address in the late 1980s, long before embedded instrumentation had become as pervasive as it is today. The use cases that drove the development of all three standards – JTAG, IJTAG and 1500 ECT – are all distinct. As a result, each standard places a unique set of capabilities at the disposal of chip and circuit board engineers.
JTAG – The IEEE 1149.1 Boundary-Scan Standard was developed to perform non-intrusive (probe-less) circuit board validation and test applications. It has evolved over the years to include in-system programming and other related applications, but board test is what drove JTAG’s original development.
IJTAG – As engineers embedded more instruments in ASICs, FPGAs, SoCs, processors and all types of chips, a standard was needed to ensure the portability and transferability of these embedded instruments and their test vectors from one chip design to the next. In addition, standardized management and control capabilities were needed to simplify the way engineers applied embedded instruments in chip and board test applications.
IEEE 1500 ECT – To accelerate chip design, blocks of functionality or cores were designed into chips and transferred from one chip design to another. IEEE 1500 ECT was developed to ensure the transferability of a core’s test vectors so the same vectors could be transferred right along with the core when it was re-used in a new design.
Of course, there is a lot more to this topic than can be included in this short blog. All I’ve done here is open the proverbial can of worms. For those of you who are interested in delving deeper, I’ve written a series of two eBooks entitled “IJTAG vs JTAG vs 1500 ECT.” The first eBook in the series is an “Introduction Tutorial” and the second, which is a much deeper technical dive and intended for those who have some familiarity with the standards, is a “Technical Tutorial”. Both are in the eResources section of the ASSET web site.