At-speed in-system programming of flash memory enhanced with ScanWorks FPGA-Controlled Test and IJTAG

New capability takes advantage of an IJTAG network with programming engines embedded in an onboard FPGA

Programming memory in-system, or after the devices have been soldered to a circuit board, is the most efficient method, but the challenge for design and manufacturing engineers has always been the slow speeds of the process. Now, enhancements to ASSETยฎ InterTechโ€™s ScanWorksยฎ platform for embedded instruments can speed up in-system programming by a factor of 1,000, reducing programming times from 10 or more minutes to one or two seconds.

The ScanWorks platformโ€™s FPGA-Controlled Test (FCT) tool inserts a board tester with multiple instruments into a functional FPGA. The tester can then be used by design and manufacturing engineers. One of the new enhancements to ScanWorks FCT is the availability of high-speed programming engines which can load memories connected to the FPGA in a fraction of the time previously possible. ScanWorks FCT can program all sorts of flash memories, including NOR and NAND flash, as well as memory connected to the FPGA by the I2C and SPI buses.

โ€œMost design and production engineers will say that the preferred way to program memory is in-system. Prototype boards are often produced before the systemโ€™s functional firmware is complete. Without in-system programming, a change in the software would mean de-soldering memory, programming it again and then re-soldering it to the board. Often, the devices or the board are damaged,โ€ said Kent Zetterberg, ASSETโ€™s product manager for ScanWorks FCT. โ€œAnd in production, the software for some boards isnโ€™t loaded until a customer orders a certain configuration of the system. Programming the memory in-system and at-speed is a tremendous benefit in both of these instances.โ€

The ScanWorks FCT high-speed programming engines take advantage of the IEEE 1149.1 JTAG port on FPGAs without some of its drawbacks, such as slow programming speeds caused by long scan chains. ScanWorks FCT and its programming engines are based on the IEEE 1687 Internal JTAG (IJTAG) standard which embeds a network of instruments in chips, including FPGAs, systems-on-a-chip (SoC) and others. This IJTAG network of embedded instruments can act as a shortcut into onboard memory devices to perform in-system flash programming much faster.

ASSET has posted a number of eBooks in its eResources Center on the topic of fast flash programming. One such eBook is titled โ€œFaster Flash Programming via FPGA and IJTAG.โ€

fpga-diagram