Programming Flash Devices
v1.1
14- 3
IGLOO, IGLOO PLUS, 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 1.2 V core voltage or
1.5 V core voltage. Although the device can operate at 1.2 V core voltage, the device can
only be reprogrammed when the core voltage is 1.5 V. Voltage switching is required in-
system to switch from a 1.2 V supply (VCC, VCCI, and VJTAG) to 1.5 V for programming.
Since flash devices are nonvolatile, they are live at power-up. This is different from an SRAM-based
device, which loads its programming information when it is powered up. SRAM devices require a
time on the order of hundreds of milliseconds before the system is active.
There are multiple levels of security available in flash devices. Use of a security key will lock the
device. The device can then only be reprogrammed by first unlocking the device with the
appropriate security key. It can also be locked permanently, which means there is no key that can
access the device. The command to secure the device is embedded within the programming file,
optionally enabled by the programming software. This is also referred to as the OTP version of
flash, allowing for only a single programming instance. This is discussed in more detail in the
Flash devices can also be programmed using single-site or multi-site programmers as well as
volume-programming services from Actel or other vendors.
Types of Programming for Flash Devices
The number of devices to be programmed will influence the optimal programming methodology.
Those available are listed below:
In-system programming
–
Using a programmer
–
Using a microprocessor or microcontroller
Device programmers
–
Single-site programmers
–
Multi-site programmers, batch programmers, or gang programmers
–
Automated production (robotic) programmers
Volume programming services
–
Actel in-house programming
–
Programming centers
In-System Programming
Device Type Supported: Flash
ISP refers to programming the FPGA after it has been mounted on the system board. The FPGA may
be preprogrammed and later reprogrammed using ISP.
The advantage of using ISP is the ability to update the FPGA design many times without any
changes to the board. This eliminates the requirement of using a socket for the FPGA, saving cost
and improving reliability. It also reduces programming hardware expenses, as the ISP methodology
is die-/package-independent.
There are two methods of in-system programming: external and internal.
Using an external programmer and a cable, the device can be programmed through a
header on the system board. In Actel documentation, this is referred to as external ISP. Actel
provides FlashPro3, FlashPro Lite, FlashPro, or Silicon Sculptor 3 to perform external ISP. Note
that Silicon Sculptor 3 can only provide ISP for ProASIC and ProASICPLUS families, not for
ProASIC3 or ProASIC3E.