Security in Low-Power Flash Devices
15- 4
v1.1
Security Features
IGLOO and ProASIC3 devices have two entities inside: FlashROM and the FPGA core fabric. Fusion
devices contain three entities: FlashROM, FBs, and the FPGA core fabric. The parts can be
programmed or updated independently with a STAPL programming file. The programming files
can be AES-encrypted or plaintext. This allows maximum flexibility in providing security to the
FlashROM structure.
Unlike SRAM-based FPGA devices, which require a separate boot PROM to store programming
data, low-power flash devices are nonvolatile, and the secured configuration data is stored in on-
chip flash cells that are part of the FPGA fabric. Once programmed, this data is an inherent part of
the FPGA array and does not need to be loaded at system power-up. SRAM-based FPGAs load the
configuration bitstream upon power-up; therefore, the configuration is exposed and can be read
easily.
The built-in FPGA core, FB, and FlashROM support programming files encrypted with the 128-bit
AES (FIPS-192) block ciphers. The AES key is stored in dedicated, on-chip flash memory and can be
programmed before the device is shipped to other parties (allowing secure remote field updates).
Security in ARM-Enabled Low-Power Flash Devices
There are slight differences between the regular flash devices and the ARM-enabled flash devices,
which have the M1 and M7 prefix.
The AES key is used by Actel and preprogrammed into the device to protect the ARM IP. As a result,
the design is encrypted along with the ARM IP, according to the details below.
Figure 15-3 Block Representation of the AES Decryption Core in a Fusion AFS600 FPGA
VersaTile
CCC
I/Os
OSC
CCC/PLL
Bank 0
Bank
4
Bank
2
Bank 1
Bank 3
SRAM Block
4,608-Bit Dual-Port SRAM
or FIFO Block
SRAM Block
4,608-Bit Dual-Port SRAM
or FIFO Block
Flash Memory Blocks
ADC
Analog
Quad
ISP AES
Decryption
User Nonvolatile
FlashROM
Charge Pumps
Analog
Quad
Analog
Quad
Analog
Quad
Analog
Quad
Analog
Quad
Analog
Quad
Analog
Quad
Analog
Quad
Analog
Quad