v1.1
16- 1
In-System Programming (ISP) of Actel’s Low-Power Flash Devices Using FlashPro3
16 – In-System Programming (ISP) of Actel’s Low-
Power Flash Devices Using FlashPro3
Introduction
Actel's low-power flash devices are all in-system programmable. This document describes the
general requirements for programming a device and specific requirements for the FlashPro3
programmer.
IGLOO, Fusion, and ProASIC3 devices offer a low-power, single-chip, live-at-power-up solution
with the ASIC advantages of security and low unit cost through nonvolatile flash technology. Each
device contains 1 kbit of on-chip, user-accessible, nonvolatile FlashROM. The FlashROM can be used
in diverse system applications such as Internet Protocol (IP) addressing, user system preference
storage, device serialization, or subscription-based business models. Fusion, IGLOO, and ProASIC3
devices offer the best in-system programming (ISP) solution, FlashLock security features, and AES-
decryption-based ISP.
ISP Architecture
Low-power flash devices support ISP via JTAG and require a single VPUMP voltage of 3.3 V during
programming. In addition, programming via a microcontroller in a target system is also supported.
Family-specific support:
Fusion, ProASIC3, and ProASIC3E devices support ISP.
ProASIC3L devices operate using a 1.2 V core voltage and support ISP at 1.5 V only. Voltage
switching is required in-system to switch from a 1.2 V core to 1.5 V core for programming.
IGLOO and IGLOOe V5 devices can be programmed in-system when the device is using a
1.5 V supply voltage to the FPGA core.
IGLOO, IGLOO PLUS, and IGLOOe V2 devices can operate using either a 1.2 V core voltage or a 1.5 V
core voltage. Although the device can operate at 1.2 V core voltage, the device can only be
reprogrammed when all supplies (VCC, VCCI, and VJTAG) are at 1.5 V. Voltage switching is required
in-system to switch from a 1.2 V core to 1.5 V core for programming.
IGLOO devices cannot be programmed in-system when the device is in Flash*Freeze mode. The
device should exit Flash*Freeze mode and be in normal operation for programming to start.
Programming operations in IGLOO devices can be achieved when the device is in normal operating
mode and a 1.5 V core voltage is used.
JTAG 1532
IGLOO and ProASIC3 devices support the JTAG-based IEEE 1532 standard for ISP. To start JTAG
operations, the IGLOO device should exit Flash*Freeze mode and be in normal operation before
starting to send JTAG commands to the device. As part of this support, when a device is in an
unprogrammed state, all user I/O pins are disabled. This is achieved by keeping the global IO_EN
signal deactivated, which also has the effect of disabling the input buffers. The SAMPLE/PRELOAD
instruction captures the status of pads in parallel and shifts them out as new data is shifted in for
loading into the Boundary Scan Register (BSR). When the device is in an unprogrammed state, the
SAMPLE/PRELOAD instruction has no effect on I/O status; however, it will continue to shift in new
data to be loaded into the BSR. Therefore, when SAMPLE/PRELOAD is used on an unprogrammed
device, the BSR will be loaded with undefined data. For JTAG timing information on setup, hold,